Long time no see

So it has been quite a while, the rest of the year. A lot of stuff has changed, and I finally moved to the final state with my status adjustment - fingers crossed it’s ready next year.
Let’s talk about business. I finished v1 with the Nakalipithecus renderer. While the current shape is not the best, at least I finally implemented the Editor and the Launcher. That was incredibly interesting and I can’t thank CryTek and the engineers for sharing their code, so that has been an incredible source of wisdom for me. Wish everyone the best of luck and success.
So I implemented the simple component system and introduced 2 libs - one for the default engine’s component and one for game-specific, all classes are registered to the engine on start. I still have no FindComponent feature, but I don’t need it right now, and the near feature.
One of the most interesting and new stuff for me was the input system. While I implemented the input system for my XR plugin, I never needed to connect it with the real game logic, and that was really interesting experience to map actions to the low-level events.
The renderer is pretty simple for now, that mostly the old code with some modifications, and it emulates the classic one command buffer submission - later that would be really interesting to see the performance gain from different stuff like parallel submission and etc. I still have no real materials and emulate the different colors with shader code.
The engine became an exciting, interesting place. I got so much knowledge about the CryEngine, I think I can support it now :) Btw, I never grabbed anything one-to-one and only checked the ideas, like how to support different node types and how I can submit the scene for rendering. I mostly work with inhonme engine, and it was my first experience with another level. Like in mobile, RenderViews usually are the textures, and the render doesn’t know anything about the window, but here it’s different, and I like it much more. So the difference in terms is huge.
Btw, my current renderer implementation is crap and will be replaced next year completely.
Physics got its own plugin, and inside it’s the Bullet Physics - a pretty simple implementation.
I always wanted to know how to implement the Play/Pause feature in the editor, and finally got a chance to do it. That was crazy cool.

The current engine implementation and mesh import can’t work with hierarchies - I will do it later. There was just no real reason for that.
I also made a simple audio plugin with XAudio, which can load only one audio track :) That’s just for testing, and later I want to add another implementation with FMOD.
You can edit the components, add new entities, change position, rotation and etc. The whole Editor was made with ImGui in its own plugin.

Once you are done, you can export the level, and this level can be loaded as a part of the game package in the Launcher; all you need is the path to this package.
Here is the simple launcher:

Next plans
So in December I want to finish the tech paper debt I have, and in the new year I will start with a new implementation of the renderer and with the material system. Also, the entity relationships and hierarchy are another interesting task.