Refactoring, Art, and Taxes
Hey Folks! Sorry for the missing news yesterday. I ran long with some tax work and getting feedback to contractors, and as my usual news-writing window blew by, I figured I'd just catch-up today.
I've had a few false starts with refactoring the UI system to accommodate this manual on/off switching for reactors and other equipment. First, I was refactoring mode switching to preserve references. Then, when that became too complex/risky, I tried using pass-by-ID instead. This meant my UI could reacquire its references if they ever get nulled, and I wouldn't have to worry about sending reference updates anytime something was destroyed in a mode switch.
As I got started, I realized that there was a lot of tech debt building in my UI system. It was using an ill-conceived interface class, and I'd have to update a few dozen classes with this new pass-by-ID code. I've been meaning to make these UIs inherit code from a super class instead of via interface, and decided it was high time to do it.
I would be updating all the classes for pass-by-ID anyway. Might as well make this the last time this tedium would be necessary.
In the middle of doing that, I noticed some of my older UIs have wiring inputs. My super class should surely also include this, right? After all, many ship control panels are going to use it.
I started adding that functionality, and immediately it started blowing-up into lots of changes. Too many, in fact. I rolled back that effort, and stuck to just what was needed to effect this pass-by-ID change. I could always revisit later for the input stuff when it becomes relevant.
Thankfully, I was able to finish that just under the wire today, and things seem to be working normally. Except now, if I ever want to make a change to all my UIs, I only have to edit their super class. Also, they recover gracefully from losing references to their game object. Yay!
From there, it'll be back to getting the reactor switchable on and off.
While all this was going on, Michael finished up his pathfinding optimizations. And they're sounding pretty impressive! I haven't pulled his code yet, since I wanted to get my refactor done first. But it should improve performance in large spaces pretty handily.
He's started on getting walls uninstallable and installable in-game, and making progress there.
Also while that was going on, I've started working with a couple of contract artists on some illustrations. They are coming along nicely, and I can't wait to share! Nothing like some fresh art to reinvigorate interest in a game.
And finally, taxes. Even though I outsource all of that nowadays (annual federal returns, at least), it's a crap ton of work gathering all of the necessary docs, data, and getting them organized. I think I've nearly got that ready to upload now. Just two more accounts missing from my docs.
Phew! Busy couple of days! But there should be some cool stuff coming down the pike soon.