I will keep this one short, as I’m currently writing some more in-depth updates about the engine. I’ve been working really hard to get some basic rendering and camera controls into the engine in a non-hacky way. The list of things that I have gotten done so far: Basic Graphics Module that can render using ECS. Input binding system. State Machine system that is data driven. Basic camera state machine.
I don’t post enough about the work I’ve been doing on Shibboleth. I don’t have a lot of visual progress to show, but I am making a lot of very good progress. And I should get into the habit of writing down the work I’m doing. Reflection Unification In the past, enum reflection had it’s own global data structure that was different from everything else. Everything else has a Reflection <T> structure, whereas enums had a EnumReflection<T> structure.
Today I’m going to be talking about Arbalest again. It was on hiatus for a while, as I was putting all of my energy into Shibboleth. I had planned on scrapping Arbalest, but I got a spurt of motivation, so I’m back at it. The main reason for me revisiting this project is because Microsoft released a bug in their compiler that causes it to crash on many codebases. Because of this, I can’t actually compile my project anymore until a fix is released.
It’s been a while since I’ve done an update dedicated to Shibboleth. I won’t remember everything, but let’s cover some of my more recent developments. I’ve been spending most of my recent time working on the editor, so you’ll see some screenshots of that. Project Structure I’ve simplified the project structure a bit. Things are now split up more appropriately under the src folder. I’ve also made everything more uniform in functionality.
Once again, it has been several months since I’ve posted anything. I’ve decided it would be beneficial to keep a development log of what I’m working on. So, here it goes. The two main things I have been working on are re-writing the reflection system and how I handle engine modules. My goal is that when writing modules to extend the engine, I’d like as little boilerplate code as possible when hooking up the DLLs.