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.
There’s not much to say in this update, other than I’m still alive and working on stuff. Albeit, very slowly. I basically stopped working on Arbalest altogether, favoring to work on Shibboleth instead. The main reason behind this is I changed jobs recently, and have been pretty happy with where I was and opted to do what I found most enjoyable. I eventually came to the conclusion that unless I never want to finish a project, I should put some effort to things other than Shibboleth.
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.
I’ve decided to make a series for every time I post about how long it has been since I last posted. In this episode, it’s been about six months since I last posted. Arbalest I’ve started porting Arbalest to Unreal Engine 4. I just got fed up with dealing with Unity’s lack of basic features, like drawing debug stuff in play mode and the lack of a decal system! Aside from that, I haven’t been working on it much.
Man, remember that post I made about that game I was working on? Hah. I do, and now it’s rather hilarious and embarrassing that I even posted about it at all. So, what is going on? Well, I’ve had a lot of life stuff happen this year, which has eaten a lot of time from me working on stuff. The game I was working on codenamed Adrenaline is no longer happening.
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.
First off, I’ve begun doing a major refactor of Shibboleth. I’ve currently replaced all of my containers in Gaff with those from EASTL. I have also begun re-writing the reflection system. Hopefully this re-write will come with better functionality and simpler implementation. I have started this work in a branch, so the original code is still about if anyone is curious to run a functional, but broken version of the engine.
As per the usual, I’ve been extremely late on posting about … anything. I also completely invalidated some of my former posts. I’ve dropped working on Contrivance (the editor). This is due to a couple factors. I hate Qt. I spent 99% of my development time fighting Qt and trying to work around it than actually implementing features. Qt’s support for dockable windows is fairly non-existent. To that end, I have been attempting to integrate Nuklear and embed the tools into the engine.
I’ve been very slow to actually post new content to the blog, but fear not, while I may be super slow, I do not plan on abandoning the site! Some things I plan on doing … eventually: Post more about Shibboleth’s architecture. Convert blog from WordPress to a static site using Hugo! Need to figure out what solution to use for comments. So, essentially the posts become static content and the comments are dynamic.
I feel like I haven’t said anything particularly useful in a while, so I’m going to go over the architectural design and flow of my work-in-progress game engine, Shibboleth. Application Layer Our journey begins at what I call the Application Layer, which is nothing more than what the executable the end-user runs actually does, which isn’t much. To start, let me explain the expected folder structure the executable assumes.