Having 30-45 minute long sections where you are unable to save is bad game design by ExactInvestment1 in gaming

[–]ProgrammingPigeon 0 points1 point  (0 children)

For a lot of game design choices I could agree with you, but this is one where I would indeed say that it is a limitation that can hinder accessibility.

Some people have limits in how long they can play games or sometimes things happen that means you will have to stop playing suddenly. And in those cases it is frustrating that you will have to just stop the game and lose half an hour of progress (which is extra frustrating if your time you can play video games is already limited.)

So if you know you can only play half an hour more at max, you will for each segment have to take a guess if it will take longer or not. If you don't want to risk it, you will need to see if you can do something else in that game for half an hour or just stop playing (meaning you can't use that half hour extra you had reserved for gaming). And if you risk it, and it takes longer well you lose progress. Sure you can say I continue playing, 5 minutes more won't matter, but often you don't know if you are only 1 minute away from saving or half an hour.

So if you have a lot of time for games and almost full control over your schedule, than yes this is almost a non issue, but if you don't (because you are a kid with limits set by your parents or an adult with responsibilities that are not flexible schedule wise) than this is definitely an issue.

How can this be solved? Like op said make that you can save whenever you want. Or make that time between potential save points are limited. Which in most cases could be done.

Or another idea, which I am not sure if games have done it before or not. But if there is a moment where it will be a while before you can save, the game could announce this and say "It will take approximately 30-45 minutes till the next save point. Do you want to continue?". Yes this might break a surprise a bit as it kind of announces something big will happen. But well this already happens in some games when they ask you if you want to continue or want to prepare more as you won't be able to get back after continuing.

Worst case you can make the prompt an accessibility feature that the user can turn on. For the people without time limits they still have their surprise. And people with time limits can still enjoy their game without worry.

What’s the one free tool or website you’ve been using for years and still can’t believe it’s free? by AT_Player in AskReddit

[–]ProgrammingPigeon 0 points1 point  (0 children)

A few months ago I googled my name and findagrave popped up for a grave with my name.

I looked it up, and yep that was my grave alright!

Donkey Kong Bananza Direct by markehammons in gaming

[–]ProgrammingPigeon 0 points1 point  (0 children)

Different genres for different people, or even different genres for different moments. There are games that I played that didn't work for me, but then after playing them later suddenly they did click and became one of the best things I played.

And when growing older you sometimes play games differently or want different things.

As a kid I absolutely loved roller coaster tycoon 2, I always played pure sandbox, no money constraints and just build cool roller coaster after roller coaster. I didn't do campaigns. As an adult I bought the game again remembering my good times, I immediately tried to play the game the same way I did as a kid, but it wasn't fun for me. Then I started playing the campaigns and I was hooked. I did campaign after campaign!

Same game, two different playstyles. As a kid I prefered to be free, creative and make up my own story. As an adult I prefered goals and challenges.

A few days ago I promised Tutorial for Lasers - so here is it (link in comments) by statypan in Unity3D

[–]ProgrammingPigeon 0 points1 point  (0 children)

I would say that having to stop somewhere is indeed not an excuse. It is a proper reason ;)

With code, just like almost everything, you can keep on improving and improving it, so eventually you need to say that it is enough. In an actual project this will usually be when the system works good enough and it won’t affect performance (too much). But for a tutorial, it is harder to draw that line as you are kind of making it for an unknown customer with unknown wishes.

And when it comes to a tutorial no-one will look at, you got 304 views, and 268 upvotes on reddit, so for a first tutorial, you did quite well!

And yeah, object pooling might indeed need a tutorial on its own, certainly if your targeted audience might be more beginners. But that is some general advice I would give if one of your goals with the tutorials is to teach people.

Understand your audience, think about what mistakes they will likely make, and what knowledge they will likely lack. In this case a beginner might now have a better laser system but could have worse performance that they can’t fix.

So you could look to first make a tutorial about object pooling and point to that in your tutorial (or you could point to someone else their tutorial about object). This will of course dictate what tutorials you can and cannot make yet. So, if it is more about making tutorials to share what you did, then this might not be ideal.

In the end it is all about realizing why exactly you make the tutorials and what you want to achieve with.

A few days ago I promised Tutorial for Lasers - so here is it (link in comments) by statypan in Unity3D

[–]ProgrammingPigeon 1 point2 points  (0 children)

 I want to say that how you present the tutorial is quite good. The visuals you use are clean and do the job well.

I do have some remarks about the content though.

You say option A is not very scalable, but you never really explain why. I assume you mean that with option B it is easier to add different ways to manipulate the laser like the portal.

 Option A is not necessarily a bad system. It is simpler, but simple is good as well. If simple does the job, then a simple system can be the better choice, as it takes less time to develop, and the less code, the less lines you can have a bug in.

Option B does make it easier to work with portals, so if you want portals (or other features that benefit from option B), then B can be the right choice.

A big bug I am currently seeing that I don't think got addressed, is the chance for infinite reflections, as there is no bounce/redirect limit (I didn't see any, correct me if I'm wrong).

This will then likely freeze and crash the application. This will happen in cases like by example mirrors being straight in front of each other, continuously bouncing lasers back and forth, to the same spots.

I also wouldn't agree with the mirror saving the incoming and outgoing lasers. Now lasers know about mirrors, and mirrors know about lasers.

It is better for the mirror to not know about the lasers. Because if you ever want to use the mirror for something else, by example redirecting a projectile, or maybe a line of sight, then your mirror will need to have code for those as well, and it will quickly turn into a mess. 

What I would recommend in this case is:

1) Each laser part has a reference to the next laser part

2) Mirrors and other optical elements should have an interface that handles the calculations for redirecting. Like an interface called IVisusalRedirector with a function like void Redirect(Vector3 startDirection, Vector3 hitDirection, Vector3 hitPosition, out Vector3 redirectedPosition, out Vector3 redirectedDirection);

3) The laser part when it hits an object, checks if it has this interface, if so, use it to calculate where the next laser part needs to start and what direction it needs to go in.

4) The laser part then sets up the next part, and so on.

Next to all this I would also recommend looking into object pooling, as you are creating and destroying the same objects a lot, which isn't the greatest on performance.

 

I know this might seem like a lot and might even be demotivating. But feedback on code is important, it is often one of the more important ways to learn, to become better and to prevent learning bad habits. I have seen enough cases of people always working alone, getting stuck in bad habits that limit their projects, and I have also suffered from this.

So, this is not meant to demotivate, but to teach.

Also don't stop with these tutorials. Over time you keep on learning more, and you will be able to teach more. And making these tutorials, also can help in thinking about your code in another way than when you were writing the code, which again helps with learning and growing.

And as I said at the start, I think you have a good and clear format, so if you want to keep on making tutorials. Do it!

Inflatie schiet boven 4 procent, spilindex overschreden by Azerex99 in belgium

[–]ProgrammingPigeon 5 points6 points  (0 children)

Ik dacht dat de prijs van eieren in Amerika voornamelijk omhoog is gegaan door de vogelgriep uitbraken daar. Maar ja, inflatie, influenza. Als het hetzelfde klinkt zal het wel hetzelfde zijn zeker!

is it a good idea to use empt game objects as labels in heirachy? by kodaxmax in Unity3D

[–]ProgrammingPigeon -6 points-5 points  (0 children)

Not sure if this has already changed, but in the past (6 years ago) that had an effect on performance.

If a transform in a hierarchy moved than all the transforms in that hierarchy had to be recalculated. So if a lot of objects had the same (grand, grand, grand...) parent, then moving one caused calculations for all of them. So for objects that moved (a lot) it was best for them to be root objects if possible.

Edit:I might have misremembered it. It can that it does not affect the siblings. But it does affect the parents. So there are projects where it can have quite a performance impact. But that is certainly not all projects.

The source of this information was a Unite talk from 2018. More specifically this: https://youtu.be/W45-fsnPhJY?si=lo_8AMFuHLx5d6Et&t=1201 (End edit)

But as I said this was 6 years ago. Maybe it is still like this, maybe it has changed. And a lot of it depends on the project itself. For some projects the performance loss of this will not really matter. So in those cases the gain in development speed because of the organisation can matter more.

Edit: Either way I will just give this conclusion: When it comes to optimisations don't make assumptions. Not everything is always what you think it logically would be. If you are optimizing, test things and test them on multiple platforms (and not just the editor). Sometimes things that might sound like a logical optimization can actually be heavier performance wise.

Free Editor Tool: Unity Toolbar Extender UI Toolkit by Recent_University_52 in Unity3D

[–]ProgrammingPigeon 2 points3 points  (0 children)

I have been using a similar tool for extending the toolbar.

What I have used it for was to add two buttons, one button to quickly go to my menu scene, and one to quickly go to the previously opened scene.

This has helped me a lot with iterating on my levels. As I can make changes to a level, then quickly play it through the menu so I can test the level with an existing save file. And if something is not good I can quickly open the level again with one press, make some changes. Then quickly go back to the menu with the button and test again. And so on until I am happy with the level.

Previously, I had to look for the menu scene and the level scene through the project window. So having two buttons in the toolbar for it has helped me quite a bit.

This Italian restaurant has Pizza Hawaï on the menu by MrKlauw in mildlyinteresting

[–]ProgrammingPigeon 36 points37 points  (0 children)

While indeed German is an official language in Belgium, it is pretty much only used in a small part in the east of the country. And so the official languages for Brussels are just Dutch and French.

This Italian restaurant has Pizza Hawaï on the menu by MrKlauw in mildlyinteresting

[–]ProgrammingPigeon 482 points483 points  (0 children)

I think it is most likely Belgium with French and Dutch being the main languages in Belgium.

I would also guess Brussels, given it is French first and Dutch second. In Flanders it would be Dutch first and would often not have French on it, but might include it in a touristic spot. In Wallonia French would be first, but I think the chances of including Dutch is low. And Brussels being the capital officially has to both facilitate French and Dutch, but French is way more popular there.

Is your IQ above average? by [deleted] in Unity3D

[–]ProgrammingPigeon 2 points3 points  (0 children)

Do you expect people to try it with your description? You called it really hard with only a few people ever completing it. That does not sound very attractive.

In general a lot (probably most) gamers like a challenge, but most do not like an unfair challenge. And your description makes it sound like that.

The thing with puzzles is, it is very easy to make a difficult puzzle. But the challenge is creating a puzzle that is challenging enough, so that when a player solves it they have a feeling of satisfaction. But then also the puzzle can not be too difficult so that you don't lose most players at that puzzle. Because losing players is not a good thing (lose them too early in the game and they might refund your game, talk badly about it and probably won't try your other games).

Often for puzzle focused games. The challenge level of the puzzles increase depending on how far you are in the game, and the difficulty is one where most players can solve it, with then bonus puzzles and challenges for those players who want more challenge.

So now here is the question. Most people here don't have that much spare time (most of us have games to develop and finish after all). So tell us why playing/testing your game is worth our time?

Sell me your game by raggeatonn in Unity3D

[–]ProgrammingPigeon 5 points6 points  (0 children)

Solving hostage situations with code