6
\$\begingroup\$

In playing around with my hobby projects in various object oriented languages, I have realized that creating good class structure and program architecture is both crucial and not straightforward to effectively develop a program, in particular a game.

I am a self-taught programmer with virtually no formal training, and I've only learned the things which seemed to be of immediate practical use, so I have never really looked into things such as design patterns, software architecture, code organization principles and the like. The resources I find are often limited in scope (most commonly it's a showcase of a single pattern) and/or quite technical (all the UML going over my head doesn't help).

Is there a good resource which explains the important concepts and basics of software engineering, where I can learn about things like when and how to use Components, what kind of class structures are appropriate to what tasks, how design patterns relate to each other and which are useful for what?

\$\endgroup\$
3
\$\begingroup\$

If you want to program game engines or simply learn about it, pick a good book. I really recommend you 3D Game Engine Architecture and this one Game Engine Architecture

These two explain all about how a game engine is divided and are plenty of nice ideas and code snippets oriented to game programming.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.