So, I played a LOT of RimWorld recently. I think it's a great game, but let's talk about some of the places it could have gone. Some of the tantalizing bits it showed hints of, but never went into.
One of the things I really liked doing in RimWorld was disaster recovery. Like most basebuilding games, the challenges RimWorld introduces are usually "nasty things trying to kill you". This is a really boring kind of challenge because it's very binary: you tend to either win handily or get annihilated, neither of which is very fun.
But RimWorld has a few situations that are a bit unusual. If you're attacked by people, they often survive your gunfire and go into shock. You can then haul them back to your base as prisoners.
The prisoner system in RimWorld is really primitive. There's no work system or deprogramming or any of that. You can do some nasty things - sell them as slaves, harvest their organs - but it's very basic and flat.
The thing I liked doing is repairing them.
Most of the time, they would be pretty screwed up by the firefight. I enjoyed making cybernetic limbs for them, patching them up, and letting them go. There's no bonus for doing this. Your faction score doesn't increase. Even the individual prisoners don't like you any extra for it, so it doesn't help you convert. But it's relatively engaging.
Then I discovered a mod that brings a whole starship crashing down on your head. You tend to pick up half a dozen survivors, all of whom are really ripped up by the crash. Suddenly there's a very specific drive to your opening game: you want to patch up the survivors. And this drive doesn't really stop, because once you've given them peg legs you realize you can give them cybernetic legs, then bionic legs, and so on.
This is all possible because of the ridiculous Dwarf-Fortresslike body simulation. It's quite easy to empathize with someone who has suffered, and seek to ease that suffering through the medical mechanisms of the game.
Even the basic challenge of the ship crashing down around you is fundamentally interesting, because it's something you weather, not something you defeat. If you lose people or resources or whole buildings, you can be assured that you can come out of the other side anyway. It's not like the disaster will hunt you down until you defeat it, unlike goons with guns. For a basebuilding game, this kind of challenge feels fundamentally better: there's no terminal state, so you can see how your base performs and then fix it up.
However, this runs into the weakness of the basebuilding genre: faceless NPCs.
See, all the NPCs in this game have a variety of traits and stats, just like in most modern basebuilding games. There's a complex simulation of their physical state, and a marginal simulation of their mental state. They often have a marginally unique sprite due to combinations of body and hair sprites/colors. But once you hit about six people, you can't remember most of them any more. You can only actively remember a few of these NPCs, even though you can remember dozens of real people with ease. Why?
Because people aren't defined by a list of stats. They are defined in contrast to other people, including you. This forms a social terrain.
Look, it's easy to remember when an NPC is missing limbs, because their physical body is defined in contrast to the physical world. You can see them move slower (or not move). You can see them work slower, more clumsily.
An NPC's "social body" needs to be defined in contrast to the social world. And there isn't one.
Basebuilding games use a massive amount of time compression to keep you focused on building and managing your base, and this makes it very difficult to get a feel for any kind of social situation. The only way an NPC has time to show social inclinations is if you remove them from the brutal pressure to manage their day as efficiently as possible.
You can see this in Dwarf Fortress. There is a basic social structure: children, nobles, enforcers, and so on all feel like they belong to a social structure of some kind. However, this is accomplished by removing them from base management. In order to give them time to be socially distinct, you remove them from the time-compressed burden.
Well, why not drop the time compression?
Time compression is inherited from RTS games, but there's no need to keep these RTS mechanics. Let's get rid of the guys with guns and let's get rid of the time compression.
Instead, we can just use time chunking. When you decide to start the day shift, time moves forward rapidly until the end of the day shift. You have a basically unlimited amount of time in the morning and evening to plan out your base, schedule your people... and more importantly, watch them interact with each other and you.
There would need to be some kind of thing to do during the slow periods, but that's the point: we can start to really rev up our people skills.
We can structure your base personnel in a much more explicit social world. A branching tree of social leadership. A mental simulation as complex as our physical simulation. Tweaking people's mental state in the same way you'd tweak their physical equipment or cyberwear.
This is only possible if we remove the time compression. After all, socializing is what you do when you're not under crushing pressure.
Well, you can socialize while working, or at least have a presence in a social society while working. But only if you're not under time compression. Time compression means you still don't have enough time to express yourself, and even if you did, the player would not be paying attention. They're too busy planning out some other part of the base.
Hm.
Those are my thoughts. I have a lot of prototypes in mind, but I'm so busy.
Playing RimWorld.
Monday, February 23, 2015
Wednesday, February 18, 2015
Investigative & Expansive Exploration
There's a game design concept I haven't seen used much. It's a way of designing exploration/open-world games. It requires algorithmic content, but that's pretty common these days, so I think we'll see this concept become more and more common as well.
Let's discuss a game like Spore or No Man's Sky. The game is theoretically about exploring space and discovering wondrous things.
The problem with these games is that there really aren't very many wondrous things to find. It's mostly just an endless array of the same things with slightly different aesthetics.
But it can be made much more interesting using the "Investigate & Expand" design.
In this mode, when the player stumbles across something they find interesting, they have the option to explore it in more detail - investigate it.
For example, if you find a space village, you can go to their cities or talk to their people. This is a different scale of exploration, allowing the player to choose to get closer to something they might find interesting. Or not, if they don't find it interesting.
Some games certainly do this. They generally stop there. But you need a follow-up. You need a reason why investigating matters.
That's the second half: Investigate, then Expand.
Once you've investigated something, it integrates into local space and you can help it expand. For example, the space village will contact you whenever you visit a star near their space and give you an optional mission - "can you find a plant we can eat?" "We have an abandoned base there, can you set up a beacon on it?" "One of our ships is damaged near there, can you find it and rescue the crew?"
Completing optional missions expands the space village - a larger home base, a new colony in that star system, etc. Which, in turn, means more missions over a wider swath of space.
This is a one-two punch: investigate something interesting, then help it expand if you want.
The expansion phase is extremely powerful, because it gives you a new context for any barren hunk of rock you stumble across. People and things you've chosen to help have a vested interest, so you have a vested interest. Whether it's something simple like tagging resources or something more complex such as finding a crashed ship, your exploration now has a context. You are here to help - or to choose not to help.
Exploration is also powerful because you can have multiple missions from multiple people as expansions continue. "We have a crashed ship in the area", one says. The other says "we're in the area, could you carry us some supplies?" Depending on your engine, you could even make the missions intertwine - you can only complete one, or both are from the same cause, of whatever.
It's easy to start imagining advanced algorithms, but this can be done with very simple algorithms. The algorithms for the missions can be simple, that is: the algorithms for the space villages are significantly less simple.
Every space village would need to be unique enough that players would have an opinion on them, specifically. Moreover, every space village would need a presence with particular needs and practices, so that as missions are accomplished they could organically expand. Moreorover, you would need to allow for investigating again, after a time, and discovering those new growths and changes.
I don't think these are overwhelming technical issues, but let's talk about a short cut: an open-world fantasy game. Skyrimlike.
The various party members you accrue can be "investigated" by talking to them. More advanced investigation might involve unique level-up patterns and algorithmic reactions to situations in the world, but let's leave that for now.
The expansion phase is also relatively straightforward. Instead of gaining XP by killing monsters, characters gain XP if you complete sidequests for them. The things each character cares about and the kinds of missions they request are preprogrammed, but these are not scripted missions. Rather, they are a simple framework: you enter a city, the urban thief gives you a mission to steal from a specific too-rich noble. You enter some woods, the elf gives you a mission to find as many glowing lichens as you can. Enter a different city? A different noble. Enter the first city again? A different noble. Different forests? Different plants.
The reward for each? XP.
These missions could be made more interesting because the characters are actually with you. As you get close to the noble, or wander near some lichen, the character that gave you the mission can pipe up with advice or commentary. Perhaps they gain a stat bonus while you are "on" their mission. It can all be quite generic: no advanced dialog engine is required.
You can then directly tie their level to how much they trust you, such that their next dialog option becomes available with each level.
This system requires no generative world content. Helping the thief doesn't rearrange the politics of the city. Helping the elf doesn't establish a new elf stronghold. It's very simple, very shallow, very easy.
It's the same thing. Investigate and expand.
I think it's a good design concept, especially if you have a lot of chaotic content. For example, if you allow players to create/share NPCs for your fantasy open-world game, you can rate each NPC by how high a level the players usually help them reach. The higher the hit rate, the more appealing/interesting the character is likely to be: probably a good choice to put in a new player's world. Less popular/new NPCs can be put in the worlds of more experienced players.
The same is true of alien civilizations. Same thing.
Well, those are my thoughts on the matter.
Let's discuss a game like Spore or No Man's Sky. The game is theoretically about exploring space and discovering wondrous things.
The problem with these games is that there really aren't very many wondrous things to find. It's mostly just an endless array of the same things with slightly different aesthetics.
But it can be made much more interesting using the "Investigate & Expand" design.
In this mode, when the player stumbles across something they find interesting, they have the option to explore it in more detail - investigate it.
For example, if you find a space village, you can go to their cities or talk to their people. This is a different scale of exploration, allowing the player to choose to get closer to something they might find interesting. Or not, if they don't find it interesting.
Some games certainly do this. They generally stop there. But you need a follow-up. You need a reason why investigating matters.
That's the second half: Investigate, then Expand.
Once you've investigated something, it integrates into local space and you can help it expand. For example, the space village will contact you whenever you visit a star near their space and give you an optional mission - "can you find a plant we can eat?" "We have an abandoned base there, can you set up a beacon on it?" "One of our ships is damaged near there, can you find it and rescue the crew?"
Completing optional missions expands the space village - a larger home base, a new colony in that star system, etc. Which, in turn, means more missions over a wider swath of space.
This is a one-two punch: investigate something interesting, then help it expand if you want.
The expansion phase is extremely powerful, because it gives you a new context for any barren hunk of rock you stumble across. People and things you've chosen to help have a vested interest, so you have a vested interest. Whether it's something simple like tagging resources or something more complex such as finding a crashed ship, your exploration now has a context. You are here to help - or to choose not to help.
Exploration is also powerful because you can have multiple missions from multiple people as expansions continue. "We have a crashed ship in the area", one says. The other says "we're in the area, could you carry us some supplies?" Depending on your engine, you could even make the missions intertwine - you can only complete one, or both are from the same cause, of whatever.
It's easy to start imagining advanced algorithms, but this can be done with very simple algorithms. The algorithms for the missions can be simple, that is: the algorithms for the space villages are significantly less simple.
Every space village would need to be unique enough that players would have an opinion on them, specifically. Moreover, every space village would need a presence with particular needs and practices, so that as missions are accomplished they could organically expand. Moreorover, you would need to allow for investigating again, after a time, and discovering those new growths and changes.
I don't think these are overwhelming technical issues, but let's talk about a short cut: an open-world fantasy game. Skyrimlike.
The various party members you accrue can be "investigated" by talking to them. More advanced investigation might involve unique level-up patterns and algorithmic reactions to situations in the world, but let's leave that for now.
The expansion phase is also relatively straightforward. Instead of gaining XP by killing monsters, characters gain XP if you complete sidequests for them. The things each character cares about and the kinds of missions they request are preprogrammed, but these are not scripted missions. Rather, they are a simple framework: you enter a city, the urban thief gives you a mission to steal from a specific too-rich noble. You enter some woods, the elf gives you a mission to find as many glowing lichens as you can. Enter a different city? A different noble. Enter the first city again? A different noble. Different forests? Different plants.
The reward for each? XP.
These missions could be made more interesting because the characters are actually with you. As you get close to the noble, or wander near some lichen, the character that gave you the mission can pipe up with advice or commentary. Perhaps they gain a stat bonus while you are "on" their mission. It can all be quite generic: no advanced dialog engine is required.
You can then directly tie their level to how much they trust you, such that their next dialog option becomes available with each level.
This system requires no generative world content. Helping the thief doesn't rearrange the politics of the city. Helping the elf doesn't establish a new elf stronghold. It's very simple, very shallow, very easy.
It's the same thing. Investigate and expand.
I think it's a good design concept, especially if you have a lot of chaotic content. For example, if you allow players to create/share NPCs for your fantasy open-world game, you can rate each NPC by how high a level the players usually help them reach. The higher the hit rate, the more appealing/interesting the character is likely to be: probably a good choice to put in a new player's world. Less popular/new NPCs can be put in the worlds of more experienced players.
The same is true of alien civilizations. Same thing.
Well, those are my thoughts on the matter.
Labels:
game design,
generative,
open world,
player-generated content
Friday, February 13, 2015
Boring and Unfocused as Good
I wanted to talk about how boring, unfocused games are good.
... Okay, this might be a bit hard to talk about clearly, and I might be overstating things. Let's try it.
What I really want to talk about is the fact that there are at least two different goals for gameplay.
One goal is that the gameplay should be "good". Intense, interesting, fun - whatever your measure is, the gameplay should sparkle. This involves careful pacing and balance in addition to structuring the surrounding game around the gameplay. Driver: San Francisco, for example, is all about driving. The entire game (setting, fiction, and all) is engineered to make the gameplay flow exactly as designed.
But not all gameplay serves that goal.
Some gameplay is designed to be boring.
If you ask the devs, they'll say they designed the gameplay to be "good", but that's not really the case in these situations. And that's fine. Boring gameplay can be good. In fact, if you make the gameplay good, it'll screw your players over and make the game fall apart.
What am I talking about?
Open-world games!
In an open-world game, the play isn't intended to be good. It's intended to be "weight".
As an example, consider Skyrim.
Skyrim's gameplay is not very good. There's a lot of it - exploring the wilderness, dungeoneering, fighting, helping out in cities, crafting, enchanting, picking locks, sneaking, marrying - and that's before we even get into mods. But each individual play element is really bland.
Skyrim's far from the only only example. Almost every open-world game is like this: Assassin's Creed, Far Cry, GTA - they all have very bland gameplay. In some cases it's quite polished - Far Cry generally feels quite good - but the play itself is a mess. Badly paced, unbalanced, a very polished train wreck.
And that's good.
See, in those games, the play exists to give the player's experience weight. Rather than "progressing", the player is "living".
Probably the most obvious example is The Sims. It has pathetic play, of course. But the weight of time crushes down on the player and all the player's avatars. Shipping an avatar off to work actually adds to their characterization, since they have a complex state caused by their needs and the lack of time. When you throw a party, it's easy to "understand" "how" the characters "feel" as they muddle through the party in a soup of random nonsense, needs-directed annoyances, and player directives.
If you play The Sims for a reasonable length of time, you will come to empathize fairly strongly with the characters. The more you cheat, the less empathy you'll likely feel, because the crushing weight of time and money are what give shape to the characters' lives. As the character's situation evolves, you feel their lives evolve because the pressure of time and money change how they push at you. Your opportunities and activities expand steadily, and it seems you can feel the characters struggling to live.
The same is true in Skyrim, Far Cry, Assassin's Creed, GTA, etc. You choose exactly which of the many kinds of gameplay to do exactly when. The focus is not on progressing through the game, it's on living in those worlds. Experiencing those worlds.
The pressures in these games are not as overwhelming as in The Sims, probably because the failure conditions are much harsher and more omnipresent. But the idea is the same.
When you choose to wander the wilderness, you are filling in the life of your hero. When you choose to hang-glide into an enemy stronghold, you are not trying to "progress". You are filling in the life of your hero. Filling it in with outlandish crap, sure, but it's still a life.
This is in contrast with the life provided by the story. Many open-world games assign you a hero and give them a story, but most people don't play as that hero, not in any explicit sense. The players are filling in a life, but it's not really the same life that the cutscenes try to fill in.
Now: why boring gameplay?
Well, part of it is simply that the player has to be able to jump into any kind of gameplay at any point, no matter what state the hero or the story is in. Being player-guided means balancing, pacing, and chaining play are almost impossible. Moreover, being player-guided makes it hard to impose anything on the player.
You can't create a skill gate to teach the player a skill, because the player can bypass it. You can't insist they like or dislike a specific character, or pick up a specific item.
I mean, you can. That's what the main quest line is for. But the main quest line is generally the weakest part of an open world game and everyone knows it. Tutorials feel canned and oppressive, because the gameplay is already so tired. It works fine if it's contributing to the life of the player, but the uncompelling nature really works against you as you try to teach the player how to do things.
So the play has to be pretty self-explanatory. You can't try anything too new, because a lot of players will skip your deadly boring tutorials. Even context help is more annoying than helpful, and it's a pale imitation of a tutorial.
In short, the play has to be boring. Because if it's involved, the game stops being about the life of the player and starts being the focus of the game.
With this in mind, it's possible to analyze the gameplay in some open-world games and figure out whether they can be refined further.
There are two aspects I'd like to focus on: the weight the gameplay adds to the player's current life experiences, and the way that changes to the player's life change the weight it adds.
In order for these experiences to add to the weight of the player's current life, it has to integrate into the player's life.
One way to do this is to have a wide-open approach. If the player finds a stronghold in Far Cry, they can choose exactly how to engage depending on their power, their preference, their current task, their whims - whatever. You create a place for the stronghold in the flow of your life, whether that is "the stronghold looks to dangerous, I'll just creep by" or "LEMME GO GET AN ELEPHANT!"
The other way to integrate is to have an immersive approach. When the player chooses to go diving for treasure, there's not a lot of options about how to go about approaching it. But once you start diving, that is the whole of your experience: it's a different world down there, and everything is weighted and paced differently. It's still up to the player as to how long they keep at it and so on, but you can think of a diving segment as its own chapter, rather than integrating fluidly.
Integrating into the player's life experiences is critical, but an overlooked element is that life is about change. These games are not just about your avatar's life as they are, but about their life as they will be and were.
Skyrim does a decent job of this. As you progress through the game your stats improve, sure, but that's largely cosmetic. The important aspect of leveling is that your options grow and change. You don't simply get a stronger attack spell: you get a spell that turns you invisible, or raises the dead, or causes enemies to fight amongst themselves.
Far Cry does a mediocre job of this, because the 'open world' upgrades are linear. All the paradigm-shift upgrades such as binoculars, helicopters, ally strikes, and so on are integrated into the story rather than your character. They appear and disappear at unnatural, stilted times. They're not part of the player's life, they're part of the hero's life, and they don't feel very smoothly integrated into the flow of life.
Still, Far Cry does better than Assassin's Creed or GTA, both of which are almost entirely about the linear upgrades. Most of the significant upgrades they see are new kinds of play rather than new ways to engage the existing play. You learn to fly a jet, but that is a completely new kind of play that doesn't really change how you do the things you have been doing. There's no sense of closure or change to your existing life, just some new facet that has no weight attached to it.
With these intentions in mind, we can propose that an open-world game have
A) Wide-open engagements - things that come up in the course of play that can be engaged in any way the player can imagine and integrated into their life story without a bump. Disengaging or changing approaches should be relatively straightforward as well, to the point where it can be part of "the plan".
B) Closed engagements - things the player can choose to engage or disengage freely, but while engaged they close out the rest of the world. They become the world.
C) Progression which allows us to approach the challenges in the above engagements in new ways, with new options. Progression should ideally be under player control, rather than integrated into a mandatory storyline.
But there are a few additional points to add:
D) Free-roaming. This is obviously an open-world game.
E) Continuity - the player should never feel like their experience is being negated by stampeding designers. All challenges, engagements, and plot points should feel like they could happen in the world when they do happen in the world, keeping in mind the many ways the player might be experiencing the world.
F) Modding - the player should be able to make specific kinds of play much more difficult or prevalent, whether through downloaded mods or through self-imposed challenges. For example, beating Far Cry with only the bow, or installing a mod which makes all the guards in Skyrim attack you on sight.
G) Lures - the player should encounter something similar to sidequests in an algorithmic way. For example, random city citizens might need specific things. Lures should weight other things in the game world, making them stand out. Knowing someone needs a photograph of a monkey will make you look for photographs of monkeys, and in turn give the world some presence. Be careful not to assign too many lures at once, though: 3-5 max.
...
That's my thoughts on boring gameplay. They're kinda half-formed, sorry.
... Okay, this might be a bit hard to talk about clearly, and I might be overstating things. Let's try it.
What I really want to talk about is the fact that there are at least two different goals for gameplay.
One goal is that the gameplay should be "good". Intense, interesting, fun - whatever your measure is, the gameplay should sparkle. This involves careful pacing and balance in addition to structuring the surrounding game around the gameplay. Driver: San Francisco, for example, is all about driving. The entire game (setting, fiction, and all) is engineered to make the gameplay flow exactly as designed.
But not all gameplay serves that goal.
Some gameplay is designed to be boring.
If you ask the devs, they'll say they designed the gameplay to be "good", but that's not really the case in these situations. And that's fine. Boring gameplay can be good. In fact, if you make the gameplay good, it'll screw your players over and make the game fall apart.
What am I talking about?
Open-world games!
In an open-world game, the play isn't intended to be good. It's intended to be "weight".
As an example, consider Skyrim.
Skyrim's gameplay is not very good. There's a lot of it - exploring the wilderness, dungeoneering, fighting, helping out in cities, crafting, enchanting, picking locks, sneaking, marrying - and that's before we even get into mods. But each individual play element is really bland.
Skyrim's far from the only only example. Almost every open-world game is like this: Assassin's Creed, Far Cry, GTA - they all have very bland gameplay. In some cases it's quite polished - Far Cry generally feels quite good - but the play itself is a mess. Badly paced, unbalanced, a very polished train wreck.
And that's good.
See, in those games, the play exists to give the player's experience weight. Rather than "progressing", the player is "living".
Probably the most obvious example is The Sims. It has pathetic play, of course. But the weight of time crushes down on the player and all the player's avatars. Shipping an avatar off to work actually adds to their characterization, since they have a complex state caused by their needs and the lack of time. When you throw a party, it's easy to "understand" "how" the characters "feel" as they muddle through the party in a soup of random nonsense, needs-directed annoyances, and player directives.
If you play The Sims for a reasonable length of time, you will come to empathize fairly strongly with the characters. The more you cheat, the less empathy you'll likely feel, because the crushing weight of time and money are what give shape to the characters' lives. As the character's situation evolves, you feel their lives evolve because the pressure of time and money change how they push at you. Your opportunities and activities expand steadily, and it seems you can feel the characters struggling to live.
The same is true in Skyrim, Far Cry, Assassin's Creed, GTA, etc. You choose exactly which of the many kinds of gameplay to do exactly when. The focus is not on progressing through the game, it's on living in those worlds. Experiencing those worlds.
The pressures in these games are not as overwhelming as in The Sims, probably because the failure conditions are much harsher and more omnipresent. But the idea is the same.
When you choose to wander the wilderness, you are filling in the life of your hero. When you choose to hang-glide into an enemy stronghold, you are not trying to "progress". You are filling in the life of your hero. Filling it in with outlandish crap, sure, but it's still a life.
This is in contrast with the life provided by the story. Many open-world games assign you a hero and give them a story, but most people don't play as that hero, not in any explicit sense. The players are filling in a life, but it's not really the same life that the cutscenes try to fill in.
Now: why boring gameplay?
Well, part of it is simply that the player has to be able to jump into any kind of gameplay at any point, no matter what state the hero or the story is in. Being player-guided means balancing, pacing, and chaining play are almost impossible. Moreover, being player-guided makes it hard to impose anything on the player.
You can't create a skill gate to teach the player a skill, because the player can bypass it. You can't insist they like or dislike a specific character, or pick up a specific item.
I mean, you can. That's what the main quest line is for. But the main quest line is generally the weakest part of an open world game and everyone knows it. Tutorials feel canned and oppressive, because the gameplay is already so tired. It works fine if it's contributing to the life of the player, but the uncompelling nature really works against you as you try to teach the player how to do things.
So the play has to be pretty self-explanatory. You can't try anything too new, because a lot of players will skip your deadly boring tutorials. Even context help is more annoying than helpful, and it's a pale imitation of a tutorial.
In short, the play has to be boring. Because if it's involved, the game stops being about the life of the player and starts being the focus of the game.
With this in mind, it's possible to analyze the gameplay in some open-world games and figure out whether they can be refined further.
There are two aspects I'd like to focus on: the weight the gameplay adds to the player's current life experiences, and the way that changes to the player's life change the weight it adds.
In order for these experiences to add to the weight of the player's current life, it has to integrate into the player's life.
One way to do this is to have a wide-open approach. If the player finds a stronghold in Far Cry, they can choose exactly how to engage depending on their power, their preference, their current task, their whims - whatever. You create a place for the stronghold in the flow of your life, whether that is "the stronghold looks to dangerous, I'll just creep by" or "LEMME GO GET AN ELEPHANT!"
The other way to integrate is to have an immersive approach. When the player chooses to go diving for treasure, there's not a lot of options about how to go about approaching it. But once you start diving, that is the whole of your experience: it's a different world down there, and everything is weighted and paced differently. It's still up to the player as to how long they keep at it and so on, but you can think of a diving segment as its own chapter, rather than integrating fluidly.
Integrating into the player's life experiences is critical, but an overlooked element is that life is about change. These games are not just about your avatar's life as they are, but about their life as they will be and were.
Skyrim does a decent job of this. As you progress through the game your stats improve, sure, but that's largely cosmetic. The important aspect of leveling is that your options grow and change. You don't simply get a stronger attack spell: you get a spell that turns you invisible, or raises the dead, or causes enemies to fight amongst themselves.
Far Cry does a mediocre job of this, because the 'open world' upgrades are linear. All the paradigm-shift upgrades such as binoculars, helicopters, ally strikes, and so on are integrated into the story rather than your character. They appear and disappear at unnatural, stilted times. They're not part of the player's life, they're part of the hero's life, and they don't feel very smoothly integrated into the flow of life.
Still, Far Cry does better than Assassin's Creed or GTA, both of which are almost entirely about the linear upgrades. Most of the significant upgrades they see are new kinds of play rather than new ways to engage the existing play. You learn to fly a jet, but that is a completely new kind of play that doesn't really change how you do the things you have been doing. There's no sense of closure or change to your existing life, just some new facet that has no weight attached to it.
With these intentions in mind, we can propose that an open-world game have
A) Wide-open engagements - things that come up in the course of play that can be engaged in any way the player can imagine and integrated into their life story without a bump. Disengaging or changing approaches should be relatively straightforward as well, to the point where it can be part of "the plan".
B) Closed engagements - things the player can choose to engage or disengage freely, but while engaged they close out the rest of the world. They become the world.
C) Progression which allows us to approach the challenges in the above engagements in new ways, with new options. Progression should ideally be under player control, rather than integrated into a mandatory storyline.
But there are a few additional points to add:
D) Free-roaming. This is obviously an open-world game.
E) Continuity - the player should never feel like their experience is being negated by stampeding designers. All challenges, engagements, and plot points should feel like they could happen in the world when they do happen in the world, keeping in mind the many ways the player might be experiencing the world.
F) Modding - the player should be able to make specific kinds of play much more difficult or prevalent, whether through downloaded mods or through self-imposed challenges. For example, beating Far Cry with only the bow, or installing a mod which makes all the guards in Skyrim attack you on sight.
G) Lures - the player should encounter something similar to sidequests in an algorithmic way. For example, random city citizens might need specific things. Lures should weight other things in the game world, making them stand out. Knowing someone needs a photograph of a monkey will make you look for photographs of monkeys, and in turn give the world some presence. Be careful not to assign too many lures at once, though: 3-5 max.
...
That's my thoughts on boring gameplay. They're kinda half-formed, sorry.
Friday, February 06, 2015
Creating Stories
After a little conversation on Twitter, I wanted to talk about creating stories in games. Specifically, these are techniques I've used and tested personally, not just theory.
When I think about stories in games, I generally divide it up into three types: the railroad, the setup, and improv.
When a GM in a tabletop game forced us to follow their story precisely, we called it "railroading". Most games are like this - a set of rails. Even games where you choose A or B, it's just a switch on the rails. The advantage of rails is that you can craft them really carefully. You can create a story that makes sense, is themed reliably, and is paced reasonably well.
I don't really like that method too much, though, because I'm more interested in watching players invent interesting things.
So most of my tabletop games use a "setup".
A setup is when you create a bunch of situations, characters, and setpieces which work in specific ways, but you let the players figure out how they want to proceed and what they want to do.
If it's a tabletop game, the GM can easily pull in these pieces whenever it seems like a good idea, so even a clumsy or pressured GM can generally come up with something interesting. Since all the pieces are created during downtime, they can be carefully themed and each can have a different kind of thing they want to contribute.
You can do this through world design. In my Amber games, I would design packs of places and characters on flash cards. These would give me concrete things to show the players (he looks like THIS and you are HERE), but it also gave me concrete things to hold onto as a GM. The themes and characteristics were written on the backs of the cards, so I could keep everything straight and plan for a cast which would stress the themes of the setting even as the players were free to adventure on their own.
You can do this through "breadcrumbs". In a kung-fu card game I made, I gave each player three fragments of knowledge - things like "you saw a man with red hair in May". If you fought with someone and won, you could see one of their fragments and, if you put them together, the story unfolded. Although the story itself was prewritten, the way the players engaged with it was completely up to them.
The nature of the game also allowed for a lot of improv, as players naturally attached meaning to their fights. In the end, the players actually banded together to protect the bosses in order to prolong the game long enough to figure out the details of the story.
Even though the backstory was prewritten and the bosses were instructed to behave in specific ways, the players still created their own story.
You can do story setup through "rule weighting". In my Star Wars tabletops, I made light side and dark side considerably more complex than just a point system. There were a number of emotional scales - for example, "humility vs arrogance". If you used an emotion on one side of the scale, you got a boost based on how far along the scale you were, and you had a chance to move further along the scale. Since it required role play of that emotion, this quickly got the players used to role playing emotions. The themes native to Star Wars came through quite clearly as the players moved through the rule set, without any need for me to design a detailed plot at all.
Of course, you should also allow improv, which is when the players (and GM, if one exists) are free to inject their own stories into the world.
The problem with improv is that it's under a lot of time pressure, and the participants are very close to the situation so it's hard to see very far. In general, improv veers off-course too easily, and that can definitely sabotage the game.
The key to enjoyable improv is to keep directing it back into the themes of the setting.
For example, in the Star Wars tabletops I ran, the emotional rules naturally created opportunities to improv. You could improv off of something you did while feeling an emotion, or move from an emotional improv back into the rules of the game really easily. Because the rules created so many opportunities, the improv stayed inspired by the rules, and therefore stayed close to the themes of the game.
Similarly, I had a tabletop board game about psychics, but the players' psychic powers could only be charged by specific kinds of interplayer interaction. For example, doing someone a favor, or getting complimented, or making someone laugh. These are thematic rules which naturally create opportunities for improv while also keeping improv near to the themes of the game.
Another option is to make things a bit more concrete. If you play the card game Fairy Tale, you have a hand full of pieces of fairy tales. A genie in a lamp. A poisoned apple. Imprisoned in a tall tower. The game is improv - everyone tells a piece of the story, with the intent to hit one of their topics and play the card.
In a short game like that, it's enjoyable chaos. But it works fine in longer games as well, if you have more concrete threads. For example, in Nobilis, the players are gods of a given theme and each has their own mystical home. A GM that thinks ahead can make sure the pieces fit together. That is, if any given god starts to use their power, it naturally causes opportunities for the other gods to use their powers or their homes. This kind of resonance makes Nobilis worth playing, especially if you can interpret the domains as being thematically linked.
For example, if you have a god of hunger and a god of beauty, in any situation where one arises, the other can often find a place. Multiply this with three other players, and give each of those players a secondary power in the form of a realm, and now you have a game where the players can play off each other in a very natural, organic way while automatically maintaining the themes of the game.
It's also worth considering that there are multiple kinds of improv, and it's a mistake to have all the players operating on the same "level".
For example, in my kung-fu card game, there were players that really just enjoyed making beautiful kung-fu cards. There's nothing wrong with that at all. It's another kind of improv, and they really fired up the rest of the players. As you might notice, their improv was something that another player could easily grasp and work with.
And that's the key to multiplayer improv: shape it so that the players naturally improv fuel for the other players, all while staying close to the themes of the game.
Anyway, this was fun to revisit. I've written a lot about this stuff in the past, but it was waaaay in the past. I got embarrassed reading my old stuff, so I wrote this. ... very quickly. Sorry about the pacing.
When I think about stories in games, I generally divide it up into three types: the railroad, the setup, and improv.
When a GM in a tabletop game forced us to follow their story precisely, we called it "railroading". Most games are like this - a set of rails. Even games where you choose A or B, it's just a switch on the rails. The advantage of rails is that you can craft them really carefully. You can create a story that makes sense, is themed reliably, and is paced reasonably well.
I don't really like that method too much, though, because I'm more interested in watching players invent interesting things.
So most of my tabletop games use a "setup".
A setup is when you create a bunch of situations, characters, and setpieces which work in specific ways, but you let the players figure out how they want to proceed and what they want to do.
If it's a tabletop game, the GM can easily pull in these pieces whenever it seems like a good idea, so even a clumsy or pressured GM can generally come up with something interesting. Since all the pieces are created during downtime, they can be carefully themed and each can have a different kind of thing they want to contribute.
You can do this through world design. In my Amber games, I would design packs of places and characters on flash cards. These would give me concrete things to show the players (he looks like THIS and you are HERE), but it also gave me concrete things to hold onto as a GM. The themes and characteristics were written on the backs of the cards, so I could keep everything straight and plan for a cast which would stress the themes of the setting even as the players were free to adventure on their own.
You can do this through "breadcrumbs". In a kung-fu card game I made, I gave each player three fragments of knowledge - things like "you saw a man with red hair in May". If you fought with someone and won, you could see one of their fragments and, if you put them together, the story unfolded. Although the story itself was prewritten, the way the players engaged with it was completely up to them.
The nature of the game also allowed for a lot of improv, as players naturally attached meaning to their fights. In the end, the players actually banded together to protect the bosses in order to prolong the game long enough to figure out the details of the story.
Even though the backstory was prewritten and the bosses were instructed to behave in specific ways, the players still created their own story.
You can do story setup through "rule weighting". In my Star Wars tabletops, I made light side and dark side considerably more complex than just a point system. There were a number of emotional scales - for example, "humility vs arrogance". If you used an emotion on one side of the scale, you got a boost based on how far along the scale you were, and you had a chance to move further along the scale. Since it required role play of that emotion, this quickly got the players used to role playing emotions. The themes native to Star Wars came through quite clearly as the players moved through the rule set, without any need for me to design a detailed plot at all.
Of course, you should also allow improv, which is when the players (and GM, if one exists) are free to inject their own stories into the world.
The problem with improv is that it's under a lot of time pressure, and the participants are very close to the situation so it's hard to see very far. In general, improv veers off-course too easily, and that can definitely sabotage the game.
The key to enjoyable improv is to keep directing it back into the themes of the setting.
For example, in the Star Wars tabletops I ran, the emotional rules naturally created opportunities to improv. You could improv off of something you did while feeling an emotion, or move from an emotional improv back into the rules of the game really easily. Because the rules created so many opportunities, the improv stayed inspired by the rules, and therefore stayed close to the themes of the game.
Similarly, I had a tabletop board game about psychics, but the players' psychic powers could only be charged by specific kinds of interplayer interaction. For example, doing someone a favor, or getting complimented, or making someone laugh. These are thematic rules which naturally create opportunities for improv while also keeping improv near to the themes of the game.
Another option is to make things a bit more concrete. If you play the card game Fairy Tale, you have a hand full of pieces of fairy tales. A genie in a lamp. A poisoned apple. Imprisoned in a tall tower. The game is improv - everyone tells a piece of the story, with the intent to hit one of their topics and play the card.
In a short game like that, it's enjoyable chaos. But it works fine in longer games as well, if you have more concrete threads. For example, in Nobilis, the players are gods of a given theme and each has their own mystical home. A GM that thinks ahead can make sure the pieces fit together. That is, if any given god starts to use their power, it naturally causes opportunities for the other gods to use their powers or their homes. This kind of resonance makes Nobilis worth playing, especially if you can interpret the domains as being thematically linked.
For example, if you have a god of hunger and a god of beauty, in any situation where one arises, the other can often find a place. Multiply this with three other players, and give each of those players a secondary power in the form of a realm, and now you have a game where the players can play off each other in a very natural, organic way while automatically maintaining the themes of the game.
It's also worth considering that there are multiple kinds of improv, and it's a mistake to have all the players operating on the same "level".
For example, in my kung-fu card game, there were players that really just enjoyed making beautiful kung-fu cards. There's nothing wrong with that at all. It's another kind of improv, and they really fired up the rest of the players. As you might notice, their improv was something that another player could easily grasp and work with.
And that's the key to multiplayer improv: shape it so that the players naturally improv fuel for the other players, all while staying close to the themes of the game.
Anyway, this was fun to revisit. I've written a lot about this stuff in the past, but it was waaaay in the past. I got embarrassed reading my old stuff, so I wrote this. ... very quickly. Sorry about the pacing.
Labels:
game design,
player-generated content,
stories
Thursday, February 05, 2015
Voxel Parkour
Let's talk about parkour voxel games!
This will have two parts. One: technicals of parkouring on voxels. Two: Why the hell would we use a voxel game?
Most parkour games are magnetic. Setpieces are put in the game world specifically to attract your parkouring, and if a jump looks a bit risky, your character will usually snap to the target in a very forgiving manner. This is because parkour is all about judging distance and speed, but in the average 3D world it's a bit difficult to do. So they simplify it by making a pretty clear dividing line between "obviously OK" and "obviously not OK".
In a voxel world, you can read distance and speed pretty well, out to about 6 or 7 bricks. So if your jump is 3.5 bricks, you'll quickly be able to determine whether you can make it or not.
Nothing is ever simple, though, because that's when you're running orthogonally. If you're running across the blocks diagonally, the actual distance is much harder to judge.
Well, that's not actually a problem. When a distance is near their jump limit, players will naturally align themselves square with the jump - IE, orthogonal. The only times players will jump at an awkward angle is when they're pretty sure they'll make it and don't need to try very hard. So there's no need to restrict the player to orthogonal movement like in the original Tomb Raiders - we can just assume the player will square off naturally if a jump looks difficult.
There would still be some gotchas - like a knight's move jump, for example. But in general, that'd work, especially if ledge grabbing is pretty forgiving.
In these case we've been talking about jump distances of 3.5 bricks. That sort of implies the bricks are quite large - perhaps a cubic meter. That's larger than an average voxel game.
Well, the smaller the bricks (or the longer the jumps), the more difficult it is to read distances and the more complex layouts become. Large blocks are easy to read, so in this world that would be the voxel size. Of course, you can add a lot of complexity to that. For example, design your own blocks using cubic centimeter voxels to build a cubic meter voxel. Or have 'small voxels' for things like chairs and books and stuff, but if you use them, that voxel becomes too cluttered to run through and the character either trips or slows to a walk - basically, if you shrink the voxel size, you necessarily shrink the player's mobility to match.
Anyway, there are other technical concerns when building a parkour game - parkour moves, inertia, camera motion, etc. However, none of those seem particularly voxel-centric, so let's gloss over them and move on to WHY?
...
Why build a voxel parkour game?
In general, you can think of a parkour game as oscillating between linear and exploration segments. Something like Mirror's Edge is mostly linear segments, with exploration limited to finding the path the developers allow you to take. Something like Crackdown or Assassin's Creed is mostly exploration, with the only linear sections being challenges or you trying to get through an area as quickly as possible because you've been here before.
As you might expect, if a game has more exploration segments, then the game needs more things to find. Crackdown and Asscreed are both littered with collectibles, side missions, and random encounters, as are most games with an open-world feel.
The old Tomb Raider games took this another direction: they were primarily exploration, and there were certain collectibles to find, but the core thing to explore for was puzzle solutions. This has fallen by the wayside in recent years, because nobody likes spending time thinking about how to do something... but in our voxel game, it might be worth reconsidering.
See, the strength of a voxel game is player-created content. Voxels are very easy to comprehend, and players can place them in a straightfoward way. However, a player's capabilities are limited: they can only visualize so many blocks at once, and the UI only allows them to place blocks in certain ways. Minecraft's relatively small voxels may seem like a strength, but they are also a weakness: the scale at which most players build is quite small. Most players never build anything larger than a medium-size mansion. It's just too annoying. If you're going to build something bigger, you usually use a tool assist to make it easier.
Obviously, all of this varies. But the point is that if we want a parkour game, we have to allow player creations to be large enough to be fun to parkour. A single player needs to be able to create a small city, so that visitors can parkour on it.
In just raw voxel terms, using larger voxels is a big help. Tomb Raider's original voxels were about 2m on each edge, which is probably about right if we want players to be able to create cities... but it requires a huge variety of voxels. Walls that are two meters thick are absurd, and ceilings that thick are doubly so... which means that the voxels would have to be complex baked objects. This is a "floor and wall and ceiling" voxel. And it's cousins for every wall configuration. And windows. And doors. It gets really complex.
I think the best solution is to use a "voxel chunking" system. This is pretty straightforward: voxels might be, say, 25cm per edge (about a third of a Minecraft block), but you have to lay them down in 10x10x10 chunks (2.5m, about the size of one floor of a building). When you're in "build mode", the system highlights each chunk boundary with maneuverability by simply looking at the voxel layout. If the top edges are filled out with solid voxels, it can be ledge-grabbed. If the remaining 8x8 top blocks are filled out, it can be run across. If a subset of that is filled out (say, 4x8), it's a narrow beam which can be slowly walked across. If it's a subset of that (say, 3x3), then it's a point that can be stood on, but it's jump-on, jump-off. The walls determine your wall-jumping and wall-running capabilities, but the interiors of the voxel are wholly unimportant to the parkour engine. If you enter into one of these blocks, you stop parkouring and start walking slowly, and collisions are determined at the smaller scale.
A bunch of physics heuristics can also be applied, chunking your 10x10x10 object into a particular combination of pressure points, mass, and rigidity. That's optional, but it's always nice to have a powerful simplification available.
From the player's perspective, this voxel-chunking system works in a different way. Rather than "building up" your house, you "build down" your house. You place solid 10x10x10 voxels of the material you like, and then you clear away the insides using simple tools that clear away specific surface sizes. So you block out your world, then hollow out the areas you want hollowed out, and then you edit per-voxel. Unlike Minecraft, there wouldn't be a whole lot of special-case voxels, because our detail level is high enough to let the player craft chairs and windows and such without having them prefabricated.
We can also have shortcuts pretty easily. For example, if you block out a building then assign an NPC to finish its construction, the NPC will intelligently carve out the interior, create windows and doors and interior walls and furniture etc. Different NPCs might have different preferences, or if multiple NPCs are assigned the same building they might carve out pieces in different styles... there's lots of fun options if we want to spent some time creating algorithms for helping the player.
All of that complexity boils down to a surface simplicity. When the player is dashing, all they care about is which surfaces are solid. But when a player is not dashing, they can enjoy the complexity of the high-detail regions.
Building large is good, but exploring that world needs to have benefits. You want things to do and to find.
Sometimes, the player will place things to find or do - players will certainly enjoy creating dungeons full of traps and puzzles. However, I think players should also be allowed to nurture these into existence.
If a player builds a city, I'd like to see that same player dashing through the city, climbing, looking in alleys, peeking in subways and homes. And to incentivize that, I think the structures players build need to exist as more than empty buildings. I think NPCs, plants, and animals need to inhabit this world.
When you assign these things to live in your various creations, you do so with the understanding that after in-game time passes, they will create some useful resource. Fruit, magic essence, books, leather, whatever. But the rules as to how they appear and how they stack can be varied and interesting, meaning that as you become better at the game you'll learn to create more efficient housing, more interesting machines. And dash through them.
By making windows and streets an important part of whether an NPC is happy, you can make players block out cities rather than giant warrens. You could also introduce structural limitations - building out of stone or wood could result in specific stresses and buildings could collapse if built too tall or spidery... well, it could be really fun to experiment with the various restrictions and what sort of complex, parkourable structures arise. Especially if you start mixing together player content semirandomly into large, shared cities...
Well, add to that some kind of mechanical/electrical thing, and you have quite a game.
This will have two parts. One: technicals of parkouring on voxels. Two: Why the hell would we use a voxel game?
Most parkour games are magnetic. Setpieces are put in the game world specifically to attract your parkouring, and if a jump looks a bit risky, your character will usually snap to the target in a very forgiving manner. This is because parkour is all about judging distance and speed, but in the average 3D world it's a bit difficult to do. So they simplify it by making a pretty clear dividing line between "obviously OK" and "obviously not OK".
In a voxel world, you can read distance and speed pretty well, out to about 6 or 7 bricks. So if your jump is 3.5 bricks, you'll quickly be able to determine whether you can make it or not.
Nothing is ever simple, though, because that's when you're running orthogonally. If you're running across the blocks diagonally, the actual distance is much harder to judge.
Well, that's not actually a problem. When a distance is near their jump limit, players will naturally align themselves square with the jump - IE, orthogonal. The only times players will jump at an awkward angle is when they're pretty sure they'll make it and don't need to try very hard. So there's no need to restrict the player to orthogonal movement like in the original Tomb Raiders - we can just assume the player will square off naturally if a jump looks difficult.
There would still be some gotchas - like a knight's move jump, for example. But in general, that'd work, especially if ledge grabbing is pretty forgiving.
In these case we've been talking about jump distances of 3.5 bricks. That sort of implies the bricks are quite large - perhaps a cubic meter. That's larger than an average voxel game.
Well, the smaller the bricks (or the longer the jumps), the more difficult it is to read distances and the more complex layouts become. Large blocks are easy to read, so in this world that would be the voxel size. Of course, you can add a lot of complexity to that. For example, design your own blocks using cubic centimeter voxels to build a cubic meter voxel. Or have 'small voxels' for things like chairs and books and stuff, but if you use them, that voxel becomes too cluttered to run through and the character either trips or slows to a walk - basically, if you shrink the voxel size, you necessarily shrink the player's mobility to match.
Anyway, there are other technical concerns when building a parkour game - parkour moves, inertia, camera motion, etc. However, none of those seem particularly voxel-centric, so let's gloss over them and move on to WHY?
...
Why build a voxel parkour game?
In general, you can think of a parkour game as oscillating between linear and exploration segments. Something like Mirror's Edge is mostly linear segments, with exploration limited to finding the path the developers allow you to take. Something like Crackdown or Assassin's Creed is mostly exploration, with the only linear sections being challenges or you trying to get through an area as quickly as possible because you've been here before.
As you might expect, if a game has more exploration segments, then the game needs more things to find. Crackdown and Asscreed are both littered with collectibles, side missions, and random encounters, as are most games with an open-world feel.
The old Tomb Raider games took this another direction: they were primarily exploration, and there were certain collectibles to find, but the core thing to explore for was puzzle solutions. This has fallen by the wayside in recent years, because nobody likes spending time thinking about how to do something... but in our voxel game, it might be worth reconsidering.
See, the strength of a voxel game is player-created content. Voxels are very easy to comprehend, and players can place them in a straightfoward way. However, a player's capabilities are limited: they can only visualize so many blocks at once, and the UI only allows them to place blocks in certain ways. Minecraft's relatively small voxels may seem like a strength, but they are also a weakness: the scale at which most players build is quite small. Most players never build anything larger than a medium-size mansion. It's just too annoying. If you're going to build something bigger, you usually use a tool assist to make it easier.
Obviously, all of this varies. But the point is that if we want a parkour game, we have to allow player creations to be large enough to be fun to parkour. A single player needs to be able to create a small city, so that visitors can parkour on it.
In just raw voxel terms, using larger voxels is a big help. Tomb Raider's original voxels were about 2m on each edge, which is probably about right if we want players to be able to create cities... but it requires a huge variety of voxels. Walls that are two meters thick are absurd, and ceilings that thick are doubly so... which means that the voxels would have to be complex baked objects. This is a "floor and wall and ceiling" voxel. And it's cousins for every wall configuration. And windows. And doors. It gets really complex.
I think the best solution is to use a "voxel chunking" system. This is pretty straightforward: voxels might be, say, 25cm per edge (about a third of a Minecraft block), but you have to lay them down in 10x10x10 chunks (2.5m, about the size of one floor of a building). When you're in "build mode", the system highlights each chunk boundary with maneuverability by simply looking at the voxel layout. If the top edges are filled out with solid voxels, it can be ledge-grabbed. If the remaining 8x8 top blocks are filled out, it can be run across. If a subset of that is filled out (say, 4x8), it's a narrow beam which can be slowly walked across. If it's a subset of that (say, 3x3), then it's a point that can be stood on, but it's jump-on, jump-off. The walls determine your wall-jumping and wall-running capabilities, but the interiors of the voxel are wholly unimportant to the parkour engine. If you enter into one of these blocks, you stop parkouring and start walking slowly, and collisions are determined at the smaller scale.
A bunch of physics heuristics can also be applied, chunking your 10x10x10 object into a particular combination of pressure points, mass, and rigidity. That's optional, but it's always nice to have a powerful simplification available.
From the player's perspective, this voxel-chunking system works in a different way. Rather than "building up" your house, you "build down" your house. You place solid 10x10x10 voxels of the material you like, and then you clear away the insides using simple tools that clear away specific surface sizes. So you block out your world, then hollow out the areas you want hollowed out, and then you edit per-voxel. Unlike Minecraft, there wouldn't be a whole lot of special-case voxels, because our detail level is high enough to let the player craft chairs and windows and such without having them prefabricated.
We can also have shortcuts pretty easily. For example, if you block out a building then assign an NPC to finish its construction, the NPC will intelligently carve out the interior, create windows and doors and interior walls and furniture etc. Different NPCs might have different preferences, or if multiple NPCs are assigned the same building they might carve out pieces in different styles... there's lots of fun options if we want to spent some time creating algorithms for helping the player.
All of that complexity boils down to a surface simplicity. When the player is dashing, all they care about is which surfaces are solid. But when a player is not dashing, they can enjoy the complexity of the high-detail regions.
Building large is good, but exploring that world needs to have benefits. You want things to do and to find.
Sometimes, the player will place things to find or do - players will certainly enjoy creating dungeons full of traps and puzzles. However, I think players should also be allowed to nurture these into existence.
If a player builds a city, I'd like to see that same player dashing through the city, climbing, looking in alleys, peeking in subways and homes. And to incentivize that, I think the structures players build need to exist as more than empty buildings. I think NPCs, plants, and animals need to inhabit this world.
When you assign these things to live in your various creations, you do so with the understanding that after in-game time passes, they will create some useful resource. Fruit, magic essence, books, leather, whatever. But the rules as to how they appear and how they stack can be varied and interesting, meaning that as you become better at the game you'll learn to create more efficient housing, more interesting machines. And dash through them.
By making windows and streets an important part of whether an NPC is happy, you can make players block out cities rather than giant warrens. You could also introduce structural limitations - building out of stone or wood could result in specific stresses and buildings could collapse if built too tall or spidery... well, it could be really fun to experiment with the various restrictions and what sort of complex, parkourable structures arise. Especially if you start mixing together player content semirandomly into large, shared cities...
Well, add to that some kind of mechanical/electrical thing, and you have quite a game.
Monday, January 26, 2015
Suitably Casual
I've found that playing RPGs on the phone is nearly impossible.
Well, to be more precise, it's extremely easy to play them when I have the time. When I was stuck in my parents' house for holidays, I could play RPGs quite well - long stretches of nothing better to do. So this is not an interface issue, it's an issue of time. My normal play habits involve ~20-30 minutes stuck on a train. Too short and too loud to get immersed into an RPG.
Instead, I play casual puzzle games such as Threes.
I like Threes well enough. But I miss the depth of character and world that comes with RPGs.
On a computer or console, the RPG is structured with a specific kind of pacing. We've polished that pacing until it sparkles, but it's becoming clear our standard RPG pacing won't work in small bursts. At least, not for me.
Rather than creating "a casual RPG", I'm thinking about ways to deliver the same characterization, world weight, and personalization that RPGs offer. But in small bursts.
One way to do this is Animal Crossing. The casual play of Animal Crossing and every game like it is compatible with short play sessions, and as you play you will slowly come to know and have feelings for the various other citizens of the town.
The play of Animal-Crossing-style games is largely maintenance. That is, there are various timed resources and you wander around collecting them. In some of these kinds of games, the timers are realtime. If you want to play for a long time, you start to explore areas you usually ignore. In some games, the timers are in-game, and the game world can easily be advanced - for example, farming games. In this case, the play is broken up into chunks of your own choice.
I prefer the latter idea, because I know how long I have to play. If I have a lot of train ride left, I might decide to tackle two days. Or, I might decide to do the maintenance stuff and then spend some time wandering around doing optional things. If I have less time, I'll naturally be able to focus on what I need to get done, and then end off naturally by going to sleep as my train arrives at my stop.
This player-selected duration is powerful, because not only does it allow me to pace myself based on the time of my travel, it also allows me to pace myself based on my current mood. If I'm impatient, I can push from day to day. If I'm feeling dreamy, I can wander the world without advancing time at all.
Fundamentally, maintenance-based gameplay is not the style of play I feel compelled by. In addition to not feeling as interesting as I'd like, maintenance gameplay is also contextually limited: it doesn't feature any significant travel or change, so the world can never be pushed into my head. It can make me enjoy characters, but the world will always feel tenuous because I'm stuck in a single spot where nothing really changes.
A game like Threes takes another approach: it's a skill-based puzzler. The puzzles are 2-5 minute affairs, and you just keep repeating them.
I believe the concept of a puzzler can be adapted to allow for character and world development. But it can't be pure. A pure puzzle (like Threes) can't really have characters and worlds hung behind it. The pure puzzler doesn't entangle easily: it has nothing to do with other characters or specific places. It's pure logic.
So there are impure puzzlers. "Fuzzy puzzlers".
For example, Phoenix Wright games feature extensive character development and are a lot of fun. They are not ideal for commutes because their pacing is too heavily structured: I can't deviate from the pacing depending on my mood or my allotted time, and the viable break points are too widely separated. Also, the world development is pretty scarce, largely because it's just not a focus.
The core idea is good. A puzzler that involves interacting with weirdos as its core mechanic. Phoenix Wright has terrible gameplay, all considered: there's only one path forward and it's basically a test of how well you can read the developers' minds. But the terrible gameplay is simply a gating mechanism to pace the content. It makes sense to have a strict linear progression when you exist solely to show off your fun characters.
That style of gameplay doesn't allow for customization, though, and that's a core piece of what I want from my theoretical game. It's either going to need generative questlines or an open world. Or both.
In an RPG, the fundamental pacing idea is good. You have several different gears in your gear box: safe exploration, tense exploration, grinding, pushing... each can be entered and exited depending on my mood and my judgment of how my customization is going. Maybe I need to grind a bit more before I push forward, for example.
The choices given to me are not absolutely perfect. There's no maintenance cycle, and the exploration segments are limited by the maps and scripted sidequests available in a region. For example, tense exploration turns into grinding, and no more tense exploration opens up until you push past the next boss. That's actually good in a console/PC game, because it keeps you moving forward. But in a casual game?
Well, there are some games that are a hybrid. The Rune Factory games are RPGs with cyclic maintenance and almost unlimited exploration sections. Huge worlds, low endurance, and lots of NPCs that actually change over time give them a good longevity. But Rune Factory is not what I'm looking to make. The customization is too low, and the worlds are underdeveloped. In addition, the days pass with alarming finality, so it's difficult to adjust a cycle to fit your mood and allotted time. Lastly, the actual interface is not very well suited to phones.
Interface is very important for pick-up-and-play games. Awkward interfaces are fine if you've got at least an hour to let your fingers remember what's going on, but in a commuter game you've got to have an interface that feels really easy. This is true both in how the player interacts with the game, and in how the game presents itself.
RPGs tend to be "local focus". That is, you are an entity in the game world and you can interact with things inside a given radius. But a phone is fundamentally a "global focus" - everything on the screen is as easy to tap as anything else on the screen. This is a big change. For example, a Rune Factory field is full of random plants you've chosen to plant. You plant them by walking to the specific meter of dirt you want and then plopping them down. But on a phone, planting a field would feel more natural if you just tap the meter you want. In turn, this means your fat fingers have to be able to accurately tap a specific meter, which means displaying fewer meters...
Normally, RPGs just accept their sub-par controls and have shitty controls on phones. I'd prefer to go with global control. So there's a challenge to create something where you have global control AND customization AND interesting character development AND interesting world development AND flexible play.
... I don't really have an answer, yet. But I'm working on it!
Well, to be more precise, it's extremely easy to play them when I have the time. When I was stuck in my parents' house for holidays, I could play RPGs quite well - long stretches of nothing better to do. So this is not an interface issue, it's an issue of time. My normal play habits involve ~20-30 minutes stuck on a train. Too short and too loud to get immersed into an RPG.
Instead, I play casual puzzle games such as Threes.
I like Threes well enough. But I miss the depth of character and world that comes with RPGs.
On a computer or console, the RPG is structured with a specific kind of pacing. We've polished that pacing until it sparkles, but it's becoming clear our standard RPG pacing won't work in small bursts. At least, not for me.
Rather than creating "a casual RPG", I'm thinking about ways to deliver the same characterization, world weight, and personalization that RPGs offer. But in small bursts.
One way to do this is Animal Crossing. The casual play of Animal Crossing and every game like it is compatible with short play sessions, and as you play you will slowly come to know and have feelings for the various other citizens of the town.
The play of Animal-Crossing-style games is largely maintenance. That is, there are various timed resources and you wander around collecting them. In some of these kinds of games, the timers are realtime. If you want to play for a long time, you start to explore areas you usually ignore. In some games, the timers are in-game, and the game world can easily be advanced - for example, farming games. In this case, the play is broken up into chunks of your own choice.
I prefer the latter idea, because I know how long I have to play. If I have a lot of train ride left, I might decide to tackle two days. Or, I might decide to do the maintenance stuff and then spend some time wandering around doing optional things. If I have less time, I'll naturally be able to focus on what I need to get done, and then end off naturally by going to sleep as my train arrives at my stop.
This player-selected duration is powerful, because not only does it allow me to pace myself based on the time of my travel, it also allows me to pace myself based on my current mood. If I'm impatient, I can push from day to day. If I'm feeling dreamy, I can wander the world without advancing time at all.
Fundamentally, maintenance-based gameplay is not the style of play I feel compelled by. In addition to not feeling as interesting as I'd like, maintenance gameplay is also contextually limited: it doesn't feature any significant travel or change, so the world can never be pushed into my head. It can make me enjoy characters, but the world will always feel tenuous because I'm stuck in a single spot where nothing really changes.
A game like Threes takes another approach: it's a skill-based puzzler. The puzzles are 2-5 minute affairs, and you just keep repeating them.
I believe the concept of a puzzler can be adapted to allow for character and world development. But it can't be pure. A pure puzzle (like Threes) can't really have characters and worlds hung behind it. The pure puzzler doesn't entangle easily: it has nothing to do with other characters or specific places. It's pure logic.
So there are impure puzzlers. "Fuzzy puzzlers".
For example, Phoenix Wright games feature extensive character development and are a lot of fun. They are not ideal for commutes because their pacing is too heavily structured: I can't deviate from the pacing depending on my mood or my allotted time, and the viable break points are too widely separated. Also, the world development is pretty scarce, largely because it's just not a focus.
The core idea is good. A puzzler that involves interacting with weirdos as its core mechanic. Phoenix Wright has terrible gameplay, all considered: there's only one path forward and it's basically a test of how well you can read the developers' minds. But the terrible gameplay is simply a gating mechanism to pace the content. It makes sense to have a strict linear progression when you exist solely to show off your fun characters.
That style of gameplay doesn't allow for customization, though, and that's a core piece of what I want from my theoretical game. It's either going to need generative questlines or an open world. Or both.
In an RPG, the fundamental pacing idea is good. You have several different gears in your gear box: safe exploration, tense exploration, grinding, pushing... each can be entered and exited depending on my mood and my judgment of how my customization is going. Maybe I need to grind a bit more before I push forward, for example.
The choices given to me are not absolutely perfect. There's no maintenance cycle, and the exploration segments are limited by the maps and scripted sidequests available in a region. For example, tense exploration turns into grinding, and no more tense exploration opens up until you push past the next boss. That's actually good in a console/PC game, because it keeps you moving forward. But in a casual game?
Well, there are some games that are a hybrid. The Rune Factory games are RPGs with cyclic maintenance and almost unlimited exploration sections. Huge worlds, low endurance, and lots of NPCs that actually change over time give them a good longevity. But Rune Factory is not what I'm looking to make. The customization is too low, and the worlds are underdeveloped. In addition, the days pass with alarming finality, so it's difficult to adjust a cycle to fit your mood and allotted time. Lastly, the actual interface is not very well suited to phones.
Interface is very important for pick-up-and-play games. Awkward interfaces are fine if you've got at least an hour to let your fingers remember what's going on, but in a commuter game you've got to have an interface that feels really easy. This is true both in how the player interacts with the game, and in how the game presents itself.
RPGs tend to be "local focus". That is, you are an entity in the game world and you can interact with things inside a given radius. But a phone is fundamentally a "global focus" - everything on the screen is as easy to tap as anything else on the screen. This is a big change. For example, a Rune Factory field is full of random plants you've chosen to plant. You plant them by walking to the specific meter of dirt you want and then plopping them down. But on a phone, planting a field would feel more natural if you just tap the meter you want. In turn, this means your fat fingers have to be able to accurately tap a specific meter, which means displaying fewer meters...
Normally, RPGs just accept their sub-par controls and have shitty controls on phones. I'd prefer to go with global control. So there's a challenge to create something where you have global control AND customization AND interesting character development AND interesting world development AND flexible play.
... I don't really have an answer, yet. But I'm working on it!
Sunday, January 18, 2015
Backstory as Characterization
So, I'm making an RPG thing, let's talk about NPCs!
99% of NPCs in video games are "backstory as characterization" NPCs. This is easy to illustrate.
In Dragon Age: Inquisition, you go outside your castle and there's a yard. In the yard is warrior lady, a bunch of random trainees, and first game guy. If you talk to them, your only real options are to ask about their oh-so-complex pasts.
In reality, if you wanted to become friends with people in a situation like that, you'd share the situation with them. You'd bullshit about the new recruits, tease them about something, roll your eyes with them. It's ripe for complex interactions because there's three people with personalities (including you) and a bunch of minor NPCs. There's loads of details that could happen but, of course, don't.
You can occasionally choose some minor local detail from the drop down or see it mentioned briefly. For example, you tease warrior lady about needing a new practice dummy. But it's so... one-off and scripted. It's not even vaguely organic, and flows roughly as well as Joe Biden rapping.
The biggest dialog path is asking about backstories.
This is a great way to get to know someone. See what they went through, how they acted, what they think of their past selves. Yup. You can really get to know these characters.
But knowing someone isn't even vaguely associated with being friends with them.
There are lots of people you know and don't want to be friends with, and there are people you become friends with even though you barely know them.
This is because friendship arises from interacting with each other in a shared situation.
For example, you chat with someone because you're both at a boring party. You play video games with a group and hit it off with some of them. You have a cooking class with people. You're stuck on duty for 8 hours, so you chat with the other guard. Whatever. You're in the same situation, so you can interact with a meaningful context.
That's how you become friends. Not by knowing their torrid past, but by get along in a shared situation.
Why don't games do that?
Well, firstly, backstories are cheap and easy to pace.
More importantly, "shared situation" is a loaded word. See, in games, the only "situation" that the player can "interact" via is the gameplay. For example, the combat.
If the NPC has a lot to "say" in combat, that usually means they're derailing the player's plans. Basically, it's an escort mission.
Ah, escort missions. Some of you may not even remember the era where those existed.
"Wait, wait, there's loads of games where NPCs support you in combat and aren't annoying or derailing..."
Yeah, because the AI has been blunted down to the point where the NPC is less like another player and more like a tree or a rock. They exist to support you, not to interact, not be themselves, not to share the situation. In Dragon Age: Inquisition, if you give two characters the same abilities, they will perform precisely the same way in combat. Because it's not about them being them, it's about them being reliable.
Bioshock Infinite was a huge example of this, where the Disney Princess character was theoretically in the same situation as you, except she couldn't be hurt, trapped, sidetracked, or in affected by combat in any way. Similarly, rather than having the same goal of "killing dudes", her goal is to pick doodads up and toss them to you.
She's not sharing the situation. She's just in the same place.
Over the decades, we've become experts at removing the character from characters. They never do anything characteristic in gameplay, because that'd screw up the player's agency, make them annoyed.
In turn, the only way they can distinguish themselves as characters is through dialog snippets. And king of the dialog snippets is the backstory.
Well, that's no good.
Dragon Age actually has a partial solution: if you can't make the characters express themselves while sharing the combat situation, how about while they share a less pressing situation, such as wandering the map? While you explore, they'll chat among themselves!
Not a bad idea. There are plenty of low-stress gameplay moments in RPGs. Why not allow the other characters some freedom?
But dialog snippets just aren't going to cut it, not least because the player can't respond to them. Pausing the game for a dialog popup would interrupt the gameplay and be just as annoying as a character doing something dumb in combat.
In order for this to work, we need a way to allow the player to subtly and fluidly interact with an NPC's characteristic actions, and we'd want to have more characteristic actions than simply chatting.
A big part of this is to spread the work. If your party members interact with each other a lot, you can get a feel for who they are without being interrupted. They are obviously able to respond fluidly, since they're programmed to do so. No need to pop up a response tree.
When they do interact with you, or you need to interact with them, a very simple, fluid response system would be best. Rather than potential lines of dialog popping up, I'm thinking you just have a few different "moods" - maybe just two. Neither is "wrong" or "right": the choice doesn't matter in any grand sense. You're just interacting with them in a simple way to drum up a relationship.
Alternately, that idea might be fundamentally the wrong direction. Instead, how about every time you go to a town or whatever, you actually deploy your party members to go shopping or exploring or looking for people or whatever. They keep coming back to you with progress reports, and you can interact at that time.
Altalternately, you can play down player control or introduce intervals where the player doesn't have to keep tight control. If the player isn't interested in maintaining control over a situation, then the NPCs can inject their own choices into it without screwing the player over.
Altaltalternately, you can have the NPC be the one providing the play and therefore also responsible for how it unfolds. By putting the NPC in control over specific facets, you can trade off control with the player at regularly defined intervals. For example, the NPC might pull you from place to place, but in combat be reliable and staid.
I don't have a good answer, but I can tell you one thing:
NPCs in my game will not have important backstories. They will be defined 100% by interacting with you, and 0% by dictating their past to you. At least that way you'll be involved.
99% of NPCs in video games are "backstory as characterization" NPCs. This is easy to illustrate.
In Dragon Age: Inquisition, you go outside your castle and there's a yard. In the yard is warrior lady, a bunch of random trainees, and first game guy. If you talk to them, your only real options are to ask about their oh-so-complex pasts.
In reality, if you wanted to become friends with people in a situation like that, you'd share the situation with them. You'd bullshit about the new recruits, tease them about something, roll your eyes with them. It's ripe for complex interactions because there's three people with personalities (including you) and a bunch of minor NPCs. There's loads of details that could happen but, of course, don't.
You can occasionally choose some minor local detail from the drop down or see it mentioned briefly. For example, you tease warrior lady about needing a new practice dummy. But it's so... one-off and scripted. It's not even vaguely organic, and flows roughly as well as Joe Biden rapping.
The biggest dialog path is asking about backstories.
This is a great way to get to know someone. See what they went through, how they acted, what they think of their past selves. Yup. You can really get to know these characters.
But knowing someone isn't even vaguely associated with being friends with them.
There are lots of people you know and don't want to be friends with, and there are people you become friends with even though you barely know them.
This is because friendship arises from interacting with each other in a shared situation.
For example, you chat with someone because you're both at a boring party. You play video games with a group and hit it off with some of them. You have a cooking class with people. You're stuck on duty for 8 hours, so you chat with the other guard. Whatever. You're in the same situation, so you can interact with a meaningful context.
That's how you become friends. Not by knowing their torrid past, but by get along in a shared situation.
Why don't games do that?
Well, firstly, backstories are cheap and easy to pace.
More importantly, "shared situation" is a loaded word. See, in games, the only "situation" that the player can "interact" via is the gameplay. For example, the combat.
If the NPC has a lot to "say" in combat, that usually means they're derailing the player's plans. Basically, it's an escort mission.
Ah, escort missions. Some of you may not even remember the era where those existed.
"Wait, wait, there's loads of games where NPCs support you in combat and aren't annoying or derailing..."
Yeah, because the AI has been blunted down to the point where the NPC is less like another player and more like a tree or a rock. They exist to support you, not to interact, not be themselves, not to share the situation. In Dragon Age: Inquisition, if you give two characters the same abilities, they will perform precisely the same way in combat. Because it's not about them being them, it's about them being reliable.
Bioshock Infinite was a huge example of this, where the Disney Princess character was theoretically in the same situation as you, except she couldn't be hurt, trapped, sidetracked, or in affected by combat in any way. Similarly, rather than having the same goal of "killing dudes", her goal is to pick doodads up and toss them to you.
She's not sharing the situation. She's just in the same place.
Over the decades, we've become experts at removing the character from characters. They never do anything characteristic in gameplay, because that'd screw up the player's agency, make them annoyed.
In turn, the only way they can distinguish themselves as characters is through dialog snippets. And king of the dialog snippets is the backstory.
Well, that's no good.
Dragon Age actually has a partial solution: if you can't make the characters express themselves while sharing the combat situation, how about while they share a less pressing situation, such as wandering the map? While you explore, they'll chat among themselves!
Not a bad idea. There are plenty of low-stress gameplay moments in RPGs. Why not allow the other characters some freedom?
But dialog snippets just aren't going to cut it, not least because the player can't respond to them. Pausing the game for a dialog popup would interrupt the gameplay and be just as annoying as a character doing something dumb in combat.
In order for this to work, we need a way to allow the player to subtly and fluidly interact with an NPC's characteristic actions, and we'd want to have more characteristic actions than simply chatting.
A big part of this is to spread the work. If your party members interact with each other a lot, you can get a feel for who they are without being interrupted. They are obviously able to respond fluidly, since they're programmed to do so. No need to pop up a response tree.
When they do interact with you, or you need to interact with them, a very simple, fluid response system would be best. Rather than potential lines of dialog popping up, I'm thinking you just have a few different "moods" - maybe just two. Neither is "wrong" or "right": the choice doesn't matter in any grand sense. You're just interacting with them in a simple way to drum up a relationship.
Alternately, that idea might be fundamentally the wrong direction. Instead, how about every time you go to a town or whatever, you actually deploy your party members to go shopping or exploring or looking for people or whatever. They keep coming back to you with progress reports, and you can interact at that time.
Altalternately, you can play down player control or introduce intervals where the player doesn't have to keep tight control. If the player isn't interested in maintaining control over a situation, then the NPCs can inject their own choices into it without screwing the player over.
Altaltalternately, you can have the NPC be the one providing the play and therefore also responsible for how it unfolds. By putting the NPC in control over specific facets, you can trade off control with the player at regularly defined intervals. For example, the NPC might pull you from place to place, but in combat be reliable and staid.
I don't have a good answer, but I can tell you one thing:
NPCs in my game will not have important backstories. They will be defined 100% by interacting with you, and 0% by dictating their past to you. At least that way you'll be involved.
Subscribe to:
Posts (Atom)