Tuesday, August 25, 2015

Time Compression Minus Space Compression

I love base-building games. You may have noticed.

But I have a big problem with them: every base-building game reduces characters to a cog. They exist to do a job. The individuals are played down, the base played up. I want a game where the characters are more important.

A core feature of base-building games is time compression. This allows the base to progress faster than life, which is obviously something you want. There are three ways of time compression.

One way is lifestyle compression, AKA space-time compression. This is like The Sims: each character in the base has things they do over the course of the day. They wander to and from various rooms or facilities, use them for a specific amount of time, then move on according to a compressed schedule.

Lifestyle compression normally exaggerates the cost of space. It takes 10 minutes to walk 10 feet in the Sims, so you're strongly rewarded for literally compressing your space. An ideal room in that game might be a large, many-cornered room where all the furniture is right by the door, so nobody ever has to actually walk across any of that space. It's not uncommon to mix rooms together to try and put functional furniture close to each other even though it would be a disaster in real life.

You can blunt this effect by having the characters teleport rather than cross space as the timer ticks, but this is rare and largely considered immersion-breaking. Keep this in mind, because it's related to my solution.

Another method is lifestyle trimming, AKA schedule compression. This became common in Flash and mobile games, and can be clearly seen in games like the mobile Fallout game about managing a vault. This compresses time by simply trimming away all the other things people might do. They are always at work, always in the classroom, whatever you have assigned them to do, they are always doing it. They don't need rest, they don't need food breaks, they don't have a personal life. They are cogs.

This method is great for not compressing space, allowing you to build your base more freely. But it has the side effect of destroying any semblance of personality: the people in your base are simply mechanisms to make the rooms function. You can try to assign them personalities in your head, but once you have more than about 7 of them, that tends to fall aside.

The last method is lifestyle chunking, AKA turn-based/phased scheduling. This is pretty rare, but the basic idea is that time progresses in chunks. This has the uncompressed space of lifestyle trimming, but leaves people's personal lives intact enough that they can have personalities and be remembered as unique individuals by the player.

This method is pretty rare because it's normally done using a turn-based approach, and that's fallen out of favor in recent years.

I'd like to describe a variant of this method which uses a real-time approach. I've designed and paper-prototyped a game, and it might be a fun illustration of how these three approaches are far from tapped out.


You are in control of freighter space ships, traveling vast distances. Each mission lasts months, years, or even decades - although you can have several ships running missions concurrently if you want.

This is the statistical heart of the game. How long is your trip? How many supplies did you bring? How fast/efficiently can you reuse or regenerate supplies? Food, water, clothes, 3D-printer goo, multipurpose electronics, entertainment supplies, luxury goods - all are worth considering as missions get longer.

This foundation drives the rest of the game, giving the player an easily understood baseline to work from. If you want to save mass, put in a water purifier that recycles most of your water. In the beginning, a 90%-efficient recycler works great. But as your mission length stretches to years or decades, you're willing to pay out the nose for a 95%, 98%, 99% efficient recycler. Maybe even have a crew member that is especially good with them to wring out every last possible percentage.

This is a natural growth. Simple, foundational limitations that urge the player to design a base to more efficiently push back against them. Each pushback is a little more complexity on the base building and management side of things. This is a "slow-cycle" gameplay, and is perfect for putting on some medium- or fast-cycle play on top. IE, managing the crew.

But a little more about the slow-cycle gameplay:

Each ship can be designed at least partially by you. This is a base-building game, after all. The ship chassis is set in stone: all you can do is choose what rooms go where. And, in many ship designs, some of those rooms are also set in stone.

The key trick in this Newtonian (no-light-speed-limit) universe is that the space ships are all designed around the same concept: accelerating for half the journey, then flipping and decelerating for half the journey. This produces an almost constant "gravity" towards the engine of the ship, and to minimize damage from interstellar particles, the ships are all classic 70s cigar shapes.

This is not just flavor. The interior of the ships reflect this approach, and every ship has the same three "decks". At the very top of the ship, where nose is narrowest, are the living quarters. Below that, the ship begins to widen, and you have the communal space/off-duty area. Below that the ship gets wider yet, and you have the on-duty areas like engineering, 3d-printing facilities, laboratories, bridge, etc.

That's just the nose of the ship: below that is a huge space for cargo and engines and whatever. But that space just exists statistically: you only care about those top three floors. On-duty, off-duty, and downtime.

And there's the secret. Rather than chunking our lifestyles by time, we're chunking them by floor.

When you look at the on-duty floor, you see your whole crew busy at work at their stations. No matter how many days pass, they work work work work work.

But if you pop up to the off-duty floor, you see your whole crew busy with their secondary tasks. Cooking, cleaning, eating, playing games, drinking together, going to lessons, exercising, etc. While they may move between these stations sometimes, they never leave this floor. You can watch them have their off-duty life continuously. Of course, this is just a view: they are also still working, there's no work penalty for watching them hang around off-duty.

If you pop up to the downtime floor, you see them sleeping and getting up and going to bed and trying to eat breakfast and stuff. Again, you can just watch this forever. They are also working and off-duty at the same time.

This three-view split allows you to easily handle whichever floor you want whenever you want.

The on-duty floor has a minimum of personality. Your characters are basically cogs, keeping the ship running. This floor has the most rooms in it since it's the widest area: in the starter ship, there would be a circle of 8 wedge-shaped rooms with stairs running up the middle. Later ships might have multiple circles, or half-circles, or other interesting configurations, but it's always circle-based with the same wedge-shaped rooms.

The off-duty floor has a narrower circle that continues up from the on-duty circle, with 6 rooms per full circle. This area is about tending to crew needs, starting with food and cleaning, then up to recreation, training, etc. Where people are assigned here is a strong indicator of their personality and interests, along with creating a coherent shape to push the crew to higher levels. You may need to tweak this to keep the crew happy, as most people aren't going to want to be assigned to KP for ten years straight.

The downtime floor is the narrowest circle, with only four wedge-shaped rooms per circle. These are bedrooms, bathrooms, and lounges - places you would hang out quietly, sleep, or get ready for the day. This isn't just flavor, either, because the way these rooms are allocated changes what people have what pull in what groups.

For example, the starter ship (a single circle, classic cigar shape) has 4 downtime rooms. One is hardwired as a lounge. Another needs to be a bathroom. The other two are bedrooms, but since there's a crew of three, there's a two-person bunkroom and a one-person private room.

The captain gets the private room. By that I mean: whoever is in the private room is probably the captain, because social rank is determined by who has the better or worse accommodations. This is reflected in the interpersonal events which can happen, and in the flavor interactions that happens as you watch.

Later on you'll get ships with multiple cores. For example, a two-pronged ship might have two cores, which means 8 downtime rooms. But the two circle cores are important because each is a different social circle. People in circle A tend to hang out with people in circle A, and B sticks with B.

This is a natural and easy way to "cluster" your inhabitants. Even if you have 30 crew, you can "chunk" them in your mind by who they hang out with and what their social standing is in their group. Each player can choose to chunk them in any method they please - one player might prefer to have "A" be for the greasemonkeys that keep the ship going and "B" for command staff and pencilnecks. Another player might have "A" be for women and "B" for men. Another might choose to cram everyone into "A" and have "B" entirely reserved for lounges and bathrooms. Since you choose your crew, you can choose to have only a few people in palatial suites, or cram dozens of people into coffin bunks.

These clusters propagate to the off-duty area. When not actively assigned to a specific duty, people will choose to hang out with others in their group. You can use this to gently guide the crew - force-assign one person from group A to a classroom, and the rest of the people in group A will automatically try to go to class with them... but they will take breaks when they want to, keeping themselves from overstressing. So assign that bookworm that never gets tired of studying to the classroom, and just let the whole group slowly rank up.

This kind of base management feels pretty easy in the paper prototype, and it seems easy to keep track of even ~30 characters.

The last piece of the puzzle is interpersonal events.

I don't think these events should be simulated, at least not past a very basic level. Instead, my approach is that when an opportunity for an interpersonal event arises (random chance), you can click on it and it displays a variety of possible outcomes. No explanation as to what happened to get them to that result. You choose whatever result you want, and imagine whatever interaction you want to justify it.

The potential results will vary depending on what floor you were on when you clicked the event, the established basic relationship of the two, and how they are socially related. IE, a married couple might have different potential results than two people that have never met.

In the paper prototype, I simulated this by drawing random outcomes, but having "upgrade" notes - if a specific relationship existed, the outcome was morphed. IE "start dating" morphs into "get married" if they are dating, morphs into "have kid" if they are married, etc. With this in mind, I can choose from several potential outcomes that reflect their basic relationship, and the game doesn't have to simulate anything or know personalities or anything.

This means A) the player gets to imagine events and personalities, B) we don't have to simulate them and C) we rarely, if ever, conflict with the player's vision.

Anyway, that's my design. If you got this far, let me know what you think. If I get some free time, maybe I'll try programming it.

Tuesday, August 18, 2015

Good Bad Game Design Pt 2

Today, I'd like to talk about construction games. But I do need to revisit the last essay on RPGs, because that has direct bearing.

I discussed good bad RPGs. Basically, open-world RPGs are often considered "badly designed" - poor characters, weird pacing, 'dull' mechanics. However, judging them by more linear RPG standards is a mistake. Open world games have different specialties and their best kinds of play are different from what we have grown used to. You can't judge them by linear standards, and liking one genre doesn't mean you'll like the other.

One of the biggest features of a linear RPG is the main quest. It's right there in the name of the genre: "linear" RPG. So you have a central rail, a quest that the whole game is hung from. This affects everything about the linear RPG: how you fight, how you get and spend resources, how you level up, who you can interact with, what you can do. With a strong core, you can create a wonderful game.

In an open-world game, the main quest is typically something you do when you get bored of goofing off.

Instead, we choose our own path. There are many tiny quests scattered around the world, and we can pick them up whenever we want. Some of them might be multi-part and pretty epic, but in general they are smaller things. Moreover, the fundamental nature of progression in the game world allows us to improve along a path of our choosing even if we don't do any of those side quests. Combined, this gives us a huge amount of freedom to play as we like.

The slack built into that kind of design also allows us to easily include mods. Since there is no core quest constraining us, it doesn't matter if we include a mod that turns all the NPCs into zombies and adds a giant volcano right where you normally start the game. Everything still "works fine".

We could polish this! We could make open world games with that in mind from the start. An environment to carve a path through, rather than a train ride to enjoy.


This is exactly the same as construction games.

In the past, construction games were mostly linear. You had levels and challenges and you built to achieve those goals. There were some games that were more open, such as Sim City, but there was no content or systems in place to allow the player to truly forge their own path. The kinds of things you could do were quite limited, even if you had freedom to do anything the game could allow.

The ur-example of a linear construction game is The Incredible Machine. If linear vs open world is a spectrum, that's pretty far to the 'linear' side.

As time went on, we became better at allowing for any kind of construction.

However, we still aren't very good at it. Our "open construction" games are a lot like the early Final Fantasy games. FF6, FF7 - these allowed you to go a wide variety of places, do a lot of things. But they aren't truly "open world", because the structure doesn't reward you carving your own path.

Many other games are more truly open world. Sure, recent games like Fallout 3, Skyrim, etc. But also archaic games like Wasteland, Fallout 1, etc. The difference is not technology, it's design.

These games are structured to reward doing things however you want. The progression system is open enough that you can progress in any direction. The world is designed to offer quest fragments to you no matter where you wander. The world is structured "lumpily", so you can switch between different gameplay experiences by simply moving around - wandering the wilds, delving dungeons, or talking in towns. The player chooses which kinds of things they want to do when, and how they want to do them.

Although FF6 is a fantastic game, it isn't open like that. There is momentum built into the game, both in terms of how your stats progress and how the world quests progress. Although you can "go anywhere", there is no contiguous reward chain for going wherever you want, and there's not really much variety in the kinds of approaches you can take.

Anyway, that's where we are with open construction games.

Games like Minecraft are open construction games in the same way that FF6 is an open world RPG. You can go anywhere, build anything, but the universe isn't configured to reward you for it. Normally, the community is responsible for rewarding you for building things. That's a different topic for another day, but the point is that we can design the game itself to shoulder some of that responsibility.

Space Engineers is a bit more open than Minecraft, largely because it has more construction pressures that you can choose to optionally enable. You can choose exactly how much inventory space should be multiplied by. Whether guns need ammo. Whether power is unlimited. Whether you have to weld blocks, and how fast. Whether engines damage nearby blocks. Whether blocks can be damaged at all. Whether stations can be shaken free. Whether there are enemies, and how many, how often, how close. How safe the world is from natural catastrophes.

In addition to those environmental factors, the universe also allows you to tackle specific engineering challenges as you see fit, both large and small. Pressurized environments? Renewable energy? Docking allowances? Interior defenses? Cryo chambers? Medical bays - wired or unwired? Turrets? Mining? Refining? Natural gravity? Planets? Cars? Tools allowed or banned? Jetpacks allowed or banned? All of these can be tackled in any combination.

The way construction and use can be decoupled offer additional challenges. You can build something in creative, but intend it to be used in survival. Or perhaps it was planned in creative, and you use a blueprint to slowly manufacture it in survival. Or maybe it was created in survival right from the start, painstakingly assembled block by block. The resulting ship is just a ship, but the exact method of its design and construction radically changes the experience.

There is also room for your own personal ideas - recreating a popular starship, or making a starship that's actually a challenging adventure map, or trying to make a personal ship that suits a fictional character you created. A planetary base, a floating chair, and office building - things that make no sense in the context of the game, but make sense to the players.

The freedom to approach your construction in such a wide variety of ways, with such a wide variety of goals and such a wide variety of optional challenges is very "open".

Add in mods, and it all extends even further.


Space Engineers is a bad construction game. Compared even to something like Minecraft, it is needlessly complex without adding much of value. But those judgments don't apply very well, because Space Engineers is not a survival crafting game, nor is it a linear construction puzzle game.

Space Engineers has a survival crafting element in it, but only as an optional challenge. There is power in tackling that challenge - but the challenge is not a lump sum. You can challenge it piecemeal - create a mining ship in creative, build a refinery in survival, change the inventory rules, alter the assembler speed multiple, switch back into creative...

Space Engineers isn't structured "perfectly". I don't think it pushes things anywhere near far enough, and the bugs inherent to its multiplayer wall off at least a dozen kinds of play. But you can see hints of how things could go: a construction game where you tackle challenges with a huge amount of freedom.

One thing Space Engineers doesn't have that an open-world RPG does have is continuity. It's not easy to "chain" your constructions, so there's not much sense of history or progress between builds. I would like to see a game where designs were "chained". You build a mining vessel, and then there's some kind of reward or flow to building a refinery base that interfaces with it. You build a frigate and then there's some kind of flow or reward for building a fighter or a carrier or something that travels with it.

Space Engineers cannot do this because they have more technical debt than any other game I've ever seen, and are too creaky to implement something like that. But it's certainly possible.

Anyway, I originally had a lot more to say. I wanted to talk about Kerbal, and Dragon's Dogma, and some theoretical game designs, and adding human elements... but this is the fourth time I've written this essay, so I had better stop.

Hope you found it interesting!

Tuesday, August 11, 2015

Good Bad Game Design

Skyrim is designed really badly. It's also designed really well.

For an RPG, Skyrim is hilariously bad. The characters are incredibly dull, the places are bland, the voice acting is generic to a hilarious extent, the graphics are uninteresting, the fighting is uninteresting.

Compared to non-open-world RPGs such as the Mass Effect series, Skyrim falls short on every measure.

Despite that, more people still play Skyrim than still play Mass Effect 3.

See, in that dry, generic, empty world, there is space for the player. Even in vanilla Skyrim, there is an endless variety of options. You can go in any direction, stumble across any number of little challenges, see any number of sights.

Yes, all the directions are boring. All the challenges are boring. All the sights are boring.

So why is it fun?

Something about a Role Playing Game that most people seem to forget is that the player gets out what they put in. Most RPGs have very generic protagonists. The game may offer you good and evil options, but even they are quite generic. Closed-world games like Mass Effect or Dragon Age supplement this with interesting characters: Shepard and, uh... Medieval Shepard... have no personality on their own. But you define a personality by surrounding them with characters that do. You build the personality of your hero by choosing their companions. Even if you just choose the companions you happen to like best, you are defining your Shepard as someone with a very similar personality to you.

If you offer enough secondary characters and constrain the number you can choose, you can allow a player some freedom to "put in" their personality and "get" role play out of it. Shepard has a character because you mentally justify why these party members are her favorite. You also get some characterization out of the choices you're presented with in the game, but I'd argue that the party member choice is the most compelling. At the very least, it's continuous and ongoing, rather than a one-off, so it wriggles in your brain and forces you to continually imagine how Shepard feels about how things are going.

In an open-world RPG, parties are rarer. Games like Fallout and Skyrim technically have a party mechanic, but it's very vague, and the characters you can add to your party have almost no impact, personality-wise. Is this a weakness?

No, not at all. In an open-world RPG, you "put in" actions rather than choices. Sure, there may still be choices. Maybe those choices are critical for planting the seed of personality.

But the continuous actions of play are where the character grows and blooms. Trying to sneak through a house or barracks. Deciding to shoot from afar. Deciding to rely on your dull party member to defend you. Looking for a secret inside the waterfall. Opening a creaking chest in the dark. Reacting to the sudden appearance of a pack of wolves.

Unlike a closed-world game, these events are all contiguous. Sometimes they move faster or slower, but they are almost never The Event You Should Be Having. Your avatar is living every second of this adventure, and it is developing in tandem with your actions. You are free to do anything and, in doing anything, you are free to be anyone.

Compound this with mods that change the world, and now you have even more options.

I think these ideas are important.

"Role play" requires the player to feel like the avatar exists. One way to do that is with pieces you painstakingly create for that purpose - a bitter choice, an amazing sight, an interesting companion. Another way to do that is to simply provide a world for the player to live in.

Anyway, I was going to go on and talk about the same "bad vs good" design in other kinds of games (comparing Space Engineers and Kerbal), but I think that's more than enough for today. Let me know what you think.

Thursday, August 06, 2015

Generating Episodes with Outrage

Well, I thought about it a lot, and I came up with a new kind of game. It's a base building game - let's say it's about a space station. You build the station, manage the various pieces much like any other construction game.

But it has a second kind of play: you can drop into episodic stories similar to what you might get on a TV show set on your station. Say, Babylon 5.

The secret sauce is outrage.

Instead of health, we track how angry characters are. An episodic story starts quite simply: someone is angry about something. We have a heuristic for setting up the whole situation - plonking in a bunch of characters with simple relationships, some resources, some places. For example, maybe a genocidal ex-warlord is visiting the station in secret, in order to get surgery to change his genetic fingerprint from a gray-market surgeon.

The player created a number of characters as the "named crew" - each with stats, skills, and personality. This time, the linchpin character is the station's official doctor. He realizes who the visitor is and becomes outraged that this warlord is still floating around free, and will escape forever if the surgery is successful.

The situation can be made as simple or complex as our engine and patience allow. We can add in constraints like "in this sector, there is no warrant for his arrest and no charges have been made against him" or "there is an assassin aiming for his life" or "he has young children" or "he has a shipment of slaves" or whatever. We can add as many or as few details as we would like.

The core driving force is the doctor's outrage. It's very high - over the maximum limit. The doctor is on an in-game timer: if he doesn't act within a few hours, the player will lose control and the doctor will act as an NPC for the rest of this episode. Of course, anyone can be enraged and act out because of it, the doctor is simply today's starter.

In order to keep control of the doctor, we have to act. Actions related to the outrage's source will reset the timer, so we can keep control if we do something related to the warlord. Ideally, we would like to reduce the outrage, but that's significantly harder to do since the source is something outside of our control.

Here starts the gameplay proper. What does the player do during these episodes?

The key is to not make the player do anything. The player is allowed to take any action they want (well, that we modeled). We don't insist that the player bring the warlord to justice, or protect him from the assassin, or whatever. The only thing we do is set up a situation where if the player doesn't act, he'll probably lose a character (the doctor will go rogue due to high outrage).

ANY action related to the source of the outrage will delay the doctor going rogue, and the player can take more or less any action. This is a simple-asset 2D game, so you control the doctor mostly via menus rather than any kind of walking around, and that means you can select actions from lists in menus.

There are a large number of unique and interesting skills in this world, and each character you create has some of them. The doctor might have "contagion management" and "medicine" as two high-rated skills. These skills come bundled with generic actions: "quarantine" is one from contagion management, while "sedate" is one from medicine. In addition, the doctor's position as head doctor also gives him some authority over other doctors on the station, including the gray-market surgeon. The doctor also has a huge number of other generic actions such as moving around, calling friends, carrying stuff, whatever.

The key to all of this is that every action causes outrage dependent on how much it annoys the people affected by it. You can avoid outrage if your action is in regards to something that is already causing them outrage, but that's definitely not the case here. If the doctor decides to quarantine the warlord, he can. But it will outrage the warlord and his crew. Moreover, they will all know who they are outraged at: the doctor. This might be good, it might be bad, that's up to the player to decide.

Instead, the doctor could choose to sedate the warlord and sneak him away to some secret place. This causes substantially more outrage, but since it was done in secret, the crew don't know who to be angry at and are instead just angry in general.

The player can continue to take any action they please, targeting any character or place they please. Maybe it's time to activate the cop character: otherwise, those angry crew are going to cause a lot of trouble for the space station. But the cop doesn't know the doctor is the kidnapper, and the doctor is still boiling over with fury: he'll go rogue soon, since he's done taking actions against the source of his outrage.

Fortunately, the cop can use her 'investigate' action and look deeply into the visiting ship. If this had been done right at the start, it would have caused a lot of outrage, but in this case there is an excuse. The crew members don't get outraged - the cop is acting in regards to the source of their anger. They don't get any less outraged, either, but at least their angry actions are delayed while the cop acts on their behalf.

The doctor is also assuaged by the cop's investigation, since the source of the doctor's outrage is the kidnapping victim, and the cop's investigations naturally bring that up. So the result is that the cop gets to investigate while simultaneously pacifying everyone on both sides of the fence. A good way to have the situation unfold.

Complexities, secrets, hidden agendas, and time limits can all be deployed to screw the player up. That part is straightforward.

What's not straightforward is creating and modeling all the various actions that the various characters can take.

Well, it is straightforward, but it needs explaining.

Actions fall into a few basic categories. These categories can be expanded on later if needed, but the idea is the same: variations on a theme.

For example, "lockdown" is one generic action type. This includes arrests, drugging, kidnapping, quarantining, stabbing, delaying, identity chip canceling - the intent is to keep the target from performing specific kinds of actions. For example, kidnapping someone removes almost every kind of action they could take, while locking down their bank account just prevents them from taking actions that cost money. Of course, locking down someone's bank account generates a lot less outrage than kidnapping them.

Each lockdown action filters out various actions and has various acceptable excuses to prevent outrage.

Another action category is "travel". This would include walking, sneaking, driving, taking a taxi, flying a spacecar, flying a battleship, etc. Each of these kinds of travel has a different price and annoys people in different ways, as well as covering different distances with different minimum ranges and with different up-front delays. Travel can be aimed at people as well as places, so our doctor could tail the warlord by using any of these actions with a lower minimum range than his current range.

Another action category is "communicate". This is the action of sharing outrage between people in various ways, and includes gossip, complain, compliment, reassure, etc. One of the biggest issues for the player is that outraged characters will tend to gossip and complain, spreading that outrage to everyone.

Another action category is "investigate". This could include stakeouts, interviews, sensor analysis, hacking into databases, etc. Each specific action has different parameters and different targets, but the fundamental result - coming out of it with more data to act on - is the same. Having additional data can mean knowing more targets (people or places) for other actions, but it can also mean being able to "inoculate" people.

This is when you cause someone to get outraged at something specifically so you can take an action and not outrage them. For example, if you arrest someone without cause, they'll complain and spread their outrage to everyone they can talk to. But if you have evidence that they are a murderer, those people will be inoculated against it, and only people who aren't upset by a murderer will be upset by the arrest. This can even inoculate the murderer in some situations, creating wonderfully complex characters!

Another action category is "instigate". This includes blackmail, allying, fast-talking, seducing, programming, etc. The various kinds of targets that you are trying to convince, the method used to convince them, and the kinds of actions you can make them take might all vary, but the fundamental act of instigating is easy to model.

All of this results in a system where we understand the basic parameters in play and how each category of action affects them. It's up to the player whether they prefer to use stakeouts or interviews to do their investigation. Or perhaps they prefer to instigate instead of investigate. The machine is just as happy to chew on that action and alter the scenario to fit the result.

The difficulty is not the actions, but creating an interesting response to the action. If the player can stakeout or interview, what makes one better than the other? Aside from having one point more skill in one or the other, why would a character prefer one or the other?

That's where the situation needs to be complex and multi-faced. Outrage is a big help here: in trying to minimize outrage, you'll often find one or another action does best. Stakeouts and interviews create or assuage outrage at different times. Stakeouts tend to be secret, creating and assuaging outrage only with other people on the team. Interviews might create some outrage depending on the willingness of the target, but they are also more obvious, and therefore can be used to delay outrage onset by convincing people that you are acting to resolve some outrageous situation.

Combine this with the tactical situation, and you have plenty of beautiful variables. Stakeouts take time - but sometimes that's exactly what you want, if you want to be available to act the moment they do something suspicious. Interviews are fast - but how likely is it that they know something? Are you going to give away more about what you're after than they'll give away to you?

Each character you build has different specialties, but unlike an ordinary RPG, you don't travel in packs most of the time. Each character you bring into a scenario reduces the reward, so there's a lot of pressure to act independently. In addition, outrage can build up between characters and you can lose control over someone if you're not careful.

Functionally, this means you can't always choose your cop. You won't always have high skills in stakeouts and interviews. Maybe it's your systems engineer today, and you need to investigate by hacking databases or deploying sensors. Different parameters, different tradeoffs.

Now, regarding NPCs.

Outraged NPCs are active NPCs. Even mild amounts of outrage make people more difficult to deal with, but the more outraged someone is, the faster and more aggressively they'll take action. The question is: what kinds of action?

The good news is that it's easy to determine what kind of action they'll take. Just pick an action associated with a high skill. "Move" or "complain" if that turns out to be inapplicable.

The really good news is that you can make this have dramatic irony very easily. Whereas the player chooses targets carefully to try and resolve the situation, the NPCs choose whoever will gain the largest percentage of outrage.

For example, the warlord's crew is running around the station causing trouble. They consider troubling everyone, including both the cop and the doctor. The doctor is already hugely outraged, has been since the beginning. Five more points of outrage isn't even a dent. So we hear about it from the cop, who goes from 0 to 5 outrage. This pulls the cop into the story a bit more solidly - she now has a "reason" to get involved.

This basic system means that any person or place that is explicitly introduced will be cycled into the plot opportunistically. It also means that "B" plots are easy - just activate two plots at once, and they'll naturally tangle as NPC actions target the least upset people on both sides and raise the temperature to boiling. It might not even be a player character: the warlord's crew might piss off a visiting trade delegation or your captain's mom.

This is a pretty simple, straightforward system built explicitly for a low-representation game. That is, these actions don't play out in detail, it's more visual-novel-style graphics and focuses more on the results rather than the processes. In a game where 3D models have to act out every detail of staking out or kidnapping or flying space ships, this would be prohibitively expensive. But if we restrain ourselves, it's easy to model them statistically instead of physically.

That's the outrage engine I invented, and this is the shortest essay on it I could write. First time it's been less than ten pages long.