With the major goals of v0.04 either complete or kicked down the road for future-me to deal with, I've been focusing on fixing bugs and making small tweaks to various systems and game balance. This is usually a pretty boring phase of development that I lovingly refer to as ...
BERGS N TWERKS
These are mostly small, easy fixes. It's so easy to get sidetracked with little things during normal development, and those sidetracks often lead to more sidetracks, so that when I finally get back to whatever I was originally working on it takes another 20 minutes just to figure out what the hell I was even doing, and then, you know, oh shit, gotta go to work or whatever. So when I notice something small that needs to be done, I find that it's much more efficient to jot down a note and deal with it all later. Well, later is now.
I've been steadily knocking things off of the todo list, but there's not much to show or to write about, really. Like, I forgot to add the new light switches to the save system so I fixed that. I added an option to disable the new ship damage system, and added some more readouts to the cryopod UI. Lots of little shit. This is all work that players won't really notice, since I'm fixing problems that didn't even exist in the previous version.
Some bugs, however, are more long standing. Manual navball movement is now much less wonky (3d rotations are so fucking confusing, I still don't know what the fuck a quaternion is), and I spent some time cleaning up the way space stations transition into and out of physics range, which was previously causing a lot of weird station behavior. It's still not perfect.
Making Games is Hard
Of course, for every 10 easy fixes I'll run into at least one big pain in the ass fix. There were all sorts of issues with how my first person controller interacted with the new ship interior; clipping through walls and sinking through floors into backrooms nightmares, launching off of surfaces like a god damn pinball, just all kinds of problems. The first person controller was one of the first things I wrote in Unity and I've never revisited the code until now. It was horrifying. I ended up rewriting the whole thing. This handled all the weird bugs, and movement is now noticeably nicer in general. It also created some new bugs which I'm still working on fixing.
The other really time consuming issue was that every space station light broke at some point. I still don't know why. I spent so long researching and trying to figure out why nothing was working, but for some reason the solution was to increase the intensity of the lights by like 4 fucking orders of magnitude. I only figured that out because I was frustrated and I was like TAKE THIS UNITY and spammed '9's into the intensity setting of a light. This caused other problems, though. Lighting in URP works differently than the standard pipeline and I'm still struggling to get the space station interiors looking decent. On the one hand, it's pretty frustrating because the whole point was to make things look less like shit, and at the moment the space stations just look more like shit. On the other hand, I don't want to spend too much more time on it, since the space stations will all be completely redone eventually. Eventually might be a long way off, though, so I'll keep plugging away at it for a bit.
You might think that a dude who spends his free time coding an orbital mechanics simulator would be handling character movement and scene lighting no problemo. You'd be wrong. It's problemo all the way down.
Coming Up Next
More of the same on the horizon, just tying up loose ends and preparing the project for life in the real world. I still need to do things like setting up the initial game state, and there's lots of playtesting to do which will inevitably uncover more bugs. The circle of life. I'll admit to you, since you've read this far, that I'm getting a bit burned out and have been sacrificing some development time to replay Crystalis, maybe my favorite ARPG on the NES. I'm good at dealing with burnout, but it only slows down an already glacial development pace. I soldier on, though, and I'm committed to finishing this version update before taking a real break. Still a lot left to do, but we're getting close.