This blog post is a bit different than usual – instead of talking about a major new game mechanic, I’d like to instead take a quick – but in-depth – look at something relatively minor, but that I thought was interesting. I will, of course, continue to write regular-style blog posts as well.
In Starsector, fleets will often orbit a planet for some time – trade fleets offloading cargo, patrols preparing for duty, and so on. The orbits of some well-to-do colonies can get quite crowded, with fleets overlapping each other and being difficult to pick out. This isn’t a huge problem in terms of game mechanics, but it’s still occasionally inconvenient and just messy to look at.

The other day, encountering a particularly egregious case, I wrote a quick algorithm for the fleet AI to use to avoid overlapping other orbiting fleets as much as possible.
Read the rest of this entry »
How starships get produced has been heavily abstracted so far – there’s a colony, and it spawns fleets made up of faction-appropriate ships, and that’s about all there was to it. To be fair, that’s all that needed to be there, since it was not something the player could interact with in more detail than attacking those fleets.
Now that the player can establish colonies and manage a faction of their own, we need more detail. Not so much that it’s a chore to manage, but enough to cover the things the player will naturally want to do.
If you’ve been keeping track of the backstory, most heavy manufacturing in the Sector is done using “blueprints” – precise specifications for building a ship or a weapon, that an automated factory can use to build the item. Copying these is difficult-to-impossible, and their dwindling supply contributes to the gradual decline of the Sector. This is the base we’ll use to develop the manufacturing mechanics, making adjustments to cover the demands of gameplay, as needed. That is to say, if blueprints have to work a certain way for the gameplay to come together, then hands will be waved.
Blueprints
A “blueprint” is an item the player can find and right-click to “learn”. For example, they might acquire the blueprint for a Medusa-class destroyer or a Heavy Mauler, a ballistic weapon. This works similarly to how players learn new hull-mods. After a blueprint has been learned, the player’s heavy industry becomes capable of producing the items in question – there are lots of details here, and we’ll get to those in a bit, but that’s the basic system.

Read the rest of this entry »
Part of the design process, it seems, is going back and changing things that seemed like they would work well on paper, but didn’t quite pan out in practice. Putting several systems together can be an especially challenging process, and the one you start with will likely need the most changing as the other pieces settle in around it.
For this release, I started by revamping the economy system. Largely, the redesign has met its goals – it has good performance, and it can represent a flexible set of events in terms of “what’s happening in the game world”. However, working on the UI for colony management has exposed a few areas for improvement. (Pictured below: not one of them.)

Read the rest of this entry »
I’ve been making steady progress fleshing out the various colony-related mechanics, and though there’s still a lot to do there (in a way, everything for the next release has to do with colonies), there’s also a mostly-completed set of features to talk about.

Read the rest of this entry »
In the last couple of months, I’ve been busy fleshing out the outpost/colony management screen shown in the previous blog post. Well, by “fleshing out” I mean “making all the buttons actually do something”, which in a few cases involves adding an entirely new set of mechanics into the game. The new mechanic I’d like to talk about here is “population growth”, that is, how a market grows in in size over time. (Brief aside: I’ll be using “colony”, “market”, and “outpost” interchangeably for the rest of the post. Yes, I really do need to straighten out the terminology at some point.)

Read the rest of this entry »