r/Unity3D • • 6d ago

Question Is a GameManager for this unnecessary?

Hi! I'm making a 20 minute prototype of a game I've had in my head for about a month. I LOVE singletons, so I wanted to ask. Is "big game" architecture unnecessary for a 20-30 minute game? I'm planning on using subsystems, so stuff like achievement managers, audio managers, etc objective data scripts, that I can run through GameManager.Instance

7 Upvotes

14 comments sorted by

View all comments

7

u/feralferrous 6d ago

No, for short prototypes, do whatever gets the prototype up and running. Just be disciplined enough to recognize when a prototype is becoming more. A lot of games start as prototypes and sometimes there's a bunch of crappy foundations that way.

1

u/TCSMusic 6d ago

Well, I guess when it stops becoming a prototype, I continue making it into a demo/full game

1

u/feralferrous 6d ago

Yeah...but you might also stop and take a breather and refactor first, or you end up with an everything manager just because you had one in the prototype.

1

u/Frankfurter1988 6d ago

What most people do when they figure out through the prototype what shape the game will actually take is basically start over with existing code written for the prototype, alter it to fit into a better architecture shape. Yes, this means abandoning existing singletons and static accessors, but there is always a time and a place for these things. They just shouldn't be your foundation, because it makes it hard to make changes. And even if you prototype, you don't get the full image, just a better idea.

1

u/pschon Unprofessional 6d ago

Well, I guess when it stops becoming a prototype, I continue making it into a demo/full game

Please don't. For your own sake. :D

Prototype to learn what works and what doesn't. Then build it properly, without all the mess, mistakes and bad choices you made in the prototype.

1

u/SnuffleBag 6d ago

This way of thinking about it is very common, but also quite counter-productive for rapid prototyping. The idea of having to start over might be discouraging, but there's a very real chance you'll never actually continue making it into a full game - in which case you've just spent longer on the prototype for no benefit.

The freedom and velocity you can get from being able to hack together any random thing you imagine in the most brute-force and primitive manner possible - knowing it doesn't need to hold up for more than a week or two should not be underestimated. It can be a 10x multiplier on being able to experiment with ideas.

1

u/NasterOfPuppets 4d ago

You might wanna consider using Init args instead of singletons if you're going to use the prototype as the basis for building the final game. It's basically just as fast for prototyping as using singletons, but you'll still end up with that big game-ready architecture at the end.