Monday, January 30, 2017

Galactic Line's Battle System

I've been vague about the battle system in The Galactic Line for a few reasons. I knew what I wanted it to include, but not how I wanted the pieces to come together. I don't want the game to devolve into yet another space ship battler. But I have worked it out now, and here's a quick description from the point of view of a commander.

Your ship and an enemy are stuck out in an asteroid field somewhere. You don't know where they are. When you zoom out, you can see a hex grid around your ship: a hex for your ship and six more neighbors. Three are above the horizon, three are below. As you rotate, the hexes do not.

As your sensors scan the skies, they pick up traces of your enemy. A bit of leftover exhaust, a bit of radiation, a glint of light. Dunno where they are at the exact moment, but we know what general part of the sky they're in, and some of those hexes darken. "Not that way". Which of the remaining hexes is the right direction? Who can tell?

Eventually it's down to two, then just one. You accelerate in that direction, trying to close. You don't have a solid lock, just a general knowledge that they're in that part of the sky.

Then lasers come crashing in, immediately blowing apart your armor and tearing through your systems. Yeah, it came from that part of the sky, but what the hell?

The sim ends and your competitor asks why you didn't launch any sensors or drones or anything.

So you start over.

This time you realize that those hexes are destinations as well as directions. You launch sensor drones into a hex, and in a few moments they arrive and begin scanning. You launch some missiles and have them wait quietly in another hex. You fire a spray of water in a direction you think the enemy might be: it turns into a cloud of ice, preventing scans from that direction from picking up your heat signature, breaking up your profile. Later that hex goes dark - the enemy isn't that way. You replace it with a pack of missiles, patiently waiting for a chance to attack.

You realize you can zoom out again. All seven hexes shrink into a central hex, and you're faced with six new, bigger hexes. Three high, three low. You send a sensor drone out into one of them, and notice it'll take quite a bit longer to reach.

You zoom out again. Those seven hexes shrink into one central hex, and a new six appear. Now you're looking at a fair chunk of the asteroid field - there's actually an asteroid in one of those hexes. Deploying sensors to it looks like it'll take half a day, and you think about setting course, but get the warning that turning on your engines will more than triple your profile.

And then you notice there's a glowing red perimeter around those hexes. Mouseover: "Enemy scan warning". The enemy has figured out you're in this volume of space, although it's obviously a pretty weak lock given the scales involved.

Now you're starting to get a handle on this. You've deployed some offensive and defensive systems, you're winnowing down the enemy's direction. This time, you get a lock first. You have to decide whether to open fire or refine your firing solutions: if you open fire, the enemy's gonna detect you pretty much immediately.

Well, you fire those missiles you set aside. The enemy shoots most of them down, but you get a much better firing solution from them and fire your own laser barrage. This time you win.

The next fight begins to unfold the same way, but when you start to get a good lock-on, you realize the two of you are within the same hex space. Your systems overlap, things become a mess, and then there are bombers on top of you.

As you progress, you learn a lot more tactics. ECM drones specifically calculate enemy scan patterns and help you avoid detection. Anti-missile interceptors. "Buzzers" that draw off the enemy sensors and incoming missiles. Sensor drones arrayed in "shotgun" lines along different scales of hexes. Weapon drones. Moving drones to new locations, or retrieving them. Radiation storms or ice clouds to mask your profile and the profile of your drones.

All of this is on top of managing your own profile. The higher your profile, the quicker the enemy will narrow down their search. You have these fancy high-tech deflector shields, but if you use them, your profile spikes so high the enemy will immediately detect you. You find out through experimentation that you're better off actually leaving them off even while you're under fire, if the range is long. A low profile helps more than a barrier.

Then you get to fleet logistics, and begin to struggle with the idea of deploying a ship to a distant hex and then having them have local hexes within that hex... and you begin to work with noncombatants and fixed fortifications, requisitioning or hacking for sensor logs, resources, triangulation help.

And that's how The Galactic Line's battles work.

Even a one-on-one, ship-on-ship battle takes place at great ranges, on a strategic map. There are moments when someone warps in right on top of someone else and a slugfest starts, but no matter how epic that feels, ships are expensive. Hugely expensive. And the people who die? They're people. Your people.

You begin to appreciate the art of getting a hard lock and then pinging the target with targeting lasers, forcing them to surrender without firing a shot. You begin to appreciate the art of convincing a local politician to get the enemy fleet to stand down.


Anyway, the same system is used outside of combat, especially when scanning planets or assisting colonists.

... the same system is used for building colonies, actually. That's what gave me the idea.

I haven't settled on this 100%, but it plays well on paper. I can't really justify arcade-style action.

Tuesday, January 10, 2017

Humanizing an Empire

As you may know, I really love games where you build things. And what is the biggest thing you can build?

An empire.

When I was younger, I was obsessed with 4X games like Civilization, Masters of Orion, and so on. As time wore on, their shine wore off. These days, I still play those kinds of games on occasion, but I prefer games where I build smaller things.

The reason is simple: those smaller things are more people-centric.

Recently, games about building empires have tried to become more people-centric. Civ animates their iconic rulers with loving care. Stellaris gives you a bunch of people with personal traits and names and asks you to assign them to colonies, star ships, factions. Everywhere, people are becoming more common.

The problem is that these games aren't about people. They never were, and they can't be: the structure of the game is oriented around nation-building, not personal dramas. This means interactions are all about bowing to the will of the empire.

Games like Crusader Kings II push this as far as can be reasonably expected, tracking hundreds of distinct individuals throughout lifetimes, letting you push them into service, crush them, or exploit them. This appeals to a certain kind of fantasy, I'm sure, but it's not really very good at letting me build something that means something.

This actively interferes with my enjoyment of these games. Civilization VI isn't about building a nation, it's about beating Alexander the Great as he weirdly and obsessively declares war against you every decade for a thousand years. It's humanized to the point where I don't think of that territory as another nation - I think of it as Queen Victoria's house. Vickie's front yard.

We've been humanizing these games for eons. Everyone remembers Gandhi's words backed by nuclear weapons. Everyone remembers the personality-filled cockpit views in Star Control. But these were very shallow, passive efforts - the difference between anthropomorphic tags and being a person.

Basically, when something is tagged, you can easily slip a personality onto it and ascribe a mood or emotion behind its actions. The Ur-Quan dreadnaught fighting the Spathi? It becomes the grumpy, remorseless Ur-Quan hunting down a hilarious, cowardly Spathi.

When something is portrayed as a person, things are different. The easiest example is Stellaris: a few minutes into the game, you meet a pirate faction made up of your own species in order to inject some kind of military action into the early game. You choose an admiral for your fleet. Do you pick Sara? She has a bonus to attack and a neat haircut. Doug? He learns fast and is wearing a space baseball jersey. Veronica? She can move the fleet faster and looks appropriately grumpy.

Whichever you choose, it's a person, not just a vague indicator. Instantly, you start thinking of your fleet ops as part of their career, part of their personal story. So you go to fight the enemy.

... and they have a fleet commander, too. A person. With a unique name, unique appearance, unique powers.

You kill them. You never learn anything about them. Ironically, you never even have enough info to give them a personality. They are the same species as you, so there's nothing distinctive enough to make you assign them the personalities you give to the other aliens you might meet.

This is distracting. Players naturally gravitate towards densely simulated things. You've taught the player that individual people matter, each one is simulated and tracked independently. Then you show them a person, as dense and complex and promising as the one they chose... and just kill them. Wordlessly, effortlessly, pointlessly.

Worse, the alien species cultures are largely randomized. When you do meet an alien, the anthropomorphic tags they bear don't correlate to their actual characteristics. This turns the emotional responses into mud. You've trained the player to respond to individuals, but then refuse to let them interact with individuals. You train the player to not care about species, because their appearance is unrelated to their traits, but then force them to interact with species.

Civ VI doesn't do as many things wrong. It has very, very strongly personified nations, but they have the correct personalities and feel reasonable. Unfortunately, you can't really interact with those people. You can only interact with their nations. Even that is in a vague, impersonal way.

On the other hand...

Let's say I make a game about building cars. There's a bunch of NPCs, they want cars that suit their personalities and needs. I build them a car. They go "whoaaaa! NICE!" They go drive it. They come back. "It was great, did X really well, thanks a ton!"

The scale is small enough that it feels like a personal interaction even when I don't do social things. The response is personal, about something concrete and part of their life. The choices I make are much more centered around facets of their personality, because each NPC can have wildly different taste in cars without becoming unbelievable.

It is already much more deeply personal than Civ VI, even if the NPCs are just a doodled pixel portrait.

Honestly, even if there were no NPCs, building the car is still more personal than building an empire in Civ VI, because I can easily imagine how someone would use and enjoy the car. That's a big part of why Space Engineers is fun! There's no NPCs, no personalities, but imagining how people would live in space, use my ships - that's fun!

In my mind, 4X games can't survive in this awkward place. They will naturally have to become either more humanized... or less.

"More" seems to be the trend, so how would that go?

The two basic paths are the Civ VI path and the Stellaris path, which is why I used them as examples.

The Civ VI path focuses on a few, highly detailed, carefully designed NPCs. Further down this path lies a game where you can interact with those NPCs in more detailed, complex ways. Expanding your empire probably matters less than establishing a good relationship with your neighbors. This will generally take the focus off the militaristic side of things and play up more complex interactions.

The easiest way to do it would be to make the lands of the empire play the role of the home and body of the other ruler. Rather than negotiate with the ruler as a lump sum, you interact with specific cities or lands in a wider variety of ways.

There's not really any way around this. We can't continue having a bleak, war-focused set of interactions if we keep humanizing the other side. I already have no interest in going to war, even with the relatively weak personalities in these games today.

The other direction is to track an impressive number of people. Rather than the ruler of each nation, you track everyone. Politics constantly evolves and changes who is in what positions. The rulers of each nation come and go.

I have a suspicion this is definitely going to spawn a genre, but I don't think I'll like it much. That many people means that each person will be disposable, temporary. That's not going to scratch my itch.

At the very least, I hope all these people have personality tags, so I can easily assign them a mood and emotion as they do things. At the moment it's all undifferentiated mush, and it's very hard to establish any deep connection to the various NPCs. It'd be interesting to try to improve that connection while still having a large number of randomly-generated NPCs. Maybe use some techniques to inject personalities into the flow of the game.

But right this instant, I have a car-building prototype to create.

Thursday, January 05, 2017

Stats, Classes, and Fantasy Races

In Ye Olden Days of RPGs, you would roll stats straight. Only then would you start thinking about who the character was. You would choose a class to leverage whatever decent stats you had, and you might choose a race to push your understrength stats into a viable range. So the races and classes were less about building a character you wanted to play, and more about coping with brutal random chance.

These days, we build our character stats along whatever paths we want. There's no need to cope with randomization, but we still have the same fundamental structure. We've gotten used to it, but it's pretty bad. The added complexity doesn't serve any real purpose aside from making the game's high-level play be almost entirely about knowing which stats and classes and races interact in which ways.

If we want to make our game more approachable, that is a useless kind of skill. We want our players to excel at playing the game, not excel at setting it up.

This is a common concern, and many modern RPGs reflect this tendency. We've begun ripping out stats or classes or both.

But there is power in the gap between stats, classes, and races. The way they augment each other is quite dense and interesting. Just ripping out those cornerstones means you lose all that depth!

Without the resonance between the layers, you end up with a very shallow approach and extremely straightforward builds.

Easy example: Skyrim. No stats or classes, just a few skills. Worse, improving any skill is incredibly expensive, since the enemies scale with the number of skill points you earn, not your maximum combat skills. This means your approaches are going to be both extremely basic and extremely focused. Moreover, many approaches seem viable at first but at midgame peter out entirely - for example, pure archers don't end up working out, and having to fall back on melee means you're better off just building a melee character.

A few recent games have tried to keep the complexity of stats, class, and race, but they tend to end up feeling mishmashy and sodden. Pillars of Eternity is a good example: their attempt to make all builds viable results in all builds feeling largely the same.

Statistically speaking, that's what they have to do. Otherwise you're back where we started: learning to minmax would be the primary player skill, rather than learning to play.

Is there any other approach?

Sure! Here's a simple idea:

Stats and classes, basically normal setup. However, the stats don't give bonuses. Instead, they are capacity.

For example, if you have 8 strength you can carry 8 points of gear. Say, leather armor (6 points) and a broadsword (2 points). 10 intellect? You can focus on 10 points of passive skills. Say, detect hidden (3 points), monster lore for crits vs monsters (4 points) and deflect criticals (3 points). 6 points of spirit? You can equip 6 points of spiritual gear/enchantments/spells. Magic deflection (4 points) and a ring of sparks (2 points).

This is just one idea, but the core here is that stats don't have to offer statistical effects. By splitting the class and stats into orthogonal concerns, we can give both a much wider range. A magician with a high strength might seem like a waste, but in practice it allows her to carry 3 staves and 4 wands. She can just pull the right one out in any given situation!

It also allows for midgame optimizations. You want to shave a point off the strength price of that spear? It might be more important than giving it a magical +2 damage bonus! You want to merge a bunch of magic rings into a single artifact set with a lower total spirit cost but ruin them as separate objects? Sure, sounds good!

Races? Sure. Lower the price for specific categories of gear. Elves get bows one point cheaper. Dwarves get armor one point cheaper. Maybe you have a family heirloom? It's not great, but it's super cheap for you alone. No need to modify the stats!

In addition, I find this just flat-out makes for more memorable characters: their equipment variation will be cleaner and sharper.

If you're only controlling a single character, this kind of approach is a bit iffy. If you make it light enough for a beginner, it will usually be uninteresting after a session or two. Make it heavy enough, and people will forget their setup after a week away. But if you're controlling a party, it's very easy to make it work out.

The lightweight approach combined with gear serving specific roles means that players can tell who a character is and what a character does at a glance. Even after a week away, the gear will still be easy to see and you can slip right back into the flow of things. If you're worried about stagnation, a steady trickle of new gear variants or abilities that change the prices will keep things swirling nicely.

Anyway, I thought I should mention it.

Stats vs classes vs races: it was originally built for a completely different purpose. It's ok to not do things that way. It's ok to reinvent the wheel.

Just make sure your new wheel turns, or you'll end up with an oversimplified pile of mush.