❖ Blog post by bkeys
I have decided that Godot is not yet ready for a full 3D game like DMUX so I am moving back to my old C++ codebase. Thankfully most of the time was spent making new assets, rather than messing with Godot. The old codebase has a lot of structural issues with it, but now that I have had a break and exposure to other elements I think I have a lot of solutions to the general structure of the game itself. - Move away from the current ECS system which has only been problematic. Embrace inheritance for commonly used interfaces. - Use Collada for both 3D model formats and scene metadata, scene metadata will require a custom parsing tool that will turn the .dae file for meta data into a dictionary containing the metadata. - Remove the Layout struct all together; this should only require a dictionary of strings; a lot of this class is needless complexity - Find a way to decentralize the networking so that objects can handle their own networking rather than it all being done in Game.cpp - Move over to using the minetest master server, and porting their related code over to DMUX, however this is a low priority until I need more features of the master server. - Cache the collision shapes into files for objects - The major part of this renovation will be creating a well made scripting API with chaiscript, that way scenes are defined outside of C++ code. Once I have a decent amount of this done I will make my first pre alpha release, and from there work on gameplay; in which I will eventually begin to market the game.