Tuesday, June 9, 2026

Easy Does It

The work continues, but alas, nothing exciting to report this month. A busy-as-usual spring beekeeping season, a weeklong camping trip, and Dave the Diver all conspired to slow my progress. So it goes.

I haven't even got to the booster system yet, to be honest, but I also put a bit more effort than expected into finishing the damage, repair and upgrade systems. Since they'll be shared by probably all of the remaining systems, I want to get them as right as possible the first time, and I think they're there now.

So all good in a no news is good news kind of way, and I think I should be able to buckle down and get back to it properly this month, now that the bees are done acting swarmy and Dave's done diving.

Saturday, May 9, 2026

Item Skin Maniac

Nothing too exciting this month, still reimplementing systems and catching back up to where I left off back in August.

The systems architecture that I wrote about last time is in place, although it took longer than expected to finish up because I, like, forgot how programming works. Been a minute since I finished that CS degree. But it feels good to get back into a software engineering mindset, and I'm very happy with the result.

Fuel, RCS & Gyro Systems

The development of this new version has been pretty abstract up to this point, so I figured what this spaceship flying game could really use is the ability to fly a spaceship. To that end, I got to work on reimplementing the RCS system. I talked about this back in June & July, so you can scroll down for more info, but basically the thrusters now work in a more realistic (and satisfying!) way, they can break and wear down, you can fix them and upgrade them, and I've added a few new in-cockpit features. I mean, the cockpit doesn't exist yet, I haven't got to the 1st person stuff, but it's all working with default keyboard controls.

Getting the RCS system back up & running required that I reimplement the fuel tank, which is also now upgradable. The tank & it's fuel have mass, so it'll be up to you whether you prefer a smaller tank for a more maneuverable ship at the cost of more frequent refueling, or a big-ass long haul tank for the full lonely space bastard experience.

The RCS thrusters can now provide auto-stabilization c/o the gyro system, which means that I also had to reimplement the gyro system. Again, I wrote about this in more detail last summer if you want to dig deeper, but basically everything is cooler than it was before.

I should be clear here that shops don't exist in the game yet, so you can't actually upgrade anything, but the systems are in place & ready to be eventually hooked up to a shop UI of some sort.

Coming Up Next

I've still got work to do on all the systems mentioned above, but they're just about done. Next up is the booster system, which should go pretty quickly. With a flyable ship back in the game, I can move on to system-scale simulation which should catch me up to where I left off last summer.

Epilogue That Nobody Asked For

numbers unknown to science


Thursday, April 9, 2026

Systems Architecture Revamp

As indicated in the previous drunken devlog that I barely remember writing, Black Road Sky is finally back on track. Still have one Nubby achievement left to grind, though.

As you'll know if you've been following along, I started the BRS project over last year, but didn't make a whole lot of progress before needing a longer break, so I've just started over again. I know what I'm doing this time, I know what I want the game to be, and I've solved all the major technical difficulties. Now it's just a matter of getting over the terrifying realization that I have years of near-daily work to do. But, like, what else have I got going on?

The work, and therefore the devlogs, will be fairly boring for at least a few months, maybe more like a year. How boring? This boring:

Ship Systems Backend Architecture

Ship systems, and the interplay between them, got very complicated in my last attempt even though I was nowhere close to the final vision. The code wasn't quite spaghetti-bad, but maybe like a nice bucatini. Confusing, anyway. Basically it wasn't vamped good enough, so by god I'm revamping it.

IT'S DIAGRAM TIME BITCHES

Ok, so the diagram kind of makes it look like I'm just making things more complicated, but hear me out.

First of all, the systems themselves are, by design, never calling per-update events (Update() or FixedUpdate() in Unity), instead everything is called by referencing each systems' handler function from a single point, the player ship controller class. So it's trivial to see, at a glance, what order shit is happening in, which is kind of the thing that makes programming hard. This goes a long way towards untangling the bucatini.

Second, system logic and hardware functions are handled separately, which again just helps in managing the logic & order of events. Both system and hardware classes derive from base classes which hold all the common stuff like general health stats, repair functions, cockpit button interaction handlers, and so on. Nice & clean.

Finally, the actual hardware stats (thruster power, response time, durability, and eventually things like cost) are held in logic-free stat blocks, glorified plain text files that Unity calls scriptable objects. That means that I can quickly & easily create new hardware components with just a few lines of text, and maybe even open it up to modding. Not sure about that, though, probably shouldn't even have said it.

I'm also doing a better job of commenting code for future me, who as it turns out is kind of a dunce, and following best practices for Unity-specific things. When I started making this game it was my first Unity project (I mean, I guess it still is), and I couldn't have given half a fuck about whether a variable was initialized in Awake() or Start(). But here I am now, giving a bunch of fucks.

Coming Up Next

More exciting diagrams and shit, probably! And I'll let you know if I 100% Nubby's Number Factory, but I've been pretty distracted lately by My Summer Car. Got a lot going on over here.

Monday, March 9, 2026

All Nubbs Must Come to an End

Yo yo yo, had to take a break to play Nubby's Number Factory but baby, WE ARE BACK.

Well, we are back. Putting it all in caps was a bit disingenuous. Performative. I mean, I am back. Never really went anywhere. But I am getting back to work now.

On Black Road Sky. Not on Nubby's Number Factory. I mean, both. All things, all of the time, in every possible configuration. One of these times I'll nail it.

Thursday, October 9, 2025

Still Chillin'

Nothing to report, but life-things have chilled out and I think I'll get back to work soon.

I've been prototyping a few other game ideas, just in my downtime at work, including a fantasy small plane sim that I might keep working on alongside Black Road Sky, but this remains my main project and I have no intentions of abandoning it.

In other news, Apollo is taking a lot longer to learn than Gemini, holy moly.

Tuesday, September 9, 2025

Didn't Do Shit

As expected, development this month took a back seat to shit getting hectic at work. A bountiful (read: pain in the ass) honey harvest and my recent discovery of Reentry didn't help. Honestly, I don't think I even opened Unity once.

So it goes. I'm getting pretty good with the Gemini capsule, and the old school NASA cockpits are probably flavoring Black Road Sky in a way that I won't regret, but if I can claim to have made any progress, that's about it.

If you're enough of a nerd to be upset about this, then you should be enough of a nerd to accept my custom Gemini mission pad as an apology.

Back at it soon, hopefully!

Saturday, August 9, 2025

Boldly Going Where I've Already Gone Before

As (sort of) promised, I did manage to work on system scale & close range physics this month, but just barely. System scale is working, but the close range physics was honestly wonky as hell before and I'll need to take my time getting it right this time around.

Lots of other shit to talk about this month as well, but the TL;DR is that everything's going pretty damn smoothly.

Attitude Stabilizers

The gyroscopic stabilizer system is pretty much complete & in final form. It mostly works the same way as before, with the main difference being that the system is now breakable, fixable, and upgradable.

I've added an auto-stabilization feature which will be available from the cockpit, with independent toggles for all 3 axes. I think this could be useful for docking, and some pilots might find it convenient to use full-time.

The ship can only be stabilized in this way on any given axis if it's angular velocity is less than that of the flywheel's saturation velocity, which will vary depending on the installed model of stabilizer, but overall it means that attitude stabilization has been significantly nerfed. You can no longer just hold tab to bleed off arbitrary amounts of rotation. To make up for this, I've added an RCS-based auto-stabilizer as well. Of course, this will use fuel, but it should be helpful for managing wild post-collision spins and the like.

Propellent System Hardware

Prop System Diagram

Virtual implementations of the various bits of prop system hardware are in place, with the exception of the utility dock & refuel valve. The rest of the engine room equipment that you can see in the diagram above is all working, and will have player-interactable entities after I reimplement the first-person scale.

The manifold can be used to choke or open fuel flow on individual outputs, pump power can be adjusted to balance thruster power against efficiency and wear damage, and injectors can be adjusted to similarly affect thruster response. All of this only half makes sense, of course, and is geared more toward gameplay than accurate simulation.

Some of these adjustments will only be available from the engine room, but a few important ones will have cockpit controls as well. For instance, there will be an overall RCS pump power selector as well as an RCS injector on/off switch in lieu of the old docking mode button for fine maneuvering control.

System Scale & Related Sidequests

There is once again a vast solar system to explore, so that's cool, but it's just 2 different colored cubes a few billion kilometers apart from each other, so that part could use some work still. There's somewhere to boldly go, anyway.

This was a pretty simple task that boils down to implementing a floating origin, but I took a couple of detours along the way. In order to test the system I needed a way to find distant objects & a way to keep the camera on the ship for the journey, and instead of throwing together quick temporary solutions I decided to build out the base of the sensor system and implement a new & improved chase camera.

The chase camera has a bunch of new functions, nothing fancy but you can actually zoom & pan now. You can also pause the game, and I added an in-game screenshot capability which is just perfect now that the game looks worse than ever. Pausing the game, which seems like a pretty simple thing, is actually a pain in the ass for a game like this, so that was it's own sub-sidequest, but it needed to be done sooner than later, anyway.

As far as the sensors go, I'm waiting until I reintroduce space stations & docking before I really flesh things out, but the base architecture is in place. The biggest change from the old system is that sensor pings are now modeled as radio waves propagating at light speed, rather than being magically instantaneous. This will introduce some weirdness once I reimplement the warp drive; I haven't quite decided how I'm going to deal with that, but the warp bubble will probably just block outgoing radio waves, which might make for an interesting mechanic.

Coming Up Next

As I said up top, I'm still working on close range physics, AKA running into shit. I've got a busy couple of months coming up, so development will be taking a bit of a backseat. My only plan is to keep plunking away at physics range & collisions until I'm happy with it.