{% extends "../../../layouts/post.html" %} {% block article %} ## Preface I'm an indie game dev that has an interest in making tools that I think would improve my life as a game developer in the hopes that it can help others. I'm not an expert in any of the topics that this article covers. I have no formal education in game engine development or architecture, systems programming, or anything else. I went to university for Computer Science with a specialization in game design & development when I was in my early 20s and the only thing I learned is that there are better ways to spend tens of thousands of dollars. Everything in this article is drawn directly from my experiences working in game development. ## A Solution? something something game state as a database, expressive querying https://ajmmertens.medium.com/why-it-is-time-to-start-thinking-of-games-as-databases-e7971da33ac3 ## Going forward continued evolution of ecs which can broadly respond to specific use cases and needs ### What I'm looking for * constructive feedback and discussion about the general direction i'm putting forward * potential implementations and data structures that allow ecs to perform as outlined * potential pitfalls that ecs may not be able to answer ### Not on topic but will still accept * improvements and specific optimizations to my prototype * constructive feedback on the specific contents of this post (eg. code examples) ### What I'm not looking for * criticism and discussion about my specific prototype implementation * paradigm, language, and coding style debates * i'm not interested in debating the merits of one paradigm or language versus another * i'm extremely not interested in K&R versus Allman indentation style arguments. [yes i am a monster](https://youtu.be/raQ3iHhE_Kk?t=1093) (but that's not a secret) * as stated in the preface, all of these are approaches that have worked best for me and how i think. if OO or whatever else works for you, you should use that! * criticism about the code examples in this post * how best to solve a problem via OOP is not the point of this post * any feedback on how to better demonstrate solutions to the example problems are ok though. i want to fairly represent the alternatives {% endblock article %}