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.