Hi! This is Part 3 of me offering some insight into the development of my game, Sons of Sol: Crow’s Nest.
In Part 1 I explained my pitch “Asteroids meets Total War”.
Last week in Part 2 I talked about the games that are influencing the design of Crow’s Nest.
This week I want to talk about one particular design challenge I’m facing: Meaningful Character Death.
Crow’s Nest is a space combat game meets a strategy game. You fly missions like Wing Commander or X-Wing missions (but in 2D) and then go back to a strategy map like XCOM or Total War. I spoke last week about how I’m very fond of the attachment to your soldiers that XCOM can create for the player. It adds a real tension and a greater range of emotions for the player when a soldier dies or barely escapes.
I decided very early on that I wanted meaningful character death in my game. So I thought “fine, I’ll have you play as one character, and you have wingmen. Those characters can live or die or get captured by the enemy. After that they could stay captured or you could rescue them”.
That sounds reasonable enough, but there was something that I didn’t take into account. In my game’s battles, you control one character directly. You can give orders to your other wingmen but you have very little control over what they do beyond that. In XCOM, you’re the commander. You’re not on the field. You control every one of your soldiers individually, one at a time. You are responsible for everything that they do. Therefore, the consequences are yours alone to deal with. You can’t blame the game or the AI for making your beloved soldier do something stupid (usually) and getting themselves killed.
I only realised the full importance of this distinction when I watched the following interview. In it, Adam Sessler brings together Jake Solomon (lead designer on 2012’s XCOM: Enemy Unknown and 2016’s XCOM 2) and Julian Gollop, the designer of the original XCOM from 1994. The whole interview is very interesting, but if you don’t want to watch it all, skip to 12:32 and watch for about two minutes.
Jake Solomon made the point that without turn-based gameplay you can’t have meaningful character death. I saw this and I thought “oh crap! He’s completely right”! If the player isn’t directly accountable for the decision that led to a soldier dying, then they won’t feel survivor’s guilt, or the guilt of having ordered somebody to their death. They’ll probably feel nothing, or worse, they’ll blame the game for the consequence. If that happens, the system may as well not be in the game. As I said, I think it’s a very powerful feature of XCOM that I want to try and emulate insofar as possible, so I have a problem.
Now, I haven’t built the system into the game yet, so it hasn’t been play-tested, but I am at the design stage for it, and I’m left considering what I can do for the best results.
Poking a hole in that theory
If I’m to bother implementing meaningful character death into Crow’s Nest (a real-time game), I need Solomon and Gollop to be (at least somewhat) incorrect. They’re far better game designers than me, so maybe it’s not possible, but if I could poke a breathing hole in the design-bag they’ve placed over my head, then I might be okay.
My starting point for designing around the problem is this: We know that we can develop strong emotional ties to fictional characters. This is why we can cry when Bambi’s mother dies or celebrate when Luke blows up the Death Star. Empathy is real, even if the character isn’t. Game of Thrones in particular proves that the unpredictability of death can have a great impact on fans and really raise the tension.
Real-life battles happen in real time (obviously, hence the word “real”), and while the commander’s soldiers will have been trained, they operate of their own volition. A commander doesn’t control them with their mind, or decide whether they run left around a barrel instead of right. But the tension they feel at ordering their troops into danger is no less real for the lack of direct control.
Perhaps, then, you don’t need total control over your units in a game in order to feel something for them. They are your team mates, after all, whether they’re AI or not. Maybe it’s possible to bring the emotions of XCOM to a real-time game, then. Maybe meaningful character death for Crow’s Nest is possible.
XCOM lets you make an awful lot of decisions, and it gives you the time to make them so that you’ll feel (if it goes wrong) that you didn’t think the problem through well-enough. You’ll feel that it was your fault!
If XCOM shows us a formula for meaningful character death, then, it might look like this:
Quantity of player decisions + Time to make them = Meaningful Character Death
Time to make them
Let’s look at this part first. A real-time game doesn’t really offer you time, typically. But it can! Many RPGs will let you paused the action to give orders and then resume it to see them play out in real time. There’s an option! The problem with this is that is interrupts the action, and in Crow’s Nest, if you spend too long paused, you might forget that you were literally a half a second away from smashing into an asteroid before you paused.
So how about a compromise? The Bureau: XCOM Declassified (2013) was a real-time cover-based third-person shooter that tried to implement meaningful character death. It utterly failed because it was so story-driven that the main character (you) couldn’t die. If you did, you just went back to a checkpoint. Your squad mates could die, permanently, but if they did you could just get yourself killed, reload the checkpoint to before they were hit, and everybody’s happy again. That’s what they did wrong.
What they did right was their ‘pause’ system. Like the RPG system I mentioned, you could pause the action and issue orders, but it wasn’t really paused. Time was still moving, albeit very slowly. You had more time to make decisions, but the tension remained as you saw an enemy moving (very slowly) to flank your sniper and you tried to decide whether to order your him to move back or to take a headshot on the enemy before it was too late! That’s one way I could buy the player the “time” part of the formula.
I could just acknowledge that in real time you have to make quick decisions and just live with that, however, this will then allow the player to make far less decisions in the same amount of (game) time and so the formula is less healthy looking.
Quantity of Player Decisions
There’s a lot that I could do to give the player more decisions. In the combat demo I have currently available (see video above) there’s a lot that will be changed. In this demo you have infinite fuel, infinite (bullet) ammo, and recharging health. The enemies also come in equal waves each time.
First off, I intend that when you encounter the first enemies of a battle, they’ll call reinforcements, who’ll take a certain amount of time to get there, but who will be stronger that the first group. Think of it as a wave system, but where you don’t have to beat one to spawn the next one. It’s a truer reinforcement system. You want to deal with one problem before the next arrives.
Of course, different mission types could have different rules and spies might disable enemy communications, etc, but imagine that some missions as they go on get harder and harder, to the point that waves will spawn that you couldn’t possibly beat. This is one option that opens a lot of doors.
This set up would force you to chose to flee at some point. That choice alone means that if you or your allies die, you know you stayed one wave too long.
If I then make ammo, fuel, and health limited, then you have to choose if you and each of your wingmen have enough of those three resources left to take on the next set of reinforcements, or just run whenever you get the chance. That’s at least three choices that you make for each of three (or more) craft, every couple of minutes. That’s a lot of opportunity for the player to start blaming themselves if something goes wrong.
Other decisions would have been made before the battle. Do you take the more experienced pilots or train up rookies? Do you arm missiles, or save the weight to make the craft more agile? Did you invest in an armour upgrade last month or did that money go to set up a spy drone in an asteroid field where you suspect the enemy to be?
I could go on, but you can see that quantity of decisions shouldn’t be a problem, even in a real-time game.
The Real Trick; AI
Assuming we can get the formula balanced correctly, the whole thing hinges on whether or not the player will accept that, if a wing mate dies, the fault lay with their decisions. According to Gollop and Solomon, the player would blame the AI. I think that the more you stack decisions and input from the player, within an interface that allows them to make decisions in good time, the greater the chance you have of the player accepting the consequences of those decisions and arriving at our goal of meaningful character death.
Balancing the AI is the key ingredient, and this is where so many games have failed in the past. I may well fail here, too, but I don’t plan to make meaningful character death my game’s only selling point, so it wouldn’t be a fatal failure.
Your wing mates have to be good enough that they can survive on their own for a while against reasonable odds, but they can’t be so good that you can just let them beat the whole mission for you.
In the demo at the moment, because the Arrow Fighters are harder to hit, turn faster, and have recharging health, they’re actually capable of taking all of the kills if you do nothing. There aren’t enough enemies on the map at once to stop them, usually. This is an unbalanced demo, however.
The AI will run if they’re damaged, usually saving their lives. They’ll call to you for help, and if you don’t give it, the enemy might just catch up and kill your ally. This is already more intelligent behaviour than many games would bother giving to computer-controlled characters, and it’s essential to meaningful character death in a real-time game, but it’s not nearly enough.
To be honest, I haven’t figured out the balance yet, and it will require a lot of play testing.
I’d like to caveat that all of the above is assuming that you actually do things to give those wing mates a personality. They have to have a face, a voice, a backstory that you are spoon fed during quieter moments, as well as skills, abilities, a record of confirmed kills, and a rank that progresses as they gain experience. They have to taunt the enemy when they get a kill. They have to call you for help. They even have to react to incoming enemies believably; either with confidence, or the realisation that they’re truly outmatched.
Some of those latter points are observable in the demo already, but most have yet to be implemented, and I only have one voice pack so far.
What say you?
This is an open problem, not a post-mortem. Moreso than with any other blog that I’ve posted, I’d really appreciate your opinions in the comments below. What do you think of my problem? What do you think of my proposed solutions? Have you anything you might recommend as other player decisions or wing mate behaviours? What pitfalls should I avoid? Are there games I should be looking at to see how they handled this problem? Thank you in advance.
Next week is the last of these posts focussing on Crow’s Nest (for now). I’ll be talking about what Sons of Sol and Crow’s Nest actually are (fictionally speaking) and how they came to be.
Until next time..