I have migrated towards using ImGui. Took less than 15 minutes on my break to get done. Very quick and easy with the Raylib backend provided by "raylib-extras/rlImGui" on GitHub.
I've been heavily procrastinating developing this UI framework because in all honesty, it doesn't seem fun. I will undoubtedly need proper UI in my game engine at some point but trying to get this to work at the quality that I expect is just a lot of wasted time. No other progress has been made on the game and each time I load up the codebase, I want to instantly close it. For ...
I decided that I should probably work on the UI for my engine since its hard to see data in real time without it. Also, implementing multiplayer will probably heavily rely on UI. I could just have the user use the console window that opens up but I think that is a little hacky. Could work temporarily because I am not looking forward to input fields and advanced event management...
Now that I have JSON reading and writing in place, I think its time to work on some of the major "refactorings" that are needed. Here are some of the things I want to work on next:
- UI system
- Define entities in JSON
- Define scene data in JSON
- Proper user game directory + user settings file
- Basic multiplayer
Finally finished the recording playback system. It was quick but fun. Here is kind of a rundown on how it works. Assuming we start with no existing recordings, the system adds a "RecordPositionComponent" to any entity with a "PlayerTagComponent". The "RecordPositionComponent" only has an unordered map where the key is the tick that is recorded and the value is the "PositionComp...