Hello everybody!
During my hobby game development adventures over the years, every now and then, I stumbled upon a few game engine architecture patterns that turned out to be surprisingly simple yet extremely effective. They completely changed the way I write game code and became part of all of my projects after I had learned about them.
The two most notable ones are the entity-component-system (ECS) pattern to flexibly compose game entities from components and update them on a per-component basis, and the global event bus pattern for loose coupling of subsystems. In both cases, after learning about their basic concepts, I wrote very basic implementations of them, which only consist of a few dozens lines of code, but since then take absolute core roles in my applications and make my code a lot easier to change, extend and understand.
Now, my question is, are there more game engine architecture concepts with such great “power to effort ratio”? I'm specifically not looking for complex algorithms, or anything that is specific to a particular programming language or engine/library. I'm looking for simple and generic solutions that can be used in many different types of games, and especially things that increase flexibility and “cleanliness” of data structures and communication/interaction between different parts of a program, like the two examples mentioned above.
I'm looking forward to read about your experiences and recommendations! Thanks in advance ?.