lol at the "b )" turning into a smiley.
Thank you for your replies, you guys have given some really good directions to me.
@ Vilem Otte:
Thats some very good advice, especially the folder structure example which was something I didn't think of right away. Although, what exactly is the /etc/ folder for specifically? Did you mean that it contains third party libraries/plugins for the engine or something else?
Yeah, state machines will definitely have uses for various components, such as the menu system and AI, atleast.
Since I'm doing this using C# with Unity3D, object oriented design is being used extensively because I like how OOP works and C# has great support for OOP. I want to create a component-based architecture so that everything would be modular and easily expandable/modifyable.
Can you please tell me more about how do you start coding the singleton scenemanager and how do you progress? This is something I'm trying to figure out for my menu system, but I'm not sure where to start with it.
Infact, I want to use the singleton pattern to make a gamemanager class that would control the flow of the entire game system, but I don't know how to go about it properly. I don't know how to start coding it and I don't know how to progress from there on.
Haha yeah I'm very well aware of that. However most modern games made today by big companies don't crash, thanks to consoles being more strict to enforce more stable code and better technical design (no tolerance for framerate loss unlike on the PC platform).
I'm pretty sure game programming has evolved to have better practices, even if not every company might have enough time to actually use them, but still, there are way to properly code something, including games.
Also the fact that I'm using C# and Unity3D as my engine for the project, which takes away some of the issues you mentioned there, like porting to other platforms, because its designed in the way to be able to deploy to all the platforms of your choice without having to fiddle around with the details too much.
Modularity is definitely a priority for me. Not just because the project I'm doing actually demands it due to its functional design, but I like the concept of it and I also find it very robust and flexible. Thats why I'm planning on creating a component-based entity system once I get to that point (and learn how to do in the first place).
You give some really good advice and directions here, for which I'm very grateful of and I do realize my question(s) are very case-specific and that they have multiple different answers for them. I was hoping that posting it on a forum would bring small hints from various people, not necessarily one person that would answer everything at once, and so far it has been a success. I take what I can get and you people have given me lots. A little bit of this and little bit of that from many places will eventually accumulate to the big answer you were looking for.
I'm currently studying design patterns as well as the full language features of C#, but you also mention various other topics I haven't heard of (MVC, Domain Driven Design, Haskell...), so I'll have a look at those. Thank you.