It seems COVID did not simply damage my brain making me tire out rapidly. It also dislodged thought processes long ossified in their infinite loops.
I looked back at my code and was horrified. Those paths led me astray, into deep madness and unsustainable effort, already feeding a downward spiral of disheartening and procrastination.
The best excuse I could come with was "Tzinch had beguiled me".
So I am now performing a feature cut with all the energy of an industrial blender. Returning the paradigm back to the simplicity it had in the early 2010s while salvaging the few real good things I coded since.
* switching modules in-engine has to go. Every module (game, tool) will have its own mother executable with release version of game logic built in.
* only one thread for logic, ever. No ""clever hacks"" to utilize more cores by loading several copies of the same dll. My beard is half gray already and i am still nowhere. The crawling featurisis has to stop *now*.
* the reloadable-on-the-fly DLL is for debugging only. No stripping. The complicated mechanism of storing and processing debug info for it has to go.
* the GUI dealing with logic crashes must have no supoport for the debugging DLL crashing and resolving it. The simple console will do.
* the mother GUI need not have support for the DLL loading progress. The simple console will do.
* the debugging DLL uses the mother executable's memory manager, GREATLY simplifying the mother API. No more need for converting arrays to pointers and strings to PChar and back on the other side.
* the debugging DLL is always version-synced with the mother executable. No more need for complicated version checks and compatibility mechanisms.
* all assets are owned by the mother executable (hello, TMap specialization) thus turning the asset juggling phtagn of old into a complex but manageable mechanism. In the same vien directories and pk3 files are also owned by the mother executable. Need to refresh assets? Restart the exe.
And a major new feature
* all calls to the GAPI (GLES2 or GL 2.1 with extension) are made via new abstraction layer that borrows heavily from Vulkan.
All in all i hope to have the rotating cube back this autumn And then, finally, MOVE FORWARD for the fist time since 2014.
Bookmarks