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.
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 feature, 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.
This is update is all about the RTS player controller I’ve been developing sprinkled with a couple camera things. So let’s get started. NOTE: My implementation is partially based on this post. Box Select The majority of the work has gone into box select for units. This requires a few steps. Differentiating between clicks and box selection. Rendering the box selection screen space UI. Querying for all units inside the box.
In wake of stopping work on Adrenaline, I have taken up work on a project I have codenamed Arbalest. It originally started life as an FPS I was building. As I was building an FPS, I decided it would be a wise decision to build up a library of common functionality to help with any future Unity projects. I have yet to branch that framework into it’s own repo, so everything is kind of smashed into Arbalest at the moment.
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.
While this is technically the second update for my game, the first update was really just a GIF dump. This is also pretty much going to be a GIF dump, but with some explanations. I’ve done a lot over the last few months to the game, but have been slacking a bit too much lately. My goal is to have 5 levels by next month so I can start doing some shader programming and look and feel polish.
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.