Hello again! Another update in roughly a month and a half! This time I’m talking about some of the work I’m doing with my editor, Contrivance! I’ve shifted my focus away from Shibboleth for a bit and am focusing on getting my editor up and running. I have started accruing enough data formats that it would be nice to not have to edit JSON files by hand. I am making the editor with the ever popular Qt library.
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. <root folder> |- App64.
It’s been a few months without any updates from me. Fear not, I have still been working on Shibboleth. Most of my work has been updates to supporting libraries more than actual engine work though. To name a few, I added schema validation to my JSON class, restructured my job pool system, and started adding in the actual graphics pipeline to the engine. I’m having to do a bit of a refactor on my graphics multithreading.
I really missed my one post a month target by a long shot this time. Two months late! I got my update system to run in stages. So now you can specify updates stages that all run independently of each other, but in order. The updates all operate on frame data that is saved and passed to each stage. This way one stage can continue generating the next frame while the other stages are doing work.
I got a little distracted these past couple months. While hashing out my camera system, I realized that I didn’t have all the support in reflection that I needed. Mainly, I didn’t support reflecting arrays. It took a hell of a long time to get it in, but I finally have it. I also got distracted from writing this post, so it’s a month later than my usual month late posts.