State Vector December 23


A suspiciously absent update at an auspicious time

I mean, I said in the last state vector that I’d try to release an update each month, and the first month I already fail to deliver, right? Not so great on first glance, but there’s reasons, and they’re not all bad. So let me quickly get into this.

My goal for the first update was simple enough - one more job type to introduce the first bit of variety. Of course, I picked out the chunkiest, most difficult job-type I had on my todo list first, knowing full well that it might take a bit longer to get polished than I was guesstimating. There’s a method to this madness, though.

For starters, if I’m already bringing more variety to the game, then let’s bring some variety. So I wanted to make a job type that felt very different from the one I had: Satellite maintenance. In this kind of job, flying to your destination is more of a side-activity. The major challenge consists of capturing the satellite (though that’s still fairly similar to docking), and then of course in going EVA and doing your job. Did my code up to this point make any provisions for EVA? Or for being anywhere else than in your spacecraft, for that matter? Weeeell, a few, because I knew I’d need it at some point, but not a whole lot. So there was some effort involved in making that all work.

Next up, I wanted to get the code ready to implement further job-types more quickly in the future and with less headache. Going for the most complicated one first seemed like a good way to find all the holes in my code up-front. And there were quite a few, which was unsurprising. Some of them I knew of. While a generic abstraction for supporting multiple job types was implemented at the bottom of the chain from the start, I knew I had cut some corners at higher levels to get the prototype out in the time I had intended to get it out. Those corners had to be uncut. And some special considerations of this particular job type revealed some specific weak points in the architecture that also needed to be fixed. All of that obviously took time.

Thirdly, the thing needed a completely new set of what I call “challenge stories”. That is, defining the things that can happen while completing a certain challenge, and how these things are connected. There’s a small little “framework” (if you can call it that) I had written for that, and it too showed some weaknesses in the face of what these new challenges demanded. Besides that, coming up with a complete set of these, even in the rather basic state they are in right now, is always quite a bit of work. Luckily, they’re reusable. So if another job-type requires EVA or capturing an object (which some certainly will), there will be a lot less to do.

And lastly, there’s Christmas. On the one hand the schedule-warping effects riding its bow wash, and on the other hand the all-absorbing nature of the holiday period itself. If you read the preceding paragraphs carefully, you may have noticed that I’m talking about most things in the past tense. They are in fact done and solved. It’s not ready for an update right now, because some minor issues and bugs still want to get fixed and all the flavor text still wants to be written. I could make it until next week if I really wanted to. But what’s the point? Nobody’s going to play it at that time. And that’s not a complaint either, that’s just the way it is.

So I decided that instead of giving myself and by extension my family some additional stress in an already rather hectic time, I’m going to move the update to mid-january, where at least the current additional content will be polished enough without any frenzy on my part, and maybe even a bit more might have been accomplished. In any case, people are going to have a lot more time on their hands then to tell me what they think about it than they have now. Let’s not forget that “people telling me what they think” is still the major purpose of any of these updates.

On the sidelines

This isn’t the only thing that has been worked on though. Right now I’m dividing my time into something that you could call “main trunk development”, which are features that should make it into the next update. But I have also been working on sound, which won’t see a release for another bit of time. Nothing world-shattering, just general UI-sound so things don’t feel quite as dead. Most time here is spent on actually finding sounds. Implementing a reasonable way to hook them up to my UI was surprisingly straight-forward in libgdx, so there’s not much to be said about that. I can see it’s working, and that there won’t be any technical challenges waiting in that department. Just a bit of patience.

The other thing that has been going on on the side is world building. I’m afraid this will require even longer than the sound to have any real impact on the game, apart from maybe a short intro blurb when starting a new game. Some of the criticism I got has been that people don’t really have an idea of where they are and what they’re doing and what for, which is a fair enough point that I intend to address.

In any case, this part is a lot of fun, and I have to discipline myself that I don’t spend too much time on it. It’s also daunting, though. Once the game actually moves beyond a prototype stage and ramps up the RPG aspects, the world in which it is set will be important. I know that I can write code that works. Been doing that for a long time. I’m halfways confident I can make the mechanics work, because let’s be honest, they are mostly iterations on other things that have proven that they can work.

But do I know how to build an engaging game world? I have no bloody idea! I’ve dabbled in world building, as most nerds occasionally do, but I don’t have the faintest inkling whether the stuff I come up with is actually any good. So once the mechanics kind of settle, I guess that will become a major area to start testing out on the public and iterating over. But let’s leave that for the future.

a propos…

Stones for miles!

A bit more feedback has come in here and there. I’m still thankful for every single scrap of it, by the way. But what I have now has, I think, given me enough to specify the next milestone, which I hope won’t take more than 6 months to reach. The goal for that milestone is a version of the game that gives a clear idea of where it wants to go, of how it wants to make the player feel. Because right now that’s not obvious at all. The first prototype was just to get some feedback on the core mechanics, which most people seemed to have enjoyed for a while until they got bored because of repetition or because they figured them out and found that after that there was not much challenge left.

Both of these are fair points, so they’re the points I will be trying to address, because they’re also kind of what will be most important for seeing the direction of the game. I won’t waste your time here trying to describe what kind of gameplay and atmosphere I ultimately have in mind for this. That’s just not effective, and usually misleading. But I now thouroughly understand that this is exactly what I need to show. So in the next 6 months there’s going to be added variety in things to do, but there will also be added complexity in the core mechanics, because a bit more is required to go where I want to go. And then, possibly rather uncharacteristically for a prototype, there will be a lot of fiddling and balancing to try to make it work to convey the atmosphere I’m going for.

Specifically, I’m aiming for at least 3 job types (preferably 4, but I left the 4th as a nice to have). Besides that, I want 3 fully implemented stats in there to play with: Drive (which is the one we currently have, but it’s still underdeveloped), vitality, and a generalised, abstract state for your spacecraft. I need these to add more possible mishaps and penalties on failure to the game, so I can tighten the difficulty screw a bit without making it frustrating. Balancing things can be fun, while just constantly worrying about the one thing simply isn’t as much…

Alongside all that, of course, there’s the sound and the UI, which I mentioned in my last devlog seem kind of important in order to get people to actually play it and tell me what they think of it. It won’t be that much help if I make a more expressive prototype, and then only 5 people play it, after all. And then there will also be a new set of locations until then, though that will not (yet) add more to the game than a bit of flavor text. Still, I think flavor is going to be important for this.

All in all, that’s an ambitious plan for 6 months. I wonder if I’ll be able to pull it off…

In any case, I wish everybody that took the time to read this and is of applicable cultural background a merry Christmas and a happy new year. I’m excited for, and terrified of, what 2024 will bring for this little project of mine.

Get Orbital Margins

Leave a comment

Log in with itch.io to leave a comment.