The title of this post is deliberately misleading. It’s mostly about crew management and me, you see. Specifically, about how the current system came about – and what it is. But now that I’ve tricked you into reading, I hope you’ll stay with it – you won’t get those couple of seconds back anyway, so might as well keep going!
There are three main reasons to have crew in the game: to increase immersion, to add another avenue for advancement, and to introduce interesting resource management mechanics. In other words, having a tangible crew is neat, watching them go from raw recruits to seasoned veterans is rewarding, and having a say in how the crew is used to get the most out of them is engaging. The crew is far from being the main mode of advancement, though – the player also has their own skills, officers, ships, and weapons to upgrade – so it’d be a mistake to look at it solely from the player advancement angle.
However, figuring out just how to model the crew of your ships has been a difficult process. There are two components to the mechanics: advancement and assignment. Advancement is how the crew progresses through experience ranks. Is it linear, or can crewmen specialize in gunnery, piloting, and such? Assignment is just how the player matches up the crew to the ships they run – what amount of control they have over it, and exactly how it works.
Those components depend on each other a great deal. Suppose the player just has one ship – we don’t need to worry about assignment at all, then. Free from this concern, we could come up with an involved scheme for crew advancement – with individual crewmen progressing through the ranks all the way from raw recruit to master gunner or somesuch.
On the other hand, suppose the player has a large fleet. Do we really want them to worry about making sure the ISS Unlikely to Survive has the right number of gunners? If they’re losing a ship or two every battle – and with large fleets and battles, that’s quite likely – having to re-crew new ships afterward would quickly become a chore. What we need is to strike a balance – enough detail for immersion and sense of advancement, but not so much that the mechanics become a bother for large fleets. The mechanics should let the player make meaningful choices with a minimum of fuss – not make them perform rote actions over and over.
The crux of the problem for me was the need to assign crew to specific ships. I kept turning that over in my mind, and just couldn’t get around the awkwardness of having to manually do it. You’d have to handle it for new ships, for re-crewing ships after losses, and for switching crews around for key battles – to name just a few situations. It’d be a royal pain.
Not the Solution
An idea I had in mind for some time was to not model crew directly and instead keep track of the experience level for a given ship. That’s simple – the player doesn’t need to worry about manually assigning crews – but it falls short on immersion and mechanics. The crew gets so abstracted away it’s hard to have an emotional connection to them, and you can’t manipulate it in any way at all. Worse yet, it’s a bit of an immersion breaker – you can’t move experienced crew from one ship to another, even if it’s the same type – which is hard to explain away in-fiction. You can certainly try, but it goes something like this:
Game designer: “Well, you see, the ships all have unique quirks that the crew has to learn, and that knowledge doesn’t transfer over to another ship very well.”
Pesky player: “But they’re all made in an auto-factory from the same blueprint!”
Game designer: “Well, you see… hey, what’s that over there? <runs away>”
As with a lot of problems, I stumbled onto a much better solution while working on something unrelated (the fleet screen), and all the pieces fell into place.
The crew is now a tangible asset – on par with cargo, and managed through the same interface. Crewmen advance automatically through 4 experience levels – Green, Regular, Veteran, and Elite. After each battle, chances are you’ll lose some crew – and that some crew will also advance to the next level. Crew is assigned to ships automatically based on the order of the ships in the fleet screen (shown below), starting with the most experienced crew. Each ship has a “skeleton crew” capacity that must be filled for the ship to be ready for battle, and after it is, the next ship in line is crewed. After every battle, crew is reassigned to account for both ship and crew losses. All the player has to do is set a priority for which ships to crew with more experienced personnel by arranging the ships in the desired order, and the rest happens automatically.
You can see rank insignia in the screenshot indicating the experience level of each ship’s crew – and a “needs more crew” message when there isn’t enough crew to man the ship. The fleet screen is still a work-in-progress, by the way.
One downside is that managing crew assignments by rearranging the order of your ships isn’t very intuitive. Hopefully, seeing the most impressive-looking insignia at the top – and seeng the insignia change as ships are moved around – is enough to make it clear. All of the “needs more crew” messages always being at the end of the fleet roster should help, too.
Overall, I’m happy with this approach – it works equally well for different fleet sizes and humanizes the crew somewhat (you can actually see them in the cargo screen). The player also gets to take their crew from green to elite, and to see shiny icons (not to mention much-improved ship performance) as their reward. Most importantly, it gives the player some choices with an absolute minimum of work – once the choice is made, the system maintains itself in the face of losing and gaining ships and crew. No input from the player is needed until they make another decision.