Quantcast
Channel: Starsector
Viewing all 115 articles
Browse latest View live

Starsector 0.9a Release

$
0
0

Update (11/17/18, 3:20pm EST): hotfix for occasional “random” crash while flying around, and an ability-bar-switching related crash.

Update (11/16/18, 7:35pm EST): hotfix for crash on 32-bit Windows, weapon disabled damage sound effects/visuals/floating text not showing up, and occasional game load issue.


Starsector version 0.9a is now out! Here are some of the new things you can do in this release:

  • Establish colonies! Build up industrial production to make a profit, improve your colonies, and protect them from many dangers
  • Visit a portside bar to find missions and other opportunities
  • Fight alongside – or against – massive orbital stations
  • Create your own faction and set up its military doctrine
  • Find blueprints and use them to let your colonies produce ships, weapons, and fighters
  • Face enemy ships with dynamically generated weapon loadouts
  • Discover new dangers and derelicts on the fringes of the Sector
  • Explore planetary ruins
  • Raid core worlds for plunder or to disrupt your competition

In addition, there are a ton of UI improvements, improvements to ship AI, combat balance changes, and  all sorts of miscellaneous fixes, improvements, and bits of new content.

The full patch notes, and the comment thread, are here. You can download the new version here:

(Alternate download links: Windows Mac Linux)

As always, thank you for your support!

screenshot583

 


Starsector 0.9.1a Release

$
0
0

Update (05/20/19): a hotfix for an issue causing no salvage to be generated after some fights and a few other issues is out, please re-download using the links below.

Update (05/17/19): a new release fixing a few relatively minor issues is out, please re-download using the links below.

Starsector version 0.9.1a is now out! This is mostly a bugfixing-and-polish release, though there is also some new content and a few new mechanics.

  • Rebalanced colony progression so it’s both not as demanding of constant attention and doesn’t immediately catapult the player into the endgame
  • Improvements to ship AI, in particular escort behavior is much better (see here) and carrier survivability is much greater
  • Two new capital ships, used by the pirate and Pather factions, and a new pirate skin for the Shrike
  • A “randomized start” option
  • Various quality-of-life improvments (can set speed-up time to be a toggle, etc)
  • Reworked high-end fleet spawning – generates more large ships, and fewer ships overall, instead of just a larger number of ships
  • Large fleets can now disengage without being pursued if they can deal enough damage in a pitched battle first, even if they lose it
  • Added ambient sound track when visiting a portside bar
  • Assorted combat balance tweaks
  • Many bugfixes and modding-related improvements

The new version should be save-compatible, although some mods may require a few adjustments to work.

The full patch notes, and the comment thread, are here. You can download the new version here:

(Alternate download links: Windows Mac Linux)

As always, thank you for your support!

screenshot583

 

Skills and Story Points

$
0
0

I’ve wanted to update the skill system for a while, but that’s part of the challenge with early-access style development – if you update something too early, you might have to update it again, when yet more things change and make that part not-quite-fit once more. With how many parts of the game the skill systems has tendrils into, it wasn’t something I wanted to do more than once.

Now, finally, the game is in a place where I can do that – I’ve got a good overview of what I actually want from the skill system, the number of unknowns is low, and most of the unknowns are probably known.

(Please note – some of the graphics and text in the screenshots to follow are placeholders.)

So, what are the goals of the skill overhaul? First and foremost, the skill system should increase the replay value of the game – that is, depending on what skills are picked, the player should be able to explore new ways to play the game.

Previously, I’d thought of it in terms of offering the player choices – and we still want that – but it makes sense to look at why we’re offering these choices so that they can be crafted with that goal in mind.

The second goal is to make the system more approachable. Currently, you can pick any skill you want – imagine, as a new player, being presented with some 30-odd choices of what skill to get, while you’re still figuring out how to play the game. This isn’t just a new-player-oriented feature, however. I think reducing the number of options at any given point will also make for more impactful and considered choices for players of any skill level.

Finally, updating a system is a great time to simplify it, so that’s a goal as well.

New System Overview
There are 4 “aptitudes” – Combat, Leadership, Technology, and Industry; same as before. Now, however, these are just a way to organize skills, and you don’t put points into them directly.

Each aptitude has 10 skills, arranged in 5 tiers of 2 skills each. At each tier, you can pick one – and only one – of the two skills; this costs a skill point and unlocks the next tier. Once you’ve reached the fifth tier, you can wrap around and pick up the other skills in the aptitude, if you really want to dedicate the majority of your points this way.

Skills don’t have levels – you unlock all of the skill’s effects with the point you spend. Combat skills – that is, skills that improve the ship you’re piloting – are an exception to this. In addition to the base effects, each combat skill also has an “elite” effect, which is unlocked by spending a “story point”. More on those in a bit!

Skills can be reassigned at any time (again, at the cost of a story point). A few skills are permanent and can’t be reassigned; these are ones with effects that would either leave the game in an invalid state if the player had the skill and subsequently didn’t, or just ones that make it optimal to get the skill, use it, and then refund it.

The maximum level is 15, with 1 skill point per level – enough to get to the top tier in 3 of the 4 aptitudes, though that’s not necessarily how one might want to spend them.

This setup helps with making the system more approachable – instead of 40 choices at the start, we’ve got two for each aptitude, for a total of 8 possible places the first skill point can go. That’s still a lot, but even a new player might have some idea of what kind of character they want to build, which would nudge them towards a specific aptitude – and its pair of tier 1 choices.

Now, what about adding replay value?

Specialization
Previously, I’ve been hesitant to have skills with effects that are content-specific in what they do – for example, improving a specific ship type, or a specific weapon type. The reasoning was that it feels bad to have points in a specialized skill that you’ve since drifted away from using. Being able to refund and reassign skills largely takes care of this concern.

Thus: most skill tiers offer a choice between a generic skill and a specialized one. We always want to offer a “generically good” choice – if both are specializations, with only two options, neither might be one the player cares to specialize in. The generic choice is always weaker than the specialized one – otherwise, there’s no reason to specialize.

Despite being weaker on paper, the generic choice is often desirable anyway – it’s a way to boost your other specializations. If you just picked specializations, you’d end up with a bunch of skills that don’t work together well. For example, if you get bonuses to carriers and phase ships – there aren’t any ships that are both.

Specialization is what increases replay value, by either opening up entirely new playstyles or just by making some options powerful enough to lean on them during a playthrough, changing one’s experience from the “normal” one.

For example, at tier 4 in Combat, the player has a choice between Shield Modulation (which improves shields; these are ubiquitous enough for it to be a generally-good option) and Phase Mastery (which improves phase ships, with an elite bonus that makes them move twice as quickly while phased).

Tier 1 Leadership offers a choice between Weapon Drills (an across-the-board bonus to damage dealt) and Auxiliary Support (which lets the player make a limited number of civilian ships very combat-effective). Tier 4 offers a choice between increasing overall combat readiness (“Crew Training”) and greatly increasing the fighter replacement rate on a few carriers (“Carrier Group”).

That brings up another point – just how can we limit the bonuses to “a few” carriers, rather than all the carriers in the fleet? This is critically important; if specialization leads to mono-fleets, that’s a problem – instead of encouraging variety, it’s doing the opposite. Fleetwide specializations should be “use some of this in your fleet” rather “use only this in your fleet from now on, because it’s got stat bonuses now and it’s better than anything else”. We also want the bonuses from specializations to be large enough to be fun and exciting, so it’s all the more necessary to limit them effectively.

Effect Scaling
The solution is to scale the effects of all fleetwide skills based on the ships they affect. For the Carrier Group skill, for example, the effect scales based on the number of fighter bays in your fleet. More than 6 and sure, there’s still a bonus – but you’re being less efficient overall, with each carrier you field being weaker than it would be if there were less of them total.

Other skills generally scale based on the number of ordnance points on ships they affect. For example, the effect of Weapon Drills depends on the total number of ordnance points on combat ships in your fleet.

A few fleetwide skills, instead of scaling, only apply to ships with officers in command.

The fleet screen shows whatever fleetwide totals are relevant for the skills you’ve picked – the total number of fighter bays, combat phase ship ordnance points, and so on.

Overall, this approach lets us have sizeable specialization bonuses that encourage fleet variety instead of doing the opposite. Since non-specialization skills also scale their effects (albeit at much higher point values), it also rewards smaller fleets by making them more efficient.

Encouraging the Use of Smaller Ships
This is a bit of a minor point – in the game as it currently is, the use of smaller ships, and especially frigates, drops off as the game goes on and larger ships take over. Some specialist frigates remain useful, but overall frigates become very limited. While this isn’t a huge problem – I think this generally makes sense – it would still be nice to encourage the use of smaller ships to extend their usefulness.

This takes several forms. The “Wolfpack Tactics” skill just directly increases the combat power – and endurance – of frigates. Several other skills make deployed frigates grant bonuses to all of the deployed ships, in effect making all frigates specialists and carving out more of a niche for them in larger fleets. For example, Gunnery Implants on frigates (and destroyers) grants a bonus to the fleet’s Electronic Warfare rating. Presumably there’s some spare processing capacity to dedicate to this when the officer with the implants is on a smaller ship.

Coordinated Maneuvers makes frigates and destroyers – with officers only – increase the nav rating of the fleet, granting all the ships increased speed. There are also a few other skills with effects that tilt them to slightly favor smaller ships.

In addition, that base number of officers is now 8 (up from 4), meaning you’ve got a lot more to spare as far as using them in smaller ships, where they generally make less of an impact. The maximum number of officers (that is, after taking the Leadership skill that increases it) is still 10, as before.

Automated Ships
An interesting example where everything comes together is the Automated Ships skill – the tier 5 Technology specialization that allows you to recover and use (mild spoilers) Derelict and Remnant droneships found in various star systems outside the core worlds.

In the player’s fleet, these have a hefty penalty of -100% to combat readiness, making them entirely useless by default. If you deploy a ship like that, it’ll heavily damage itself just from the strain.

However, the Automated Ships skill can counter this penalty entirely – or less than entirely – depending on how many automated ships the player decides to have in their fleet. One battleship, with moderate combat readiness? A couple of cruises? A pack of frigates? All viable options.

The player can’t use these as their flagship – the ships are designed to be a bit more powerful and flexible than usual, and would be slightly broken in player hands. But, ships without officers are weak – and if you could assign an officer, the explanation for why it couldn’t be the player would be strained.

So, naturally, AI cores are the answer there – you can assign them to command automated ships for you. You can’t level them up like officers – they come with a fixed number of skills – but to really differentiate them, you can freely reassign their skills at any time…. and their skills are all elite, to boot.

Story Points
When first thinking about the skill changes, a maximum level of 15 made sense – 15 points, 3 aptitudes taken to tier 5, it all lines up. But that’s a low level just as far as the number goes, and there are two scenarios. Either the player reaches it very quickly – and from that point on, there’s no progression. Or, it takes a long time to reach it – and the interval between gaining points feels like too long.

Then there were the elite skills – the idea for those being to give the player something that makes them special, bonuses that are more easily available to the player than they are to either allies or enemies. If you get the “elite” bonus simply for being the player and investing the skill point, it feels a bit off – and it also doesn’t feel like the elite status is really earned.

So: story points are “do something cool” points. They let the player do things that would be overpowered or game-breaking if the player could just do them whenever, or even at a regular resource cost.

I’ve been kicking the idea around for a long time. Ultimately its roots are in the “destiny” dice from an old Star Wars pen and paper RPG – but it never quite fit into Starsector. That is, it would’ve been an external thing tacked onto the design instead of being an integral part of it.

(“Destiny dice” were something you’d get at the start of each session, the number of them being dependent on your class, and you could add them to any roll you really wanted to succeed – even after making the roll. Making sure the story stayed on track, basically, by not failing anything that’s absolutely critical. … or wasting them on winning an arm-wrestling match at a cantina, not that I’d ever do something like that.)

Coming back to Starsector – now, instead of being a solution in search of a problem, story points solve the design problems we’ve got, and open up a lot of design doors besides.

You get 4 story points per level. Or maybe 2. Point being, you get more of them than you get skill points, so they keep things flowing between level-ups. You also keep gaining story points after reaching the maximum level, so there’s progression beyond that.

What exactly are they used for, then? If you’ve been keeping track, making skills elite and reassigning skills are two uses I’ve mentioned so far.

The key use – against which all other uses are measured and balanced – is making hullmods on a ship permanent, at a cost of one story point per hullmod (and, currently, a maximum of 2 of these per ship).

Other uses – that are already implemented – include:

  • Mentoring an officer, granting them increased experience gain, more skill choices on every level-up, and potentially affecting their personality slightly
  • Making one of an officer’s skills elite
  • Fully integrating an AI core into a ship, making it unremovable and granting it an additional skill

In addition (and I’ve got a bit of a list to go through), uses would include taking all sorts of actions in the campaign that you would not normally be able to. For example, executing “special maneuvers” to disengage from a fight you don’t want, making a derelict ship recoverable when it otherwise wouldn’t be, or just avoiding a cargo scan while carrying contraband.

The general idea here is that “story” options in the campaign would either smooth out the flow of the game, letting you avoid a situation that would result in reloading a save – or grant you some long-term benefit.

Bonus Experience
So, why wouldn’t players just hoard all their story points for exclusively the “best” uses? Wasting a free hullmod on a ship by instead getting away from a battle you didn’t want could in itself be a reason for reloading the game. And even within making hullmods free and permanent, wouldn’t putting them on smaller ships be a waste of story points that could improve more powerful ships instead?

The answer here is bonus experience – the less long-term-impactful the use of a story point, the more bonus experience it grants. Bonus experience doubles the rate of your experience gain until it’s used up. So, for example, installing a permanent hullmod on a frigate grants 75% bonus experience – which means “enough to earn 75% of a story point” – meaning that in the long term, it only costs a quarter of a story point.

A more “frivolous” option – such as disengaging from a fight for free – would grant 100% bonus experience, making it entirely free in the long term – so it wouldn’t feel like a permanent hit. Other actions – such as making skils elite, reassigning skills, or building hullmods into capital ships – grant no bonus experience and are in that sense story point “sinks”.

Impact
Story points are perhaps the biggest mechanical addition of the skill overhaul. One of the things I like is that they can encourage the player to think about the game in terms of creating their own story by selecting the “exceptional” things they do.

It’s not even something where the range of story-point choices is wide enough to tell the player’s story through that alone – rather, it’s more of an aid in getting into that mindset, where you’re telling yourself a story about what your character is doing in-game. I think that’s particularly important for a sandbox game, where you have a lot of freedom.

The other aspect of it that I’m extremely excited about is all the design options it opens up. Imagine if “build a permanent mod into a hull” didn’t use story points – fair enough, we could probably make it work somehow – but it would probably involve some custom-made mechanics to limit it in some way. With story points, the limiting mechanic is in place, and can be used for just about anything, making these kinds of things so much easier to add.

For example, being able to “mentor” an officer, or to “fully integrate” an AI core into a ship – both were things that just occurred to me, in a “wouldn’t it be cool if you could do this” way. And it took something like an hour to add, in each case! As much as story points let the player do cool things, they let me do cool things, too.

Comment thread here.

 

 

Raiding for Fun and Profit

$
0
0

I’d started out trying to add a story point option that would, to quote my TODO list, “make ground raids more of an early-game activity the player can engage in”. Some time later, I ended up with a total revamp of the ground-raid system, and no story point option. I promise, I can explain!

(If you’re unfamiliar with story points, see this blog post. In brief, they’re limited “do cool things” points that you’ll gain as you level up. Both the points and the cool things to spend them on will be in the next release.)

Now then, back to how this happened. Story points are not an end unto themselves – the goal of the TODO item was, after all, entirely about ground raids in the early game; story points were just a possible way to do it. So, the first thing I’d tried was letting the player use a story point to stage a “surprise” raid, with higher effectiveness. This means you don’t need as many marines to accomplish something useful, which in turn means you can do it earlier in the game. Technically correct (the best kind!), but also, doesn’t hold up.

The problem is that, as it stands, raids fill a very specific mechanical niche. Couldn’t find a Pristine Nanoforge or a specific blueprint while exploring the Sector? Raid one of the core worlds that has them (sometimes into the ground, because there’s a random element), and you can eventually get them. It’s a safety net for being able to obtain most things in any given playthrough, and this aspect of it is fundamentally more appropriate to the late game.

The other part of raiding is you get a bunch of the commodities the colony either produces or just has a lot of. The amount you get is based on your raid effectiveness, so if you had boosted effectiveness from a “surprise” raid early in the game, chances are you’d just get more bulk items than you had room to take.

So, just boosting the effectiveness of raiding using a story point won’t make raids better in the early game. What would?

The main thing that stood out to me is giving the player more control about what they get from a raid. “A bunch of random stuff from the colony” is just not compelling in the early game, where what you need at the moment is often very specific. (If we’re being honest, it’s a tough sell in the late game, too; the main thing raiding really does is be the aforementioned safety net.)

New Design
More control means giving the player choices. The main pitfall would be making raiding into a minigame; we want to avoid that – in a minigame, either there’s a “right” set of choices and so it doesn’t matter, or it’s a chore, or it’s an entirely separate game that’s far too involved for the role it plays.

Therefore, all the choices should be about considerations external to the raid itself, not about making the raid’s performance better or worse. Whether the raid is successful or not should be based on its context – that is, whether you got what you needed out of the raid, and if the cost was too high or not.

So: there are multiple raid objectives you can select, and you have a number of marine “units” to assign to the various objectives, based on your raid effectiveness – the strength of your fleet’s marine forces, compared to the strength of the defenders.

Commodities are the most common objective – food, supplies, fuel, that sort of thing. In addition to regular commodities, it’s also possible to raid for ship equipment – ship weapons, fighter production chips, and hullmod specifications.

To make raiding an even more appealing option earlier in the game, it also grants significant amounts of experience.

Danger Level & Marine Casualties
Each objective has a “danger level” which affects the losses your marines will take. For commodities, the danger depends on the commodity itself, the best source of it at the colony, and its economic conditions.

For example, lets consider supplies – a staple commodity with a moderate inherent risk. Grabbing them from a Military Base is going to be more dangerous than grabbing them from a Spaceport. If there’s a shortage, it’ll be even more dangerous.

On the other hand, raiding Heavy Industry (which produces supplies) to get them will be less risky. If there’s a surplus, it’ll be safer still – and the supplies will be much more plentiful.

Other factors that affect marine casualties are:

  • The colony’s hazard rating (increase)
  • Repeated raids of the same colony in a short time (increase)
  • High raid effectiveness (decrease)
  • Marine units held in reserve – that is, not assigned to any objective (decrease)
  • The “Planetary Operations” skill (decrease)

Special Items and Blueprints
In addition to commodities and ship equipment, you can also raid for special items (such as the aforementioned Nanoforges) and blueprints.

So, let’s say there’s a Pristine Nanoforge you’ve got your eye on, and you want to get it. How does this work? You’re able to assign multiple marine units to an objective to get more stuff, but there’s only one Nanoforge, so that doesn’t really make sense.

My first thought here was to just give a 10% or so chance of success for each marine unit assigned. Makes sense in theory, but it also means that you could get this extremely high value item very early on in the game with only a moderately lucky roll. It also means that you might repeatedly fail to get it in the late game with a few moderately unlucky rolls. This is… workable, probably, but I wasn’t happy with it.

Instead, these kinds objectives have a required number of marine units that have to be assigned – if you don’t have that many – that is, if your raid effectiveness is too low – you can’t achieve them. If you do have enough, you’re guaranteed success.

Blueprints work in a similar fashion – there’s still some RNG in which blueprints you get, but you *will* get some, and blueprints you don’t already know are preferred, so even if there’s still some randomness here, there’s a clear path to getting what you want that guarantees you’ll eventually get there.

Disruption Raids
It’s also possible to raid not to get items of value, but to simply disrupt the operations of an industry. This has been adjusted to use similar mechanics – different industries have different danger levels, which affect casualties and the duration of the disruption. As with other objectives, it’s possible to split your forces to disrupt multiple industries at once.

Fleet Reactions
One of the design tenets is that things you do in the campaign should, generally, lead towards combat in some way. For raids, this takes the form of that faction’s in-system fleets responding to it – some patrols will make a beeline for the colony, and will be aware that your fleet is hostile despite its transponder status. The same addition now also applies for bombardments.

Marines
One of the things I wanted to achieve with this is to make marines feel less like a commodity and to encourage the player to care about them – at least a bit! – and to minimize casualties.

My initial thought was to keep track of losses taken in raids, and, if those are high, to have future marines demand additional “hazard pay” – i.e. just making them more expensive. I might still do that, but I wanted to see if I could do something positive here – a reward mechanic instead of a punishment one.

Both have their place, of course (and “punishment”-type mechanics can I think make things easier to balance because they impede out-of-control growth by the player), but if the goal is to care about the marines, it feels like a reward mechanic would work better.

So! Marines now gain experience from raids, and this translates directly into a generous increase in raid effectiveness, and a more modest reduction in casualties taken. Hiring new marines dilutes the experience and reduces the bonuses (no experience is lost, it’s just redistributed). It’s also possible to drop off experienced marines in storage, or in cryopods, and have them retain their experience level.

There are 4 experience ranks: regular, experienced, veteran, and elite. To avoid the player needing to game boundary conditions (i.e. “if I buy just one less marine, they’ll stay “veteran”, etc), the bonuses are based on the experience level instead of being based on rank – i.e. the raid effectiveness bonus goes smoothly from +0% to +100%. The rank itself is just an indicator of where on that continuum the current experience level lies.

Critically, there’s still just one type of “marines”; the experience level is shared in common among all the marines in your fleet, rather than there being separate stacks of elite marines, veteran marines, and so on. This makes it a lot easier to manage (for example, when computing and showing marine casualties) and reduces clutter.

Some more changes that go hand in hand with this, to make marines feel a bit less like a commodity and a bit more special:

  • Marines are harder to find – less of them,  more expensive (probably, still testing this), etc
  • The bar event that gives you marines now gives you more marines, and they’re elite
  • It’s possible to find marines in cryopods during salvage ops

Crew
This isn’t really on topic for this blog post, but it’s a bit of an elephant in the room if you’ve been following the game – does this mean that crew experience levels are making a comeback?

I’ve thought about it, and I don’t think it’d be a good idea for a couple of reasons. First off, the obvious effect that crew experience might have – increasing maximum combat readiness – doesn’t actually work out well. If it did that, you’d end up spending a ton of supplies every time the crew CR bonus increases (since all of your ships would be below maximum CR at that point). The alternative is a slew of miscellaneous bonuses that are basically like CR, but it’s … messy. Nothing really satisfying comes to mind here.

Secondly – and more importantly – raids are designed from the ground up around managing marine casualties, or at the very least being very aware of them. It’s one of the primary factors in deciding which objectives to designate. Fleet battles, on the other hand… offhand, I’m not even sure what the expected crew losses might be in a big fight. It would also vary a lot depending on the kinds of ships you’re using – carriers would suffer, as would low-tech ships that rely on armor and hull over shields, and thus take more crew losses. There are all sorts of implications both mechanically and for the UI.

That said, it might still be worthwhile, and I’ll keep an eye on it. It’s just very much not something I want to add “just because”.

Overview
Overall, the system gives the player fine-grained control over what they want to accomplish, and ways to manage marine casualties. It also adds more opportunities to take advantage of surpluses and shortages, as well as procurement missions. In conjunction, trade has been slightly adjusted to make selling larger quantities of bulk commodities more profitable. Raiding for commodities also causes temporary deficits, creating yet more potential opportunities.

The colonies themselves become more meaningfully distinct – the difference between raiding for, say, Organics from a producer with an excess vs from a consumer (let alone one with a shortage) is immense, and knowing which colonies are the best sources of what items is critical for an effective raider.

Finally, raiding should now both be more useful in the early game, and a smoother experience in the late game, due to a major toning down of the RNG elements.

The new system also adds a lot of room both for scripted events in vanilla, and in mods. It’s possible to add entirely custom objectives – e.g. a “kidnap a VIP” type mission, or, well… just about anything!

 

Comment thread here.

 

Painting the Stars

$
0
0

You may have seen this post by Alex come up on your TriPad™ last month – click to visit the lovely original video.

See also a related TriMedia Experience here.

Clearly, something’s up with at least one star or Domain-era tech definitely-safe star-like object. I’m not here to say what’s precisely what or how you players will inevitably try (and succeed) to exploit the mechanics of it, but more to speak about the artistic method to in portraying said star-adjacent objects and/or activities.

Well. I’ll have to spoil a little bit to explain how I’m approaching artistic these problems, so buckle up and be on alert for a COMSEC lockdown. This is the deep-dive digital painting post the Hegemony doesn’t want you to know about!


The Fusion Lamp

[Is/Are] your planetary [colonists/workforce/biomedium] looking a little gloomy? Do you feel like you’re in the dark compared to more popular worlds up-Gate? Fabrique Orbitale is here to show you the light, because “The Sun Never Sets”™ with the Fabrique Orbitale Orbital Fusion Lamp™.

We wanted to explore the mechanical possibilities within the theme of lost Domain hypertech and megaprojects, so we came up with a list of problems the player may face in the embattled Persean Sector and then a list of hypertech and megaprojects that could provide Perfectly Safe and definitely Not Problem Creating solutions to these problems. One problem a player may find is that the star in a newly settled system is inadequate. This is where your Orbital Fusion Lamp comes in- it’s basically a big fusion generator facing your planet, providing life-giving light and heat well within the Domain radiological safety parameters (Frontier-rated only).

Let’s talk assets. This is an object the player may find and pick up during exploration, so it needs a cargo icon. It is an object in space the player may interact with, so it needs an interaction illustration. The cargo icon looks not unlike the image above and to the right, and I’m not going to talk about drawing it right now.

The illustration, the digital painting? That’s going to take some thought, which I’ll share with you.

Here’s a first take:

This has a lot going for it, and it tells a nice story. You’ve got a dim red dwarf star with some cold planets, particularly one perhaps tundra or terran-eccentric class world as the primary subject. Great candidate for a Fusion Lamp, let’s put one right there in a nice warm yellow to evoke the comfort of home. It illuminates only the one planet, not the moon (vs the star) to show its small scale. It’s drawn on top of the planet, over rather than behind the horizon, to reverse the expected sunset/sunrise order of silhouetting. You can see that this false-star is very much smaller than the planet. I love this ability in science fiction to take a small, normal thing and make it very wrong to demonstrate the scifi aspects of the setting.

Cool story, right? However it’s an extremely specific story, and by the time I got to this point I realized that I’m not drawing a Fusion Lamp for one particular planet, I’m drawing a fusion lamp for every planet. To be fair, these illustrations are about setting a mood rather than precise representation, so they can get away with suggesting particulars that don’t apply to the given situation. Still, there’s a balance to be met, and I think this tipped a bit far toward the particular.

New layer, let’s paint it again!

Let’s get closer, let’s focus on the fusion lamp itself:

I do like how this evokes some kind of glowing deep-sea jellyfish; that’s just the sort of weird parallel that’s fun to stumble into. However it was at this point I realized that I was simply reproducing the cargo icon, just a bit larger and with different lighting. This is 1. kinda boring because it doesn’t even provide a literal different angle on the subject, and 2. tedious because I have to get this image to match the cargo icon exactly or else I’ll feel like I’m being sloppy. Nope, nope. Back up again.

The picture has to give the viewer something they haven’t already seen in the icon, and it’s got to be about a mood focused on the Fusion Lamp itself, not the setting around it.

Zoom in more! Get wild!

Here’s take #3:

Yeah! Now I’m feeling it. And it feels hot. Like a burning bright rose blasting its light at a miserable ice-ball which is totally overwhelmed by the fiery fusion embrace of Domain-era hypertech!

The angle is slightly different, so it doesn’t have to match the cargo icon so exactly. Plus, maybe when this thing is deployed it alters its configuration a bit? Yeah, good. OK. And maybe I can still tweak the image a bit; whatever, this sells it, and it’s displayed in-game at 480×300 anyway so if the details don’t line up, no one notices until I point it out like I am now.

Moving along, the blue in the moons/other planets suggests coolness to contrast with the warm colour glowing out of the Fusion Lamp body itself, though its output is- well, it’s unclear exactly what colour its supposed to be because it’s kind of a weird gradient; very bright, maybe a little artificial. It’s not quite literal. It’s open to interpretation.

I feel like this is hitting the notes I’ve intended.

What was really a bit of a breakthrough for me came when I started painting the ‘flames’ coming out of the Lamp:

It gives a living, billowing, fire-like texture to what might, in a 3D render, be a flat gradient. I think this is rather key to giving the Lamp some personality. Which brings me to not just an important tangent, but the main subject I wanted to discuss!

Let’s talk about brushes.

Paint Brushes

I’ve recently taken up physical, real-life painting after leaving it behind for, oh, a dozen years or so. Art school burnout will do that to you.

Also: I can afford it now. Looking back, a dozen $30 tubes of paint is not something an art student can feel comfortable experimenting with unless money truly is no concern. It’s sobering to consider how conservative this made my artistic output, in retrospect. I only felt really free using ink, watercolour, and gauche because they’re cheap media. Digital painting has that advantage, too. Kind of. *side-eye at Adobe*

Here’s a look at my “studio”:

It’s strange to come back to physically painting from digital painting. No undo, no colour adjustments, fixed colour palette, no layers, no liquify tool – except, perhaps, with actual liquids. The parameters on all the brushes are fixed, and the damn stuff dries. It’s bizarre, how can anyone stand these limitations?

And yet.

You get, for free, a *ton* of texture. Drop almost anything onto that canvas, and so long as you commit to it, you can get texture that’s interesting to look at all on its own. Or just poke it with your finger, or with a stick, or drop some water on there and swirl it around; the methods of manipulating the form are multitude! There are no rules! And once you start embracing this rather than fighting it, well, you’re a painter now!

It turns out that knowledge and techniques I’ve developed digitally can be applied here, particularly that of composition and use of colour (though I’m still fighting with paint mixing; there’s a hidden parameter of pigment strength in additional to actual hue/shade/saturation and volume of paint that you simply have to get an intuitive feel for). Also, physically I can’t use the digital cheats that feel like I’m getting a nice effect quickly but are in fact crutches- smooth digital airbrushing, colour dodge, colour correction in post, gradients, sharpen (though in defense of these, I think they can be useful tools if used with consideration and restraint). I am forced to consider how to achieve the ends that are behind these special effects and then work for them directly and consciously; it makes me appreciate what they’re actually doing and when they should be used all the more.

All of this together makes me think about my digital technique from angles I hadn’t previously considered. Here’s the thing: I did not know how to paint digitally after graduating art school. It was something I had to learn using the “eye” I had developed in art school- but I had no technique. So I’m finding that adding the experience of painting with physical media, again, back on top of over a decade of digital art creation- wow, this is making new connections in my brain! It compels me to figure out how to produce the lively texture of physical painting in digital form. Heck, it really just plants seeds in my unconscious in developing both digital and physical painting, and makes me excited to try out new things.

(Another aside: Disco Elysium blew me away with its incorporation of painterly aesthetics into a video game more successfully than anyone has done before. Also everything else. But that’s for another post.)

Digital Brushes

Let’s bring this back into the digital realm. I get occasional requests to share my workflow and techniques. I must admit, it’s not something I’ve given a lot of thought into expressing in a way that’s useful for other people, more a giant mess in my brain that I root around in to get the job done in the least time possible. Still, I’ll give a shot at talking about the actual brushes I use most often in my work, though this is only a part of what makes up my whole process.

I paint in Photoshop. Mostly out of habit, inertia, call it what you will. I don’t love where Adobe is trying to take the product (into a rent-seeking, ubiquitously intrusive cloud product-family brought to you by a subsidiary of the Tri-Tachyon Corporation), and I loathe the experience of upgrading to new iterations of the software.

Still, it’s home.

I’m told Clip Studio Paint is a good alternative. I’ll have to learn it one of these days.


A few very simple brushes form the core of my toolset, probably due to habits I inherited by the ink drawing I did all through highschool and college.

David 4px round

This is the one. The one brush I use as a base for everything else I do. It’s the digital equivalent of this exact UniBall pen:

I’ve been writing and drawing with these for over 20 years. I always have a bunch of them. They’re right for me. Spiritually. (They also explode if you take them on airplanes, so don’t do that.)

My default brush is a 4px circle because that’s the smallest you can go and still have the ‘texture’ brush setting effect not make the line disappear. And you can get to almost one-pixel level detail. And because I’m an obsessive (albeit lazy) detailer, that’s what I want.

I use that ridiculous legacy bubble texture to essentially sharpen the edges of the brush and give it a bit of sharpness. It’s a truly dumb texture, but it works for what I need it to do.

This is the linework brush for sure, though I also use it to paint small details. I’ll even use it to blend because I’m crazy like that (though some of the brushes mentioned below are better for this sort of thing). When blending it pays to size the brush up a bit- 6px maybe, or more, depending on how much space there is to cover. The limitation here is that it doesn’t have a great deal of texture to it, and you’ll notice this especially when you start going to larger sizes. So we need more than just this one brush.

 

A note: Beware the tyranny of linework! If you think only in lines that get coloured in later as a separate platonic act, then you’ve limited your range. (Or you’re expressing a valid style; whatever. I’m speaking for myself here.)

The next four brushes are these:

  • Kyle Belgian Comics
  • David 12px triangle
  • David 16x square
  • David 24px airbrush

These are all very simple shapes, nothing all that special going on in the brush settings. The fun really comes in using them with a variable pressure pen with the Wacom tablet, and then in altering opacity.

(Strong Lego spaceman energy here.)

The Kyle Belgian Comics brush is basically a 30px hard triangle brush- sure I’m jumping ahead a bit by talking about the Kyle set, but I’m counting it in with the simple brushes because it’s fundamentally simple. It’s *great* for laying down linework and brushwork that has some nice character to it. 30px is a bit too big for most of what I do, so I made my own version at 12px. But it’s the same idea.

The square brush is the same thing but a square. It doesn’t do much in this example image, but the square is especially useful to block out artificial environments or just do brushwork with a different character or texture vs. the triangle (though the triangle is perhaps better for natural forms).

A note on my use of the brush here: as I’ve discussed in a previous post here (a long time ago), I keep my left hand on the keyboard to control opacity, and will turn it up or down as needed while painting. I can also hit “alt” to switch to the eyedropper tool to pull a colour out of the image to paint with. Using these together, I can hand-blend using these sharp geometric brushes to produce a blend with a lot more character than a flat gradient, like so:

The (cursed) airbrush I use mostly for effects and adjustment, and this is probably definitely the cheesiest of the bunch because it creates a boring flat round gradient. Still, sometimes I just need to pop a bit of colour dodge on a point light – this comes up a lot in scifi scenes – or drop just a bit of shadow in that corner, or smooth out the skin on a portrait’s cheek, or add a touch of all-over atmospheric shading. I’ll use this brush at wildly different sizes, over huge areas, and especially in conjunction with a marquee or mask. If you’re dropping boring smooth circles everywhere (as I did above), you’re losing a lot of good opportunities for texture, and the perfect smoothness will draw attention to other visual noise and make it look like errors rather than texture.

If it sounds like this is a guilty admission to using this brush, that’s because that’s what this is. I still do it. But there are better ways to achieve most of the same effects. Let’s talk about them!


As for painterly brushes, I’m all-in on Kyle’s Brushes.

It looks like Adobe bought his work up at some point in the past couple years, so I guess they’re in Photoshop now? I’m still using the set I got from him directly, so I can’t comment on what they’re like now if they’ve changed. The principles at work remain.

Anyway, here are my favourites:

  • Kyle Real Oils Round Flex Wet
  • Kyle’s Paintbox Fat Fun Spongy
  • Kyle’s Paintbox Big Wide Softy
  • Kyle’s Paint Box Rough Dry Fun Big

You can see examples of their use in the list order:

 

The 1. Oils Round Flex Wet is great for blending with a strong impression of brush strokes. It’s even pretty decent for just laying out swathes of colour, and has that fun slop-paint-everywhere quality to it.

The next two brushes are good alternatives to the airbrush because they do a similar job, but with texture.

The 2. Fat Fun Spongy gives a nice grain without being too sharp or noisy while the 3. Big Wide Softy is an even more subtle version of the same, with just a touch of noise to keep things interesting- this is definitely a “fill in the sky” or “atmospheric shading” sort of brush that should be used instead of that simple airbrush.

Last, we’ve got 4. Rough Dry Fun Big. This is the most punk rock of the brushes. It doesn’t care what you think; it’s edgy, high-contrast, and in-your-face. Absolutely wonderful for roughing things up, and, like all of the brushes here, can be used at a lower opacity to rough things up a little more lightly.

Now that I’ve told you about it, I bet you can see where I used the Rough Dry Fun Big in the above illustration in a couple different places. And look again at the images I opened the post with, you should be able to identify most of these tools in play.


How about one more thought on composition and artistic interpretation?

Here’s a game asset for a thingy you will be able to find around certain star(s):

Great! A totally normal thing of little importance, probably. When you interact with it, how’s it going to look? I drew up two rough options, and by using what you’ve learned in this blog post you have to guess which composition we’re going to use for the final illustration.

Option 1

Options 2

Do you have an answer? I’ll wait.

.

.

.

.

.

.

.

.

It’s 2. Why? Because it’s showing you something you haven’t already seen!

Thanks for reading.

 

Comment thread here.

GIF Roundup

$
0
0

I’ve been working on a lot of content recently – some hand-crafted missions, new weapons (and ships), some endgame material, and so on. While that’s all terribly exciting, it unfortunately doesn’t leave me with a whole lot I can talk about without spoiling things. There is another feature I’m working up to – somewhere at the intersection of “mechanics” and “content”, a bit more the latter – that I’ll be able to talk about (at least, if it pans out), but that’s still a little ways off.

In the meantime, I thought I’d revisit some of the gifs I posted on twitter while working on a new set of weapons. (There are also ships that go with these weapons, but those are not to be talked about, I’m afraid. Hegemony COMSEC was quite clear on the subject.) I’ll also talk a bit more about the effects, so even if you’ve seen these already, there’ll be something new – and there may be one or two you might have missed, even if you’ve been following along!

First, a picture of the glorious mess these can produce when employed against a hapless Paragon. This is a bit over the top; I wouldn’t imagine things would look quite this extreme very often.

(Lest you think I hate Paragons, since they seem to be commonly used for target practice: it’s only because they’re the only thing sturdy enough, I swear.)

Without spoiling things too much, these weapons are not something the player would have easy or unlimited access to – as reflected in their visual effects, they’re extremely powerful, and often do things that are “special” in some way.

On the other hand, it wouldn’t do to add cool stuff to the game and then never let the player use it. So: the player will be able to get access to limited quantities of these. That way, deciding what ships to use them on is an actual choice, even if they’re somewhat overpowered – otherwise, you’d just put them on everything. That said, they shouldn’t be *too* out of line compared to normal weapons, especially since they cost more ordnance points to mount.

With this out of the way, here are the visual effects for some of these weapons, along with a few notes!

This is kind of a cold “flamethrower”. The “hose” is actually made up out of individual projectiles. A problem with this was that turning the weapon while firing made it really obvious – you’d see the individual shots going in different directions, like so:

So, there’s code that makes projectiles kind of stick together – each projectile is dragged along a bit by the one right behind it. That way, as the weapon turns, the entire hose ends up being pulled along, just enough to – in most cases – make it retain cohesion.

What’s most interesting to me, though, is that I was this close to giving up on the entire approach before it finally clicked! I don’t have any screenshots handy, but – after a several days of work – the flamethrower effect was… well, it wasn’t good. Not “kind of ok, just not quite there”, but rather “this isn’t at all usable”. To make matters worse, it didn’t seem likely to get better; a number of adjustments I’d tried were not promising and it wasn’t going anywhere.

Then, literally in about 15 minutes, it went from that to pretty much what you see in the gif! The only thing that kept me going, if we’re being honest, was a liberal application of the sunken cost fallacy.

(… in fact – this was a while ago, but it’s starting to come back – what actually made it work was a bug – accidentally trying something I didn’t mean to try. Wish I remembered what exactly it was, but, alas, that detail is lost in time.)

 

What I’m particularly happy with here is the trail effect – this was one of the very few times when a visual effect turned out exactly as I was imagining it, didn’t take long, and actually looked good. Too often, something will turn out as I was imagining it, and then it turns out that doesn’t actually work so well… visual effects work seriously eats time like nothing else! I think it’s a combination of having a huge possibility space to explore, and it being some sort of time warp where 15 minutes later, 3 hours have passed.

 

This is an effect that strips away armor over time. The interesting thing here is taking care to be minimally disruptive to ship AI. If this effect did actual damage over time, the AI would need to be acutely aware of it – to back off when the damage is enough to eventually ensure a kill, for example, or to charge in recklessly when it’s on borrowed time. Trying to handle this intelligently gets complicated very quickly.

To avoid these complications, the effect only affects armor – it’s not doing any damage to the hull, so it’s not capable of destroying a ship. It might still make sense to have the AI be aware of it in some situations, but the mistakes it might make as a result of not being aware would be very minor and, in the grand scheme of things, not noticeable.

 

Another cold-feeling weapon. I wanted to have an effect where the shot came out of and outpaced a cloud of particles (very vaguely inspired by this scene, actually), so: there it is!

 

This took a while to nail down, mainly due to wanting it to not be too similar to the torpedo trail in one of the previous gifs.

(The glowy stuff flying around is not part of the weapon, it’s Something Else.)

 

This one could almost be a blog post in itself. The original concept was to have explosions with a dark center, in contrast to “normal” explosions that have a bright center. Here’s what a very early attempt at this effect looked like:

It’s just promising enough to keep going, really. David suggested these leaving some kind of “burns” (inspired by Brigador’s Black Hand weapon), as well as looking at subtractive blending. I didn’t realize that was a possibility (!), but after a bit of checking, it turned out that was pretty easy to set up.

After much iteration, the end result is what you saw in the above gif. The new techniques were also useful for other effects – for example, the torpedo trail, the “less restrained” gif, and a number of other uses that are not shown here.

I’m not sure if my experience with visual effects is representative of what other people go through – but it sure seems to be consistent, whenever I end up spending time on this sort of thing.

It takes a long time, and it’s not clear exactly where it’ll go. Rarely, an idea does work out as expected! More often than not, though, the initial idea is just something to get started with, and what actually ends up working is surprising – and, sometimes, a happy accident.

Comment thread here.

 

Personal Contacts

$
0
0

One of the bigger tasks for this release cycle has been adding new content into the game. Since a lot of it is story content – think the “Red Planet” mission, but on a bigger scale with things tying together and building up – it’s not something that I can really talk about without spoiling it.

But, not all the new missions are “story” missions. A lot of them missions are just new things you can do in the game, without being unique one-offs. Consider, for example, the current missions to scan a derelict, survey a planet, or collect a bounty – these new missions are all roughly along these lines, with of course more variety thrown in.

The question is, how do we make them available to the player?

Current System
The current missions just “pop up” as a new message in the lower left of the screen, and they can be looked at (and accepted) by looking at their details in the intel screen. This is nice because you become aware of new opportunities as they become available.

Since only opportunities that are reasonably nearby show up this way, there’s some filtering going on, so the player isn’t overwhelmed by, say, postings for minor procurement missions on the other side of the core worlds. At least, that’s the theory. In practice, missions tend to be important enough that this filtering doesn’t accomplish too much, but with relatively few missions being offered this way, it still works out.

However, this approach doesn’t scale – add an extra 20 or so mission types, and one of two things will happen. Either the player will be overwhelmed with non-stop new mission notifications, or we tone down the rate at which new missions are generated, and the player doesn’t get enough of the ones they’re actually interested in. For example, if you’re playing as a bounty hunter, and all you’re getting is trade contracts of some kind, that’s no good.

What we need, then, is a way for the player to express what they’re interested in on any given playthrough. This could take the form of some kind of UI where you say, “I mostly want bounty missions, and some underworld ones” and you’d get notified about those.

This… would probably work, actually. One potential issue is that generating missions on the fly like that can be computationally expensive. For example – this is a bit of a simplification, but say the mission requires a specific kind of object to be placed in a specific kind of star system etc etc. Finding something matching all these parameters could potentially take too long for it to be something you can do without causing a frame drop. At the very least, it means a lot of care has to be exercised to make sure that doesn’t happen.

I think we can do something that both gets around this and is more fun, though.

Contacts
How would a proper star-faring captain – of perhaps somewhat questionable moral fibre – get a hold of opportunities? Naturally, they would do it through a network of contacts. Above-board opportunities are for suckers – I mean, you might even have to pay tariffs. The horror! And even for a more principled brand of captain, the best opportunities would still be found from like-minded people in positions of influence – they wouldn’t be offered to just anyone.

So! On a high-level, the player develops various kinds of contacts, and, as the relationships progress, they offer more interesting opportunities. What kind of opportunities the contact offers depends on who they are. The sort of contacts the player develops, then, is the way the player tells the game what they’re interested in, which the game can then deliver.

Aside from this mechanical role, this also offers the player more roleplaying opportunities, and the feeling of developing a personal connection with someone in the game world.

Contact Basics
There are three types of contacts – military, underworld, and trade. These are “tags”, so it’s possible (though very rare) for a contact to combine two of these. A contact is generally located at a colony, and when the player visits them, the contact will have some missions for them. Note that it’s “will”, not “may” – since the player needs to make the commitment to actually go visit the contact, there needs to be some kind of payoff. Of course, there’s a slight cooldown immediately after a contact is visited, but any sort of normal visiting schedule will result in missions being available.

Tying this back to an earlier point: since the missions are generated when the player talks to the contact – that is, the game is paused and in a UI interaction – we don’t have to worry quite so much about the performance of generating the missions. First of all, since the game is paused, there’s less computation being done. And, since we’re in a UI interaction and the computations happen as a result of player input, even if we did get a frame drop, it wouldn’t interrupt anything the player was doing – and happens on a static screen, to boot – so it wouldn’t be noticeable. I should say, this isn’t the biggest concern, but not having to worry about it is definitely a nice-to-have.

In addition to tags, a contact also has an “importance” – a measure of how influential they are within the hierarchy of whatever organization they belong to. There are 5 levels of importance, from “very low” to “very high”. For example, a low importance trade contact would offer missions involving smaller quantities of cheaper commodities. A high importance trade contact, on the other hand… let’s just say you might need an Atlas freighter or two. Or even a colony.

A high importance contact doesn’t just start offering juicy missions, though – getting to that point requires completing a number of lower-importance missions. One way to think about it is the relationship level caps the “importance” of the contact, so the effects of higher importance only become realized once the relationship is higher.

Developing Contacts
So, how do you find a contact? You need some sort of “in”. This takes the form of bar encounters – if you meet someone at a bar and they offer you a mission, and you complete it, there is a chance they will be a contact you can “develop”. (Most “contact” missions also have a “bar” version of the mission, by the way, so there will be a lot more going on in an average dockside bar.)

Why wouldn’t you just develop every single contact you come across? It seems like doing this would both be beneficial (more opportunities, easier access) and a grind to get all the relationships high. That wouldn’t be good, so “you and a hundred of your closest friends” shouldn’t be a thing.

Fortunately, we can leverage story points (talked about at length here) as a soft limiting mechanism. The rules are simple:

  1. Up to 5 concurrent contacts are “free”; deleting a contact is also free
  2. Contacts beyond 5 require a story point to develop

This way, the player can ultimately develop as many contacts as they like, but since story points have other uses, it’s no longer “optimal” to just develop every potential contact. (In an interesting parallel, story points are *also* a mechanism the player can use to express what they’re more interested in doing. E.G. investing them into having more contacts would be one way of doing so.)

Priority Contacts
Going further in the direction of letting the player express what they’re interested in, each contact can be designated as “priority” or not. Priority contacts offer more – and higher quality, as if the relationship was higher – missions.

The more contacts are flagged as “priority”, the less the effect on each individual contact. Also, turning this flag on takes about a month to take full effect – so that, for example, you don’t just have to toggle it on right before talking to any specific contact.

Mission Examples
Here, I just want to mention some examples of the various missions that you might find being offered by a contact – or at a bar, by a potential contact.

  • Perform a “combat extraction” – use the new raid mechanics to rescue an agent, either stuck at a colony, or perhaps at a pirate base on the fringes of the Sector
  • Deliver an item to a “dead drop” location
  • Disrupt spaceport operations at a target colony for at least X days
  • Begin producing at least X economy-units of a commodity at a colony you control to fill a cycles-long contract that will pay you for this production
  • Smuggle a load of cargo to a colony
  • Collect a special bounty

The missions also generally have “complications”, so even ones that don’t on the face of it lead to the possibility of combat, will often do so. There’s also an emphasis on using the new raid mechanics for various custom objectives. This is both adding variety to missions, and giving marines (and ground combat related skills) a more prominent place in the game.

Special Bounties
The “special bounties” mission is a good one to elaborate on, because it triples-down on letting the player express what they’re interested in (it’s apparently today’s theme!)

The basic mission is straightforward – you receive a bounty for eliminating a target. There is a pool of a bit over ten different types of bounty targets, ranging from the standard (pirates, deserters) to more exotic stuff like REDACTED stations and fleets, elite mercenaries, and faction patrols (when given by underworld contacts), and some other ones I won’t mention, because spoilers. The more unusual target types become available as the difficulty (and reward!) of the bounties ramps up.

This is where it gets interesting – managing what difficulty level is appropriate. Internally, the difficulty is a value from 0 to 10, and it goes up gradually as the player completes more bounties for that contact. However, when being offered a bounty, the player is also offered a choice – do they want an easier, average, or tougher target? The “average” choice results in the difficulty going up slowly over time, while the easier/tougher choices quickly take it up or down.

For example, if the player already has a strong fleet, but is developing a new contact, they can start off with a reasonable target right away, and get to the highest bounty level by selecting just a few of the “tougher” bounty options in a row. (Please pardon the placeholder text in the screenshot below!)

On the other hand, if a player is facing bounties that are too difficult – either as a result of losing some ships, or due to the normal difficulty growth from completing bounties outpacing the player’s progression – they can easily turn it down a notch. Since these new high-end bounties are some of the most challenging enemies in the game, that’s a useful option to have.

(The choice of bounty difficulty, by the way, is not just scaling the strength of one specific target – I think it would feel pretty odd to do that. Rather, there are three separate bounties that the player can choose from.)

The system is also set up to make it easy for mods to plug in additional types of bounty targets.

Modding
Speaking of mods, I’d like to talk a bit about how the new missions are implemented. It’s a lot of new content, so it made sense to first spend some time putting together a system that makes creating this content much easier. (This part will get a bit technical, so if it’s not your cup of tea, feel free to skip it.)

There are a bunch of common tasks one has to do when creating a new mission. Some quick examples are, say, “find a star system / planet / entity matching some set of parameters”, or “create a specific type of fleet and give it certain orders”. These are not very complicated! But, annoyingly, the considerations are usually complex enough that just writing a single method with some arguments isn’t a good option. And there are also mission state transitions and such to consider.

The bigger problem, though, is that the coding style for these is what’s generally called “imperative” – the code for a mission would spell out exactly how to find the right star system, or spawn the fleet. This means that the programmer (i.e. myself, or a modder) has to be quite careful and detail oriented, and do a mental “context switch” to immerse themselves in the technical details of what they’re doing.

This means that coming back to the mission code after doing something else is a pain – it takes time to re-immerse in what the code was doing. Even if you’re just switching back and forth between coding the specifics of the mission, and writing some dialogue for it, there’s a very real mental cost here. It means both more time spent per mission, and more bugs (which can be found and fixed, but still).

New Approach
It’d be nice if instead of code, the specifics of the mission could all be data entry. Then you wouldn’t have to think about the details so much when putting that together. We can’t do that, can we? … well, probably not as such, but after all, all code is data (and vice versa, really). There’s a middle ground here – creating a basic framework that focuses on making mission code “declarative” – that is, describing what needs to be done, rather than how it needs to be done.

What this means is that writing mission code won’t require as much thinking about the details – it’ll be easier to just do something, and be confident that if it works in major ways, it just works, and there aren’t minor errors lurking somewhere. This could really do with an example. Let’s say you’re trying to find a star system that… I don’t know, has at least 4 planets in it.

“Imperative”-style code would look like this:

List<StarSystemAPI> potential = new ArrayList<StarSystemAPI>();
for (StarSystemAPI system : Global.getSector().getStarSystems()) {
    if (system.getPlanets().size() >= 4) {
        potential.add(system);
    }
}

And then we’d pick one of those potential systems. And, by the way, that’s a trivial set of parameters – and yet, there’s a bug in that code. The “getPlanets()” method returns stars as well as regular planets, as under the hood they’re just different types of planets – so we’d need to subtract the number of stars in the system from the total. Now, I’d know this particular bit offhand, but there are tons of cases where I wouldn’t be 100% sure, and writing correct code would require looking more under the hood. That’s what I mean when I’m talking about needing to become “immersed” – it’s remembering all the little details in the area of the code you’re working with.

Declarative Example
With the new system, we can instead write more “declarative” code to solve the same problem:

requireSystemHasNumPlanets(4);
StarSystemAPI system = pickSystem();

… and that’s it, actually. That’s all there is to it! The code that runs as a result of this knows about the “don’t count stars” issue, so we don’t need to worry about it every time we’re looking through some planets. Again, it’s not hard, but if I’ve got to do it 20 times in slightly different ways (that are, as I mentioned, usually annoyingly hard to parameterize), chances are I’ll probably screw it up at least once.

We could also easily add some more search parameters:

requireSystemNotHasPulsar();
preferSystemUnexplored();

This’ll search for a system that’s not going to fry the player to a crisp with a pulsar beam when they enter it, and preferably one that they haven’t been to before. Being able to do this requires creating a ton of these kinds of methods – that implement various search parameters and other actions. But that’s a one-time task, not something one has to engage in every time when adding a new mission.

More Examples
(I won’t show equivalent imperative-style code here – in large part because it would be too long and complicated for this post. Which, really, just demonstrates the point.)

Wiring up basic mission state transitions and similar:

setStartingStage(Stage.GO_TO_RUINS);
addSuccessStages(Stage.COMPLETED);
addFailureStages(Stage.FAILED);

makeImportant(planet, “$gada_targetPlanet”, Stage.GO_TO_RUINS);

connectWithGlobalFlag(Stage.GO_TO_RUINS, Stage.GET_IN_COMMS_RANGE, “$gada_gotData”);
connectWithInRangeOfCommRelay(Stage.GET_IN_COMMS_RANGE, Stage.COMPLETED);

setTimeLimit(Stage.FAILED, MISSION_DAYS);

Spawning a pirate fleet at a jump-point and making it go to a planet and patrol around it, triggered when the player is approaching the system in hyperspace:

beginWithinHyperspaceRangeTrigger(planet, 1f, false, Stage.GO_TO_RUINS);
triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.DEFAULT, Factions.PIRATES);
triggerSetStandardAggroPirateFlags();
triggerFleetAllowLongPursuit();
triggerPickLocationAtInSystemJumpPoint(planet.getStarSystem());
triggerSpawnFleetAtPickedLocation(“$gada_pirate”, null);
triggerOrderFleetPatrol(planet);
endTrigger();

There’s a large set of methods that make common tasks easy. Probably the pinnacle of this is being able to, with a single method call, under certain conditions spawn a fleet that will talk to the player, make certain demands (or perhaps a lucrative offer), and fail the mission if they accede. Being able to do these kinds of things easily, on a whim, is such a difference from having to write even fairly simple code that has to do this imperatively.

It’s also possible to add new methods in the same style, and – since this is in code, not a text file – it’s also easy to resort to imperative-style programming for one-off mission specific tasks that it doesn’t make sense to try to make into general-purpose units.

Missions, Bar Events, and Contact Tags
If you’re a modder, this is probably on your mind – how easy is it to add new missions for contacts? The answer is “very”. There are a couple of new spreadsheets – for bar events, and contact missions – and adding a new mission there is all it takes to have it show up. It’s also possible to define entirely new tags for contacts, to expand the current set of “trade/military/underworld”.

 

Comment thread here.

Writing Starsector

$
0
0

The next update will add strong narrative RPG elements to Starsector, among other things.

I feel no small amount of trepidation because this is both a change and it is a particular story about particular characters in a way the pure sandbox certainly isn’t. This necessarily constrains your – the player’s – experience of the game-fantasy and the meta-game fantasy of an “unfinished game” which has the potential to become everyone’s dreams in a free-floating quantum state… until you see it for real and it turns out it isn’t quite what you dreamed.

I suppose this seems like an awfully negative way to start off; this is what I mean about trepidation. And I am legitimately excited about sharing more of the world of Starsector, letting players dive in a bit closer and get a feel for what it’s like for people that live in this world. Find out what they think, find out a bit more about why movers and shakers move like they do. If I may say so, I think we’ve done some pretty good work!

The written wordcount has already exceeded the minimum definition for a novel (50k) a few times over by now. I’ve attempted Nanowrimo a few times in the past and always choked almost instantly. My experience writing Starsector has been a stark contrast – the words just flow! It seems so obvious, most of the time, what comes next, what feels right to be said. I suspect part of it is the constraint of the medium focusing creativity, but it may also perhaps be the very clear connection to an audience (that’s y’all out there!). A novel feels a bit like a bunch of words floating out  in (ha) space. A game, however, has a player. They must actively engage and progress. I know a player is committed in a way a reader isn’t. (Which probably isn’t at all true; people read books, after all. I’ve even read one or two in my day.)

Whatever it is, maybe I can’t rationalize it. But something works here for me in a way that hasn’t elsewhere. I’ll take it.

Let’s get to the nuts and bolts of this.

We’ve had to deal with certain constraints and design problems while adding written content to Starsector. Some of these are faced by all games which use writing, some are particular to the context of Starsector. I am not going to talk about any specific narrative beats or plot details, but I will talk about how the narrative is structured, so from a certain point of view one could derive meta-spoilers from this blog post. I think the most pure and magical way to experience Starsector would be with no foreknowledge of any of this, so I’ll give you fair warning now: if you don’t want to know anything, stop reading.


 

Scared ’em away? Good. Now, let me tell you all the secrets…

Let me use a question asked by TheDTYP in the forum as a starting point:

… would anyone be able to comment on just how much agency the player has in these upcoming missions? Are they generally going to be straightforward like the Red Planet mission, in which you follow the breadcrumb trail and overcome the challenges for a reward while learning about the game world, or will they be more dynamic? As in, can certain elements of the mission or the outcomes be influenced by the players in some way? Like, “I stole this McGuffin, do I give it to the Hegemony or the League to turn in the mission?” kind of stuff?

There are a lot of questions to unpack here. I think I need to start with some groundwork.

Narrative player agency is of course an illusion. A successful game narrative creates the illusion of narrative agency through clever design, stagecraft, and the willingness of the player to believe our lies. Don’t get me wrong here: the illusion is real, and it works, and it’s good. It will also break down into its constituent parts, less than the sum of the whole you enjoyed so much, if you look too closely. I think the first few times one who possesses an inquiring mind sees through this in a media work, it’s immensely disappointing. Nowadays I find I can more consciously appreciate the illusion even if I see-what-you’re-doing-there.

Remember our spoiler warning: I am going to break some elements down into constituent parts and it will dispel the illusion if you’re not careful about managing your own experience. Let us find wisdom in these immortal words:

What do I care for your suffering? Pain, even agony, is no more than information before the senses, data fed to the computer of the mind. The lesson is simple: you have received the information, now act on it. Take control of the input and you shall become master of the output.

Chairman Sheng-ji Yang, “Essays on Mind and Matter”

Take control of the input. This is your second chance to get off the meta-spoiler train.


Leaving Space & Not Answering Questions

iD software’s Quake got into my brain at an impressionable stage of my life. I must have been 12 or so, the perfect age for that sort of thing. That game provoked my interest in everything from HP Lovecraft to electronic/industrial/metal music. Did Quake have a good story? Absolutely not. Did it have a story? Barely. Worldbuilding? Uhh… (And going back and examining the development of Quake, it turns out it’s the product of a bunch of people who were tired after the whirlwind success of Doom, and in a great deal of conflict with one another about where to take the company. Romero left, iD lost its soul. That’s all another story, however.)

Quake was a collection of vaguely related aesthetic impressions thrown into a bucket and due to said development issues never given a strong overall authorial voice – but it had something due, probably, to inertia from Doom and a weird sense of “competing dungeonmasters” in the level design. I think it’s a better game for that weird mix. I think if had iD got itself organized enough to come up with a strongly directed narrative, it’d have been super dumb. It’d have broken the magic of Quake. (See: Quake 2. Fun enough game, dumb as rocks. Arguably same deal for Doom, but I think that game works for similar reasons to Quake, though the mechanics are tighter due to more cohesive teamwork.)

Anyway, what really got 12-year-old me was looking out into those blocked-off parts of the maps where you heard that howling wind and watched as layers of purple clouds flowed over each other. What kind of world was out there? I wondered. Surely something bizarre; scifi gothic horror beyond imagination populated by the best kind of monsters: the kind you never see. What was most interesting about Quake was what wasn’t there; what was suggested. The greatest horror movies never totally answer what, why, and how. The answer will always be disappointing; the shadowy gaps are where fear lives! Embrace it!

It’s not just horror. If I tried to explain the scifi principles behind everything in Starsector, a thousand intense physics nerds would tear me apart with their fascinating equations and they’d be right and I’d be wrong. There are questions in Starsector that I shouldn’t answer, and Ludd willing, I won’t!

This is part of the illusion. If the game evokes rather than answers, then the illusion takes hold in the player’s mind. Like we offload 3d rendering into a specialized piece of hardware, it’s like I’m offloading rendering of the narrative into your brain.


Of course no one wants to read a story where every fact is hedged with a dramatic “but maaaaayybe it’s this! Or that! Or even over there! Or nothing at all.” *waves hands wildly*

Yeah, that’s insufferable.

Appealing To Players Without Disappearing Up One’s Own Jump-point

It serves a narrative well to exercise restraint. The worst thing I can see when loading up a new RPG is a huge infodump about the world and what’s going on and who I’m supposed to be and the ten thousand year history of the kingdom of whatever and hey, guess what Artemisia Sun’s favorite food is! I’m going to tell you! But I don’t care – yet. I appreciate that the author is excited about showing off their work to their audience, but that care has to be earned. Start a game by framing a player’s experience of the game-fantasy with a simple archetype. Starsector has it easy: this is a space opera, you’re Han Solo1. Figure it out. When you’re ready to start asking questions, the answers will be in the game.

I’ve gotten into playing D&D this past Year of the Plague – and more than playing, I’m also running a game. (Big surprise; right.) It’s helped me think a lot about what I find myself doing to make the game relatable to players. These are my friends, I know them, and I can come up with something I think they will find compelling. If they grab onto that hook, I go further with it and riff with them and see how their choices change the world.

I can’t exactly do that with Starsector, as much fun as it’d be to run that tabletop RPG. Computer games are a different beast. But I think some of the principles can apply, you just have to apply them more broadly.

What Alex and I try to do – and not just in narrative terms – is try to anticipate generalized player archetypes. Some people like exploring, some like building, some love fighting, some like intrigue and “lore”2, some people are named Megas and want to optimize everything. We try to imagine how each of these archetypes would react to situations we set up: uh oh, those Pathers are at it again! How can I respond? Just go down the list: fighting archetype blows them away, intrigue tries to talk them out of it, maybe someone pays them off, maybe someone else gets someone else to fight for them, the lore bore tries to wheedle some backstory out of it somehow…

This applies to more than just fleet encounters of course. If we send the player into dialog with a character and the topic of Big Things In The Sector comes up, I try to anticipate how different types of players will react, then allow them to take a stance on the issue. Say we’re messing with Domain-era artifacts, how do you respond? It doesn’t have to be tremendously complex – and it doesn’t have to be so simple as a good vs. boring vs. evil choice. Building toward archetypes let’s us focus the range of possibilities toward something manageable in the face of a potentially exponentially exploding number of possibility states.

To back up to a higher level, it is important to say here that the narrative is not solely driven by what [I think] players’ want. Media created purely and cynically in-anticipation-of or in-reaction-to viewer feedback is generally… bad (and is absolutely a certain level of Hell for any creative person).

So yes, I am telling a story with my own voice, my own weird ideas and interests3. But we are also making a conscious effort to make the story inviting to the players we anticipate will show up to experience it.

What’s this look like in the game, then.

Long-form Narrative Mission Arcs

We have missions. You’ve scanned some derelicts, surveyed some planets. Did you find the red planet? Nice! That was one of our first test-cases to see if the mechanics of campaign-level missions could work and if they’d be appealing to players.

Answered: yes, and yes. Thank you for being good test subjects.

Imagine a series of missions like those, all strung together. Let’s say we introduce recurring characters. There are random elements so you don’t quite know what to expect every time. There are different approaches possible; maybe you fight, maybe you talk, maybe you bribe, maybe you find some other way to deal with a situation. There are choices to make: some change your outlook immediately. Some don’t matter. Some don’t seem to matter until they come up again way later, and you’ll be like “Alex and David, I see what you guys did there.”

You can lie, you can con, you can betray. Maybe you’ll keep getting away with it. Maybe not.

We’re getting somewhere! It’s pretty cool, I think. And I don’t have a lot more to say about all of that than, yes, we did stuff and I can’t wait to see how people play through it.

Now let’s temper some expectations: Factions will come into play, the player will interact with prominent figures from most of the factions, but we’re not making players swear loyalty to them as part of the primary storyline. That said, having a commission or extreme reputation with a faction one way or another will impact certain situations.

Also: there will not be an ending to the game in this update.

(Not yet. But you will “determine the fate of the Sector by your actions” before this game is finished, that much is certain.)

Having the experience of implementing a series of large narrative arcs, once we see how this all plays out, we’ll be in a very good place to see where we want it to end up. And we’ll know how to get it there.

Having addressed that big picture question, let’s dive back down into some more details.

Dialog Mechanics

We’re building Starsector’s narrative largely on text. What can I say, the medium is cheap! So I hope y’all like reading, because there’s going to be a bit of that involved. (I shall also try to be considerate of people who hate reading, mind you. That’s definitely one of the anticipated player archetypes.)

So unless the text is purely info-dumping, there’s got to be an interactive component. Make a choice, get some different results. Make different choices available based on previous choices, or based on other conditions that can be drawn from other mechanical attributes within the game (fleet strength, credits held, location, faction relations, person relations, arbitrary variables set elsewhere).

What about player skills, you ask. Welllllll…  Disco Elysium brilliantly inserts RPG dice-roll mechanics into dialog, and better than skill checks (though it does those), they are so often tests of the player’s character. And rightly so, because that’s a game that’s ostensibly about solving a mystery but really an exploration of a particular character’s psyche.

Starsector isn’t quite that. Starsector must function as a game, yes, but is must function as the game it already is, which is space fleet combat-focused. So while we discussed the idea of doing skill checks in-dialog, ultimately decided that this would expand the range of mechanics without meaningfully enhancing the game experience. Imagine our design process: the player experiences a challenge via dialog. Which of the 40 different skills will solve it? How many different options do we, as developers, need to provide so that it doesn’t feel extraordinarily limiting? Does this align at all with the player archetypes we’re anticipating? What if we end up using Weapon Drills twenty times but Auxiliary Support only once in dialog challenges? The player has no way of knowing that they chose a skill useless to dialog back at level 3. (We also thought through using the sum of skills chosen in a category or aptitudes as a basis for character type. It seems compelling at first because it allows for neat categorization, but once you parse through the implications it doesn’t actually make the game more interesting.)

When you’re running a D&D game you can just make up skill checks that “happen” to align with skills you know the players have. We have no such luxury.

Yes, en masse insertion of skills into dialog could theoretically be balanced and made to work, but that’s a lot of work (and it’s absolutely not responsible to try to shove an additional huge axis of mechanics into finely tuned interdependent game systems at this stage in development). Disco Elysium made it work with a huge number of skills because that’s literally what the game is about. Here, we’d just be adding absurdly intricate icing on top of the cake. Then the icing would fall over and look terrible, probably.

Take a step back. Restate our assumptions. Dialog option restrictions per skill would lock out most options for most players most of the time for most of the game. The player-experience return on developer time invested would be terrible. Besides, what do dialog option skill restrictions provide that doesn’t already exist?

How about instead we assume the player’s space captain is a generally competent person. Then instead of locking out options based on skill restrictions, let us take a positive route and allow the player choose the way in which they excel at the time of the choice as it comes up naturally in the dialog. Let the player lie and send a fake cryopod to the mercenary demanding they hand over the VIP, giving the player enough time to make their escape – AND take a finders fee of 20k credits from the merc. If that’s who the player wants their player to be, that is.

We even have a system for this already: Story Points.

Conclusion: we don’t as a rule do skill checks in dialog – there’s an exception, but it’s largely for flavor – instead we use story points to let players choose when and how to be a totally awesome hero of their own story.

Speaking of that-

The Player Character’s Character

How do you possibly give players a reasonable range of choice without writing tens of options, and then allowing the compounding implications of those options to expand into hundreds, thousands of possible narrative cases?

Some games define a character for the player that’s a particular person who has their own opinions and outlook. Most games define at least a character who’s a bit of a cipher, allowing them to center their game mechanics. Master Chief or Gordon Freeman are pretty straightforward; they raise few questions about player agency outside of the limited mechanical range that the game can excel at. These are useful constraints.

We’re in a similar place with Starsector. This game has a nature to it, and it suggest a certain type of character: you’re some kind of cool space captain. Imagine a more successful Han Solo (which I guess makes you Lando, haha). I can safely assume that this character won’t have strong opinions or interest in something like farming except insofar as they’re buying, selling, or stealing cargo related to it. Good.

Still, we’ve got to keep dialog a bit vague. We have to leave an openness in interpretation of actual tone and wording so that the player can project enough of their own interpretation to those words that it feels correct. If we provide a dialog option that feels out of place or that pans out vastly contrary to the player’s expectation, then we lose narrative verisimilitude. The illusion wavers!

At the same time, it’s very important to give the player the opportunity to drop cool lines; there’s a time and place for specificity. The art of it is judging where to apply that and where to back off.

On Secret Worldbuilding

There are big conflicts and mysteries in the world of Starsector. If you’ve played the game, you know what they are and you probably have some theories. You can infer that the story has to have something to do with them because we’ve put so much effort into setting them up; it’d be absurd to throw that work away. And it’d be cheap to pull a shock turnaround that contradicts everything already established. There’s a light cone, and the range of possible endings falls somewhere within it.

The worst thing we could do is explain everything. The second worst, explain nothing. My goal with the writing of Starsector is to evoke something greater than the sum of its parts, and part of doing that successfully is knowing when to shut up.

I’ll be doing that now. Enjoy the next update!


1: Please don’t sue us, Disney.

2: I kinda hate the word and concept of “lore” as applied to videogames, though I’ll use it. It feels like a failure somehow if “lore” is a strongly separated concept from the media work itself. This probably has structural roots in media works being consciously acted upon nowadays as intellectual properties that must have profitable derivative works spun off, and… save this rant for another day. (And I say all of this as someone who played Brigador and spent all my money on lore unlocks before anything else, so don’t take me too seriously.)

3: Alex has been very supportive of running with my weird ideas, and very kind in how he tells me when they go too far. The creative freedom he’s given me is spectacular, and I want thank him for it. Thanks Alex!


Comment thread here.


Starsector 0.95a Release

$
0
0

Starsector version 0.95a is now out! Here are some of the new things you can do in this release:

  • Complete story missions and uncover some of the mysteries of the Sector
  • Face new endgame enemies and acquire their technology, including new weapons and a unique capital-class ship
  • Make playstyle-altering choices using a revamped skill system
  • Customize your playthrough – mentor officers, specialize colonies, make permanent alterations to ships, and more
  • Raid the core worlds for what you need using a targeted raid system
  • Improve your colonies using lost technology
  • Build relationships with contacts and gain new opportunities
  • Take on many new types of bounties, choosing the challenge level you want
  • Incorporate automated ships into your fleet

Some of the other additions and changes in this release include:

  • UI scaling and support for 4k monitors
  • Ship AI and combat balance/gameplay improvements
  • Several new ships
  • Mercenary officers that temporarily increase the strength of your fleet
  • Many modding-related improvements
  • Numerous quality-of-life and other improvements

This is by far not an exhaustive list. The full patch notes, and the comment thread, are here. You can download the new version here:

(Alternate download links, please try the above first: Windows Mac Linux)

As always, thank you for your support! I couldn’t do this without you.

screenshot583

 

A Tale of Two Tech Levels

$
0
0

This blog post is a tricky one to write – all the pieces are interrelated, and figuring out where to start, and how much background info to provide – to make sure this is comprehensible without having a PhD in Starsectology… well, right, tricky. So, let’s start by taking a brief step back and looking at the kinds of ships there are in the game. There are lots of ways to slice that pie, too, but let’s look at tech levels – namely, “Low Tech” and “High Tech”. There are others, and it gets blurry in places, but for this post, these two are what’s important.

The key thing is that high tech is not intended to be better than low tech, just a different way of doing things. High tech has speed, good shields, and fairly inefficient (but varied!) lower-ranged weapons. Low tech is slower and more ponderous, has high armor and hull integrity, with efficient longer-ranged weapons. The dynamics you get when they face each other is that high tech ships dart in and out of engagement range, relying on shields to see them through, while low tech ships try to make them pay a price for closing in. This is simplifying things a great deal, of course, and there are exceptions, but this is a high-level overview.

Burn Drive
What these dynamics do in a vacuum, however, is leave all of the initiative to the high-tech ships – faster ships decide when and where to engage. To partially counter this, a lot of low tech ships get a “Burn Drive” ship system – it allows them to burn forward by a fixed distance to press an advantage. It does *not* allow them to disengage any more easily, so they have situational initiative, with a risk attached to using it. It’s an interesting descision to make for the player – you have to think ahead, judge the distance, evaluate the threats, and so on.

The problem, however, is that this system very difficult for the AI to use safely. There are just too many factors to consider, but the main problem is that *if it gets it wrong* then this leaves the ship terribly exposed and likely to be destroyed. So, even an AI that got it mostly right – it just takes one mistake, and those are the things that stick in the player’s mind when they see it. The AI, therefore, is very conservative with its use – but this means that Burn Drive is largely not doing the job it was intended for, giving low tech the ability to keep the pressure on when facing technically-faster ships.

So, one key change that supports much of what’s in the rest of this post is making Burn Drive able to be toggled off at any point in the burn. (This can be done either by pressing the system-activation key again, or by venting.)

This lowers the stakes – it’s no longer a commitment to the entire duration of the burn – and makes the AI’s job much easier. Now it just has to decide if it likes the location it’ll be in a second or two worth of burn later, and if not, turn it off. This makes it a much more useful system for the player, too, since they can be much more aggressive with it and use it in a far wider variety of situations. I was concerned that it might make the system feel less impactful (despite actually *being* stronger), but having playtested it, being able to cancel a burn at will feels nicely powerful. It turns out that stopping a brick on a dime feels about as good as hurling it in the first place! So, all good on that front.

I think this is perhaps the main issue with the effectiveness of low tech ships – functionally missing that piece of puzzle that’s supposed to make them “work”. It’s also fair to say that it didn’t get its fair share of fun new stuff over the course of development, though. With that in mind, on to the new ships!

Vanguard
One of the things low tech is missing is a premium frigate option. The closest contender for that role is the Lasher, which is a fine-enough frigate, but its effectiveness drops off hard in larger battles. The reason for this, and for high tech frigates generally being superior, lies in the very properties that define these respective techs. Frigates often rely on speed for survival. To make matters more difficult, frigate-grade armor is not very useful when standing up to larger ships (mainly because unlike shields, it’s not a renewable resource, but also because heavier weapons have an easier time getting through it), while frigate grade shields can do a fine enough job. A fast, well-shielded frigate (i.e. high tech) can surive. A slower, even well-armored one (the hallmarks of a low tech hull!) has a harder time doing that.

So, how do we go about adding a quality low tech frigate? One with burn drive, to boot – something that can cut down on its survivability further, both by getting it into the thick of things, and by replacing a potential defensive system. Admittedly, burn drive *is* optional here – I mean, we could go for a sniper-type frigate that leans into long range instead, or for a tankier one with a defensive system – but these niches are already somewhat filled by frigates of other tech levels, and besides, a burn drive frigate just seems appropriate for low tech – if we can make it actually good.

The first piece of the puzzle is accepting that if we have an attack frigate like that, it’ll be lost in battle at times. So, instead of trying to prevent this, the approach is to make it hurt a lot less. Enter the “Rugged Construction” built-in hullmod, with the following properties:

– The ship is always recoverable if lost
– It has a 50% chance to avoid d-mods (those are debuffs from being destroyed and recovered, i.e. “compromised armor”, “glitched sensors”, etc”)
– And the effect of any d-mods it has is reduced by 50%

By itself, this isn’t enough – if a ship is destroyed all the time, it still hurts – it takes supplies to fix it back up, and you lose crew. But this *is* enough to make an occasional loss and post-battle recovery acceptable. It gives us enough wiggle room to make the rest of it work.

Armed with this idea, I was feeling pretty optimistic, but that didn’t last long. The ship had major trouble – it had solid stats (with the standard low tech lean into at best moderate speed, and heavier armor), but if it had a shield – even a pretty decent one, though not high tech grade – then it would fall short of being useful. It’d start to get close to an enemy, take a bunch of shield damage, back off, and this would repeat itself with no real progress being made. To make hit and run work as a frigate vs larger enemies, you need good shields and high speed. With middling shields and speed, it turns more into “get hit and run”.

Removing the shields entirely makes it marginally better – at least the ship can be aggressive, since it doesn’t have to worry about shields raising its flux levels! But it doesn’t last long enough in a major firefight, per the earlier point about comparatively-heavy armor on a frigate.

So, what to do? One easily-available option is to keep it shieldless and add on an extreme amount of armor – to the point where it has heavier armor than, say, a low tech destroyer. The other easy option is to give it a better, high tech grade shield, and possibly make it faster, too. And, of course, taking a step back and changing the ship’s core identity into something that *can* work with middling shields and top speed is an option. But none of these are good.

There is a ship system that could make a frigate like this work – it’s called “Damper Field”, and it cuts the damage taken down by armor/hull by quite a lot. It’s enough to give a frigate with reasonable-looking stats enough survivability for large fights. Trouble is, we’ve already got burn drive in the system slot. But, not to worry! Fortunately, it’s easy enough to add this in as a secondary system, in place of a shield, so that it can toggled by right-clicking, the same way shields or phase cloak normally are. It also requires expanding the UI a bit – to show the number of charges and status of this secondary system, but that’s easily done as well.

With this final piece of the puzzle, the new ship – named the “Vanguard” – works! It’s tough and persistent, and if it does fall in a larger battle, then it’s just not a very big deal. And another nice thing here is that this combination of two systems is special, so low tech gets something with a bit of a shine to it that way. Here’s its in-game description:

An ancient and tough heavy frigate featuring robust construction, a combat burn drive, and no modern shields. Instead, the Vanguard is equipped with an integrated Damper Field of archaic design but tuned to modern standards. This allows the Vanguard to allocate 100% of flux buildup to weapon systems, leaving defense to its heavy armor enhanced by the obscure physics of resonant field-dampening.

And here’s a shot of it in action, featuring burn drive and damper field active at the same time:

It’s worth noting that the Vanguard isn’t especially great against other frigates – it works better as high-pressure support (and target/threat magnet) against larger ships. It can certainly keep frigates occupied for a long time, but will have trouble landing finishing blows against faster ones that can get out of the way of its burns.

(While I was at it, I also added “Rugged Construction” to the Hound and the Cerberus, both unshielded ships that could benefit from it not hurting much to lose them. Another point worth noting: I’ve increased the range of the Light Autocannons and the Light Assault Gun – small ballistic weapons that the Vanguard can mount. This also helps the Lasher a bit, since these can often be its armament.)

Eradicator
The second ship I wanted to add was far more straightforward in comparison. It’d be nice to have another low tech cruiser option. Currently, there’s only the Dominator – a forward-firepower focused ship with burn drive that’s very susceptible to flanking. It’s useful, but also fairly specialized and has some weaknesses, so it’d be good to have a companion ship that covers different ground. Thus: the Eradicator-class Fast Cruiser. Well, according to the low tech understanding of what “fast” means – though for example the Hound is a low tech ship that’s very fast indeed, and the Eradicator draws on some visual inspiration from that with its oversized engine nacelles.

Notably, it’s not a *light* cruiser, so it still punches at a level you’d expect from a proper cruiser. Actually, it punches a bit harder than that, due to the Accelerated Ammo Feeder ship system it has; the idea is that while it’s a ship that can’t press an advantage with burn drive, what it *can* do is make other ships pay for coming close to it much more quickly. And of course it can pair well with other ships that do have burn drive and can help finish what it started! As is fairly common for low tech ships, it also has an above-average complement of missiles, to help offset its middling flux stats.

What it doesn’t have is any large ballistic weapon slots. On the one hand, it’d be nice to add another ship where you can mount large ballistic weapons, since the opportunities to do so are currently pretty limited. On the other hand, it feels like adding a single large ballistic slot on this ship would make it the focus of outfitting the ship – and I’d much rather give an array of smaller weapons, and their various combinations, a chance to shine. Just having a ton of smaller guns unload on the enemy – especially with the ammo feeder turned on – is satisfying, and the range buff for some of the small ballistics opens up more options. And, well, another new ship can feature a large ballistic slot at some point, one designed around it.

Here’s the Eradicator’s in-game description:

A resilient design often overlooked by history, the Eradicator-class fast cruiser features powerful dual engine nacelles that allow it to deliver uncompromising firepower and a powerful missile barrage to the weakest point of the enemy battleline – or come to the rescue of valuable assets that have found themselves tactically exposed.

Eradicator (P)
This ship also offers an opporunity to add more variety to pirate fleets. They’re a bit lacking in the cruiser department right now – all of their cruisers are specialists of some sort – and having a more general purpose ship take on a primary role will be very welcome. It’s particularly good to add more variety here since the pirates are such a common enemy for the player to face.

Now, having an accelerated ammo feeder on that might be a bit mean. And the pirate version of the ship has some red it in, so it stands to reason that it would go faster. With that in mind, the (P) version of the ship has burn drive! Since for this particular ship this is a bit of a nerf, it’s also got reduced deployment points. Though, to be fair, “this isn’t as powerful as the baseline version of the ship” is unlikely to be much consolation when it’s coming at you full-burn.

Bonus: Termination Sequence
While we’re looking at low tech frigate performance, it also makes sense to look at some high tech ships that are over-performing. The Tempest isn’t the only one (nor the only one I’ve looked at and made some adjustments to), but for this post, I’d like to talk about it since the changes turned out more interesting than your run-of-the-mill buff or nerf.

It’s another tricky design situation. The Tempest is fast, has point-defense (and general damage-dealing) drones, and a system that boosts enerrgy weapon damage – “High Energy Focus”. The main problem is the system; the ship would be fine power-wise, and have a role, without it. With the system, it can get damage spikes that are just too much. What to replace it with, though? A mobility systems would be pretty underwhelming since the Tempest is already extremely mobile. A flare launcher? Not the most exciting system, but might have been worth considering if the drones didn’t already have point-defense on lockdown. Could of course remove the drones and tone it down that way, but they’re fun and I’d like to keep them.

What we need is a system that offers new options without just ramping up the ship’s power.

Introducing: Termination Sequence. When activated, it supercharges one of the drones and sends it off after the selected target, like a missile. It deals massive energy and EMP damage – and since the drone itself is the missile, it’s quite tough compared to most other missiles. Uniquely among missiles, it can also shoot at the target (or anything else it pleases) while on approach.

On the flip side, it generates a fair bit of flux when used, and, well, this does cost you a drone, which’ll take time to replace. So it can be great situationally, but it does have a real cost. I think this is the sweet spot for the Tempest’s system – something fun and unique that interacts with the drones, but isn’t just a flat out power boost.

Some notes on the visuals:

– The EMP arc from the ship to the drone when the system is fired off helps “sell” what’s happening, and explain the flux buildup on the ship
– The drone itself gets a jittery/unstable type animation, which gets more extreme as it approaches its maximum range

Both of these are super important – the EMP arc to show what’s happening, especially if you’re not controlling the ship. The jittery animation – I found myself wondering why the drone-missile would just blow up at some point, and then realizing that it was just (correctly!) doing that on reaching its maximum range. Without some visual indicator that this was about to happen, it was extremely unclear – but just a small animation like this turns that around completely. All in all, I’m happy with how it turned out! I didn’t intend to do something quite as involved when I started looking at it, but the more I looked at it, it just seemed like the right option.

Comment thread here.

 

 

Skill Changes, Part 1

$
0
0

The skill system – the one in the currently released version, 0.95a – has some things about it that I like, and some things that I don’t think worked out particularly well. One feature is in both categories – “pick one of two skills at every tier”. In some cases, it works well and you have an interesting choice to make. In other cases, the skills don’t lend themselves as well to it, and it ends up feeling unnecessarily restrictive.

The other high-level feature of the system that I really like is the ability to have some top-tier skills that you need to invest into an aptitude to get, and that can be powerful and game-changing. You can’t have that in a system where you can cherry-pick any skill you want at any time.

So, the goal of these adjustments is to keep the progression and high-impact choices, and add more freedom where “pick one of two” doesn’t have a compelling reason behind it.

New system
First let’s talk about how the new system is set up; then we’ll get into the details about all the changes, the new (and exciting!) skills, and so on.

Skills are still arranged in tiers, but tiers are no longer limited to two skills – instead, it’s however many skills makes sense for that specific situation. To unlock the next tier, you need to spend enough points on skills in lower tiers. How many points, exactly, also depends on the specifics – for example, if a tier has 3 skills in it, the next tier might require 1 or 2 points. The idea is to have a looser structure that can be adapted to the specific needs of the skills in that aptitude, rather than having to adapt the skills to a more rigid structure.

You can skip a tier entirely by spending those points in lower tiers instead. For example, if the first tier has 3 skills, the second tier has 2 skills, and the fourth tier requires 3 points spent total, you could just put all of them in the first tier and none in the second.

Once you get to the top tier – the skills there are high-impact, game-changing ones. You can pick one right off the bat, and this requires 4 points spent in the aptitude – 5 points total, same as now, to “max out” an aptitude. To pick up the second top-tier skill, you have to spend an additional 2 points in lower-tier skills, for a total of 8 points in the aptitude. This replaces the “wrap around after reaching the top” mechanic currently in place. This has some implications for the design of the top-tier skills, but we’ll get to that a bit later.

So, that’s the new system – now let’s dive into some specifics!

Aptitudes
Being aware of what each aptitude is about is going to be helpful for making decisions when questions come up.

“Combat” is pretty straightforward – skills that make the piloted ship perform better.

“Leadership” is about improving the combat performance of the fleet as a whole, whether through officers or by other means.

“Industry” skills focus on improving your fleet’s efficiency and resilience. This can take the form of, say, increasing salvage found or reducing supply consumption, making repairs faster and cheaper, and so on. The personal combat skills present there also have the “efficiency/resilience” themes.

“Technology” is trickier to pin down. If we’re being honest, it’s mostly “cool stuff”. A lot of the skills do touch on exploration, though, so I think a description like “a mix of skills that benefit exploration, stealth, and certain aspects of your fleet and officers’ combat performance” just about covers it – but more as a description than a particularly helpful guideline.

Top tier skills
These are the really important choices in each aptitude – taking a top tier skill boosts your power in a specific way you’ll want to take advantage of. This is less true for Combat, where the top tier skills are just generally a bit stronger. I don’t think you want “game changers” there, or you risk restricting combat to only a couple of styles based on what those hypothetical skills would enable. But for the other three aptitudes, which is what we’ll talk about in more detail, we’re looking for skills that enable different playstyles.

It only takes 8 skill points to pick up both top-tier skills from a single aptitude, but it takes 10 points to pick up one top tier skill each from two different aptitudes. This means that ideally, we want skills from different aptitudes to work together better than the top-tier skills from the same aptitude. Otherwise, it’d be too tempting to just always pick both top-tier skills in a single aptitude and have a few more points left over to spread around.

Something thing helping us here is that picking 6 out of the 8 lower tier skills means you’re probably picking some skills that don’t support what you want to do as well as, say, picking 4 out of 8 (to get just one of the top tier skills) would. Still, superior cross-aptitude synergy is something to strive for.

How powerful should these top-tier skills be? Since we’re talking about a varied set of skills that cater to different styles of play, balance is going to be pretty vague! But still, we need something to aim for. For that, let’s turn to two current top tier skills that compare to each other well power-wise despite having radically different effects.

One is “Special Modifications”, whose primary effect is to let you build an extra “free” hullmod into your ships. The other is “Automated Ships”, which at its best lets you have an absolute monster of an AI-core-piloted ship in your fleet.

So, the balance… not even “guideline”, but let’s call if a “point of reference” is that a top tier skill should be either 1) roughly as good as an extra top-quality hullmod on your ships, or 2) as good as having an extra top-of-the-line ship in your fleet.

With that in mind, let’s look at the new top-tier skills for Leadership, Technology, and Industry.

Best of the Best
The first top-tier Leadership skill, this has two effects. The main one is that it lets you build an extra “free” hullmod in, exactly like Special Modifications (gone to make room for something cool, press F) does now. The second effect increases the starting deployment points in battle as if you had a Comm Relay under your control. In-fiction, the skill represents your ability to identify the best performers in your fleet and put them in key positions – the best engineers, the best tactical officers on your staff, and so on.

Playstyle-wise, I think this skill caters to a player that likes to feel like they have the best quality stuff they can get, and is more at ease if their fleet’s strength is more… “self-contained”, maybe is the right word? Rather than dependent on specific actions. Specifically, getting more starting deployment points without having to capture objectives I think will feel more comfortable for some players.

Support Doctrine
The second top-tier Leadership skill, this one focuses on making ships without officers more useful. The effects are two-fold: ships without officers benefit from the non-elite effects of 3 combat skills (Helmsmanship, Damage Control, and Combat Endurance), and ships without officers have their deployment points cost (not the supply cost to recover from a deployment, just the deployment points) reduced by 20%, limited to 10 points maximum per ship. (Note: deployment points are now shown on the ship tooltip as a separate stat, to help make these sorts of things clear.)

The key effect is the deployment point cost reduction – it lets you get more ships onto the battlefield at the same time! It’s not a huge number of points, but altering the relative numbers on each side makes an outsized difference.

The specific combat skills chosen are important. Damage Control reduces crew casualties, and that helps support continually deploying larger numbers of ships – and probably losing more of them, because they’re not as strong on an individual basis. Combat Endurance increases peak time – very useful for frigates in larger battles! – and, more importantly, increases the maximum combat readiness of the ship. This combines with Technology’s “Automated Ships” skill, which uses CR as a limiter on the number of automated ships you can maintain, potentially opening the door to a style of using high numbers of automated ships without installing AI cores to control them.

Helmsmanship is more just all-around useful and doesn’t benefit different kinds of ships too disproportionately, but it’s less important than the other two skills.

This skill presented a thorny design challenge – why wouldn’t the player deploy their most expensive ship (which takes less points now), and then transfer command to it? I looked at a lot of ways to get around this – different rules for how the point reduction is calculated, or just straight up always applying the reduction to the player’s flagship – but all of them had problems and incentivized other weird kinds of behaviors.

In the end, I think what’ll work best is to just accept that this is something that the player can do, but to lean into it and have the skill acknowledge it. To that end, the skill also grants +100% command point regeneration if you haven’t transferred command to a ship that didn’t have an officer – and the deployment point reduction only applies after your command-transfer shuttle has finished landing at the destination ship, so e.g. briefly taking off, deploying more stuff, and landing, will not work – you’d have to wait out the full duration of the transfer.

So: a limited benefit to doing it, and a bit of a benefit to not doing it. Plus, importantly, an explicit acknowledgement that you can do it, which’ll make it feel like less of an exploit.

Automated Ships
An existing Technology skill, it’s not fundamentally changed from the version that’s currently in the game, though there are significant adjustments to the numbers involved.

For a quick overview, it lets you have some automated droneships in your fleet, that you otherwise only encounter as enemies in the campaign. The number of automated ships is limited – the more you have, the lower their combat readiness, representing that the limited expertise in their maintenance etc is being stretched thin.

Automated ships can be boosted by installing AI cores to control them. In the current version, each AI core has a flat cost – that is, installing one on a frigate or a battleship has the same impact on the difficulty of maintenance. This is now changed to a multiplier – Alpha, Beta, and Gamma core multiply the “points” value of the ship by 4x, 3x, and 2x, respectively.

What this does make lower-cost ships more viable, so that for example Domain Derelicts – a lower-tier class of enemy you encounter – could still be worth using in your fleet, kitted out with Alpha Cores. Now, you’re generally better off putting AI cores on more expensive ships to get more out of the skill.

(A bit specific, but: as another consequence of this change, AI cores in automated ships in human fleets no longer count as “officers” for the deployment points calculation. Otherwise, with how the math works out, you’d want to have like 20 of the cheapest ships stuffed with AI cores just to game that calculation and that’d be… bad. In-fiction: safety interlocks limit AI core access to tactical information  and command protocols etc etc etc.)

The “gold standard” for this skill is still “Radiant-class battleship with an Alpha Core, with combat readiness just above malfunction levels”. There’s a nice synergy with “Support Doctrine”, though – core-less ships would have higher CR (and so you could have more of them), and cost less points to deploy, so you can have more of them on the field. And of course further boosting that Radiant via “Best of the Best” is a solid choice, too.

Neural Link
A new top-tier Technology skill. This lets you rapidly switch between two (and only two, at a time) ships with the “Neural Interface” hullmod. The other ship can’t have an officer assigned to it. The key part of this skill is that when deployed in combat, both ships benefit from your personal combat skills at all times, not just when you’re in direct control.

Switching between ships is accomplished by using the “switch view to target” control, ‘T’ by default. If the combined deployment points of the two ships are 50 or less, the transfer is instant, otherwise it takes a few seconds depending on by how much the threshold is exceeded.

This obviously synergizes very well with taking a bunch of Combat skills, so that both ships are great – it’s a multiplier on the return you get for Combat skills. I also had to make a decision about whether the Neural Interface hullmod would be able to be installed on automated ship, finally letting you pilot these yourself. On the one hand, this goes against the general idea of not having top-tier skills in the same aptitude work too well together. On the other hand, it’s just too cool not to do, so that won out.

I expect ace pilots could do some ridiculous things with this skill – but a more tame approach of just boosting a pair of capital ships to otherwise-unattainable levels with personal combat skills could do quite well, too. I could also see linking, say, a pair of cruisers on different sides of the battlefield, and using the link to apply your personal influence on the battle with pinpoint precision.

Hull Restoration
A new top-tier Industry skill. In keeping with the theme of Industry, it’s a skill about resilience – specifically, taking much of the sting out of ship losses.

A quick aside on ship recovery! Currently, ships that have been destroyed in battle are (almost) always recoverable if they have the Reinforced Bulkheads hullmod, or if they have an officer with specific skills, or if you have a specific fleetwide skill that affects ships with officers. I’ve simplified this to “Reinforced Bulkheads, an officer, or any s-mods built into the hull”. (“S-mods” are permanent and free beneficial hullmods built into a hull using story points.)

The effect is to remove needless “makes ships with officers always recoverable” effects from a number of skills. For this skill, though – one of its effects is to make all ships, not just ones with officers, “always recoverable”.

(And, another aside: “d-mods” are “permanent damage” debuffs that ships can suffer from either due to manufacturing defects, or from being disabled in battle and subsequently recovered.)

The skill has two main effects. One is that ships have a 75% (for larger ships) to 90% (for smaller ships) chance to avoid d-mods if they are lost in combat. The other is that every month, it’s very likely a d-mod will be repaired from a randomly selected hull. In addition, there’s a high chance to remove a single d-mod from a newly-acquired hull.

Taken together, these effects mean that if ship losses are kept within reason, you can keep a pristine – that is, without d-mods – fleet going. And, you can recover a rustbucket and turn it around given a bit of time. There’s still the sting of spending more supplies to repair up a ship that was lost and then recovered, but another Industry skill – Field Repairs – helps that along by making it both cheaper and faster.

Another effect of this skill is an increased maximum combat readiness for ships with s-mods. It makes sense for the skill, and has some nice synergy with both “Best of the Best” and in particular with “Automated Ships”. Generally, though, this skill will synergize well with just about anything (not caring much about losses is good), except for –

Derelict Operations
The second top-tier Industry skill, this one is about making junkfleets – fleets made up of ships with lots of d-mods – work.

The primary effect is to reduce the deployment points cost of ships with d-mods based on the number of d-mods they have. So, yeah, it’s junk – but now you have more of it on the field. Previous iterations of this type of skill tried to make junk ships better, for example by reducing the penalties from d-mods. I think this new approach is fundamentally better – rather than reducing the differences and making junk ships more like regular ships, it’s instead keeping that difference, while taking advantage of it to do something that’ll make junk fleets feel different to use.

The skill also reduces the maintenance cost of ships with d-mods. This is further helped along by other industry skills, which reduce supply and fuel use and cheapen and speed up repairs – all potential issues faced by a large fleet of low-quality ships.

Perhaps obviously, this skill really doesn’t mix well with the other top-tier Industry option, Hull Restoration – to the point where mixing them is actually a bit of a negative. But with this system and design goals, that’s all to the good.

It does mix well with other top-tier skills – you could stack deployment point reductions with Support Doctrine, for example, or have more automated ships.

This covers all of the (non-Combat) top tier skills. Next, I’d like to briefly go through the structure of each aptitude’s skills – not to dissect every last bit of it, but just to highlight anything I think is interesting.

Combat
This one’s pretty simple – the first tier has 8 skills in it, and the second tier has the 2 top-tier skills. The actual skills are pretty comparable and which ones to get is more of a style preference / tailoring them a bit to the ship you want to fly, so there’s no reason for more restrictive tiering.

Leadership
The first tier has 6 skills. The second tier and the top tier have two skills each.

The important thing here is that the second tier has the two officer skills – Officer Management and Officer Training. They synergize well, so if you could easily take both, you very likely would. But since the second tier requires 3 points to unlock, once you put another point into one of the officer skills, you’re at 4 points and can unlock a top-tier skill next. If you *also* choose to unlock the second officer skill, that’s 6 skills spent in Leadership – and given that you have 15 skill points maximum, that means you’re giving up a top-tier skill elsewhere to do this.

Of course, you might also decide to put 8 points into Leadership and grab both of its top-tier skills. That’s not necessarily a bad decision, but I think the top two skills don’t mesh particularly nicely, and there’s enough questions about alternatives being better that this doesn’t stand out as the “optimal” way to go.

A related point here is about high-level officers you can find in cryopods scattered on the fringes of the Sector. In the currently-released build, there are too many of them, which makes the Officer Training skill less worthwhile – instead of levelling up your officers, you can just (eventually) find a bunch of higher-level ones in cryopods and use them instead.

For the next release the number of these high-level officers is limited, so that there’s only a few in the entire Sector, and you can’t just fill your entire roster with them. Part of the way they work, though, is that you pay a bit of a price for their extra power by having to work with their skillset and personality. Now that there are fewer of them and there’s less opportunity to pick ones that you can make work, there’s a “retrain” option that lets you make some limited adjustments to skills (namely, change which ones are elite) and personality.

Technology
Here, we’ve got a 2-2-4-2 structure. The first two skills are Navigation and Sensors, both more quality-of-life campaign skills. If you could skip them entirely, you’d probably feel like you had to in order to spend the points on skills that provide more concrete benefits. So, they’re both in the first tier, so you can pick one without feeling like you could’ve spent that point on something else – you couldn’t have, not if you wanted to go deeper into Technology.

The second tier has the pair of personal combat skills in Technology, separated out for much the same reason. After that, it’s a bunch of fleet-wide skills that you can pick in any combination, and then it’s on to the top-tier.

Industry
This one has a 3-2-3-2 structure. The first tier has some campaign skills, the second tier is Industry’s personal combat skills, and the third tier has some notably more powerful campaign skills. You need 1 point to unlock the second tier, and 2 points to unlock the third, so there are a lot of options available.

You could put two points in the first tier, for example, and skip the second tier entirely – or spend two points there (since the combat skills work together well and are particularly suited for low tech ships) and only spend a single point in the third tier. I rather like how the structure turned out here – it feels like it creates things to think about rather than railroading you into a restricted set of choices.

Also, importantly – the top tier skills of Industry are pretty different! One is about running a pristine fleet, and the other is about a junkfleet. This means that the aptitude has to have enough skills that are useful for either case, and it does.

This concludes part of of this two-part blog post! In part two, I’ll talk about:

  • Colony skills
  • Elite skill effect changes
  • “Low tech” (but not really) skills
  • Some of the new skills
  • Phase cloak changes
  • Permanent skills
  • Save compatibility (spoiler: yes)

Comment thread here.

 

 

 

Skill Changes, Part 2

$
0
0

Part one of this two-part blog post is here.

In this part, let’s dive into a few details about specific skills, and some other points note. I don’t want to go through every single change – just highlight some interesting tidbits, and a couple of the bigger changes.

Elite skills
One of the goals was to do a pass over the “elite” effects of the combat skills and make them more interesting/powerful/appealing. For example, Helmsmanship’s elite effect now – in addition to its original “0-flux boost at any level” effect – grants a flat +5 to top speed, making it a consideration for slower ships. Combat Endurance and Damage Control got some brand-new, fun elite effects.

Combat Endurance brings back the “repair ship hull during combat” effect from several versions ago – repairs up to 25% of the hull level, with total repairs not exceeding the higher of 50% of the hull, or, as of right now, 2000 points. With Combat Endurance being a skill that’s great for small ships, the elite effect is, too, because of the potential to repair far more than 50% of the hull over the course of a battle.

Damage Control’s elite effect grants a reduction to large hull hits – any hull hit above a certain threshold of damage has the portion above the threshold reduced by (again, as of right now) 60%. No-one plans on being hit by a Reaper torpedo, but still, neutralizing that much damage when things go wrong is going to have a lot of appeal. To make the skill not completely neutralize the strike potential of certain weapons, this effect only triggers at most once every two seconds.

Ordnance Expertise
A new personal-combat skill in Industry, this is a fun one – it boosts flux dissipation (and capacity, as an elite effect) based on the number of ordnance points spent on weapons. This favors ships with lower flux dissipation values just because it’s a flat rather than a percentage bonus, so they receive comparatively more benefit. Still very useful for ships with high flux dissipation, though!

It being a good skill for any kind of ship is important – it helps with players with different goals find a useful path up to the top Industry tier. But having a flat rather than percentage-based bonus is interesting, too – flat bonuses can be more game-changing. Just as long as they’re not too game-changing.

Polarized Armor
The other new personal combat skill in Industry, this one is a boost to armor-tanking when at high flux – increasing effective armor and reducing EMP damage taken based on the current flux level. Notably, the ship AI does most of its armor tanking when it’s at high flux, so this skill combines with the existing AI behavior nicely. The elite effect speeds up venting; this is universally good but especially useful on ships with lower base dissipation rates.

So, once again, a universally useful skill, but even more effective for certain types of ships.

Ballistic Mastery
A new skill in Combat, and a counter-part to Energy Weapon Mastery – this increases the damage and range of ballistic weapons. The elite effect increases projectile speed – I think that’s maybe a “deceptively good” bonus, since on paper it doesn’t do very much, but it can increase the hit rate, especially vs smaller/faster targets, by quite a bit. And if the bonus was phrased, as, say, reducing the weapon’s flux generation by 20%, that’d be considered amazing.

Colony skills
If you’ve read part one of this post, you might be wondering where all the colony skills went. The answer, for most of them – except for Industrial Planning – is “in the bin”. The reason for this is simple – colony skills boost passive income, and that’s… well, it’s boring. As a rule, skills should let you do new things and modify in-game actions. Even if one’s preferred style is to go for more colonies – that’s fine, and there are ways to do that! – but that doesn’t mean that you should be able to sink skill points into colony-boosting skills.

Industrial Planning gets a pass because it can do some comparatively interesting things in enabling you to use some colony-related items found during exploration, and it also boosts custom ship production. The other skills were more just “numbers go up” kinds of skills. It wasn’t the worst thing to have them, but to make room for some of the new top-tier skills? They were first on the chopping block, by a long way.

On the other hand, once colonies have a more active role in the game… right now they’re kind of a stub – a bunch of mechanics that work together but don’t have a larger point. “Making you a pile of credits” isn’t a point – rather, that’s just another question it’s asking – what are all those credits ultimately good for?

Imagine, though, if a colony with a Military Base let you dispatch a task force or two that could help you with particularly difficult fights. Skills boosting those hypothetical task forces, now that would be interesting! But until colonies settle into their real role, skills boosting them are mostly just taking up valuable space.

Where does this leave freelance administrators you can hire? They’re not actually too affected; instead of having 0, 1, or 2 skills, they just have no skills, or Industrial Planning.

Alpha Cores – which you can install as colony administrators – also get Industrial Planning. In addition, they also get a unique “Hypercognition” skill that confers some of the benefits of the previous colony skills.

Phase ship changes
Phase ships are almost a tangential topic to skills, but since some of the skills were heavily intertwined with how phase ships work, it made sense to make some changes here, too.

A brief recap – when a phase ship’s cloak is turned on (i.e. the ship is “phased”) it can’t be damaged by anything, and time on the ship passes 3x more quickly – meaning, to the external observer, it moves very quickly. Once a ship unphases, it’s vulnerable for a couple of seconds before its phase coils cool down and it can phase again.

There are two primary ways you can play a phase ship. One is more of an “assassin” build – move to a vulnerable spot, usually behind the target, and unload a lot of damage quickly. The other is more of a “brawler” – utilizing the phase cloak to both avoid damage, and using the time dilation effect to let burst weapons recharge more quickly, at least from the perspective of the target. The latter is more interesting – there’s more play there – and the former is more powerful.

The main problem with phase ships, is, well, they’re really fast thanks to the time dilation effect. It’s too difficult to pressure and punish them – once their flux is high, they can just move away and vent. You can still do quite a lot with beams and fighters, and overall the whole thing “works”, but I think it could be a lot better if they were more vulnerable.

The most obvious way to make them more vulnerable is to increase the phase cooldown duration – they’re unable to phase out for a longer period of time after attacking, thus more vulnerable, problem solved, right? Unfortunately, that doesn’t work out. This kind of vulnerability is too binary – or, perhaps, “too volatile” is a better way to put it. An extra half second of cooldown might mean a ship gets completely obliterated, or it might mean nothing at all.  We need something that’s more elastic – how vulnerable it is should be on how much it overextended, and how it’s being pressured.

The most obvious candidate for this is basing the vulnerability on the ship’s hard flux level. Just basing the cooldown on it doesn’t work, though; that’s still too volatile. We need something with more wiggle room, and that’s movement speed.

Thus: a new mechanic for phase ships where their movement speed is reduced down to a third of its normal value as hard flux levels go up to 50%. Since they move 3x more quickly due to their time dilation, their relatively faster movement is cancelled out by that point. I’ve also thought about modifying the time dilation magnitude instead of adding a separate modifier to speed, but that affects “brawling”-style phase ship builds as well, and I don’t want to weaken them.

There’s an in-fiction explanation for the top speed penalty that I’m really fond of, too! Phase coils are what enables the ship to maintain its grip on this reality. (What happens if they go offline while phased? Definitely horror holovid material there!) When hard flux levels go up, this task is more difficult (say, it requires finer calibration, etc), so the grip “slips”, and much of the ship’s drive energy is wasted/not translated into movement in normal space. Sort of like running on a treadmill – you can outrun it, but it’s not exactly an optimal use of your energy.

While this change of course tones phase ships down, I think it will also make using them more engaging. There’s more to consider, and you’re particularly encouraged to not phase until absolutely necessary. Facing phase ships is more engaging, too – if you can isolate one from support, you can actually chase one down if you’re using a faster ship or just have fighters on it. And on the phase side of things, teamwork and using allied ships for cover becomes more important.

To compensate for this change a bit – and in keeping with the approach of reducing volatility – many phase ships are now tougher, with either higher armor, hull points, or both. These changes are more pronounced for smaller phase ships that were comparatively more fragile.

This is also an opportunity to spice up the possible phase ship builds! Now that there’s a mechanic holding them back a bit, there’s something to work with. To start with, there are two new hullmods for phase ships.

Adaptive Phase Coils increase the hard flux level at which speed bottoms out to 75%. This, naturally, facilitates an “assassin” type of build. Phase Anchor increases time time multiplier to 4x, but reduces the ship’s speed while phased by half – this is good for the “brawling” style.

I started this section by talking about how skills are intertwined with phase ship mechanics, so, let’s talk about those.

Phase Coil Tuning
This skill is the renamed Phase Corps (which sounded a bit too much like it belonged in Leadership). Its effect is a bit different, though – instead of reducing phase cloak cooldown, it increases the speed of phase ships, while phased, by up to 50%. This bonus goes down once you have more than a couple of phase ships (this represents the limited engineering/science talent on your staff/in your fleet, and so on). It still increases peak time.

In addition, this skill boosts the sensor strength of phase ships. You might reasonably ask, “why?” The reason is that there’s a change to how phase ships improve the overall fleet’s sensor profile – instead of applying a flat reduction, it now applies a multiplier. 

The reason for this is a flat reduction was confusing. The actual range your fleet is detected at is a combination of your sensor profile and another fleet’s sensor strength. A flat reduction applies to this combined value, but for example say you have 500 profile, and a reduction of 100 – that feels like the range you’re detected at should be reduced by 20%. But once you add in another fleet’s sensor strength – which could easily be 1000 – the actual reduction is nowhere near that. On the other hand, if the reduction is a multiplier, what it does to your displayed sensor profile is representative of what happens to the actual range you’re detected at.

That still doesn’t explain the sensor strength boost from the skill, though. The reason for that is the sensor strength of phase ships, relative to the sensor profile of the larger ships in your fleet, is what determines this multiplier. Plus, having a “you can see further, too” bonus in a skill for stealthy ships feels thematic.

Field Modulation
The other skill involved here is Field Modulation. Formerly, we had “Shield Modulation” and “Phase Mastery” – now, most of their effects are combined into a single skill. A nice effect – and primary goal – of this change is so you don’t feel locked into “always flying phase ships personally” or “never flying phase ships personally” depending on whether you have the Phase Mastery skill.

Phase Mastery’s elite effect increased speed while phased by 100%. This was ok when phase ships were super fast while phased anyway – it was almost (not quite, but almost) a quality of life bonus, since a phase ship could get away from anything regardless. Now that speed is an actual balance consideration, this bonus has moved to Phase Coil Tuning, in an altered form. Instead, the elite bonus of Field Modulation reduces phase cloak cooldown by half. Since, again, there are other mechanics holding phase ships in check – and phase cooldown is not a critical issue – we can apply a more liberal bonus to it. It’ll reduce the volatility of phase ships, while not significantly affecting the ability of other ships to pressure them.

All in all, I think this leaves phase ships in a better place (though, admittedly, I need to do a bit more playtesting). With some investment, it’s still possible to get phase ships to go pretty fast. But even at a baseline level, they’re still very effective – I mean, let’s face it, they had lots of room to be toned down. More importantly, though, there are now more interactions, both in terms of the available ship loadout and skill options, and when they’re used in combat.

Reassigning skills
Another goal was making skill reassignment (you can respec your character by using a story point) smoother. This involves two main changes.

The first is simple – the game now remembers which skills you’ve made elite at any point, and speccing out of them then making them elite again doesn’t cost you an extra story point – once it’s been made elite, making it elite when speccing back into it is free.

The second is complicated. Some skills are flagged as “permanent”, meaning they can’t be specced out of. That makes sense for some skills – you’ve got a skill that lets you build more permanent hullmods into your ships, or train officers to a higher level. If you can spec out of those, you’d just take them, get the permanent benefits, and then take those skill points and spend them elsewhere.

Still, having permanent skills really puts a damper on things. The idea is to reduce decision paralysis – you can try a skill/build, and if it doesn’t work out, no big deal, you can try something else. But with permanent skills, we’re right back to where we started as far as that. Well, maybe not *quite*, since you can avoid them and still try other things out – but still, just a couple of permanent skills do a lot of damage here.

This is one of those problems where there’s no clean, elegant solution. At least, I don’t see one – besides, say, “don’t have skill effects like that”. That’s certainly clean and elegant, but – baby, bathwater, etc. So – time to get dirty and get this worked out in a way that’s, frankly, not much fun at all on the dev side of things. What we need to do is go through each troublesome skill effect and add palatable a way of undoing it.

One of the skills lets you add more flux vents and capacitors to your ships than otherwise. That one is not too bad – just remove the excess from ships in your fleet. And also when adding ships back into your fleet from storage.

Other skills let you have more officers, and let the officers be higher level/have more elite skills. This gets more complicated, because not all the officers you might have that exceed these parameters were actually trained by you – for instance, those cryopod officers we talked about earlier; they have to be excluded. Also, we have to keep track of which skills were gained last, and made elite most recently, to know what to remove. And, finally, because it’s a bit weird to just chop off officer skills/levels without asking the player, there’s a new option – when you spec out of these skills, you have the choice of whether to 1) pare the officers you have down to size (with whatever in-fiction explanation for this you feel like suppling. “It was all a dream”? Let’s hope you can do better than that.), or 2) convert the officer into a mercenary on a new contract instead, letting them keep all of their skills.

And then we have the skill that lets you build more hullmods into ships – in this iteration, Leadership’s “Best of the Best”. It defaults to removing the cheapest built-in hullmod, but for ships in your fleet you have the choice of which hullmod to remove to get within the new limit. As with officers, we’ve got to track whether the hullmods were actually built in by the player, or whether they just acquired the ship that way.

But there are complications – some ships might not be in the player’s fleet, or, indeed, anywhere that we might be able to find with code, but they could still exist. For example, consider a mod that lets you “hire out” some ships as mercenaries. The mod would remove those ships from the player’s fleet and store references to them in its own data somewhere – nowhere that they could be found by, say, code scouring the entire Sector to see if the ship is in storage somewhere. But if we can’t handle this sort of case, that’s a big problem – all of a sudden, a mod like that, or anything of a similar nature, becomes an exploit.

So – when building in hullmods, the game keeps hold of the ship that it was built into, and stores this record, and when speccing out of this skill, it goes through these records and checks all the ships it finds. The problem here is, what if that ship was destroyed? We don’t want the game hanging onto it forever. Fortunately, using something called a “weak reference” solves that – if the ship doesn’t exist anywhere else, the record won’t hang onto it, either.

All in all, it’s safe to say that the details here get pretty ugly. I do think it’s worth the effort, though – even if it’s not something that actually gets used a lot, the psychological effect it has in letting the player feel more free to experiment with the various skills is a big deal.

Playtesting
Since part one of this post, some – a lot! – of my time has been spent playtesting. To head off any confusion or potential over-excitement, this is not “pre-release” playtesting. Rather, it’s “there’s a bunch of new top-tier skills in the game and I really need to make sure they’re in a decent spot” playtesting.

Since the top-tier skills are mostly combat-focused (with the sort-of exception of Hull Restoration, which… is still combat-focused, but mitigates losses rather than boosting power), the testing was going to involve lots of fighting. But vs what? A top-tier REDACTED bounty fleet – an Ordo with two Radiant-class battleships – is a good candidate. It’s close enough to being toughest challenge in the game while also being a fairly general-purpose fleet, at least compared to some of the even more highly classified alternatives.

Here’s what a top end Ordo looks like:

The problem is so much of how tough it is depends on how its ships – especially the battleships – are kitted out. In 0.95a, the ship variant generator is a little too – well, random. Basically it decides which subset of the weapons a faction nominally has access to are actually available for a given fleet. Right now that’s too restrictive and you sometimes end up with Radiant variants that are all point-defense or have medium weapons in large slots because nothing better was “available”. Thus: some relatively small changes to how ships are loaded out to produce more consistent loadouts.

This is what the reliable results of that look like:

Even though the Radiant had its deployment points cost increased (to account for powerful it is in player fleets, especially now that it can be controlled directly with a Neural Link), they might be overall more difficult to face just due to how consistently deadly they are.

With the test conditions established, I played a lot. (You don’t want to know how much I got wrecked by these, you really don’t. More to the point, I don’t want to talk about it.)

I primarily focused on testing with a low-tech fleet, and a different high tech one, with some fairly indifferent loadouts.

Some highlights of the testing:

Neural Link + Automated Ships
Which amounts to piloting a Radiant-class Battleship yourself. This was an immediate problem, because it’s way too strong but also really fun. Being able to reposition quickly using the Radiant’s phase skimmer, combined with its ferocious firepower… it’s a lot. Of all the things I’ve tried, I had the easiest time beating the test Ordo with this.

The problem is, right, it’s really fun, and I don’t want to balance the fun out. For example, a more “responsible” approach might be to look at replacing the phase skimmer with something that’s not quite so impactful. But that’d also gut the identity of the ship.

Fortunately, there’s a good balance lever here – the Neural Interface hullmod which has to be installed on a ship you can link with. That can no longer be installed on automated ships – instead, there’s a new “Neural Integrator” hullmod which is functionally identical and just costs a pile more ordnance points, especially for capital ships. This also makes sense – instead of having enough neural-aspect presence on the ship to yell at the bridge crew, your aspect actually has to control all of the ship’s subsystems! Making that work, surely there’ll be some compromises involved.

Even with that, it’s probably a somewhat-too-powerful combination – or at least, an easier-to-use one. Still, we’re not aiming for perfect balance, just viability of everything and things being in the right general ballpark. As long as we’re getting something out of it – this particularly fun and different playstyle – it being a bit too strong is ok.

Phase ships
Along the way, I incorporated some phase ships – mainly Afflictors and Shades – into my test fleets. This… actually just went pretty well. They were survivable, useful, and well worth putting officers into – but not requiring them.

The one issue is the Phase Anchor hullmod (the one that makes the ship slower, but with a higher phase-time multiplier) – the ship just feels too slow to fly, and the extra time multiplier doesn’t feel like enough to make up for it. So that’s something I’d like to take another look at.

Other skills
The various other top-tier skills – there’s not too much to say, really, other than that they worked out fine. Each had a distinct flavor and things that worked better with it. For example (surprise?) Support Doctrine encouraged deploying more un-officered ships, and they were really useful.

Deploying a bunch of unofficered frigates was good regardless, though – anything that buys some breathing room vs those Radiants. I could easily see building s-mods into those kinds of ships in the campaign, even though for this testing I kept s-mods to officer’ed ships only. Even with that dual disparity – no officers and no s-mods – frigates were great support.

With Derelict Operations and/or Support Doctrine, it was easier to get the same effect using larger ships, due to the deployment points reduction. Hull Restoration wasn’t directly useful in combat, of course, but just being able to tolerate losses more easily is a big deal, so it’s “good enough” at this baseline level. I didn’t experiment with different playstyles this skill might enable – among the more obvious is having a bunch of reckless officers (and/or a high aggression in the doctrine settings) combined with ships with Safety Overrides – but that seems like a promising use for that skill, too.

Save Compatibility (*once it’s actually out, it’s not out yet)
Since the changes are pretty extensive, I’m sure the question of whether the skill changes are save-compatible with 0.95a saves will come up. The short answer is, yes, they are! Since the changes are targeted for the 0.95.1a update – not a major version change – I want to make every effort to make it save-compatible. And, since it’s not something like a major content change to the underlying Sector – which would be tricky indeed to make save-compatible – this is actually doable.

What’ll happen when you load an 0.95a save is:

  • The save will be converted to use the new skill system
    • All skills and story points invested into elite skills will be refunded
    • Admins, officers, NPCs, etc will all have their old skills converted to new equivalents/best matches, as appropriate
  • The game will let you know that the save was converted and that you have some points to re-spend

There’s still a bit of a way to go until the next release, though! While it’s not a major release, there are still a lot of things I’d like to add into it – ranging from minor features and QoL improvements to a number of less-critical bugfixes and just other miscellaneous improvements.

 

Comment thread here.

 

Of Slipstreams and Sensor Ghosts

$
0
0

Technically, the next release was meant to be a “bugfixing and polish” release. It’s true that the skill system update already pushes the boundaries of that, but still, we’ve somehow ended up with some major new features, too, which will be discussed in this post. The short answer to “how did we get here” is “weeeeell, one thing led to another, and before you know it…”

I’d actually like to give a longer answer, too. The first thing I want to say, though, is that this is ok! Ultimately, it’s all stuff that was going to be in the game one way or another (though the specific form would depend on exactly how it happened), so as long as it’s added in a way that lets it fit into the existing mechanics nicely, it’s all good.

I could have held off on adding these until a later release – there’s something to be said for sticking with a plan. But also, I think it’s important to take advantage of inspiration when it strikes – and to occasionally, have some fun!

So, how did we get here? A little shy of two months ago, I thought to myself: “I’ve got this document about sensor ghosts laying around, I bet I could just knock these out in a week”. To be fair, I probably could have, but one of the tricky parts of gamedev is deciding how far to follow an idea. Is it something that’s not strictly necessary, or is it something that’s crucial to making the rest of it “click”? There’s a time to cut ruthlessly, and a time to follow through.

The idea, in this case, was that I wanted a certain type of sensor ghost to leave behind it a wake that made it easy to follow. This is a big deal, mechanics-wise – it has implications for how travel in hyperspace fundamentally works! If you can take advantage of these kinds of “slipstreams” to get around faster, that’ll shape gameplay. “Sensor ghosts” without that element – they’d work, sure, and there’s plenty of other mechanics there to keep things lively (and spooky), but cutting out the “wake” idea felt like leaving something vital on the table.

So, I thought to myself, alright, wake, fluid dynamics, let’s read some papers and hack something together. A basic velocity field implementation (not “mathematically correct” in any sense, just “good enough”) looked something like this:

It looks pretty decent in motion, but it really doesn’t look good at all in a still shot:

It’s extremely noisy and high contrast. Trying to add some antialiasing didn’t help things much. Another attempt involved rendering it using lines instead of individual points, like this:

This looks a bit better, but still doesn’t cut it. In particular, this doesn’t convey any sense of “enter this area to go faster”. The “curving line” particles look pretty nice, though – so, let’s keep those, and toss the fluid dynamics. Here, unfortunately, I don’t have any screenshots, but what followed was these particles going in a straight line along a wider area. That definitely had more potential – there was finally the sense of “this is an area that’ll make you go faster”, though it still needed a lot of work.

At this point, David got involved and suggested adding some textures and borders to the thing. I also got the idea to make it support curved shapes and varying widths; honestly not sure why – it was one of those exploratory “I could probably do it, and want to see how it’d look” type of things, rather than doing it with a specific goal in mind. The sensor ghost from a few paragraphs could only travel in a straight line, so supporting curved shapes wasn’t necessary for it.

One of the earlier versions looked like this:

Below is a shot of me debugging the curved version of the stream. The white curves represent the direction of the flow within the stream at any given point. Note how the curves start to get a little unsteady towards the very bottom – generating parallel curves is a difficult problem! Good enough, though. It’s important to note that this isn’t the actual geometry of the stream; that’d be way too many polygons – this is just rendering a bunch of debug data – curves, normals, and so on.

And here’s a shot of particles following these curves!

And another shot, combining particles with some textures:

Still not great by any means – but it’s looking promising; you can see how that could turn into something good with some effort. After said effort (which included David’s key suggestion of using multiple scrolling textures), it finally came together.

It’s worth noting that the “it finally came together” part, despite getting the fewest words, took at least as long as the rest of the process put together. There’s just not as much to talk about there – a lot of iteration and things incrementally looking and working better. There’s a “wobble” effect of the same type that the hyperspace background has (if you came from twitter: you’ve seen it! if not: the animation is embedded at the end of this post), and a border that makes it fit in with the deep hyperspace clouds, looking almost like a channel that cuts through it. The particles that it all started with are still there, too, just more subtle – but instrumental in showing the speed of the stream.

At this point, we had a really nice (if I do say so myself) looking slipstream, and it was a shame to waste it on something that only happened very occasionally. What happens if I just slap one of these across the entire Sector? … what happened, of course, was that the frame rate went through the floor. But it also looked very cool, so much optimizing followed (more on that, later).

What followed that was some thinking about what it’d take to actually make this good gameplay-wise. After all, this is a bit backwards – you don’t generally want to take something cool and just try to cram it in everywhere. On the other hand, it’s just an extension of the “ghost leaves a wake” idea; the fundamental concept of “use this to spice up (and speed up!) hyperspace travel is still the same.

So, we started with sensor ghosts, and ended up with Sector-spanning slipstreams. No problem, let’s just roll with it! It’s pretty common to start with one thing and have it not quite work, but eventually turn into something different that does.

Movement mechanics
Before looking at the bigger picture of, say, how to generate a layout of slipstreams in the Sector, it makes sense to make sure the fundamentals are in good shape – that moving through a slipstream feels good and is an interesting thing for the player to do. How does it work?

Starting with the obvious, slipstreams make fleets inside them go fast – we’re talking in the area of burn level 40, which is about double what can be achieved normally. Maximum speed is achieved near the center of the stream. Narrower sections are faster, while wider sections slow down considerably. This is all indicated by the movement of the particles in the stream, so is easy to get the hang of.

To get the most speed, you need to stay in the middle of the stream. You have reasonable control over your fleet’s position inside the stream – but the faster the stream, the less control, as your fleet is carried along by the stronger current. Once you get to the middle, as long as the stream is going straight, it’s easy to stay there – but streams will generally curve a bit, and a narrow (and thus faster!) section combined with a sharper curve makes it hard to maintain your position – it’s much like spinning out on a turn on a race track. And much like in that case, you can prepare for an upcoming turn by getting on the inside track. You can see the slipstream on the radar, making this process easier.

In addition, several active abilities interact with slipstream movement. “Emergency Burn” boosts your acceleration, and lets you get around within the stream more easily – and its speed bonus gets added to your maximum speed, too. Saving an e-burn for a tight turn can be a really good idea. “Sustained Burn”, on the other hand, comes with a hefty penalty to acceleration – but its speed bonus can be handy, too. It’s useful in the calmer, wide stretches – or in straightaways. It’s also useful when there’s a break in the slipstream – engaging Sustained Burn inside a stream doesn’t stop your fleet like it would in normal space, and it can be a nice way to keep some momentum going before re-entering the stream.

Overall, I think that provides enough options and considerations to stay engaged. And besides, going really fast is just fun! And that brings us to another point.

(Oh, and worth noting: being inside a slipstream takes precedence over any other terrain your fleet might be in. So, for example, the bonuses/penalties from being in deep hyperspace, or in a storm, and so on, do not apply.)

Fuel use
Flying through a slipstream is fun – so we need to be really, really careful to make sure it’s definitely worth doing. No matter how we lay these out as far as the overall map of the Sector, it’s going to be rare that “through a slipstream” is the shortest way to get where the player needs to go, purely in terms of distance. And the player won’t even know exactly where the stream they’re in is going, most of the time! (More on that, later, too.)

One thing helping here is an existing mechanic – going at a speed above burn level 20 doesn’t cost extra fuel. For example, going at burn level 40, covering the same distance costs half the fuel that you’d spend covering it at burn 20. By itself, though, that isn’t enough – when you factor in the detours required to get to and from the stream, it’s often unclear whether taking a stream results in a fuel savings.

Therefore: traveling through a slipstream provides an additional 50% fuel use reduction. This way, it’s going to be “worth it” for any halfway-reasonable set of detours – if taking a stream looks at all like it might be faster, it’ll also definitely be cheaper.

Slipstream layout generation
With these lower-level mechanics squared away, the big remaining task was to figure out how a big a role slipstreams play in hyperspace travel overall, and how to generate the slipstream layout for the Sector.

To answer the first question, I don’t think slipstream travel should be something you *always* do – it should be frequent, but it should leave ample room for travel through regular hyperspace. It should be possible to be in deep hyper and not know where the nearest slipstream is. Finding one should be an exciting opportunity. This is largely a subjective feel issue, so it’s not something that’s objectively “right”, but that’s the design goal.

As far as generating a slipstream layout – I think here I’ll just talk about how it works and what effect that has/is intended to have, rather than talking about how it got there. So! First off, slipstreams are dynamic – there isn’t a single fixed layout. Instead, a new layout is generated twice per cycle, and the player only sees as much of the slipstream system on the map as they’ve explored – though unlike with sensors, merely getting near enough for it to show up on your radar is sufficient to “see” it and have it be remembered on the map.

Here’s what the player might see after exploring a bit of it:

And here’s what a full (different) layout might look like:

These layouts are not fully procedurally generated, rather there is a pool of hand-crafted layouts which are then randomized slightly. Initially, I’d thought to generate these entirely with code, but it proved surprisingly difficult to produce nice layouts. For example, you don’t want slipstreams intersecting at a shallow angle – it becomes a mess!, and you also *do* want intersections at specific points along their lengths (where these offer more interesting choices about where to go, when the player comes to one). Hand-crafting a bunch of possible layouts was both faster and produced better results.

Combining the layout being dynamic with it also being picked from a pool of possible options means that 1) there’s an important aspect of the hyperspace map that keeps changing and is there to be discovered/explored, but 2) that it’s also learnable, and you can make inferences about what the rest of the slipstream system looks like after discovering and recognizing a portion of it. To keep things fresh, some of the handcrafted layouts have a much higher randomization factor, and can’t be relied on in the same way.

To aid in the task of mapping the slipstream system, the Neutrino Detector active ability now functions in hyperspace, and instead of detecting other fleets and similar entities, detects slipstreams instead – out to a distance of 10 light years.

And, finally, a big feature of the system is that the general flow direction of the streams is seasonal. In the first half of the cycle, they tend to flow to the galactic east (which is like the regular east, but in hyperspace), while in the second half of the cycle, they generally flow west. This is another thing that the player can learn and plan their expeditions around.

One might ask, “but why is slipstream flow synchronized with the Domain cycle, which is an arbitrary human construct?”. I could say that the wizard did it. Or, perhaps, that it’s a good question with terrible implications. But, instead – let’s just say that this isn’t a fixed state of affairs, but at the current time in the Sector, two otherwise independent cycles have conveniently lined up.

Encounters
One of the design principles of Starsector is that mechanics in the campaign should, generally speaking, funnel the player towards combat. This isn’t a hard and fast rule, there are exceptions, and the degree to which one feature or another might do that can vary – but still, it’s something to use as a guide.

With the above in mind, we could just say that slipstreams let you travel faster and lead the player towards combat simply by virtue of getting them around faster. And that’d be fine! But I think there’s potential here to do better.

One important bit of information is that slipstreams are interrupted when crossing hyperspace areas occupied by star systems. Otherwise it just looks odd, with the slipstream covering up jump-points – and trying to route streams around star systems would be too involved, never mind that there wouldn’t always be a clear path. In a fortunate turn of events, these stream breaks make for a perfect spot for an ambush!

Imagine: you’re cruising along at burn 40, switch over to Sustained Burn to cover the break more quickly, when your sensors officer reports hostiles coming in, weapons hot. Maybe you should’ve gone dark instead.

This sort of encounter isn’t completely random – rather, it happens if there’s a pirate base nearby. Or a Luddic Path base. Or a system with ruins. And you won’t always encounter hostiles; sometimes you might encounter mercenaries or scavengers instead. So it’s both a potential combat encounter, and a source of information for a more observant player – information that could lead into yet more combat, if they so choose. And, importantly, it’s something that can be predicted to some degree – for example, you can be more careful if you know there’s a pirate base nearby.

(This “encounter point” system is flexible, and isn’t limited to slipstreams. For example, Remnant stations will now send occasional patrols into hyperspace, provided the player has made a disturbance in their system.)

Performance
I’m not going to dig too deeply into the various optimizations required to make these run smoothly when scaled up from the original use case of “one small slipstream now and again” to “Sector-spanning network”. Mainly those were about not doing things – not generating particles unless the player is close, not recomputing certain data for segments unless they’re visible, and so on. What I wanted to show here is this screenshot, because I think it looks neat:

What it shows is how the game generates a bounding box for a slipstream. Taking a step back, the game often needs to know “is this fleet (or derelict ship, etc) inside a slipstream?” We could check every segment in the stream to see if it contains the entity, but that gets computationally expensive – there are a lot of slipstreams with a lot of segments, and potentially a lot of entities to check, too.

Instead, a typical approach to this sort of problem is to say “is this entity close enough to bother checking?” If not, we don’t need to do a detailed check, and that saves a lot of computation time. This works pretty well for most things, but for a Sector-wide stream, the answer to “is this entity close enough to it to check” is always “yes”, at least if we’re doing a simple distance check, which can be thought of as “is this point within a circle that contains the stream?”. The entire freakin’ Sector is in that circle.

So a bounding circle isn’t good enough, but a bounding box around the slipstream is, especially if the stream is relatively straight, since the bounding box will have a much, much smaller area. In the screenshot above, the edges of the stream’s segments are in yellow, a “convex hull” (just a polygon, really – computing this is a required intermediate step) containing all of the stream is in white, and the final bounding box – with a bit of padding – is in cyan. One thing to note is that every tenth segment is artificially widened; this is done so that the convex hull has less points in it, which speeds up the bounding box calculation.

For a slipstream that curves around a lot, this approach doesn’t help as much – the box gets a lot bigger and there’s a lot of empty space inside it, which means more unnecessary checks when entities are inside it but not inside the stream. As a further optimization, each stream is split into a bunch of subsections, each of which has a bounding box calculated for it – so, just imagine the same thing as in the screenshot above, but chained together following the shape of a longer stream. This hugs the shape of the stream closely, so we’re going to be able to rule out a lot of potential checks!

Sensor ghosts
And now, we’ve come around full circle – back to the sensor ghosts that started it all. There’s now, indeed, a type of ghost that leaves a slipstream behind – but instead of being the only means of producing slipstreams, it’s instead a supplement to the main slipstream network, to be used when it happens to be going in the right direction – and when the player is quick enough to be able to hitch a ride. There’s another type, that’s fairly similar but starts off stationary, and can be herded in a specific direction by the player – needless to say, very handy if you happen to find one.

As for other sensor ghosts, it’s the sort of thing where figuring things out (or not, as the case may be) is half the fun, and I don’t want to spoil it. Let’s just say that there are many different kinds, with tie-ins into exploration, combat, certain story elements, dire implications, and several non-obvious (and entirely, intentionally unexplained) interactions with some of the active abilities.

All in all, these additions should do a lot to liven up hyperspace – which it could really use. Almost more importantly, though, they should also strengthen other aspects of the game, because of the tie-ins with abilities and combat encounters.

In case you’re not coming to the blog from twitter, by the way, here’s what the slipstream animation looks like in action:

*If you click on the blog post link in the above tweet and get caught in an infinite loop re-reading this post, I will not be held responsible. I will however be amused.

Comment thread here.

 

Starsector 0.95.1a Release

$
0
0

Starsector version 0.95.1a is now out! This is a .1 release, meaning it’s focused on polish, bugfixing, and quality-of-life improvements – but more than the normal share of new features and sweeping changes have found their way into this one, as well!

  • Skill system changed for more flexible builds with more options
  • Several new game-changing top-tier skills, and other new skills
  • All skills can be re-specced, no more “permanent” skills
  • New ships: Eradicator-class Fast Cruiser, Manticore-class Destroyer, Vanguard-class Frigate
  • Missions show the mission target location prior being accepted
  • Dynamic slipstreams that enable quick and efficient travel in hyperspace
  • Sensor ghosts in hyperspace!
  • Improved early access to ships and weapons through arms dealers
  • Phase cloak changes to make phase ships easier to deal with if they’re outmatched
  • Ship AI improvements; ability to issue a “defend” order targeting a friendly ship
  • Various balance changes to improve variety
  • Modding improvements
  • Assorted bugfixing, polish, and numerous quality-of-life improvements

There are many more changes; the full patch notes, and the comment thread, are here. This new release should be save-compatible. Due to the skill system changes, skill points and story points invested into any elite skills will be refunded, and the skills will be reset when a save from the previous release is loaded.

You can download the new version here:

(Alternate download links, please try the above first: Windows Mac Linux)

As always, thank you for your support! I deeply appreciate it.

screenshot_release0951a

 

Writing Starsector 2: Westernesse Boondoggle

$
0
0

A couple weeks ago I mentioned that I was happy to answer random questions about my game dev practice (offer still stands!), and in the following discussion I said something about having cut a bunch of text from “the anarchist art collective” portion of the Starsector missions. There was at least one person interested in hearing more, so who am I to deny this request?

It turns out that getting to that anarchist art collective involves – for the purposes of context, of course – a meandering path through the entire process of writing narrative for Starsector. Therefore, my friends, that’s what we’re going to do today.

There will be spoilers in this post for content that was released in Starsector 0.95, the March of 2021 vintage. I won’t talk about any upcoming content ( … unless?). So if you haven’t done the so-called “main quest” of the game starting at the Galatia Academy, both myself and Hegemony COMSEC recommend you hold off on reading further.

My goal in this post is to give you guys a peek into my (and our) process for creating Starsector mission arcs, and in particular to the Westernesse/Fikenhild section of the “Finding Coureuse” mission – because, if I recall correctly, it’s where I first started writing the player-facing text of the Galatia/Gates mission arc.

That is also (currently) one of the most dialog-heavy sections of the game. It seems like most people love this stuff, though a few people do hate reading. For the latter (Why are you reading this post? Oh, never mind.): If ever you want to skip the reading in Starsector, just mash the “1” key; I try to write all dialog so that you can get through quickly by the more-or-less default route by choosing the first response in any dialog. Mashing through dialog is also helpful for testing content; I certainly don’t want to have to pay close attention as I re-test a sequence for the 20th time.

Terminology note: to orient our aesthetics correctly, we use the word “mission” instead of “quest”. A mission in Starsector is a specifically coded data structure – and a bit more – upon which a bunch of objectives, script triggers, and dialog hangs. A mission arc is a series of connected, contingent missions.

High Level Planning

It all starts with Alex and I chatting about what our goals are with the plot of the game. This used to involve extremely long emails but we’ve moved a lot of this to live chat. We’ll hash out some ideas, talk about what plot points or game mechanics a mission arc should hit, then take some time to write extended proposals in a Google doc, which we’ll then share and comment on.

The structure of these documents is pretty straightforward: started with a broad overview of goals, definition of terms, and logical structure of progress through the mission, then drill down into technical implementation notes and the full text of the written content required.

Here’s a look at the start of the Galatia Academy document:

Here we define terms, describe briefly how this piece of story/content fits into the context of the rest of the world of the Persean Section, and sprinkled throughout are notes about how we’re going to make it work with existing structures and content.

The highlighting is either highlighting or a signifier of additional comments inserted by Alex or myself. Sometimes these comments are useful, possibly more often they are silly.

Making Characters

I try to define the personalities of any new major characters involved at the top of the document in the definition of terms section so I can keep the plot focused on them, and plan for the art assets required. When these characters become finalized, as I start actually writing their dialog, I copy their entries into one giant “List of all Starsector Characters” document that I can refer to. This is my canonical reference for every single named character and their personality, allegiances, beliefs, relationships, and – perhaps most important – any data flags associated with player interactions with the character. For example, $haveMetGargoyle == true would allow the player character to mention Gargoyle to another character in some other context.

Here are the early drafts for a couple characters you may know from the Galatia Academy arc:

Alviss Sebestyen remained pretty much as initially conceived. And to his point: I do think it’s important not to do anything completely obvious in terms of characters. So if I ever write a major NPC as a tired archetype without giving some hint of undermining that idea, kick me.

Scylla Coureuse changed a lot during implementation. Her initial characterization got moved more onto Elissa Zal (who is lightly characterized indeed; more on that later), though I kept the “player fetches a weird food item during the story” idea.

… I suppose I should say something about coming up with characters.

Sometimes the character comes first because the setting demands a position be filled; the faction leaders for example, to both embody their faction’s archetype and the contradictions of their polity. Or I need someone to plausibly take part in a mission, or deliver a skill quote – these names all go into the List Of All Characters document which I can mine later in case I need someone to show up and do something that happens to be consistent with the characterization suggested by what little role they already play.

Other times, I need a character to play a role in the narrative. This necessity also provides a first step toward defining their personality and context in the world – you need someone who would plausibly do [what the plot needs]. But I can’t leave that uncomplicated (as a verb); the primary role a character plays needs some kind of contrast, or a seed of negation both to feel real and to give the character room to change, grow, or making plausible unexpected decisions.

For example: Coureuse has a lot of reasons to cooperate with Baird, but lots of reasons not to as well. To that point, I didn’t go into this planning for her to do a runner on Baird, but once I got to writing the end of At The Gates, it made complete sense for her to be motivated to escape from the Galatia Academy. This especially aligns with Elissa Zal’s parallel arc, which wasn’t even particularly planned – I just needed Zal to be a captive of Kanta because I thought it’d be fun to bring Kanta into the story. And then Doctor Cydonia got brought in because I drew a creepy doctor portrait and really wanted to use it, so why not stick him with Kanta. And what’s a creepy doctor for if not making the creation of life itself his plaything? So we get Clone Loke, which ties back into Kanta, and it all ties back into a bunch of other stuff I’d written as throwaway lines.

(And if I may indulge for a moment, I also rather like how Coureuse and Baird contrast as Science!-themed characters: Baird is the “visionary” who generally gets credit for huge breakthroughs because she plays the game of politics. But she’s not good enough on her own to make those breakthroughs happen, her head is in the politics, not the work- she needs Coureuse, and Coureuse is able to do what she does because she doesn’t know or care about the politicking. Coureuse is just a nerd who is intensely focused on her own area of expertise and wants to be left alone. Baird needs Coureuse, badly, and wants Coureuse to want what Baird wants. But she doesn’t. And that’s an interesting story to me!)

When you build a character with contradiction inside of them, and characters with contradictions between each other, they offer all sorts of interesting plot hooks!

Let’s jump back to high-level design before I get even more carried away.

High level mission arc structure & design goals

Here’s a high-level overview of all the missions involved in the so-called “Baird Arc” of the Galatia set:

COMSEC note: Certain elements have been REDACTED To Ensure Our Safety And Security.

A few observations:

  • You can see here an intent to roll new major characters in gradually rather than all at once. It’s important not to overload players with new names, better to let them get a feel for the personalities during the course of the gameplay, ideally through actions the characters take.
  • I’ve found that introducing specific, named characters even for minor roles is almost always a more successful move than generating a random one (eg. the Historian, though they’re only half-random; the administrator at Laicaille is another good example, and I might make them and their replacement into specific characters depending on if we decide to do more with the politics of Laicaille). Creating specific content, specific characters, is also in some ways less work because instead of having to script around random attributes I know for sure what their deal is – and their pronouns (the most commonly used string insert tokens used in dialog). Usually.
  • We obviously didn’t make this set of missions quite as nonlinear as anticipated. It was turning into a bit of a mess to code and getting the script right so everyone would say something both narratively and tonally appropriate at the right point in time.
  • The multiple solutions point can be difficult to aim for, but I did my best. Starsector has a limited number of “verbs”, and the most developed verb is “fight a fleet battle”. You kinda gotta work with the tools you have and within the terms of the game you’re making rather than pulling in weirdo mechanics that relate to nothing else going on. (… Unless?)

Here’s an example of an alternate path that we cut because it’d have added a lot of work:

You can see how it could have been an option; there was a character waiting on the sidelines to be used in just such a scheme. Maybe Caliban Tseen Ke and/or the tehcnological inspectors will show up in some future plot.

Random String Table Tangent

Just for fun, I’ll share this string table for the VIP student transport mission:

*slaps the hood of the string table* You can fit so much worldbuilding into the implications of just a couple words. I love this stuff!

Walls Of Text

This first GA Mission Arc document which I’ve been pulling shots from is 121 pages. At some point mid-planning I split the four major missions out from it because the doc was simply taking too long to load. The page count for the four mission design docs are as follows:

  • The Kallichore Archive: 30 pages
  • Finding Coureuse: 55 pages
  • Project Ziggurat: 65 pages
  • At The Gates: 87 pages

I should note, in addition to all the planning and implementation notes, I do write a full first draft of all in-game dialog in these docs.

Westernesse

Let’s get down into the nitty-gritty details of Finding Coureuse, then focus in on the Fikenhild “I love reading” branch of the mission arc.

In the “Finding Coureuse” design document there’s a carefully structured flow plan (…that Alex makes me write because it gets turned into the mission stages as defined in code):

The commentary in point two should speak for itself; I tried to make it fairly clear when Baird asks the player what approach they want to take to find Coureuse that they’d be taking the “talky” route. This idea came to me from, of all places, Indiana Jones and the Fate of Atlantis when you get an in-world dialog choice to how you want to proceed with your adventure- with your fists, with your companion, or figuring it out on your own.

My original plan for this section was way, way too complex. But I’ll get there in a moment.

The second point you might notice is that the involved characters on Fikenhild have a pattern to their naming: A, B, C, (character D got cut), E, F. I did this so I could keep them straight in my planning (despite somewhat breaking my “don’t introduce a zillion characters” rule; I did try to make up for it by making them distinct, at least).

Here’s the original list of characters:

Adonya changed personality and “Brione” lost an ‘r’, as well. Elissa changed personality and wasn’t even slated to be a woman, but I couldn’t find an “E” name that I liked better within the selection I was using, so I rolled with it.

The Original Text Adventure Plan

It was a fine summer day. I drank a ton of coffee, sat down with my laptop, and proceeded to pound out a complicated scheme:

This will act as a hub for three known contacts, A, B, and C. (There are also a couple unknown contacts – D and E – who will only be discovered once opened up by a known contact.) The idea here is to do a simple, small “old fashioned detective work” type mystery: use contradicting stories between initial contacts to confront one or more individuals to find out things they weren’t willing to tell upfront: two of these leads will open up hidden contacts D and E. You must talk to each of them to discover contradicting info, then confront the other to progress, ultimately getting the contact of an intel operative working for a major power who will agree to help you find Coureuse by sharing information. Dead-ends in this path will give flavour text about the world or Coureuse as an individual. To make it simple, I’ll make their first names start with the letter (A, B, C… )

A has a contradiction on B, B on C, C on A. B knows D, C knows E. D and E know something about each other. F is the end goal, the intel officer.

Yeah, um. I mean, this could be a game. It should not be this game, however.

Alex told me as much, and very kindly; something like “this might be a bit too much, maybe it should be simpler?”.

Still, you can see in the released game that a lot of the intentions here did make it in. Instead of making it a puzzle, I turned this section into a branching but linear path that ensures the player always ends up at some kind of useful conclusion that points them at the next stage of the mission. Even if it’s a Burn After Reading style mess of an intelligence operation, we have to keep the player moving forward!

When Boring People Make Interesting Worlds

This is a space opera, arguably “epic”. So why does the player meet Coureuse’s retired mother and some boring stuck-raising-children childhood friend?

In short: Contrast, pacing, and giving the world a sense of verisimilitude!

It’s the difference between early-season Game of Thrones which takes place in a world made up of people in a society and late-season Game of Thrones which involves the producers smashing cool action figures into each other while looking over their shoulder at the audience for approval. When characters don’t exist in a world that believes they’re real, they turn into weightless CGI and lot of noise which means nothing.

What makes the player’s accomplishments, and those of the major characters, mean anything in the aesthetic tone of Starsector? It’s being able to compare them with what normal people in the Persean Sector live with, those people just getting by and dealing with what they’re concerned about. Coureuse isn’t just a magic scientist (even if she is); she comes from a world of people who care about her. And if not who she is now, then at least who she was or who she had or has the potential to be or who she’s become now. Baird also “cares” about her from all of these angles, but in different ways from the supporting characters you meet here.


There isn’t a single, easy answer to anything in the story of Starsector and I’m not going to condescend to players by telling them one. It’s a process of thinking what if this, then but what if that… and that, and that.

At least that’s what I’m going for. Hopefully it’s working.

Cavin Pharoh’s Anarchist Art Collective

Finally we arrive at where I really started writing all of this: a character who thinks that the player of Starsector is an awful person.

(One might find it interesting to compare this intro with the one in the game proper.)

The aesthetics here are a mix of stuff I picked up from Vancouver’s Downtown Eastside, the cops being called on a party in a crappy art studio I was at near said Downtown Eastside, and the general vibe of anarchist infighting.

(In RL: The cops cuffed the guy who informed them that they had no right to enter a private party, milled around, then let him go and left. A cake-fight ensued.)

I like giving the player fun responses. It’s funny, makes the player feel clever, and anything beats playing the boring paladin. As per the first post on Starsector writing, I’m trying to let the player character be a kind of Han Solo type figure. Clever quips, cool moves, tricks up your sleeve, etc.

Here are the cut lines that pay off the joke responses:

I did have fun here coming up with what a couple of punks might call various authority figures in their world, and am sorry to have had to cut the lines. Such is necessity.

Part of the cuts was in fact due to trying to avoid swearing (“arse”) – which, yes, is a thing Starsector doesn’t do. Let’s get into that.

G-rated Drug Trading & Terror Bombing

Here are a couple cut segments from Cavin’s dialog:

I mean, if you’re a dirt-sider living on a water world, how are you going to make fun of Spacers? I kinda like the worldbuilding, but (after another nudge from Alex), I realized that including this sort of stuff was threatening to skew the tone off from what we’d already built.

Profanity, as an aesthetic, can feel naturalistic when used well. It can also feel like try-hard edgelord posturing when used indelicately. It’s also indelibly connected to world-building because the way in which a culture swears says a lot about its values. Or anti-values. I’m currently living in Quebec and traditional Quebecois profanity is an amazing selection of corrupted Catholic terminology. The way some guy swearing on the street tells you so much about what forces created the francophone culture of Quebec.

Along those lines, I think in the context of Starsector avoiding profanity feels less like a restriction than an opportunity for worldbuilding. What does this culture abhor, or consider taboo? On the other hand, scifi cursing can often land with a thud if it doesn’t hit the poetry of profanity. For example I’m not sure that “frak” quite works as a swear-word, but if nothing else it did become a classic signifier of its setting.

One doesn’t even have to swear, of course. Just have someone say how angry they are with their words. Properly wielded words can be venom even without profanity. It’s a fun writing challenge! For instance, if you try to buy Cavin off:

(This is also a self call-out over slight overuse of bribery as a game mechanic. Some people have principles, you know. And it’s fun to load some abuse onto the player for being a powergamer. I’ll also admit here taking inspiration from the one line about adventurers in Perdido Street Station.)

Implementation

Then I need to take that text and put it into the infamous Rules.csv.

This is how dialog is scripted for Starsector. Yes, a giant spreadsheet. Click the image to view at full, glorious size!

You might think this is a horrible way to visualize dialog, but to me it’s like the Matrix. All I see is dialog hub, response conditions, setting memory flags… or, er. You know.

But it really does give me all the information I need at a glance, and once you get used to the workflow it can be very fast to implement new and complicated structures. Much more than, for instance, some kind of node graph. (Which is my argument against visual programming as well. It’s neato, probably good to learn with, but to me it feels inefficient when I don’t see what the code is actually doing.)

In the above, for example, there’s normal text which fires when the player goes to talk to Cavin. But before it properly starts, there is a condition that fires off a small dialog with Finlay Siyavong, the intelligence officer spying on Cavin, if you’ve done certain actions when talking to the previous Coureuse associates. This aside returns to the main flow of the conversation once it’s complete, and will enable a new dialog option with Cavin wherein you tell him that he’s being spied on.

 

Deep breath, standing back. We do all of that for everything.

 

And we’ve got a good lot more of it to do before the end. I said I wouldn’t say anything about upcoming narrative, so I won’t. But I have more and more fun with the dialog scripting every time I make a new piece of content (like that new thing in the 0.95.1 release; you know the one) and it’s super rewarding to see people experience it.

Hope you enjoyed a look into the design and writing process of Starsector!

Comment thread here.


Uniquifying the Factions, Part 1

$
0
0

(First off: “uniquifying” is a real word! It doesn’t quite fit how I’m using it here, perhaps – more strictly, it’s about removing duplicates – but it’s close enough.)

With that important note out of the way: some factions in the game have a stronger identity than others. If you’ve played the game at least a bit, you have a pretty fair idea of what to expect of a Hegemony fleet, for example – large chunks of metal with a lot of firepower. In contrast, something like the Luddic Church is more muzzy. It’s got the same kinds of ships as the Hegemony, more or less, but they also tend to mount converted hangars with Perdition-class bomber wings, and some numbers – officer quality, ship quality, the exact mix of ship types – are adjusted. The two factions are different, but it’s not the kind of different that easily sticks in your mind – without checking, I couldn’t tell you exactly how those numbers differ, for example.

So, some factions are more unique than others; this isn’t necessarily a problem – in fact, it’ll be the case no matter what, to some degree – but it would still be very nice if each faction was memorable.

The reason for the current situation is that ships are generally divided into three “tech levels” (low tech, midline, and high tech), none strictly better than the others, and each with their own look and overall tactical approach. The intent is to have the factions use a mix of these – ships from different tech levels can support each other well, and each tech level doesn’t necessarily include the full breadth of ship types. On the flipside, it makes sense for certain factions to – not too rigidly – constrain themselves to a specific tech level or type of ship, for doctrinal reasons. These are the factions that currently have the strongest identity.

Thus, tech levels are demonstrably a good way to accomplish this, a good tool in our arsenal – but it can’t be the only one – there are many more factions than there are tech levels!

I’m mostly talking about faction identity as expressed by their fleets, by the way – what they look like at a glance in the campaign, and what they feel like to to fight against. There is another aspect here – what it feels like to visit a given faction’s space, and whether there’s a reason for you to want to do that – and I’ll touch on that a bit later, too.

So, what we’re looking for is ways to make fighting a faction (or fighting alongside them!) more memorable. One key way to do that is adding new capital ships – even if a faction has a less distinct mix of smaller ships, the capital ship(s) will be easy to remember and will personify the faction.

Another option is giving a faction access to a unique set of weapons – even if you’re fighting the same ships, if what they’re firing at you has a particular feel to it, that’s likely something that you’ll remember, too. We’re going to use all three approaches – tech levels, new capital ships, and weapons – to make all of the factions more memorable.

(And since weapons are part of this picture, we can also making certain factions’ worlds a reliable place to get specific weapons. This makes improvements on two separate fronts a once – if you know that Hegemony space is where you can get elite ballistic weapons, then you both 1) want to go there when you need those, which contributes to faction identity, and 2) actually have a reliable place to get these, without having to tour the whole Sector, hoping for the RNG to come up your way.)

The Hegemony

“The Hegemony is a martial successor state to the Domain formed by a “lost legion” trapped in a backwater system by the collapse of the Domain gate network. Built upon a creative interpretation of protocols which indefinitely extends Domain-style martial law, the founders of the Hegemony believed that the overriding cause of restoring the Domain and therefore stability, peace, and prosperity to the Sector and indeed the entire galaxy must come before certain niceties of human rights.”

The Hegemony is a good example of a faction that was in good shape to start with, as far as having an identity goes – a focus on low-tech ships, some special ship skins with its colors, an exclusive battleship (the Onslaught). We can still make some improvements, though. In particular:

  • Exclusive (at least among the major factions) access to the Legion-class battlecarrier, in addition to the Onslaught
  • A focus on elite ballistic weapons – needlers, railguns, gauss cannons, and so on
  • Customized ship loadouts built to take better advantage of the available hardware
  • Some standardization of officer skills – namely, all Hegemony officers get Ballistic Mastery and Ordnance Expertise as their first two skills

There’s also a bit of a wrinkle here where the Hegemony’s frigate-sized ships are more rag-tag, including some militarized auxiliaries (and the Condor-class converted carrier), but for the larger ship classes, everything is more streamlined.

Fighting a Hegemony fleet – especially a larger one – feels more distinct, in particular due to the better weapons and the range bonus from the Ballistic Mastery skill, which lets the ships support each other more easily. It’s a little like taking on a coordinated phalanx, with individual members dropping back for a breather as needed, and the overall high quality of the weapons Hegemony ships contributes to how it feels to fight against them.

Luddic Church (of Galactic Redemption, and so on)

“Inspired by the martyrdom of a figure known as ‘Ludd’ during the fall of the Domain, the Church of Galactic Redemption is a hierarchical church with highly syncretic dogma formed from a core of Abrahamic texts and apocrypha along with Domain-era reaction against perceived corruption, depravity, hedonism, and transhuman abomination. The Church offers a vision of life lived more simply, of agrarian virtue and humanistic values and prayer against the violence and technological alienation that’s torn the Sector apart in the years since the Fall.”

As before, and like the Hegemony, the Church is going to be using mostly low-tech ships – but a number of things will be different to make sure it stands out.

First of all, the weapons the Church has access to are low-grade (but also cheap in terms of ordnance points, not necessarily just “worse”). So the best they have access to are things like the Arbalest Autocannon, the Hellbore, the Mark IX – in contrast with the also-mostly-low-tech Hegemony, which has access to elite ballistics. The Church also places a heavy emphasis on the improvised Hammer-class torpedo – both on its ships, and through its use of the Perdition Torpedo Bombers, which it still often mounts in Converted Hangars on non-carrier vessels. And, they get a large version of the budget Pilum LRM – the “Pilum Catapult” – a large missile slot option that’s in keeping with the low-grade weapon theme.

In addition, the set of ships the Church uses is – while still being low-tech – is largely different from the Hegemony. This is most pronounced on the high end, with it getting two new capital ships.

Invictus-class Dreadnought
We already have a low-tech battleship – the Onslaught – so this has to be substantially different. And, although ostensibly the Church has access to this ship just because it’s somehow managed to secure access to its blueprint (tithed by an idiosyncratic antique collector, perhaps?), thematically we’d like for it to be a good fit, keeping in mind their relatively anti-technological stance.

So: it’ll be low-tech’s low tech, a design old enough to be considered antiquated, with features that hint at the beginnings of what’s considered standard in the more “modern” ships, and weaknesses that explain why the design is now antiquated. The design is inspired by real-world dreadnoughts – it’s fun to operate within design constraints like “all large guns”, and there’s a nice parallel here with those also becoming obsolete in real life.

Where to start, with this one! I think it’ll be easiest to just walk through the process, instead of just going to where it ended up, since the design came together along the way rather than being clear from the beginning.

Core Design
So: the starting point was, “what if a really large battleship with no shields and all large ballistic mounts?” A ship like that is going to have trouble trading fire and will get its weapons disabled, though, so – it needs a built-in hullmod to make the weapons more resilient; “Distributed Fire Control”.

Unless this ship has a mobility system (which the Onslaught already has, so I wanted to stay away from that), it needs to have very long weapon range – it’s slow and it has no shields, so it’d be a sitting duck to anything that outranges it. Just giving high base bonuses to weapon range, though… I suppose it could work! There are potential problems with it being able to, say, kite stations (or slower battleships), but mainly I wanted the ship to feel outdated, and “its targeting systems are so good they’re better than the more modern stuff” doesn’t fit.

I also wanted to have a nod to the fire control/rangefinding capabilities real-life dreadnoughts generally had, which inspired the ship system, “Lidar Array”, and that’s where the Invictus would get its range bonuses.

I knew I wanted a specific visual for when the Lidar Array is active – using a bunch of targeting lasers that blink on and off before the ship unleashes a torrent of fire.

That just sounds cool, right? But the details get really thorny here. Where do the beams come from? What are they aimed at? If the beams come from existing weapons, and those weapons are turning – long range beams that sweep around too quickly look… not great. And it’s also not a coherent indicator of just where the dreadnought is about to make a really, really, really bad idea to be. And if you fire the beams at a “target” then the dreadnought could just decide to fire elsewhere. You can’t have the range bonus just be vs a specific target, either; there’s no concept of that in-game – either a weapon has longer range, no matter at what it aims, or it doesn’t.

This was a problem for turreted weapons, but hardpoints don’t have the same problem – they’ll stay pointed in the same direction as the ship, so we can have the targeting lasers be a clear visual signal that there’s a lot of fire coming in that direction – and only in that direction – soon. So: the dreadnought gets a “main battery” of four large hardpoints… and that only seems appropriate, really.

What to do about the turrets, though? One possibility would be to not boost their range. I prefer shutting them down entirely while the system is active, though (wouldn’t do to have the vibrations from their fire throwing off the targeting calculations, etc), because it makes the system feel less refined. Yes, the ship can fire at a very long range sometimes – but it’s a rough-around-the-edges technology, and that has a cost.

The actual bonuses of Lidar Array are:

  • +100% weapon range when active
  • +200% rate of fire (so, triple), and reduced recoil (in-fiction, it’s not the lidar array providing these bonuses, but rather the ship being set up to periodically boost the performance of its main battery, to take best advantage of the attack window offered by the array)
  • +50% projectile speed
  • +25% weapon range when passive

In addition, the ship can’t install the standard Dedicated Targeting Core or Integrated Targeting Unit (both hullmods that provide a passive weapon range boost, and are used by most ships) – they’re incompatible with its built-in Distributed Fire Control – so the Lidar Array range bonus is all it gets.

One nice effect of this is that while the system is active, the ship is really dangerous – but its enemies also get a breather while the system is on cooldown, so e.g. you couldn’t just wear down a heavily shielded battleship while keeping out of its range – its shields would have a chance to recover in between your barrages.

Just for fun, the targeting lasers are fired from a bunch of lidar dishes that spin around while the system is passive but rotate to point forward when it’s activated. Incidentally, the targeting lasers deal damage! “Light them up so hard it’ll peel the paint on their hull” is more than an expression around here.

That takes care of the core concept, but the design wasn’t quite done. The lidar array was interesting, but the ship felt one-dimensional both to pilot and to design a loadout for – just, put on the main guns of your choice, and… that’s about it, really.

Accoutrements
To spice things up, I added a pair of side-facing large missile slots. (Maybe taking a few liberties with the all-big-guns concept, but at least these are still large slots.) That felt a lot better – just having to decide which missiles to equip in support of the main battery, and when to fire them, makes it a lot more engaging.

Taking it one step further, though – Converted Hangar would be fun here, but a single wing of fighters just wouldn’t be meaningful for a ship this powerful. Thus: the ship also gets a “Vast Hangar” built-in hullmod. A dreadnought surely needs one, after all, for all the small craft required to support its logistics profile. The in-game effect of the hullmod is to make Converted Hangar provide two fighter bays instead of one, and to also eliminate all of the fighter penalties it normally gives, including increasing their cost.

With this, there are some interesting choices when it comes to outfitting the ship. Do you go for top-tier guns, and the flux stats to fire them? What tier of missiles, if any, do you want? How about a pair of bomber wings?

We have lots of good options competing for the same ordnance points – but with so many large ballistic slots (10 if them, in fact), the ship needs so many ordnance points that neither the missiles nor the fighters are all *that* expensive in comparison. To make the choice more pronounced, the ship gets another built-in hullmod, one already present on other ships – Heavy Ballistic Integration. It reduces the ordnance point cost of large ballistic weapons, allowing us to reduce the total OP the ship has, and making the choice of what to go for much more of a tradeoff.

Defenses
The defenses of the Invictus also needed some special treatment, though it  wasn’t quite as involved.

Giving it Canister Flak as a right-click system – instead of shields – was an easy decision. It gives it just that much more survivability against torpedoes and such, and makes putting something other than point-defense weapons into its turrets a little more viable.

It’d be tempting to just give it an absurd amount of armor. That’s just so thematic for a dreadnought, right? … and that’s just what I did – a whopping 10,000 points of it. For comparison, the most heavily armored ship in the game up to this point had less than 2,000.

However! Fighting a ship with that much armor is a slog, because so few weapons have the per-shot damage to do more than the minimum. Thus: the ship gets an Ablative Armor hullmod, which reduces its armor strength by 90%, just for the purposes of the armor-damage-reduction calculation. This means that a wide array of weapons are able to deal reasonable damage to it, but the armor still provides a respectable amount of directional protection.

Downsides
What makes the Invictus antiquated, oddly enough, is much the same thing that did it to real-life dreadnoughts – for all the flak it can bring to bear, it’s still vulnerable to fighters and especially to bombs and torpedoes. Its logistics profile is also impressive – it requires a minimum 4000 crew, and when that’s coupled with how vulnerable it can be…

Still, it’s something that makes sense for the Church to field – with relatively relaxed training standards, they have easier access to sufficient personnel than something like the Hegemony would, and the ship is a highly capable fleet anchor and a lot of its weaknesses can be mitigated with the right support around it.

AI Considerations
Because of the lidar array being so central to how it works, the ship plays differently enough that a few AI tweaks were required to help it along.

The ship system AI is separate from the main ship control AI and largely operates independently from it, communicating with it through a system of “flags” when need be. This is very useful – it lets us have separate AI modules for each ship-system, instead of having to somehow integrate them directly into the main AI (which would be messy, before you even consider that mods can add new ship systems and write custom AI for them – which makes it outright unworkable). A loose connection between these AI modules (via the “flags”) seems like the best approach.

However, it also means that the different modules might make conflicting decisions sometimes. For example, the lidar array AI might decide to activate it, while the “main” AI decides that it’s a good time to turn the ship away its current target and attack a different ship. Since there’s such a clear visual signal when the array is activated, having the ship just swing away looks wrong.

The solution was to add a flag that forces the ship to (mostly) stick with its current target while the system is active. This might not work well for a smaller ship – restricting the main AI’s ability to maneuver could lead to trouble – but the Invictus is slow enough that this isn’t really a problem, and when you’re watching it in action, it feels “right” for it to stay on target – it makes sense that it’s something it’d do, even if maybe tactically it might’ve been slightly better to disengage a little earlier.

The other problem is the AI being initially unaware of the range-boosting nature of the system. That being the case, it would try to close into its unboosted weapon range and get into more trouble than it needed to. The solution here was another flag, this one telling the main AI to treat the ship as having longer weapon range.  Basically, it’s not even going to try to slug it out at close range – it’s slow enough that it likely couldn’t get there, and most of its firepower comes when lidar array is turned on, anyway.

It’s worth nothing that adding flags like this is not a good general-purpose solution for a lot of cases! As you can probably tell from the above, they are very binary and without a lot of nuance in their application. “Stick to the target” and “always assume the range is X units higher” – not the most tactically flexible sets of instructions, and in many cases, it could lead to worse ship performance. In the case of the Invictus, however, everything lines up to make these work out.

Retribution-class Battlecruiser
With the Invictus, the Church now has a battleship. I suppose we could leave it there – along with the other changes, it’d be more than enough to make it feel unique. But battlecruisers are so much fun – they make for excellent player flagships, as ships that combine good firepower and good mobility (and poor defenses) tend to – and we don’t have a low-tech one. An opportunity!

(A “battlecruiser” is basically a battleship with stripped down defenses. It keeps as much of a battleship’s firepower as possible, while trading off its defenses for increased mobility. It can’t slug it out with a proper battleship, but what it can do is much more easily bring that firepower to bear where it makes the most impact.)

One reason that there isn’t already a low-tech battlecruiser is that it’s not immediately obvious how to design one. The “feel” of a lot of low-tech ships is “relatively slow, and heavily armored” – and if we take that as the defining feature of the tech level, then how do we make a battlecruiser with those qualities? We really just don’t.

Stepping back, though, I think we can look at it in another (and more correct!) way – and that is, how would the designers of the low tech ships, given what they had to work with, come up with a design that fit the mission profile of a battlecruiser? Low-tech ships clearly can be fast – just look at the Hound. And an engine that can move something the size of the Invictus could surely make something less massive move at a reasonable pace.

The overall design process wasn’t as tricky as it was for the Invictus, so I’ll just jump straight to how the ship turned out.

First off, lots of firepower! Mostly ballistic, with some missile support. That’s a given. Second, pretty fast just on its own, and with a mobility ship system (also almost a given for a battlecruiser; more on the actual system in a bit).

Defenses-wise, light armor – it’s basically just a bunch of guns and engines strapped together, none of that bulky plating to slow it down! And a very shield – inefficient, with a very narrow arc. Still better than nothing, though, and at least it’s omni-directional.

I wanted the ship to be cheap to deploy and operate, so it needs to have some kind of downside – otherwise, it can use its mobility to too-easily negate its defensive deficiencies – and I also wanted it to keep its firepower.

Thus: it has the same “Distributed Fire Control” built-in hullmod as the Invictus. This serves two purposes: it keeps the range of its weapons relatively short, so it has to close in to do its work, and it also increases its effective firepower – despite the ship’s light defenses, its weapons are hard to knock offline. You could imagine isolated weapon citadels, operating on local control and emergency power, while the ship gets beaten to scrap around them!

It serves another purpose, as well – it traces the ship’s lineage to the Invictus, and signals that it is also an old and perhaps antiquated design. Not as old – it does have shields after all, if poor ones – but even so.

Orion Device
(If you haven’t read about real-life Project Orion, I highly recommend it. I’ll wait. … super cool, right?)

I’ll just paste the in-game description of the ship system here, since it covers the basics nicely:

Deploys a shaped antimatter charge behind the ship. The explosion applies force to a massive push-plate, which absorbs the shock and spreads the resulting acceleration over a timeframe where it can be handled by the ship’s inertial compensators. The ship is briefly propelled forward at a rate very few more “advanced” technologies can hope to match.

There is an actual little bomb that comes out, and the push plate is animated, of course! And, just for fun, the explosion does a number on any enemy fighters unfortunate enough to be nearby. (Well, it’s not fun for them.)

Functionally, this is actually very similar to the high-tech “Plasma Burn” system – just a better version of it, really. (Although, the direction you go in is affected by your location relative to the bomb, and how the ship turns will influence the impulse it gets, but it’s not the biggest deal.)

Still, sometimes an idea is just so neat that it’s worth it to put in some unique visuals and mechanics, even if something similar could be accomplished much more easily. A low-tech version of plasma burn – but better! – would just feel a little weird, right? But blowing up a bomb behind the ship to get it moving? Now, that is the low-tech way.

Fighting the Luddic Church
With all these changes and additions, how does it actually feel to fight the Luddic Church? That’s what actually matters here, and that’s the point of the changes – so, I spent a fair amount of time playtesting this, for every faction.

For the Church, the best way I can describe it is “a ball of stuff anchored around an Invictus,  that launches Hammer torpedoes at you – both from Perditions and otherwise – with alarming frequency”. I think it works! It feels quite different from the Hegemony (which feels like you’re fighting against something “cleaner” and more organized). And the dreadnought (or two) is definitely a centerpiece that you work around and slowly isolate.

In part two, I’ll cover the other factions; the Persean League is probably the one getting the most changes, though the Diktat has a few things coming, too, and I’ll touch on some changes to the other factions as well – stay tuned!

In case you’re not coming to the blog from twitter, by the way, here’s what Orion Device looks like when it’s activated:

 

Comment thread here.

 

Uniquifying the Factions, Part 2

$
0
0

Part 1 of this blog post series is here. Here in part 2, we’ll dive into making the remaining factions more memorable!

Persean League

“An alliance formed to counter Hegemony domination of the Sector. Members of the League don’t necessarily agree on all issues, domestic or otherwise, and may even come into armed conflict with one another. But the League is united when it comes to the Hegemony who they consider to be illegitimately enforcing martial law in the name of the Domain, a dead political entity. The League, by its laws, unites against other external threats such as particularly meddlesome megacorporations, warlords, and the Luddic Path.”

The League’s core identity is going to be that of using midline ships. However, because those are going to be sprinkled in throughout the other factions, the League will also have access to a brand-new missile weapon lineup: directed energy munitions, or, put more simply, missiles that fire lasers when they get close enough to their target. In addition, it’ll get a new battleship (to go along with the already-existing Conquest-class, which is a midline battlecruiser.)

There are a few other smaller changes and tweaks, all aimed towards making League fleets more unique, too:

  • (Near) exclusive access to the Monitor-class frigate – it’s an extremely hard nut to crack, which makes it a high-impact ship. So, despite being small, it’s something that’s easy to remember and gives fleets that have it a very distinct feel to fight against – and it can also form a nice front-line screen for missile ships behind it.
  • Access to only a limited set of ballistic weapons; for example the Heavy Autocannon is the League’s signature ballistic anti-shield weapon; it has no access to the more elite ballistics that the Hegemony goes, for example
  • Fighters – League fleets often have some fighter support, but with an exclusive doctrinal focus on interceptors rather than bombers

DEM Missiles
To make sure the distinctive feel of the missiles really comes across, the League will use these to the exclusion of all other missile weapons. This means that the set of new missile weapons needs to cover the major missile roles – but at the same time, we don’t want to add a lot of “same thing, just looks different” kinds of weapons. Some of that may happen, sure; occasionally it’s ok to make something new and shiny just for feel/coolness reasons. Ideally, though, these would fill their roles while also being mechanically different from other missiles in those same roles.

Gorgon DEM
This is a basic “finisher” type of missile. Compared to the Harpoon – its closest competitor among conventional missiles – it has shorter range, but is harder to stop with point-defense, because it doesn’t need to get all the way in to deal its damage. It also deals energy damage instead of high explosive, making it somewhat worse vs armor – but it has a slightly higher ammo count. It comes in small and medium sizes.

Gazer DEM
An anti-shield missile. Both it and the Sabot – the standard shield-breaker missile – operate from range, but the Gazer opens up from a much longer range – and, critically, the beam it fires lasts for a full ten seconds, creating a long window of opportunity, but dealing much less burst damage than the Sabot. It also comes in small and medium versions.

Dragonfire DEM Torpedo
The big damage dealer, firing its brief, high-powered beam from long range. It’s much harder to stop with point-defense than conventional torpedoes, but easier to shrug the damage off if the target’s shields are up. It’s also sort of an up-sized version of regular torpedoes – it has a medium and a large version, but the ammo counts are low, in the range that would be found conventional torpedoes one weapon slot size smaller. Overall: harder to stop, less shots.

Hydra MDEM
This one doesn’t have a ready equivalent among the other missiles. It fires a missile that splits into multiple warheads, which then bracket the target from both sides and fire relatively low-powered beams into it. Tougher targets can often shrug this damage off – especially since chances are, it’ll be hitting undamaged armor on the sides of the ship, rather than on its front – but smaller targets can get overwhelmed, making this a good choice for clearing out smaller combatants. It also has more ammo than usual, to give it some extended usefulness even against the tougher targets. This one only has a large-mount version.

Between all these, we have a missile lineup that covers all the bases.

IR Autolance
In addition to all these missiles, the League also gets a new medium energy weapon (though, a few other factions get access to it as well, if less prominently). One core design concern for midline ships is that they have all these energy slots, but do not have the flux stats to support the use of the heavier energy weapons. It’d be nice to expand the set of energy weapons that are broadly useful in medium energy slots on midline ships, and the IR Autolance is intended to be just that.

It’s a beam weapon with a new mechanic – the beam fires continuously, but uses up charges while it does so, making it a weapon that deals burst damage, with its sustained weapon being quite low – limited by the rate at which it regenerates its charges.

Its flux generation is extremely low, and it deals fragmentation damage, making it virtually useless against shields (in fact, when set on autofire, it’ll only fire a small fraction of its charges into shields), and poor against most armor. It can deal crippling hull damage, though, and wipes out most fighters easily. Its high range – the standard 1000 units for beam weapons – makes it especially effective at that job, as does its burst nature – enemy fighters usually come in waves, letting it regenerate charges.

And, finally, it costs fewer ordnance points than usual to mount, making it a budget choice with a specific niche. Compared to the Phase Lance – another medium energy weapon that’s good vs fighters – it’s better at that particular job, but does not compare at all in terms of anti-armor damage; it’s simply not suitable as the “main” armament for any sort of ship, while the Phase Lance is. The IR Autolance also deals considerably more burst damage to hull, making it a useful finisher in some specific tactical situations.

Pegasus-class Battleship
Now, we get to just about my favorite thing – designing new ships! There’ll be a bunch more of that in this post, so I hope you like this topic as much as I do.

Since this ship is specifically intended for the League, it makes sense that it should showcase the League’s unique weapons – so, it’ll be a missile-centric battleship. And, of course, it’ll be a midline ship, since that’s what the League is using.

The Conquest – a midline battlecruiser – already has heavy missile firepower (two large slots, two medium), so the Pegasus will need more than that. Let’s say four large missile slots; that’s a lot, but I wanted to see if it could work. Let’s throw in Fast Missile Racks – a quicker reload for missiles – as a ship system, too; going pretty much all-in on the missiles here, since that’s the ship’s main feature.

Aside from all the missiles, the ship has very poor flux stats, and a bunch of medium ballistic, energy, and hybrid slots – it has no access to large direct-fire weapons.

Since it’s a battleship, it needs to be able to hold up pretty well under fire, but since it’s a midline ship, that means its armor is average. Combined with its poor flux stats, this means it needs to have a very high shield efficiency, but fortunately we do have that balance lever, so it’s not a problem.

I spent a pretty good amount of time playtesting this ship, with the main concern being just how much four large missile slots – backed up by rapid-reload – could do. A few problems came up, but I think they more highlighted issues with some of the large missiles than a problem with the ship.

For example, the Squall MRLS fires a stream of kinetic missiles – the missiles are difficult to shoot down, it has lots of ammo, and each burst lasts for a long time. It’s designed to suppress shields and create a window of opportunity (much like the Gazer DEM, in that sense), but each individual missile packs enough punch that it can do appreciable damage vs armor, too. With a smaller number of mounts, it’s not a big deal – but combine four of these, and eliminate the cooldown, and it overwhelms the shields of any enemy, and eventually pounds them into scrap.

The solution was an adjustment to how the Squall works – each missile now has a “resonator” warhead that deals additional damage to shields (keeping the total anti-shield damage the same as before), but its base damage – which is what gets applied to armor/hull – is reduced. I think that leaves the Squall in a good place, regardless, since it doesn’t affect its performance in its main role, but if it turned out to be too weak, it could be, for example, made less expensive to install. Overall, I think it’s a positive change for the missile, giving it a better-defined niche, and it took some stress-testing outside the hitherto-normal parameters to identify this.

Another potential problem would be just stacking an excessive number of high-damage, dumbfire torpedoes. For example, if you’re launching four Hammer Barrages at a time, there’s just not going to be any help for that being a bit on the ridiculous side damage-wise. To forestall this possibility entirely, two of the ship’s large missile launchers face just about backwards.

To recap, the League gets a solid identity as the primary “midline faction” – with a battleship and a battlecruiser that no other major faction has access to – and its uniqueness is further enhanced with a new missile lineup. And, League territory is now also a place for the player to reliably buy DEM missiles, along with a few other signature weapons.

Sindrian Diktat

“The Sindrian Diktat is a polity founded in a relatively recent Hegemony military intervention in the Askonia system led by Admiral Philip Andrada, formerly of the Hegemony Navy. Andrada’s Hegemony psych profile describes him as ‘intelligent, charismatic, yet prone to narcissistic excess’. In his words, the Diktat was ‘formed in the crucible of the Askonia Crisis and with it a new people: a race of humans with emboldened spirit and clarity of purpose; stronger, possessing the will and determination to overcome the divisions and petty parliamentary politics that bred only chaos when tested by the collapse of the Gate System.’ Considered by the Sector at large to be a military dictatorship.”

In plainer language, what we’ve got in the Diktat is a dictatorship run by The Lion of Sindria, Supreme Executor Philip Andrada – a megalomaniac who has established a cult of personality around himself. The relevant question for this blog post is, how is this reflected in the Diktat’s ships?

Being a dictator, he’s keen on the military. Being a former admiral, he fancies himself an expert on naval matters. Being a megalomaniac, no-one is going to tell him when something might possibly not be the best idea in the known universe. This combination has a predictably negative effect on the Diktat’s military.

The Diktat is special in that it has two different militaries – the “regulars”, and the more elite “Lion’s Guard”, charged with protecting Andrada. The latter gets more of his personal attention, with obvious results.

Midline ships feel right for the regulars; they’re generally grayish and bleak. The Lion’s Guard will get special versions of these, with the aesthetic being more “stark” than bleak; more on that later. Let’s say neither uses carriers – “the individualism commonly displayed by the so-called ‘fighter jocks’ has no place in a society united around completing the Supreme Executor’s Great Plan”, or something.

Unique Weapons
What sort of a megalomaniacal dictator wouldn’t have a top-secret weapons program? The challenge here is to make interesting and useful weapons that are at the same time terrible for the Diktat, to underscore the nature and effect of Andrada’s personal involvement in military affairs.

Or, rather, specifically terrible for the Diktat’s new capital ship (more on that in a bit), which is where they would see by far the most use, with access to these weapons being restricted only to elite of the elite.

Kinetic Blaster
This is a short range medium energy weapon much like the Heavy Blaster, but dealing “kinetic” – anti-shield – damage. It’s pretty great on high-tech ships that have the flux stats and the speed to use it well. On the Diktat’s midline ships, it’s wholly outclassed by the options offered by their ballistic  weapon slots.

“Long-range readings provided by HEGINT asset suggest weapon system integrates elements of SUPER ALABASTER technology to harness previously unutilized anti-shield effect. Native Askonian physics establishment, depleted post-Opis, not considered capable of such breakthrough [ref rep HEGINT/ASKON-M38-12]. Conclude: with near certainty, TT technical assistance to Sindrian Mutiny.”
                                      – classified report to the High Hegemon

Gigacannon
An unnecessarily long energy weapon, with an unnecessarily grandiose name, this one requires a large mount. It deals a huge amount of energy damage, but has a very low rate of fire. It’s actually quite efficient, but its range is on the low side. A high-tech ship could use it well – flux efficiency is a valuable stat, and it wouldn’t mind the range since it’s no worse than the range of its usual armaments.

“High-ranking naval officers on Ultradyne Askonia Combine board of directors rammed through large-scale AM projector weapon development despite objection of engineering lead. Project allegedly initiated at personal behest of so-called Executor [traitor Andrada]. HEGINT assets report test firing displays dramatic power output but weapon system integration projected to reduce enemy warfighting capability in fleet action due to doctrinal inefficacy. Recommend no sabotage operation.”
                                      – classified report to the High Hegemon

The Gigacannon might be a pretty decent weapon on, say, the Sunder-class destroyer. The Diktat’s capital ship is a slow battleship, though, and this weapon’s lack of range or sustained damage makes it nearly useless there. Speaking of:

Executor-class Battleship
The Diktat needs a capital ship, but both the midline capital ships are already used by the League. How would a dictatorship like this go about getting one, anyway? They’d probably steal the design from a likely neighbor – in this case, the League. So, let’s say they stole the design of the Pegasus, and applied some modifications to make it more suited for operations in the Askonia system. It’s named the Executor-class because of course it is, and it’s not named the Supreme Executor-class because there’s only one of those.

Naturally, the (one and only) Supreme Executor was personally involved in adapting the design, sharing his valuable insights. The battleship gets a built-in “Special Modifications” hullmod reflecting the Supreme Executor’s input:

During an inspection of an early prototype hull, the Supreme Executor was heard to comment unfavorably on the exposed conduits running along the passageways, and the danger these must pose to the brave, loyal crew of the vessel under combat conditions.

The new chief designer, with input from the Supreme Executor himself, has modified the blueprints to include blast-proof insulated paneling.

If the passages are a bit narrower and more difficult to navigate – and if the conduits are slightly more prone to overheating, and more difficult to access – then surely it is a small price to pay to protect the lives of the Supreme Executor’s most loyal servants.

In mechanical terms, it’s a d-mod – higher crew casualties, reduced flux dissipation, increased time to repair disabled weapons and engines. Nothing too drastic, though; the ship still works.

In addition, as we’ve gleaned from the weapons program, the Supreme Executor is a fan of energy weapons. Thus, two of the Pegasus’ large missile slots have been converted to mount energy weapons.

The Executor also gets built-in Solar Shielding – to facilitate operations in the corona of Askonia, which is a red super-giant. Alas, the maximum ordnance points of the hull are reduced by the cost of the hullmod, so it’s a slight reduction in flexibility rather than an improvement over the Pegasus.

Both the normal military and the Lion’s Guard get access to the Executor; the Lion’s Guard however are the only ones lucky enough to also have full access to the fruits of the weapons program. Their elite Executor variant is loaded for bear – with a pair of Gigacannons, and a quartet of Kinetic Blasters. On the firing range, its performance is exceptional. In actual combat, it’s lucky to even fire any of these.

The normal Diktat military Executor has a more sensible loadout, with a pair of long-range High Intensity Lasers and reasonable support weapons. Despite some downsides, it can be a capable ship, if it’s outfitted by someone with a firmer grasp on reality.

Lion’s Guard
In addition to the elite loadout for the Executor, the Lion’s Guard also gets access to equally-elite versions of all of the regulars’ midline ships. They have a similar “stark” look and sport the Diktat’s colors. All of these “benefit” from the built-in “Special Modifications” hullmod, as well as built-in-at-cost Solar Shielding. Unlike the Executor, these don’t get access to the special weapons.

The officers of the guard are selected for loyalty and doctrinal purity over all other considerations. The guard hasn’t been involved in a major war since the Diktat’s founding, and anti-piracy actions are generally beneath them – the kind of dirty work best left to the regulars.

All in all, they’re very much a parade-ground army – arguably, their primary function is boosting the Supreme Executors ego and image. It’s certainly the function they’re optimized for, at any rate.

Tri-Tachyon

“The most powerful megacorporation in the Sector after the fall of the Domain gate system, Tri-Tachyon specialized in cutting-edge AI development (including several notable cases of violating the Domain ban on autonomous alpha+ level AI) and exotic high-power devices (starship engines and warp drives, power generators, energy converters, forcefields). Since the Collapse, Tri-Tachyon has vastly diversified its operations and insinuated itself throughout the Sector. Even hostile factions, paranoid of hardwired backdoors, find themselves forced to employ standard Tri-Tachyon devices, beginning with the ubiquitous Tri-Tachyon PDA.”

The quintessential high-tech faction, plus phase ships. For capital ships, it gets the three existing high-tech ones – the Paragon, the Odyssey, and the Astral-class carrier. In the current release, there’s an even split between warships, phase ships, and carriers – instead of that, it’ll be a split between warships and phase ships (leaning more towards phase ships), with carriers/fighters only coming into play when the fleet gets an Astral.

Tri-Tachyon already had a strong identity, so there’s not too much to talk about – this is just leaning into it a little more, giving their capital ships more opportunity to shine. Weapons and fighters-wise, they have a good range of options available, including the most elite ones.

[REDACTED]
Also known as the Remnants – automated AI-controlled ships, built by Tri-Tachyon and left over on the fringes of the Sector after the wars between the Hegemony and Tri-Tachyon, fought over the use of AI. I usually try to avoid talking too much about these because of spoilers, but I’m sorely tempted to here, just because some of the new stuff they get is so cool. I’ll compromise by keeping things a bit vague and going light on the screenshots!

The Remnants have a lineup made up of ships unique to their faction, so making them more distinct is not a concern. Instead, changes and additions here are about expanding their lineup to both make them more varied opponent to fight, and to add some more option for the player that goes with the “Automated Ships” skill and can add these to their fleet.

Nova-class Drone Battlecruiser
A battlecruiser is a natural ship to add to the lineup – they already have a battleship, the Radiant-class, and another capital ship will have high-impact as far as increasing variety.

Given that it’s a battlecruiser, it should generally speaking get a mobility-focused ship system, since mobility is a ship class-defining feature. And Remnant ships are high tech, and uncrewed, so it makes sense that they would be able to both produce and handle extremely high acceleration.

So! It it gets a new ship system, “Nova Burst” – what’s more high-tech than using lasers to generate a miniature nova behind the ship, containing and directing its force to propel the ship forward at an acceleration no meat-bag could hope to survive?

This is, of course, a variation on the Orion Device ship system from the previous post, but it moves the ship both much more quickly and much farther per activation – and has a much more limited number of charges that regenerate more slowly. It’s a system that lets the ship get in close to an enemy, but doesn’t help much with getting away.

The ship is designed to generate a lot of frontal firepower, at the expense of being vulnerable to being flanked, and to fighters. It’s capable of jumping on an exposed target and delivering an overwhelming alpha strike, but it also needs to be used with care so that doing this doesn’t leave it vulnerable to a counter-blow.

Apex-class Heavy Droneship
Until now, the Remnants had only one cruiser – the Brilliant – so this definitely a good place to add some variety. I really like the idea of having a larger ship with a bunch of Terminator Drones, and the Terminator Sequence ship system – that turns these drones into highly damaging, guided missiles. (Incidentally, doing this involved making some AI improvements, both in how it uses this system and how well aware it is of the danger posed by it.)

However, using Termination Sequence means no mobility system – and on a ship armed with energy weapons, which have a lower range than ballistic ones, this can be a problem. Anything faster would just tear it apart, and it would have a hard time closing to energy weapon range. This is, for example, why the Paragon-class battleship has the built-in “Advanced Targeting Core” hullmod – it’s a slow ship, and this means it needs long-range weapons not to be outclassed.

Initially, I’d experimented with just having a bunch of hybrid weapon mounts on the Apex, letting it mount ballistic weapons. In practice, though, that just turned into “put a bunch of the longest-ranged kinetic (i.e. anti-shield) ballistics in there” being the clear-best build, especially since the ship has an endless supply of drone-missiles capable of dealing with armor.

So, instead: it gets a new built-in hullmod, the “Energy Bolt Coherer”, which increases the base range of non-beam energy weapons, basically bringing them up to the ballistic range band. Alongside that change, the ship’s main battery is changed to the “synergy” slot type, meaning it can mount energy or missile weapons.

Usually a synergy slot would get missiles in it – especially on a slower ship. Flux-free damage, with potentially longer range, is just too good to pass up. However, with the Coherer increasing the value of energy weapons, and with the availability of drone-missiles reducing the value of additional missile weapons a bit, this should leave the ship with more viable and varied loadouts. Plus, having longer range on energy weapons should let them get more use in some unusual situations – say, applying long-range shield pressure with a battery of Pulse Lasers, or suppressive fire with Ion Pulsers – and that’ll be fun to see.

The Brilliant – the other cruiser – loses its fighter bay (so that not every Remnant cruiser is about drones or fighters in some way), but gets Plasma Burn (a mobility system) to help differentiate it more strongly from the Apex.

Pirates and the Luddic Path
Neither of these are factions that need much help in the “has a personality” department – both sport a bunch of custom modifications of regular ships. Still, for the sake of fun, variety, and so on – I’ve added two new versions of the Venture-class cruiser. The stock version is basically a half-civilian ship, themed around planetary surveys and exploration, and is pretty much a brick in combat.

Venture (P)-class
Pirates are all about making questionable decisions vis a vis putting ever-larger weapons on hulls that were never meant for that. In the case of the Venture, an enterprising pirate ship surgeon (not, like, one from an advanced medical establishment – think the kind with a bonesaw) has decided to replace the mining drone bay with a rear-facing large missile slot.

To prevent the ship from having too much missile-based firepower – which would be a balance issue, especially if these were massed – I changed the medium missile slots to mount ballistic weapons instead.

Venture (LP)-class
The Luddic Path version of the Venture is unique in that it doesn’t have built-in Safety Overrides – the Pather engineers involved had bigger dreams.  Instead, the drone bays are replaced with a crude version of the Orion Device. Is it a good idea in terms of having a well-rounded ship that fits well into some kind of fleet doctrine? Certainly not. On the other hand, it makes a big boom and goes really, really fast.

Independents

“Not a unified faction as such, the Independents are a loose category of polities and free agents unified more by a lack of association with a major faction than any shared qualities.”

So, not a faction per se, and certainly with nothing like a shared military doctrine. There’s no need for them to have a capital ship, let alone a faction-specific one – in fact, I’m not even sure there are any large-enough independent fleets in the game that would use them. Some of the larger patrols might, perhaps. Fortunately, “a mix of all sorts of tech levels, cruiser sized and smaller” turns out to be a pretty distinct faction identity when all of the other factions exercise a lot of restraint about mixing different tech levels so freely.

I should note that some independent-flagged fleets you see in-game actually use different ships and weapons lists, not the ones from this independent faction. For example, high-end mercenary fleets use a separate “Mercenary” faction to determine what ships end up in them, and that faction has access to most capital ships from all the other factions, all of the elite weapons, and so on.

And, if you’re not coming here from Twitter – here’s a shot of the Nova-class Drone Battlecruiser in action:

With that, back to work on other things!

Comment thread here.

 

The Pilgrim’s Path

$
0
0

So you’ve already heard the Good News? Blessed are you in the eyes of Ludd, already and truly. Do you count yourself among the Faithful, or has a sense of spiritual longing brought you to this shrine? Perhaps you’ve visited Beholder Station before? Have you contemplated the clouds of Kumari Aru, that sacred cradle of xenolife, which may be observed from the inner shrine? Many pilgrims speak of feeling a spark of the divine when contemplating the multitudes of Creation…

This is a sort-of a part 3 in the faction series but with more of a David-style focus, that is, on the writing, world-building, and implementation of a new set of missions, though I admit that the word “quest” in this case might have the right feel.

(I would carry on Alex’s blog title series but I simply can’t bring myself to write the word “uniquifying” more than this once. It’s just, *shudder*, one of those words.)

ALL HE EVER GIVES US IS PAIN

All of which is to say: I’m going to be writing about some new content for Starsector which involve the various Luddic factions: the Church, the Knights, and a touch of the Path. In particular, this is a new mission which involves visiting a series of Luddic shrines, having some encounters along the way, and taking a stance on Luddism in general.

There will be spoilers herein, but worry not, Citizen! There’s no SUPER ALABASTER REDACTED to bring the fury of COMSEC down upon us. That said, if you want everything to be a surprise, then you won’t want to read this post. But if you’d like a peek into the design and creation of some of the introductory content for the Luddic factions, then read on. We’ll start with some general background, design, and process discussion then actually show off new content as the last section. You’ll get another warning before that starts up.

Let us begin in the beginning, with first principles that flow from the essential question: What the heck is Luddism?

MUSINGS ON THE PHILOSOPHICAL BASIS OF LUDDISM

Working assumptions:

  • They’re called the “Cult of Ludd”
  • They don’t like technology
  • They’re religious?

And that’s about what I started with based on Ivaylo’s original drafting of the Starsector setting. I suppose I could have pushed to rewrite “The Cult of Ludd” entirely into something else, but from a gameplay standpoint we do need some baddies to shoot, and past that I do think there’s a really interesting and relevant idea in the faction(s) which can serve to turn a critical mirror toward this scifi setting.

So what are these people even about? In writing the Pilgrim’s Path, I had to figure out how to provide more answers to these questions than I have previously. Speaking of, I do have a very old document from perhaps a decade ago where I wrote out my thoughts on the background of all the factions.

I’ll quote a section from the “Cult of Ludd”:

In extremely broad terms: The Luddic Faith is a bit like early Christianity. A more conservative & hierarchical church structure is forming (The Church of Galactic Redemption), though it’s doctrine still has (many) conflicts to be resolved. The church has a militaristic arm (The Knights of Ludd) which, from a certain point of view, is at odds with the prophet Ludd’s generally anti-militaristic message but is terrifically practical. Militant extremist elements exist outside of control of the Church hierarchy and their values do not mesh well with contemporary Sector society (such as it is), to put it lightly.

And from the next section “Who is Ludd?”:

A revolutionary/spiritual figure with an impressive and divisive legacy. Active in the cycles leading up to the fall of the Gate system, gave a message that was somewhat apocalyptic / of need for humanity to reform, to turn away from the excesses of the Domain. All sorts of things have been attributed to Ludd and if half of them are true then Ludd would have been at once a nihilistic megalomaniacal cult-leader and a saint who brought a wave of spiritual reform that swept away the detritus of millennia of cruelty and corruption.

So that’s all been roughly doctrinally consistent since the start. Good jobs all around.

*nervously eyes a cadre of power-armoured Knight-Inquisitors*

I should take this moment to make an important point: Luddics are not Luddites. Obviously they’re inspired by Luddites, the historic workers’ movement in industrializing England (that smashed machinery because their livelihood was being destroyed rather than any nonsense about fearing technology), and by the broader term “luddites” as used pejoratively against those who are fearful, ignorant, or critical of technology. But I try to make it very clear through the use of a unique (albeit related) terminology that they’re their own thing which exists in their own science fictional context.

My thinking is that, like the most common usage of the term “luddite”, this group got called “luddites” as a term of disparagement — then they adopted the term and wore it with pride in an act of reappropriation. This happens all the time in history, so why not here? It’s on-the-nose, but sometimes the names people call other groups of people are on-the-nose.

WORLDLY MATTERS

In one world, this mission would see the player following an exclamation mark. Once arrived, they’d keyboard smash through some dialog and check an item off the list ’til all the checkmarks are collected and the XP rewarded.

… And indeed, we live in that world! You can do that if you like! (Remember: just smash that “1” key through all dialog options and you’ll get to the end eventually.)

But if this set of missions was simply about visiting a place and checking it off the list that’d be super boring. Even worse, I would be disappointed with myself for creating something as boring as that when I had an opportunity to be extremely weird and a little intense instead!

For inspiration I look, as ever, to the bizarre masterpiece of game worldbuilding that is Morrowind.

Now there’s a game that makes learning about religion interesting! (Allegedly assisted by certain chemical influences that would turn a contraband inspection patrol officer red, if the stories are true. I salute the devotion of those developers to their craft!) Morrowind speaks for itself, maybe, so I won’t try to describe it. I would want to take some imperatives from that game, however, to do with taking its own expression of a world seriously and being devoted to carrying it through as intensely and weirdly as need be.

Anyway, my drug of choice is mostly coffee.

Back to Luddism: no religion is a monolith of belief. Keeping doctrinal purity, particularly over interstellar distance and across borders, is like building a tower out of dry sand. It’s a constant effort to pull outliers back into line, and meanwhile all sorts of people keep finding all sorts of ways of relating to and interpreting the tenets of the Luddic faith.

Shrines give us a way to show this: each shrine is on a different world with its own problems, factions, and people, and themes. The shrine of Jangala, for instance, involves some conflict between the secular Hegemony authorities and the Luddic faithful’s relationship (such as it is) with the native xenolife. These all build on existing elements within the game world while providing them with another set of viewpoints/commentary – and, naturally, opportunities for the player to get involved and cause a bit of trouble.

(Or make some friends? I don’t know. Sebestyen was a big hit with certain players; I didn’t quite expect that.)

Let’s do the deep-dive on one shrine visit which is more or less completed to show what I mean.

[This is definitely spoiler territory! This is your warning to avert your eyes lest ye see unwanted revelations!]

THE SHRINE OF HESPERUS

The Pilgrim’s Path mission is initiated after the player visits one of the public Luddic shrines then expresses to the local Curate Sacraria, the shrine’s head priest, an interest in visiting the others. This interest can be secular, religious, or even cynical (which may become important later). Also, most shrines are not accessible until the player makes it an explicit goal to visit them.

(Alex did kindly implement a nice feature where you can run into pilgrimage fleets. If you talk to them, they will tell you what they’re up to. And yes, if you blow these fleets up, it’ll make the Knights really unhappy with you.)

Hesperus, for instance, is a world closely controlled by those Knights of Ludd. They are somewhat suspicious of outsiders, especially outsiders like the player.

Let’s visit the shrine.

Here we go.

Only to discover that one does not simply shuttle into Hesperus.

The Hesperus shrine was a bit of a last minute thought on my part. Originally, a different planet was going to get a shrine, but then I realized that we needed an opportunity to introduce the Knights of Ludd to the player who is getting interesting in Luddic faction business, and what a great opportunity this would be!

Up until now, the Knights of Ludd have not received much in the way of development. They’ve just been described at a high level as a monastic order of future knights-militant, vaguely involved in some historical battles, and not much else in terms of the campaign.

Let’s meet the Excubitor!

(Portrait art is in-progress, by the way.)

And, naturally, for this encounter the Knights are an antagonist. Why? Because they’re sticklers for rules, for self discipline, for restraint, for acting piously. Basically nothing like the average player.

Let’s see if we can’t work something out…

Of course not, he’s a Knight! They don’t do things the easy way. The whole notion annoys them. Indeed, most things in particular annoy Excubitor Orbis Gideon Oak.

He’s going to make me wait – so at least there’s still a door open. (His reactions, by the way, are based on your reputation. If you’re actually liked by the Knights already, somehow, this goes more easily.)

Still, maybe you don’t want to wait a symbolic seven days while the Excubitor says condescending things at you. Clever players may find a way around this little bureaucratic delay; maybe do something sneaky, maybe find someone who is much more broad-minded about the use of below-the-board currency transfers to smooth business along. I’ll leave it to you to find out.

You can also play it straight and do your best to be good and follow the rules. The Knights probably like that stuff, and if you’re role-playing a captain who is trying to take this whole Luddic faith thing seriously, then that’s an option.

Let’s say you get through it somehow and jump to the next section.

This is placeholder shrine art, by the way. Alex was like, “You’re going to do an illustration for this, right?” And I’m like, “Oh. Uh. I… yes? Yes, I definitely expected to have to illustrate this when I decided to churn out some purple description of a huge pile of intricate 40k leftovers.”

I should mention also, Alex did give me a fun new display option for some of the planetary approach dialogs: a “ShowLargePlanet” command that really emphasizes the planet during dialog. He also provided a “HideVisual” command that hides all images and shows just the dim campaign background alongside the dialog. Using these and other tricks at appropriate times is subtle, but I’ve been surprised to find that it significantly affects the mood of dialog as you’re playing through it.

(Portrait art in-progress, etc.)

Then we meet this kid.

Let me talk for a moment about process. Going into writing this shrine, this is about the full extent of my planning notes:

It’s still mostly accurate, but obviously introducing another new character in the shrine wasn’t part of the plan.

Most of the other shrines were largely written out beforehand, actually. See, I had a week in March when I was working off my laptop so I just wrote lots of Starsector content and otherwise tried to avoid having to do art on a small screen. But, you know how it goes, no plan survives contact with the enemy. The enemy, in this case, being my desire to do weird stuff when I feel like it’d be fun.

To implement these encounters I start at the beginning and start writing. When I reach a point where the player can give their own responses, I try to come up with a handful of natural-feeling replies, then I see where they lead. Sometimes they lead to strange places that take a lot of effort to implement; sometimes this gets out of hand and I trim that branch out. Sometimes I don’t (often because Alex is like “No, we have to do it!”).

To my own mind, it’s a bit like running a D&D game and imagining players going through then trying to respond to their choices, then seeing where that leads. Except it’s all in my head, and I’m trying to imagine you playing through it. Anyway, I’ve written about this before; it’s fun. Let me focus on those dialog responses though.

For this mission in particular, I set things up to track the way the player expresses their attitude toward the Luddic faith in general through the replies they choose in dialog. I’m trying to get a feel for what role the player is trying to position themselves as, and it’s more than “I want them Luddics to like me” vs “I want the Luddics to hate me”. I want to know if the player is acting like they want to be a part of the Church, whether they truly believe, or whether their attitude is more cynical. Or maybe they want to respect the Luddics but don’t believe in the religion. Or they believe in the religion but think Brother Cotton and the Luddic Path really has the right way of it…

Basically, my goal is that by the end of the Pilgrim’s Path mission I (or if you like, the game) have an idea of how the player’s character relates to the Luddic faith. From there, we can do some interesting stuff with factions which, sadly?, to not fall within the scope of this blog post.

Now where were we?

The kid. Right.

The thought that erupted into my mind at this point in writing the dialog was that I needed to have another reflection of who the Knights were. You’ve already met Gideon Oak, and like his namesake, his position on all matters before him is hardened and unyielding. Where did someone like that come from? Could they make different choices, come to different conclusions?

What if we let the player have a talk with an impressionable young Knight-Initiate who is, while aggressive about their adopted cause, a bit confused about what they actually want? (And what trouble could this lead to?)

It’s not a long conversation, but once I realized that these questions were begging to be expressed, I had to go for it. And, sigh, write another intercharacter conversation with a whole tree of options and a custom character portrait and so on.

I’m not going to show you where this conversation goes because you’ll have to play the game and make your own choices to find out.


For each and every shrine, like I’ve shown here, I’ve tried to find an angle on Luddism to explore how people in-universe relate to their faith, and then try to give the player a way to react to that.

(You do, also, check off a list of shrines and get experience for visiting them. This is, after all, a game. It’s funny, though; moving the exact line where this feedback is given, where it says “Gained X experience”, can completely undermine the mood set by the writing by having the game’s gamification burst in at the wrong moment. Which is why, incidentally, cheevos are a terrible invention.)

Honestly, this has been a difficult set of dialogs to write, but also very rewarding once they get to a place I’m happy with. I think I’ve done a reasonable job of taking the setting seriously, being true to the weirdness that results, and giving players something interesting to do with their time while exploring this space.

And I’ve got a lot more to write before it’s over.

Comment thread here.

Hostile Activity

$
0
0

One of the design goals for the campaign layer of the game is that it should present the player with opportunities for combat. This doesn’t mean that everything you do in the campaign has to lead to it, but it’s a good thing to always keep in mind, regardless – how does a feature of a mechanic give context (and meaning) to combat, or lead into it directly?

If you’ve been following the game, this is something you’ve probably read before. So, in brief: this post is going to talk about some aspects of how establishing colonies leads the player towards combat. This already happens in the currently-released version of the game, and the changes I’ll talk about here are about three things: cleaning up some of the rough edges of the current approach, creating a system that makes it easy to add a variety of encounters, and building some infrastructure that can be used for other purposes, in particular implementing the endgame.

Current approach
One basic way in which colonies lead to combat is that they attract piracy. You get some smaller pirate fleets just hanging around the system, that you might encounter them when you’re visiting the colony. Occasionally you get bigger pirate raids, which you generally need to defend your colony from. There are also nearby pirate bases – which add a “pirate activity” penalty to some of your colonies’ key stats – that need to be cleaned out periodically.

This is fine, conceptually, but in practice the smaller fleets don’t actually matter all that much – you don’t have much incentive to clean them up, either positive or negative. The larger raids are unpredictable, and it’s difficult to tune their frequency so that there’s “enough” of them – and enough nearby pirate bases – but that it doesn’t also leave the player feeling like they’re playing whack-a-mole.

This also doesn’t help any if we wanted to add a new type of hostile fleet the player might need to deal with in shepherding their colonies towards success. In fact, that can be a little difficult, because we have to consider the combination of all of these various types of activity, so adding a new one might mean turning down the frequency of some of the existing ones. It’d be nice to have a more unified way of handling various types of hostile activity.

Capital-E “Events”
For this, we need a new concept; let’s call it an “Event”. The rough idea is that we have something that progresses through stages, with various factors affecting the rate of progress, and things happen when various stages are reached. (Some of the inspiration for this comes from “event tracks” for various board games, and seeing something similar in Heretic Operative – which is basically a board game in computer form, and which I unreservedly recommend.)

This might not sound like a great fit for keeping track of hostile activity around the player’s colonies. Initially, I wasn’t thinking of doing it this way – the “Event” concept was still there, but intended for other things.

Take one
My initial approach was to handle “hostile activity” as just a regular type of intel item, tracked separately for each star system the player has colonies in. Here’s an older, work-in-progress screenshot of what that looked like:

The problem is, this gets to be a lot to ask of the player to keep track of, once they get up to several star systems. (Never mind some extreme case where the player uses AI cores to colonize half the Sector – I’m not too worried about that case, but also, it’d be nice if things didn’t break down completely when that happens, either.)

There’s also a more subtle… not “problem”, exactly, but let’s call it a “concern”. This – hostile activity – is something the player needs to interact with. What happens when they destroy a hostile fleet? What about, say, if they build a military base? With the initial approach, this meant adding a “suppression” mechanic (which you can see in the screenshot), which works – but it’s something that other potential interactions may or may not slot neatly into. In fact, just trying to figure out how to make it work with military bases was a pain – you want enough suppression that it matters, not so much that it trivializes the fight or encourages building all of your stuff in the same system with many bases, etc.

To put it another way, every interaction you want to factor into this becomes its own special case. Which isn’t always a bad thing, but on average is going to mean fewer types of interactions, and a bit more potential awkwardness in cases where they need to be shoehorned in a little too much.

Using an Event, after all
So, this “per star system intel item” hostile activity approach worked, and factored in the things it needed to, but didn’t feel right. Since I was, at the same time, thinking through the “Event” system, it was natural to consider if that’d be a better fit. My initial thought was to use an Event instead of each of these intel items (and, to be clear, Events are also intel items, just handled a little differently, with more UI space and some specifics about how they work).

The reason for doing one-item-per-system is because we want to track the types of hostile activity per system. For example, if one colony is using a bunch of AI cores, it’d make sense for there to be more Luddic Path activity in that system, not in all of your systems. More importantly than it making sense (hah) is that it’s also more interesting – if you go to different systems, you get more of a variety of what types of enemies you encounter.

But, one item per star system is just too much – this is far from the only thing the player needs to keep an eye on, so it just feels impossible to justify. In retrospect, the solution seems obvious: only have one Event, but keep track of the types of hostile activity separately for each star system within that Event. Overall event progress can still be shared in common (with some nods to colony individuality there, too), and we can use the same intel item to show a breakdown of what’s going on in each star system under your control.

This is probably starting to get a little vague, so let’s dive into some specifics!

Factors and causes
Hostile activity has a bunch of different “factors” – these represent different types of activity – pirates, Pathers, etc. Each “factor” can have multiple “causes”, so if there are multiple different reasons for why pirates are interested in a colony (there’s a pirate base nearby, the colony is unstable, the pirate queen Kanta is unhappy with you – perhaps it’s all those times you’ve pretended to be working for her to get out of trouble, hmm), you’ll get more and bigger pirate fleets there. Factors and causes are tracked per star system.

The factors also contribute a total value to “event progress”, regardless of which system they’re in. The event stages track increasing levels of impact on your colonies – from “low impact”, where only a small fraction of your colonies – the worst-hit ones – are affected in a small way, to “extreme impact” where all of your colonies suffer heftier penalties. So, over time, if left unchecked, the Hostile Activity event will progress through these stages.

Outcomes
In addition to stages, there are a couple of randomized outcomes along the way. Pretty early on, there’ll be a small pirate raid on one of your colonies; this will only happen once. (It’s also possible that something else might happen instead of that, when/if more types of hostile activity are added, though currently “pirate raid” is the only possibility.)

There’s also a major randomized outcome when event progress fills up all the way. What that outcome actually is gets determined some months ahead of time, when event progress crosses a specific threshold. Currently, the possible outcomes are either an act of Pather sabotage, or a large pirate raid. This outcome is repeatable – once it happens, event progress drops back a fair amount (representing a lull in hostilities after matters come to a head), and if the event progresses up to that threshold again, a new outcome will be rolled.

The important thing here is that the player gets ample warning about when something bad is going to happen, as opposed to events like this being completely random. Another important aspect is that the player can take various actions to avert these outcomes. Also, since event progress is abstracted into “points”, either gained over time or applied as a result of one-off actions, it’s easy to tie anything we want into the system and have it instantly matter. The goal is to give the player many different options in how to handle these, and to shape the way the game plays to their own preferences.

Player choices
So, what choices does the player have? The first one is to… just ignore hostile activity. The colony impact is only mildly painful, and even pirate raids aren’t that bad if they succeed – it’ll knock a colony back for a few months, result in some lost income, but there’s some compensation from the “lull” coming afterwards. Or the player can elect to just deal with the raid/other outcomes, but let hostile activity run its course otherwise.

The other option is to fight the symptoms. You can build a military base to slow event progress, and there’s a further event stage – at around the halfway mark – where “increased defenses” further slow event progress. In addition – most importantly – destroying enemy ships in or near your systems will push back event progress. If it’s pushed back far enough, this can cause outcomes like the pirate raid to be averted. The player could choose to do a bit of this to keep things in check, or devote more of their energy to it, keeping event progress – and thus its impact on colony operations – right around zero.

And, finally, the third option is to address the causes. (Almost) every cause has some kind of resolution – usually one with a narrative flavor, so that the player can tell themselves a fun story about how they dealt with that aspect of the problem. In a way, the Hostile Activity event is almost a hub of missions the player can do, with the description of each cause hinting at how it might be resolved. A few examples – while trying not to spoil anything – would be, say, making a deal with the Station King of a nearby pirate base, reducing your dependency on AI cores – or some way to reach an understanding with the Pathers, and so on. This is a particularly significant aspect of this approach – there’s a lot of content here (including some one-off special ship modifications, but, spoilers!), and the potential to add more.

A combination of these three approaches (or two, if we don’t count “just ignore the problem” as an approach, though to me it certainly is one!) should let the player find something that suits their preferences. Basically, a lot of this is about letting the player tell the game what they want. Do they want to fight a bunch of fleets in their systems? Perfect, just don’t address the causes – you’ll get stuff to fight, but you’ll mitigate the effects on your colonies. Do you want to not have to worry about it? Build up a military base, resolve the causes, and you’re good. Want to fight some large pirate expeditions? Ignore the problem for long enough, and you’ll get your wish.

Extensions and interactions
In addition, the system is set up to make it easy to add different types of hostile activity, to add more variety to the encounters. Right now it’s just pirates and Pathers (though, you’ll see larger Pather fleets than you would before, sometimes). Another idea I’ve been considering (not implemented yet, please don’t hold me to it if it doesn’t pan out for whatever reason) would be Tri-Tachyon-sanctioned commerce raiding. One could think up some plausible excuses for getting other faction fleets tied in, too. But more importantly, the system allows for the flexibility of “X happened, and there’s a new type of hostile fleet that you’ll encounter in one (or more) of your systems, until you resolve the cause”. In other words, this can be dynamic – the outcome of other missions or Events – not something that’s more or less fixed.

To encourage the “fight the symptoms” approach, the Commerce industry adds a semi-permanent bounty to all of your systems, once the impact gets high enough – posted by the independent commercial interests that are operating in your systems. This both makes Commerce a more interesting pick (and, working on a few other things in that direction, but mum’s the word) and shows how other mechanics can tie into this system.

And, finally, this is groundwork for implementing the endgame – I think one can easily see how “an event that progresses through stages, with lots of factors affecting the progress” will be useful for representing more momentous happenings.

 

Comment thread here.

 

Hyperspace Topography

$
0
0

I’m not sure where to start with this, exactly, because this is something that pulls together a bunch of different systems, using the “Event” infrastructure (introduced in the previous blog post) to tie it all together. So, let’s just start… in HYPERSPACE!

Primarily, this is a system that interacts with slipstreams. In brief, those are temporary passages in hyperspace that can make travel much, much faster and enormously more fuel-efficient. One of the problems, though, is that it can be a little hard to plan for – there are some general indicators of where they are and where they might take you (i.e. the direction they travel in is seasonal, you can use the Neutrino Detector ability to find them, and so on), but I think for a lot of players, that doesn’t quite add up to being “enough” to make slipstreams as useful as I’d like them to be.

The second goal here is to tie colonies into it. Making different industries and structures you build have some gameplay meaning aside from just influencing colony stats is sort of an on-going backburner project. (See, for example, Commerce adding an independent bounty to your system, from the previous blog post.) In addition, I’d like various mechanics to encourage the player to spread their colonies around, making their location matter more than finding the “ideal” system with mutually-supporting military bases.  (See: hostile activity changes, in the same previous blog post, adjusting some of the related incentives.)

With all of this in mind, let’s dive into the details, and hopefully it’ll be clear how everything connects up!

There’s a Hyperspace Topography “event” – basically, the player does stuff, a progress bar fills up, and different effects are unlocked along the way. Unlike the Hostile Activity event, all of the factors here are one-offs for something the player did, there aren’t any monthly contributing factors. Let’s start with the effects.

Slipstream navigation
This one is pretty quick to unlock, and reduces fuel use while in a slipstream by a further 50%. It’s a useful early bonus, even before you have colonies.

Slipstream detection
This is the big one – Spaceports constructed at your colonies will reveal nearby slipstreams on the map. Constructing a few sensor arrays nearby will increase the detection radius, as will colony growth. This both gives a Spaceport a neat in-game effect (not that it *needed* one – you’re always going to build one at a colony, but it’s still nice to have that).

This also makes the location of the colony matter more; you’re naturally encouraged to spread them out a bit to get a better view of the slipstream network. And, there’s a bit of a “explore the surroundings and build up the area you’ve colonized” feel to it from the sensor array bonus.

Hyperfield optimization
The last major effect, this grants a flat +3 maximum burn while in hyperspace. Not slipstream-related, but in the same “things that make travel through hyperspace easier” vein.

Topographic data
And, finally, when you get to the end of the progress bar, you get a “topographic data” item that you can sell for a reasonable but not excessive profit. Once you get the item, the bar is reset to slightly above the points required for “hyperfield optimization”, and you get another data chip when the bar is filled up again, etc.

The point of this is so that doing things that move event progress forward still has some value and doesn’t just feel pointless once all of the effects are unlocked. The data is not valuable enough that you’d really feel forced to prioritize doing these things, so hopefully it won’t bend play patterns much.

Factors
So, what can the player actually do to move this along? There are a bunch of assorted things (finding data in derelicts, using an Active Sensor Burst at interesting locations – such as near a black hole – and so on).

One of the core ones is using a sensor array to “emit a neutrino burst into hyperspace”. This 1) requires a bunch of Volatiles, 2) gives you progress points for the event, and 3) reveals nearby slipstreams. The action can’t be quickly repeated in the same area, so it’s not something you can e.g. just grab a bunch of Volatiles and farm up.

You can also talk to a scavenger to get this data, with a similar effect – the result is weaker (less reveal range, and fewer points), but it costs credits instead of volatiles and is generally cheaper.

And, finally, you get more topographic data for time spent traveling very quickly (i.e. at a burn level above 20) in hyperspace.

Skill?
Taking a step back, this “hyperspace topography” is similar to a different take on skills. It’s closer to, say, the way the Elder Scrolls games approach skills – a progress bar (in one form or another), that goes up as the player does stuff.

This is a bit of a warning sign – that sort of skill system can encourage interesting player behaviors such as standing in a fire, jumping up and down, and casting healing spells on yourself to level a whole bunch of things up at once.

I think we should be mostly safe, though, because the factors are not easily grindable, so – aside from going through slipstreams really fast – there isn’t much the player can do to repeat an action that gives them event progress. And all of these ultimately take up resources – fuel, supplies, and so on – so something like a “let’s visit all the black holes and other interesting space phenomena” tour would be expensive. You’d be better off doing other things along the way, at which point it’s just something that’s spicing up the normal gameplay a bit.

Worst-case scenario, some of the factors turn out to be more grindable than I think they’ll be – but even then, this isn’t something where you need a long time to unlock the most meaningful bonuses. And once you’re in the stage where the only benefit is periodically getting a “topographic data” item, that’s not worth enough to specifically aim for.

Still, this is worth keeping in mind when looking at this sort of system, and events in general.

Why do it this way?
Another valid question/concern is why do this as an event? You could imagine a setup where Spaceport just has the reveal-slipstreams effect out of the box, and slipstream travel costs less fuel to begin with. You could still use sensor arrays to scan for nearby slipstreams, buy this info from scavengers, and so on. The “event” structure is not really required, and there is no definitive, clear-cut reason to do it this way.

However, there are some less-definitive ones! First off, it spices up exploration – when you find something neat and scan it, the game will acknowledge that. Second, it’s a good way to introduce and explain these mechanics. And, finally – this isn’t really a reason for you the player, but it’s a reason for me – it’s an opportunity to experiment with the event system and get a better feel for what it’s good for and how things that use it can shape up. And I don’t think doing it this way actually hurts anything – the one argument that I can see against it would be “clutter”, which, fair enough, but there’s really not much of it – a single intel item (importantly: one that doesn’t need periodic checking-on!), and occasional notifications when you do something and the event progresses. Overall I think it’s worth doing this way!

 

Comment thread here.

 

Viewing all 115 articles
Browse latest View live