Save/Load UI, Autosave, Intel Map Markers, and More

Since the previous release, I’ve been working on a bunch of quality-of-life features. This wasn’t exactly planned – at least not specifically for right now but these were all things that had to get done at some point, and now is as good a time as any. Perhaps a better time than most, even, since I’m feeling oddly motivated to work on these. Part of it is upgrading from Java 7 to Java 17; it’s nice to see the game running more smoothly – and in a similar vein, it’s satisfying to bring some older parts of the game up to par.

Read the rest of this entry »

Simulator Enhancements

The combat simulator in Starsector is essential to the experience – you need to be able to adjust your ship loadouts effectively, and being able to test out changes quickly is a key part of that. Imagine having to get into a real fight just to see how your new set of weapons performs! That simply wouldn’t do. This means that the simulator was added early on in the development process. This also means that it hasn’t quite kept up with the times, and was very much due for another look.

Read the rest of this entry »

Skill Tweaks

I’ve been doing a bunch of work adjusting skills in the last couple of days. Since it’s so fresh in my mind, and since there were a lot of changes, it seemed like it might be interesting to talk about the reasoning behind each change – nothing huge, just a sentence or two describing the thought process. This is an extremely unplanned/impromptu post, and it (probably?) won’t be a very long one. [Editor’s note: this turned out to be overly optimistic.] I’ll try to organize things roughly in the order that I made the changes, so you get a little more of a real view into how this type of work goes sometimes.

Overview
First, a bit of a step back. While there are 4 different skill categories, or “aptitudes” (combat, leadership, tech, industry), there are two broad types of skills – ones that boost the ship you’re piloting, and ones that boost… everything else. From other ships in your fleet (usually including your flagship, though not boosting it as much as personal skills), to things like colonies , campaign travel and so on.

Coming at it fresh, it might seem “obvious” that skills that boost your fleet are way better than skills that boost your flagship. Boosting more things is clearly better than boosting fewer things! This is perfectly reasonable, but like many obvious things, it turns out to be wrong – or at least, more complicated than that. Read the rest of this entry »

Colony Crises

What I’d like to talk about today is a re-work, and a major expansion, of the Hostile Activity system introduced in the previous release. It was released in a baseline state where the only two factions involved in it were the Luddic Path and the pirates, but it was always intended as a way to put a lot of different content in front of the player.

So, the changes here are two-fold: 1) taking some lessons from how the existing mechanics worked out, and 2) adding a *lot* of content to the system, so that it can be seen in its intended and more-or-less final form. It’s certainly possible that more content will be added to it here and there, but the amount of content it’ll have in the next release will be enough for the system to “work” – it just needs the variety, more on that a bit later.

Read the rest of this entry »

You Merely Adopted Rules.csv, I Was Born Into It

This post is about the process of implementing scripted dialog content into Starsector. It’ll get technical toward the end and I’ll do a tutorial on how to implement a new piece of character interaction.


So! I’ve been given to understand that rules.csv is notorious among modders of the game – how unfortunate!

In response, allow me to present a spirited defense of this data file and its attendant content pipeline. I’ll talk a bit about what it is, why Alex made it the way it is, how I came to use it, and how it can be used in general.

(It’s probably important to explain what the heck a rules.csv is in the first place, isn’t it.)

The rules.csv file is the primary, but not only, means of creating dialog interactions within the game Starsector. This includes almost all situations where the player engages with an entity – a planet, fleet, or character – where a textbox pops up and allows the player to choose from a set of responses. After choosing a response, stuff happens, more text is displayed, and a new set of possible responses is presented. This interaction loop proceeds until the dialog is closed.

This system is the basis for conversations with NPCs, for most interactions with campaign objects (planets, derelicts, sensor arrays, jump-points), and nearly all of the missions and story events.

In short, rules.csv contains the data used by what amounts to a custom scripting language that hooks into the game code to drive almost all content which doesn’t involve the combat map or the campaign map.

It’s a big deal!

Though some may find it hard to believe, I do enjoy using rules.csv because, above all, it’s lightweight. Every step is fast, simple, and responsive. I’ll walk through how this looks in practice in the tutorial section of this post.

Read the rest of this entry »

Forum Blog Media FAQ Features Digg it! Del.icio.us! Share this on Facebook Reddit Stumbleupon it! Technorati Tweet it! Download Starsector for Linux Download Starsector for Mac Download Starsector for Windows Preorder