Monday, September 10, 2018

Character-Driven Game Design

Well, another day, another trailer.

These days, a lot of video game teasers and trailers are animated shorts with no relation to the gameplay. Today, League of Legends posted a teaser about an energetic, funny space ship crew and asked you to join up.

Of course, it's not an energetic, funny space ship crew game. It's League of Legends, meaning it's a MOBA - a plodding arena combat genre known mostly for toxic team play. In short, not energetic, not funny, not character-driven.

This is not a one-off. Virtually every major action game has been releasing character-driven shorts of extremely high quality and pretending it has something to do with the game in question.

It reminds me of the old days, when the cover art sold the video game. Except, of course, the cover art would be some Vallejo painting and the game would be eight pixel high sprites jumping from platform to platform.

Given the response I and many others have to these teasers, it's clear there is an interest in high-energy, cinematic, character-driven experiences.

But no games like that ever seem to come out.

Let's talk about it!

Hangin' Out, Havin' Ourselves a Parrrrtaaay

There are games with strong characters. For example, Telltale-style adventures. However, you can't really "hang out" in those games. The narratives are character-driven, but the games are narrative-driven. This is a bad fit for me: I care a whole lot about the characters I'm hanging out with, and the distraction of being told to uncover some ancient secret while fighting off invading ninjas just weakens the experience.

There are games where you can hang out. For example, open world RPGs. However, while you can hang out in the world, you can't really hang out with the characters. They're programmed to only really respond to specific world events. Worse, semi-open RPGs like FFXV or Dragon Age often ruin the hangingoutness with dull filler and melodrama in equal measure.

But I mod games. A lot.

A modded party member has the disadvantage of not being in the core event structure. They aren't introduced in some blazing cinematic, and they don't have loyalty quests.

This means that the modded party member has to make their presence known during normal play.

A lot of modded party members tell stories, crack jokes, sing songs, and randomly comment on anything and everything the game has to offer. This ends up making them feel more real than the core party members, at least if you're the kind of player that randomly wanders the world and never bothers progressing the plot.

We script characters to respond to world events. When we have control over the world events, we script them to perfectly match the specific events we've created... but that's a flaw. We need to get out of that habit if we want to let the player hang out with them. Because hanging out isn't specific.

There are lots of games with "specific hangouts". For example, chatting at the camp fire in Dragon Age, or private actions in Star Ocean. But these are tightly scripted events that are a facsimile of hanging out rather than actual hanging out. They're expensive to make and limited to play, and I think we can do better.

Structural Issues

We think about hanging out as being unstructured, but the truth is that it is very structured.

In order to interact with a character, you need a medium of interaction. A task, basically. Most tasks have a set of progressions that can be used to move the hangout along a fun path.

For example, if you're drinking in the bar with a fictional friend, what happens? Maybe they get drunk. Maybe you get drunk. Maybe they start a bar fight. Maybe someone at the bar recognizes them, and then something unfolds. Maybe they get hungry for real food and you change locations. Maybe someone else you know walks through the door and the dynamic changes. Maybe you look for dates.

Alternately, if you're playing video games, there's a lot of flexibility as to what game you play, whether you switch games, who tries hard or not, who wins or not, whether you start betting, whether people start getting way too into it, etc.

These progressions are at the heart of "hanging out", and they are also at the heart of how a character can express themselves.

Each character in the game can prefer different progressions. They don't need to be completely unique: a lot of characters can get drunk at the bar. But if the progressions go on for several elements, you'll see their uniqueness start to manifest: person A gets drunk and starts a fight, person B gets drunk and hits on everyone, etc. These are small, simple things to talk about, but this is the heart of how hanging out has to be approached: there's a task, and different characters want to progress or change the task depending on their personality, mood, etc.

This spectrum of progressions allows the characters to contextualize the event as they see fit, and to recontextualize a generic event ("at the bar") with a specific in-character event ("picking up guys" or "getting shit-faced") based on what progression they want to see.

Adapting to Existing Games

For example, in Skyrim you might be wandering the world map with Lydia, your dull, dutybound housecarl.

Skyrim has progressions built into its systems and maps. If you're wandering outside picking flowers, you'll run into options to fight monsters, go into dungeons, see wonders, change biomes, get rained on, go from day to night, find an ore resource, find a town... these are all perfectly valid progressions.

By understanding what progression Lydia wants to see while on the world map, she can make comments about what's going on. For example, if she sees a bear, she might say "that bear might threaten travelers, maybe we should drive it away."

This would be different if she saw a monster in a dungeon, where it's not a threat to a city. She might say "some skeletons ahead, I wonder if we can get around them." Or, if she sees a monster in a town, she might flat-out rush to attack, to protect the people of the city.

By allowing her to decide what the current context is, she can choose what progressions she'd like to see. This gives her dialog a lot more vitality than simply yelling "yahhh!" and charging at any monster you find.

However, this is still very shallow. Since Lydia has only dialog and the player has only action, it's a lopsided mess where it's difficult for the situation to progress in any meaningful way. In the end, it boils down to Lydia making comments on what the player chooses to do, just like in later games such as Dragon Age.

The simple fact of the matter is that hanging out is collaborative. Lydia can't really collaborate with the player in the gameplay as it exists.

Stop, Collaborate and Listen

One thing we can do to make this more collaborative is to let the player give dialog responses. However, I don't think that's a good approach, as it will lead to very repetitive interactions as you hang out over and over.

Instead, I would prefer to do the opposite: let the NPC offer action plans.

When Lydia says "that bear might threaten travelers..." two action plans might pop up and be selectable. "Take it out, I'll support you" and "let's ambush it, follow my lead" might be the two options (with the third 'ignore' option implicit). These are represented as dialog, but they're not simply dialog: they're functional plans. Not only do they determine Lydia's behavior, they can also embed bonuses: Lydia gets an attack boost if you tell her to take it out, and a stealth boost if you say you'll ambush it.

Moreover, these plans are excellent at advancing several progressions at once. Not only is Lydia advancing from "outdoors" to "defending the roadways", but she's also advancing along her "Lydia, stealthy supporter" or "Lydia, front line knight" character progressions. She may also progress on her personal opinion of you if you do particularly well or poorly, although remember that all such progressions are temporary. You'll hang out again some other time, and things will unfold differently.

These action plans can offer things the player literally can't do without the NPC, as well. For example, Lydia might say "oh, this is such a rich iron vein. Let's claim it for the city!" at which point you'll have the plan to claim it for the city: something you cannot do on your own, or with another character. Other housecarls might also be able to do it... but for other cities.

This combination of factors will hopefully make the player want to participate in these collaborative plans.

Save and Load Contexts

One technique that can help us add depth to the characters is to allow contexts to be shelved and readopted as necessary.

Our instinct might be that Lydia following us around is Lydia hanging out with us, and the whole day is one "hangout session". But that leads to problems, because the context might not progress at all. The player might literally gather plants for three hours straight, and Lydia's constant talk about what she'd like to do will get repetitive and futile.

Instead, she can simply shelve an intended progression when it falls through.

So if Lydia says "that bear might threaten travelers..." and the player doesn't engage, Lydia won't follow that up with "that skeleton might threaten travelers" and "that treant might threaten travelers". Instead, that progression is on hold.

However, if the player does engage an enemy on the world map - pretty much any enemy - Lydia will be able to instantly pick up the progression. "You'll never threaten another traveler!" she barks as you smash down a mudcrab or whatever. From there, she's in her "cleaning up the wilderness" context, which can be built any way the devs want. Maybe one progression is to attack stronger monsters. Another, less preferred branch is to attack weaker monsters. Monsters in another biome. Monsters marked as 'evil'.

This context is active, so Lydia won't say "that bear might threaten travelers..." because she's not in that context any more. Instead, she might see a bear and say "let's clean up this forest a bit!" in an attempt to progress along the biome path of her "cleaning up the wilderness" context.

Of course, once the hangout period ends (spending a certain amount of time in another major context, like in a city or a dungeon), the contexts can reset and she can start over.

This isn't an ideal solution, but it effectively allows you to script character events that unfold naturally and opportunistically as the player plays, rather than being segregated into their own quest lines.

Parties, not Companions

Probably the easiest way around the collaboration difficulties is to have more than one companion. If there are several NPCs, they can discuss and banter. This is something Dragon Age does well, but primarily by using random snippets.

We can choose to anchor the banter to contextualized progressions, instead. As an example, if you're wandering Fallout 4 accompanied by both Piper (reporter) and Curie (science robot), they'll both contextualize the wandering and have directions they want it to go. You get a sense of this in Fallout 4 as it stands: they have a variety of generic comments on situations you might encounter.

But by allowing them to comment to each other, you can build up a sense of progression even if the player ignores their preferences.

For example, if you find a few talkative ghouls, Piper might say "hey, we should get their story!"

If the player chooses not to do that and walks away, rather than something like "PIPER -2 FRIENDSHIP", Curie can disarm the situation with an excuse like "We cannot be distracted by such tings, we have important tings to do!"

Of course, the player avatar could theoretically also say that kind of dialog, but the player might not be thinking the same thing. The player might be thinking "sure, give me a second to raid this treasure chest first", which is very different from the dialog claiming it's something that won't happen.

If a third party says the dialog, being wrong is acceptable and can give rise to more complex lines of progression.

For example, if you do go back and talk to them, it's relatively easy to have remembered the original dialog, and now have different dialog. This can be quite generic. For example, as you approach, Curie might say "I remember zees people", then Piper can say "Now do we have time?" Or, if you're now just adventuring with Piper, she might say "hah, now that Curie's not around, we can do some snooping and scooping!" These are fairly generic dialog lines that can be deployed in a lot of different situations.

If we consider hanging out to be a task with a variety of progressions, then we can again run multiple contexts at the same time. We're progressing this specific subquest. We're progressing Piper's "search the wasteland for news" context, which may lead to her wanting to go home and write about it. We're progressing Piper and Curie's relationship with each other - again, it must be stressed that it's a hangout context, not a permanent progression. We're progressing Curie's "focus on the science" context.

By having many contexts which can be progressed, shelved, and activated at the same time, we can make the experience as character-cohesive as possible. From the player's perspective, it doesn't matter which context gets progressed next: they all have Piper acting like Piper or Curie acting like Curie, and for reasons that make sense.

It will require a bit of effort to create the engine to do this, though. You'll need to figure out the right generic dialog to switch or resurrect contexts, just for starters. It's not something I've seen done before.

New Hangouts

This is all about adapting the concept to existing games, but the truth is that we don't need to do that. We can make new games.

If they're intended to allow for this kind of thing right from the start, there's no struggle to make sure all the metadata you need exists or all the conversations have to work within some specific fiction: it's all designed from the ground up to work.

Moreover, it allows us to radically reduce the amount of content and gameplay we need to support, because this context-centric approach can use much smaller amounts of gameplay to accomplish the same thing. Rather than gameplay strongly relating us to the world, the gameplay is more about collaborating with a friend.

For example, you could decide to hang out with someone and spend the afternoon assembling ships in bottles. It's basically a minigame, but it's made much more interesting because there's a character-driven progression in play. The actions you take affect what the other people do, and what they want to have happen. Doing well at the minigame may be a bad idea... or, rather, doing well at the minigame may not involve actually building the ship in a bottle.

Hanging out and making ships in a bottle is not just about the progression of the task of ships in a bottle.

We've already talked about longer-term contexts like "Lydia's stealthy follower progression". Well, the whole point now is that the event progression is more about the personal contexts and progressions that our friends are going through. Rather than having one preferred contextual progression, the progression they want from this event is influenced by the progressions they want from their other, personal contexts.

You've going to have very different "ship in a bottle" minigames depending on whether your friend is drunk, angry at her parents, mourning the loss of a friend, nervous about a piloting test, or embarrassed that you found out she likes a terrible TV show. The progression of the minigame is not the point: the point is the progression of her personal contexts, as expressed through the progression of the minigame. Hell, she might even play the minigame without the player's input at all - the player can just watch.

We can spread this idea even further, into the world's overall state. Her personal context affects how well she can fly the ship, or how aggressively she fights. Whether or not there's actual gameplay involved with those or if it's just some flavor dialog, it will convince the player that there's a world and stuff happening.

One possible example leading towards this would be Dragon Age 3, just the parts where you decide who to send where, and for what purpose. You could hang out with someone, and then when you send them on a mission, they get better or worse results depending on how they feel. Their personal context will then be altered by the mission they just went on, so it's a good time to hang out with them again...



Anyway, those are some of my thoughts.

What do you think?

Wednesday, September 05, 2018

A Sense of Place

So, I really like games with a sense of place. Some days, I think it's the most important part of a game, more important than how the game actually plays.

But only some days: the vast majority of games don't give me any immersive sense of place.

I asked around on Twitter, and nobody chose the same places I did. They all had very different priorities. And it's clear that game devs share their priorities - especially clear, given half the respondents were game devs.

What they mostly liked was a sense of scale. Mostly cities with epic vistas and large scales.

I sure do like pretty cities, but that's not what keeps me coming back to a game year after year. I'd like to talk about what I like in cities and towns, try to nail it down so that I can build it myself.

So, let's start: one video game city that keeps luring me back is in Bloodlines.

It's not big. It's not beautiful. The design is blunt and uninspired. It has no redeeming qualities as a city or a piece of art.

But... I keep replaying the damn game, and a big part of that is how much I enjoy being in the city. There's a little fizz beneath the city that instantly smashes me into the game and keeps me there.

I think that's a good hint. Since there's not much distracting epicness, I can focus on the one thing I want to see more of, even though it's just a fizz.

Pace in Place

In most games with cities, the cities are subordinate to the wider gameplay. The city might host missions or objectives, but living in the city is not an objective.

There are games where the city is the main gameplay. For example, in Crackdown. Surprisingly, this seems to be even worse for my little fizz: it reduces the city to a mechanic.

The experience of being in the hubs in Bloodlines is different.

You are living in the city. Or... unliving, I guess.

You're existing in the city.

Your struggles in the game are simply struggles to continue living in the city. You end up fighting dangerous battles against ridiculously overpowered enemies, but the point is that, at the end, you'll get to go home and take a nap and then tomorrow you can maybe visit your friend downtown. Even the end boss is literally chosen by you deciding what kind of city you want to live in!

Over the course of your adventure, you establish a life in the city, with friends and coworkers and maybe someone to date.

You also get to know the city a bit better. Although exploring the city isn't really the point, you do explore it while you roam around trying to make a life for yourself. There are plenty of things to find - a few topological secrets, like the back entrance to the the pub. A few new people with new missions, such as Ash in the cemetery or the truck vendor that wants you to clear out a parking lot. A few areas that are locked and you'll have to remember later.

The pace of discovery feels right to me. In many video game cities, you explore to find random treasure baubles scattered around. But in Bloodline's cities, you search to find new people with fun new missions, new shortcuts, new locked doors you'll unlock later. You never feel like you came here just to get a mechanical reward: if you go into the back alley, you won't find $5 in a treasure chest. You will find a skeevy guy that wants you to clear out a parking lot.

In a theoretical modern remake, you might feel compelled generate these missions on the fly. But you'd have to be careful: the point is to make a life for yourself. When I clean out the parking lot, the skeevy guy not only gives me a reward, but becomes a better vendor. If you were randomly generating missions, you'd still have to make sure the rewards are about better living... and I don't need more than one skeevy guy selling me stuff.

If you look at the missions in these cities, nearly all of them are about living in the city. Either getting you established, or making the city safer for you, or making friends and allies.

Even though all the NPCs are barely functional weirdo jerks, they somehow become your barely functional weirdo jerks. Mission after mission, day after day.

Counterexample

The most obvious counterexample is Stardew Valley, or any similar game. They are about building a life, but in the most mechanical way possible. You literally build your life: more farmhouses, more crops, more ore, more machines. But the town is not really part of that.

The NPCs are rigid and inflexibly forced into your life. You cannot be allowed to alienate the shopkeep because there are no other shopkeeps. You cannot work for or against the mayor, because there are no other factions. There are few NPCs, and they largely exist to fill specific roles in the gameplay. Dating is the exception, but usually you can only date NPCs with no critical role, and therefore they have no actual place in the town. Moreover, you can typically only date one of them.

Although you can make friends, there's no particular change in the way the game feels, or your lifestyle.

This doesn't mean the games are bad. It means those games aren't what I'm talking about right now.

Extending That

If I were to imagine a game where this little fizz was turned into a torrential waterfall, we would need to punch the Bloodlines up without Stardewing it.

A big part of it is that the city is largely not interested in you. They don't like you, but they don't dislike you, either. If you want to make a place for yourself, that starts with proving yourself to them in their own personal corner of the city.

This is in stark contrast to most game cities, where the inhabitants are intended to pull the player into the game world and narrative. The NPCs in a normal game might welcome the player, or be hostile until a plot point, or they might just talk incessantly about whatever the main plot element in the area is.

These are all the wrong choice if you want to feel like you are making a life for yourself.

This doesn't mean they can't do those things. But the main purpose is make the player figure out how this person fits into their life in the city. Maybe the player decides they're a threat and sabotages them. Maybe the player needs their friendship... for now. Maybe they want to date this person, or just want them around as business partners or something.

And, along the way, the NPCs can be welcoming or hostile or exposit endlessly. But regardless of that, the player knows this is a person that will impact their life in the city, and they have to decide what kind of impact that should be.

Easy example from Bloodlines: when you meet the two-faced bar owner, she's friendly... but you know she can't be trusted, because you haven't earned a life here. Similarly, although the anarchists are unfriendly, you know they can be turned around and made friends if you can earn a life here.

If you're considering how to structure your missions, this is a good thing to keep in mind. Not only in terms of how the initial encounter goes, but in terms of the final outcomes: the player's goal is to be friendlier, sabotage, charm, alienate - therefore, those should be the possible outcomes of the mission, rather than choosing something like a "renegade" or "paragon" ending.



The design of the city itself is also important, because living a life means being in a place.

This doesn't mean the city needs to be beautiful or epic, but rather that these NPCs need to have lifestyles and locales. They have their life in the city, just as you want to have. By choosing who to rely on in what ways, you get an echo of these lifestyles.

This was one thing that really, really worked in Bloodlines: all the NPCs were vampires, meaning they literally don't have day jobs. Whenever you meet them, they're doing whatever they've decided to dedicate their life to, and that includes the lifestyle they've chosen. From the poolhall relaxation of the anarchists to the overly formal, excessively expensive meetings with the town boss, none of the vampires are ever portrayed as simply filling time with sleeping or working a day job. They are always living their life. Unliving their death. Whatever.

Contrast this to games like Fallout 4, where the only thing that defines your settlers is their day job.

Establishing a lifestyle is not something which has to be scripted. It would be relatively easy to randomly generate NPCs with specific lifestyles and specific methods of fitting into your life. But it would be difficult to randomly generate them in the right variety: NPCs come in packs, and often a pack of NPCs will have similar lifestyles and offerings, but subtly different ones.

If you do generate randomly, you'd need to think in terms of generating teams of NPCs rather than individuals that happen to be in the same place. There are a lot of fun scaffolds for this, such as the five-person hero team, but they'd all need to be adapted in order to make sure that the player has something interesting to gain from each one, and perhaps a reason to prefer specific members of the team over others.

All of this would need to be reflected in the construction of the city.

That in mind, the team should probably have a good time hanging out together in places that suit them. If their lifestyle together doesn't seem fun, that would poison the well: the player wouldn't be interested in fitting into their life. There's a lot of different kinds of fun: an annoying overlord can still provide a good lifestyle if the player thinks being rich and powerful looks like fun.

Near Misses

There are a number of cities that make me allllmost feel the fizz, but it fizzes out.

One set is the Citadel and your hub ships in the Mass Effect series. The first impression is very good, but it doesn't end up panning out because you aren't trying to establish a lifestyle. It's about already having a lifestyle, and getting to live it.

That's not bad! I loved hanging out with my buddies. But I never got to choose how people fit into my life. They were written in or out of my life at the scriptwriter's convenience, and that left me unable to get that fizzy feeling.

Most such modern RPGs give that same "alllllmost" feel, like Dragon Age.

Another example is The Sims. While I can choose which characters fit into "my" lifestyles, I can't get a feel for the city. Their lifestyles are encapsulated in their individual homes, and nobody is really integrated into the city.

Even if I go into the city and people are around, I know it's not really an integration. Their existence or lack of existence wouldn't change the feel of the city any.

There is one other example I wanted to talk about: Skyrim (or the modern Fallouts). These have lots of cities of varying size and shape, all stuffed full of NPCs that have opinions and lifestyles.

These cities create an itch I cannot scratch. Their characters have lifestyles and want me to help them, but doing so doesn't lead anywhere or provide me with a life in the city, because there's no reason to have a life in the city. If I decide to track down and kill the weird cultist... nothing changes.

While I do replay these games frequently, I typically spend less and less time being social in cities, more and more time doing other things. Being social doesn't really lead anywhere.

It does in Bloodlines. It always leads to a new life in the city.


... anyway, I wonder whether anyone else feels like this.

It might just be me.

Thursday, August 30, 2018

Player-Generated NPCs

Hey, let's talk about player-generated NPCs, and sending them to other players.

In order to turn player-generated content into content for another player, you need to add context and a reason to play. This isn't too hard in mechanically-oriented games, but in an RPG it's tough.

Imagine playing Fallout 4 and running across random player settlements. Most players make facilities that are focused on making the numbers go up. Recontextualizing that into an RPG point of interest doesn't work out well: you end up with a dozen nameless NPCs and a bunch of empty buildings with beds in them. Hardly compelling RPG content.

The problem is obviously in the recontextualization. The settlement was created to make numbers go up, and now you're trying to interpret it as an RPG town? There's no connection.

The answer might be to make the original context an RPG context, so the player's created settlement is RPG content right from the start.


Pushing Context In

Let's pretend we're designing a Mass Effect game: players create colonies, which are then exported and encountered by other players.

As you play through the game, you make various choices. You visit the turian homeworld. You choose whether to side with the turians or with the humans.

If you side with the turians, you receive a number of applications from turians, willing to move into any colony you make. If you side with the humans, you get human applicants.

When you build your colony, you can add any applicants you like.

When your colony is exported so other players can visit it, the game checks to see what they did on the turian homeworld. If they did the same thing, those settlers are friendly. If they did the opposite thing, those settlers are more hostile. If they haven't been there yet or didn't take sides, those settlers are just background color.

This is an extremely fast and easy way to push RPG context into your colonies, and then continue to push that context forward into other players experiencing your colonies.


Pulling Context In

In addition to this, we can use simple keywords to keep these applicants interested in similar conflicts. Those turian applicants came because you chose turians over human interests. That means they will continue to have opinions on decisions regarding turian vs human competition, or more generally turian vs any other species.

If you visit the Citadel and side with a turian shopkeep over a human shopkeep, the turians back at your colony will compliment you for it, gain loyalty, become more effective citizens. If you choose the human shopkeep, the turians in your colony will be a little annoyed and rib you about it, although there probably shouldn't be any statistical punishment for such a minor event.

If you visit the citadel first and choose the human shopkeeper over the turian, you'll probably get a human applicant. Then you visit the turian homeworld, make your choice there, and your human responds appropriately.

Since it's keyword-based, events can be done in any order, and mods can be integrated smoothly.

In this way, your colonies will have a vested interest in your continued adventures, and you'll be taking your citizens' opinions into account as you journey.


Generating More Context Globally

Tying your colonies into the galaxy is important: if your colonies feel entirely isolated, that's not very immersive. So your colonists need to do more than have generic responses to keywords.

They should put their thumb on the scale.

If you visit the turian homeworld, get some turian applicants, and then get into that turian-vs-human shopkeeper conflict, your colonists should call you up to chime in.

Here's the key, though: it should be the wrong colonists.

If the colonists that actually care about turian/human competition call up, they'll try to convince you to choose the turian side again. This creates a feedback loop where you have more and more pressure on you to choose the turian side of things. With no counterweight, that's not a good idea.

Instead, you should hear from different colonists with no stake in the turian/human competition, and they should put their thumb down on the other side.

For example, since you chose turian last time, a quarian might call you up and say the turian sold them a lemon last time they visited. The idea is to push the choice back into balance.

Basically, if NPC A has a vested interest in turian/human conflict, that causes a situation where NPC B reweights the conflict to make it hard for the player to choose a side.

There will be some conflicts where the player has a particular favorite. If they really like turians, then you might need to apply quite a lot of pressure to make the choice difficult. In situations where the player doesn't seem to have much interest and are easily swayed by the third party pressure, it makes sense to create additional conflict by having your colonists come in on both sides and have a bit of an argument about it. Raises the stakes.


Generating More Context Locally

You'll need to generate a lot of RPG-context content in the colonies you build. Otherwise, the player will get stuck in a statistical, base-building mood.

RPG rewards, RPG missions, RPG context deepening, and RPG/statistical linkups are the tools we'll use.

In short, we can generate random missions when you talk to NPCs. But these missions are not the generic fetch quest blobs you're used to: we can generate much more interesting missions because we understand how these NPCs got here and what they care about.

If you talk to the turian that applied because of how you helped his people, he'll generate a mission about turian/human competition. Perhaps it's entirely local: him competing with a human colonist, or perhaps him falling in love with one. It might be partially local: for example, buying a human grabloxotl to improve potato growth speed. It might be entirely nonlocal: a lost ship he wants you to rescue.

The sides of this conflict can be weighted understanding the player's recent turian/human choices. If you've chosen humans recently, this mission is a chance to prove that the colonist wasn't wrong to trust you. If you choose turian a lot, then this is a chance to do some dirty work for the turians... or perhaps a chance to improve turian/human relations instead of keeping them pitched against each other.

The mission generation does not need to be terribly difficult - pretty basic missions will do. Instead, the key is that they generate RPG context.

One kind of context would be to reshape the local context. If it's a turian/human local competition, helping the turian makes them the boss. Helping the human does the opposite. This will create RPG context in that there's now a new social context.

Another would be to link RPG context to statistical performance. If you help the turian, his stats go up. They don't gain levels otherwise, so this is important.

Another would be to give the player versatile RPG context rewards. For example, new applicants, new colonist gear, new permits to plant potatoes on a new world...

These generated quests intend to be a change of pace from the rest of the game, letting you 'come home' to do some unwinding. So they should generally be fun and silly, rather than grinding. The difficulty or time taken is not the point: choosing a side is the point. The "body" of the mission is just there to make sure you understand what's going on and what the stakes are.


Showing More Context Locally

The most difficult and delicate part of making the colony RPG-ish is getting the player to feel like their settlement is an RPG hub.

The player will only intermittently visit the colonies, will be focused on their statistical nature, and will probably forget the details between visits. So creating local context requires A) unmistakable, easy-to-read elements, B) remote-friendly elements so their video messages create context, and C) creating context via direct interactions when the player is around. Optional, D), linking colonies together to create "global but player-local" context.

A) Easy to read elements probably involve three things: colony decorations, colonist clothes/gear, and non-player-centric interactions.

These can all be used to create NPC-specific context, colony context, and plot/conflict context. For example, if there are bales of corn everywhere, you know what the colony's doing. If someone's wearing an elegant evening gown, you know they are a socialite and that the colony has a swanky side. If a boss is reading the riot act to a subordinate, you feel one way about it, while if they're gently guiding their subordinate, you feel another way.

These decorations can be generated randomly, or they can be supplied by the player. For example, if you back the human shopkeeper, rather than get a human applicant, you get an evening gown you can give to any colonist. This isn't simply cosmetic: giving a colonist an evening gown retroactively forces the colony to have a swanky side.

Symbolism is also a factor. Different colors and building designs give different feels, and having a bunch of turian flags waving tells you right away that this a turian-focused colony. These can quickly give you an overall impression of the colony.

B) Remote-friendly elements would be elements that show up in messages. This would be character elements that show up on headshots, background elements that show behind headshots, and topics of conversation. These should be focused on reminding the player about the nature of the colony, rather than telling them about the nature of the NPC.

C) Direct interactions are things the NPCs do to each other or to the colony. Too many games slot the inhabitants into either "work" or "sleep" and that's it. It makes more sense to use animations to tell you who these people are and their relation to the colony. So rather than digging in the plant bed, it makes more sense to show them teaching someone how to dig in the plant bed, or bragging about their plant bed, or anything that gives you a stronger impression of their social role within the base. This can randomized, or, again, it can be inherited from missions in the game world.


Recontextualizing for Another Player

When it comes time to export your colony for other players (or import their colonies), it's important to keep it as interesting as possible.

Recalibrating Opinions

Probably the most fundamental element is to simply recalibrate how the NPCs treat the player by looking at how this player has handled the same choice axis. If this player chose the humans, then the turians will dislike him. This can be scaled pretty easily: by looking how severely the player has preferred the humans so far, the turians can be calibrated anywhere between mildly standoffish to instantly murderous. Most of the time, it'll fall between the two - for example, they might interfere with your missions, or lock your ship down, or try to assassinate you in the middle of the night.

Obviously, these frequently become mission content.

Final Missions

Unlike the creator, the new player is unlikely to revisit this colony. So we can go all out generating missions for this colony: it's fine to blow things up and kill colonists. In fact, it's preferable.

These missions have the same basic role as the missions we generate for the creator, but the volume is turned way, way up. If the creator chooses humans, the turian might grump at them, or maybe even leave. But if the new player chose humans, the turians will start a mission to get vengeance. This will embroil the whole colony, and may involve impounding the player ship, launching assaults, blowing up facilities...

However, in the end, it's still about the player choosing. So even in this kind of mission, the player will be expected to choose between turians and humans again. This time, it'll be something like whether to save a turian child or let it die as you escape.

Aside from the mission, the colonies should generally offer amenities - shops, etc. The player may never visit again, but they should at least be able to do normal things while they're here, assuming the colony isn't specifically built to prevent it.

Of course, if a colony is too similar to the player's choices, you can always generate an invading monster or a weird disease or something. This will give the locals a chance to show off their social nature.


Leads from Elsewhere

Another key to integrating this player-generated content into the universe is to mix it into the universe. Partly, this just involves getting leads from somewhere else.

If the colony is heavily turian, then a player will get a lead from a turian: "my family lives here, you should go visit them!" Or perhaps, if they are anti-turian, a human: "this is a turian stronghold..."

More than that, additional content can be easily mixed into friendly colonies. Recurring NPCs, threads of ongoing missions, or minor loyalty events for your companions can be interwoven into the colony. Characters that are oriented around a conflict this player doesn't care about can be easily removed and replaced with known quantities from this player's game. IE, if this player seems to not have an opinion on turian vs human, those turians might be replaced with an asari psi-broker telling you where to get the next link in the psi investigation chain.

This can be punched up as necessary by making you have to rescue them from whatever's going wrong.

Generating these missions can be as complicated as your algorithms allow, as you can see. But even if it ends up fairly simple, it should hold up.


Recontextualize-Friendly Construction

Another trick we want to use is to leverage the simulationist nature of these colonies. Because we're simulating so much, there's no need to always just offer mission-mission-mission-shop.

Like in Skyrim, sometimes you'd visit a town just to steal things. It's really fun to try and figure out how to get away with your theft.

This is similar, except we have a wider variety of simulated objectives. For example, you can change who's in charge by helping them, giving them better gear, etc - or by harassing their opposition. You can change the culture by arguing about things - for example, if you argue that the turian culture is inherently corrupt, you can sway things towards the human side of the turian vs human conflict. You can hack computers, steal vehicles, reroute credits, teach children, rearrange their defenses, get them better deals on their exports, get them better gear for their processing...

These things are all already being "weakly" simulated. We had to, in order to create both the statistical and RPG contexts in the original creator's world, and to link those two contexts together. Therefore, we can expose some of that simulation and let the player do something besides chat.

We're not talking about deep simulations. I mean, in Skyrim you steal stuff, but the shopkeeper doesn't actually get any poorer. This is the same sort of thing: we expose enough of the system to let the player interact with it, but we don't have all the pieces deeply connected, and we don't need to.


Final Thoughts

That was long.

And some of it might be a bit of a stretch.

Fundamentally, I think we can give player-created colonies a lot of RPG context by tying the people, facilities, gear, and options to your RPG adventures.

And then I think we can wire that back into the world, to make your colony part of the RPG adventure.

And then I think we can export your colony to other players, and make it part of their RPG adventure.

What's your opinion?

Thursday, August 02, 2018

Action-Oriented Escalated Bidding

I've been thinking about new kinds of gameplay for MMORPGs, because I'm not happy with any of the current styles.

I love the feel of the "personal epic" games like Star Wars Galaxies, Star Trek Online, even things like WoW. There's a lot of joy to be had in running around a world in real time. But the combat in these games is always either so clunky it's painful or so action-oriented that you have to be a twelve year old with broadband.

Thinking about alternate combat styles, one with appeal is escalated bidding.

This kind of bidding (found in poker and many tabletop games) basically allows players to judge a situation and decide whether to escalate or end the round. It's easy to balance, compelling, and naturally cinematic.

However, it's turn-based.

It's easy to come up with styles of play that allow for this kind of combat, but the turn-based nature is hard to avoid. And turn-based doesn't mesh well with the epic personal feel I'd like in my imaginary MMORPG.

I was having a hard time coming up with escalated bidding that didn't involve turns, but I think I figured it out: it's just a simple rework of existing mechanics.

For example, you're playing Star Trek. You're wandering into combat with your space ship. What's the "escalated bidding" for this?

Well, it's the same as Star Trek Online currently is... just a few small tweaks.

One critical element is range. Tiered bidding is a great way to escalate. In Poker, that would be the ante, the initial bidding, and the final bidding - but in Star Trek, it might be shields, system, hull. Rather than having distinct rounds, it's based on range.

You start off at long range, taking shield damage. You get closer, your weapons tick over into optimal range... but, at the same time, you now take systems damage from incoming shots. You get even closer, your weapons are guaranteed to deal terrific damage... but now any damage that leaks through your shields will blast away at your hull... and some damage is always going to leak through.

Conversely, if you can stay at long range, your ship is not at risk even if your shields go down. Incoming fire will scratch your hull and temporarily glitch out your systems, but that's damage that can be rapidly and completely repaired.

To be clear: as your weapons enter optimal range, you take a lot more damage. The better you can shoot, the more you get shot.

This range element adds a ton of complexity to conflicts, because your systems-damage range may not be the same as your enemy's systems-damage range. A long-range torpedo boat may be taking hull damage from a small merchant vessel while the small merchant vessel is still taking shield damage! This means the small merchant vessel's shots will squirrel through the torpedo boat's shields, while the torpedo volleys will largely splash off the merchant's shields.

Matching ranges will be a major element of what ships you use, when. Party loadout becomes a really interesting challenge.



In most bidding systems, how much you bid is also critical. But in this case, the "bid" is how close you get, for how long. Starships have position and relative speed: committing to a deep run can net bigger rewards if you come out on top... but huge problems if a lucky hit knocks your torpedoes offline. Ship headings are another, interlocked kind of bid, if each shield quadrant fails independently of the others.

Additional bidding can be done using various one-off powers. This is a classic "cooldown" setup: if you overclock your reactor for ten seconds, you won't be able to do it again for another two minutes, better make use of those ten seconds well.

Unlike current combat systems which look similar to our bidding system, the cooldown skills in our bidding system would exist to gamble on the next few seconds.

You're claiming the next few seconds will be critical, either offensively or defensively. With the range-based tiering system and quadrant-based shields, it makes a lot of sense to focus our skills on being useful shortly before or after changing range tiers - either your own or the enemy's. Fire your torpedoes when the enemy enters into their systems damage range, regardless of your current range. Pump your shields just before you change to systems damage range, since the damage you take in ten seconds will be far worse than the damage you take now.

Offensive firepower should be tiered as well, basically turning it into a set of cooldown skills. A full barrage hits hard, but takes a long time to recharge. Smaller shots recharge faster - fast enough to do more damage overall, but obviously the enemy's shield recharge and maneuvering cancel much of that advantage out. Will you do some small shots as you close, followed by a full barrage when the enemy becomes vulnerable?

This timing-based "bidding" feels more natural than any kind of shared pot or other abstraction. This also plays up the differences between different kinds of enemies with different ranges, and makes engaging multiple enemies or being part of a team a very interesting tactical opportunity. Obviously, various shortcuts also have value: a stealthed warbird decloaking right on top of you doesn't need a magic "decloak and fire" special power. Their special power is that they're right on top of you: you're at hull damage range, and at least some of that firepower is going to leak through the shields.



This combat is extremely similar to the existing Star Trek Online combat engine. The tweaks are very minor: simplified range indicators, slightly different damage model, slightly rebalanced skills. But the actual play is so similar that people probably wouldn't have to think about it very hard: they'd just suddenly be having amazing, epic fights.



This model could also be used for ground combat in the Star Trek universe, since ranged ground combat is the norm. You could just have literally all the same things.

A Klingon with a blade can rush through blaster fire: their max range is quite low, which means their range tiers are tiny. The blaster fire would just burn their armor a bit. Of course, when the Klingon reaches you, they are well within your nastiest damage range, and are guaranteed to put you down in short order.

The same basic mechanic would work for any personal combat system to some degree. A Star Wars combat system could be similar, with the light sabering Jedi naturally being similar to a Klingon. A Force-user could also take medium-range powers like Force Throw or Force Lightning. These would extend their attack range... and also extend their damage tier ranges. Someone specializing in sabers would be able to bull through Force Lightning because it's outside their damage tier range!

Even in tight combat, you could still see variations. A long light saber seems like a great choice... and it is, against anyone with a gun. But against someone with light daggers, your melee range is actually outside their most critical damage tier, meaning they can hold you off without too much danger... but you're not so lucky against them. You'd have to use combat abilities to close the range or disarm them unless you have a lot of time on your hands!

The downside of this is the bidding, since at melee ranges you don't really commit to be at a specific range or a specific angle for particularly long. To counteract that, I'd recommend using "charge" skills which push you into melee combat with a large bonus for a specific amount of time, but then leave you with a big penalty until it recycles. In this way, melee attackers would choose how much to "bid" by choosing a light, moderate, or heavy charge attack. They can also do this while already in melee combat, of course.



A tiny change to a fairly ordinary combat system: your optimal attack range is also the range you take worse damage. From there, a rebalance to existing combat approaches should result in a really interesting, cinematic challenge.

At least, that's the theory!

Wednesday, July 25, 2018

Pacing Mechanics

I'm going to write a little about pacing mechanics, although to be honest I'll probably make a video on this topic once I've worked out the kinks.

Pacing mechanics are gameplay that exists only to keep the game flowing at the right rate, and with the right traction. In theory you could argue that all gameplay is like that, but pacing mechanics are specifically for that purpose rather than to be entertaining, challenging, thought-provoking, etc.

An example of this would be in an Animal Crossing game, where you can only harvest things once per real-world day. This gives the player a specific amount of that rewarding task each day: enough to call the player back (traction), but only a small amount, so they're encouraged to do other things once they're engaged (flow).

There are three basic kinds of pacing mechanic, as far as I can tell.

The physical play mechanic, like in the Animal Crossing games.

It lures people to log in each day, or on specific days, or in specific places. For example, Pokemon Go rewards players for going to new real-world locations, or physically meeting up with friends.

This is a bit different from the kinds of energy play you often see in mobile games. Rather than providing traction and flow, most energy mechanics simply let you play until you suddenly can't play any more... unless you pay money. The traction and flow elements may still exist, but they're weak, because they're not the point.

The structured play mechanic, where players are given specific, rewarding in-world tasks to be performed on an in-world schedule.

For example, watering the plants every morning in Stardew Valley, or having to return to town to recover mana in an RPG. These tasks give you specific things you are strongly pressured to do (traction), but also can only be done for a short while before pushing you to go do other things (flow). Typically, these mechanics adjust over the course of the game and to the preferences of the player - some players love visiting towns and talking to people, others just want to shop and get back out on the field.

Something like a hunger meter in a survival crafting game is not a structured play mechanic, despite appearances. The goal of a hunger mechanic is to push new players into growing food and engaging with a core construction loop, but the actual task (eating) is not a mechanic with any traction or flow. It's simply a mechanic to guide the player into engaging in the first place - more of a tutorial mechanic rather than a pacing mechanic.

This becomes extremely clear as you reach mid/late game and eating just becomes an annoyance rather than an opportunity.

The tiered play mechanic, where players can accomplish a certain amount with the setup they have now, and then need to find new resources.

For example, in Minecraft you can do only so much with materials in your starting biome. You are pushed to dig deeper, search further for newer resources. This contains a number of staggered resource tiers, culminating in things like creating a portal to Hell so you can mine it.

This is a very common mechanic, and can be seen in every crafting game.

However, there are a lot of other ways to do it. For example, in an RPG, you need to move onto the next town to get new equipment, new story. In Skyrim, you'll eventually need to either leave the woods for the towns or leave the towns for the woods, because you'll run out of interesting things to do.

The idea behind all these tiered mechanics is that the player chooses when to leave. Usually, it happens just before they consciously realize they're bored of the current options. Players build their cool wooden Minecraft mansions, and when they start to run out of steam they naturally consider going abroad for new materials, or digging down to find some redstone or something.

A counterexample would be a game where you have 1000 gold to spend, and then have to go earn more. This is, again, just a tutorial mechanic rather than a pacing mechanic. A pacing mechanic would be "no matter how much gold you earn, there are things which cannot be bought with gold."

How you earn gold could also be a pacing mechanic.

Also, it's worth noting that tiered play mechanics can easily go wrong if you give any hint that there are a certain number of things to accomplish. This is common in RPGs: sidequests are intended for players that enjoy faffing about and moving slowly. But they accidentally sidetrack a lot of players that don't particularly enjoy that, but see them as tasks to do rather than optional crap for more relaxed players.



Let's go into detail.

Now that you understand the intent of a pacing mechanic, what makes a pacing mechanic good, or bad?

A good example of bad pacing mechanics would be No Man's Sky, even after their most recent update. It's clear that the mechanics are built around the same concepts as things like Minecraft. There's tiered materials, unlockable research, different biomes, etc. Why does No Man's Sky only charm a few of its players?

It's because the traction and flow system isn't properly set up. It's got the same basic mechanics, but they're not engaged properly.

Their version of traction is to require the player to keep topping up their tools and engines and stuff. However, this is a stick rather than a carrot.

It doesn't pull the player in by offering them rewards if they do it, it punishes the player by grinding the game to a halt if they don't do it. It's got more in common with a cash shop energy system than a pacing mechanic, even though there's no cash shop!

The traction system of other games? Well, watering crops results in incremental progress towards harvesting crops. Also, it doesn't require you to wander across a new hellscape in search of water - water is right there, you just have to do the grunt work. Returning to town to restore your MP? That gives you dozens of opportunities to power up your characters, get new quests, and so on. Also, you can adjust your battle strategies to minimize the need to do it.

There is a hint of what it would be like with the right traction mechanic, since building your bases requires quite a lot of specific kinds of materials. It would be an opportunity for me to build a giant wooden castle, steadily exhaust everything I can do with wood, then begin building a metal underwater base or something. In this way we would get a nice, tiered setup.

In addition, the upgrades are not properly integrated into the pacing mechanic. In order to buy upgrades you need to wander the world looking for buried treasure, which magically turn into treasure points which your machines magically turn into new blueprints. This isn't necessarily bad, but it's not a good pacing mechanic. There's not much traction or flow involved, and it interferes with my ability to explore the nature of having a wooden castle. If I dig up more treasures, I should probably spend them on unlocking more advanced base equipment in the next base tier, rather than wasting them unlocking the ability to build a window.

If the traction side is flubbed, the flow side is just as bad.

I think the theory was that the limited inventory space would keep you from wanting to stockpile specific resources, meaning that you would be pushed into moving forward. That could have been a good flow, but it doesn't work in practice because the universe doesn't really support that kind of motion. If the game environment doesn't support your pacing mechanic, then your mechanic won't work.

There's some promise to the idea of compressing resources down into denser, more high-quality variations of themselves. This could theoretically produce a nice loop where you harvest a lot of a given planetary resource, spend some time condensing it into an easy-to-carry variant, and then move on once you have a complete stack of ultra-dense stuff.

I think a game could be built around that pacing mechanic really easily... but NMS is not that game. Instead, it features a smattering of annoying, slightly rare materials that take up way too much of your limited inventory space and can't be meaningfully compressed. Trying to hunt down rare materials would be fine in a game with different pacing mechanics, but these mechanics actually make that task extremely annoying.

This isn't to say NMS is "bad". It does hit the sweet spot for a fair number of people. It's simply that the pacing mechanics aren't really doing their job.



Conversely, there are games with spectacular interlocking pacing mechanics, and those are well worth studying.

Stardew Valley is probably the current king of this. With at least half a dozen interlocking, adaptive pacing mechanics, it appeals to a surprisingly broad player base.

Daily energy is the most basic mechanic. High-intensity tasks like harvesting, chopping wood, and adventuring can only be done sparingly, which pushes the player to then do low-intensity tasks such as exploring, charming the townsfolk, cooking, and so on. The low-intensity tasks show the player how to unlock more efficient high-efficiency tasks, which makes a nice circle.

Daily hours is another basic pacing mechanic. You can only get so much done in a day, even if you short circuit the energy mechanic with expensive foods. This pushes you to do at least some high-intensity tasks, rather than just doing a bajillion low-intensity tasks, to make the most of your daily energy.

Tending the farm (watering, milking, etc) is a structured play pacing mechanic. It gives you a mostly-reliable task to do, and each time you do it you get a little bit of gain - whether in the form of direct goods or moving towards a harvest.

Crop management (planting, harvesting) is another pacing mechanic, and allows you to determine how much farm tending you want to live with while also juggling your daily energy.

Tiered tools (sprinklers, better axes) is a tiered pacing mechanic that pushes you to do things besides simply farm, because they making farming more efficient.

Processing (jams, ores, etc) is another structured play mechanic where it takes time to refine things and you're rewarded for efficiently returning on schedule to set up the next batch. But, like all these mechanics, it's largely player-driven: players can simply invest in more hardware if they want to get all their refining done without needing to tend it too much... or they can slack off and only process a few things, because there's not that much of a need to minmax it.

All of these systems interlock, and are supported by the structure of the game's world. Each time the player engages with one, they are rewarded (traction), but only to a certain extent, then they are pushed to do other things (flow). It's an interlocking matrix of pacing mechanics, where the player can invest in a number of different ways to change the dynamics.

It's just a spreadsheet, sure. But the pacing mechanics make it a damn fun spreadsheet.

Plus there are some minigames if you need a change of pace.

...

Those are my thoughts on pacing mechanics.

What are yours?

Tuesday, June 26, 2018

Background Mechanics

For the past few weeks I've been working on a new prototype which allows players to quickly "sketch" space ships into existence.

However, in order for the sketched ships to mean anything, there needs to be a world they exist within. A framework in which they can be judged. A set of rewards for doing well. A progression in the types of devices and hulls, and so on.

Any kind of stat-heavy core gameplay loop (repeatedly designing space ships, for example) needs a larger context.

Now, you could create a story. "The Earth Empire is expanding into deep space and oh no the Brikklebats from Klonor 5 are attacking!"

Or you could create a simple board-game-like set of mechanics. "The ship you created will manage to map sector 3 in 8 years, then you can build a colony ship..."

But both of those are missing the point.

See, when the player builds something, the point of the game is to glorify the thing they built. Whether it's good or bad, you want to make those good and bad aspects shine.

Games where you can fly the ship after you build it are good at this, because you can really feel that the engines you installed work well, or that the guns really aren't good enough, or whatever. But I don't want to make a game solely about ships that shoot at each other. The player is far more likely to build a freighter or a science vessel, and I need to glorify those... and there's not many games which do that.

I think the main feeling I want is that moment in a science fiction show where you see a ship type you're familiar with doing something in some episode. It could be a squad of Galaxy-classes struggling to fight off a Borg cube, or it could be something as simple as a rebel B-wing sliding into a docking bay alongside Luke's X-wing.

These ships are things you recognize, and they exist in the universe. Hell, they make up the universe. They have an ongoing role not just in one story, but in dozens of stories. They don't stop existing once you've rated them, and the fabric of the universe is woven out of these threads.

To make this something that works in a game environment where the players make the ships, we need to be able to tell those kinds of stories.

So... what if we make a star map that is entirely about creating story hooks?

Instead of placing facilities that make numbers go up, you place facilities that create stories.

For example, instead of placing a lunar mining facility to make your minerals increase, you might place a "mining concern" that overlaps the planet and the moon. This would create stories of strife between the lunar miners and the planetside miners. To place it, you would need to build some kind of freighter or mining ship. Then there would be an "episode" - a simple story where the emergency performance of your ship helps miners survive... or die. The core performance of your ship would determine how long the mining concern remains a mining concern: at the end of that duration, it would transition into established and peaceful infrastructure.

Basically, each turn the player might choose to place a concern on the map, and then either build a new ship class or assign an existing ship class to it. The simple, generated story it tells highlights the ship's emergency performance and livability, while the numbers attached to it at the end are determined by the ship's core mission functionality. The story can easily include arbitrary existing elements: interference from nearby concerns, ships inherited from old concerns in the area, named characters and ships from other episodes.

The amount of player control over these episodes is limited, perhaps even nonexistent, and the story quality is not important. I mean, they play the same role as an arbitrary random encounter in a combat game, they don't have to be genius.

They exist solely to take what the player has created and show it back to them in full glory. "You made this", the game says, "look how it works in this universe!"

With a side plate of "oh, remember this stuff from before? What a definitely-existing-and-not-at-all-completely-bullshit universe we have!"

... I think it might work.

What do you think?

Friday, June 08, 2018

Voxels and Architecture

A lot of games use voxels to allow players to build whatever they want.

But the key in that sentence is "they want".

What do they want? What will they want?

Obviously, players will come into the game with some ideas from outside. People are always going to try to build familiar things. But your design of the voxels and the rules of the game will influence what they want to build later on, when they start getting used to the game and wanting to push their limits.

Most voxel construction games have cubic meter voxels, which is a good size to allow people to build personal-scale architecture. It's a good balance of personal freedom of expression vs complexity.

With this scale of voxel, most construction voxels are simple bricks, then further decorated with detail blocks such as stairs, chairs, paintings, and so on. While those decorative elements do matter, the fundamental construction of the walls, floors, roof, garden - these are almost always done with simple cubes of various textures and colors.

Despite this, you can have quite a complexity of structural results. With just simple cubes, you can model anything from an ancient cave to a modern home to a huge castle to a mighty bridge. There are some constraints, though: it is quite difficult to model things like roundhouses, or anything else that is deeply non-orthogonal. Despite that, the variety of things you can build is pretty amazing, and you can do quite a few complicated architectural things like drop ceilings, natural light control, and so on.

Unlike those games, Medieval Engineers and Space Engineers have massive, 10 cubic meter voxels. These voxels are scaled way up because the things the players are supposed to build are not personal-scale: you're supposed to build huge battleships and massive castles.

However, because of the large scale of these blocks, they are usually not simple cubes. The players want more control than that.

In Space Engineers, the blocks are frequently angled or rounded, to allow for the common hull shapes you see in fiction. Because of this, rather than having many block types and varying between them, most space ship hulls are built out of only one or two block types. The player's efforts are spent entirely on switching the shapes of the blocks, and perhaps painting them afterwards.

Similarly, in Medieval Engineers, almost no construction voxels are simple cubes. Instead, they are common medieval castle shapes crammed into a 10m3 package. A curved wall. A gateway. Thick or thin stone battlements.

A very tightly-themed game, Medieval Engineers is focused almost entirely on castle construction. The voxels have been limited to specific kinds of evocative, themed shapes to help the audience build variants on the accepted theme.

In both cases, the theme is much tighter than in a game with smaller voxels. Nobody in Space Engineers is interested in building a medieval castle, and nobody in Medieval Engineers is interested in building a space ship... but in Minecraft, people frequently build both in the same world.

I'm not saying that these themed large blocks are "worse" than the unthemed small blocks. Once you get used to the system, it's easy to build huge, beautiful things in those games.

What I'm saying is that constraints matter.

When you put together a construction system, you're not putting together something in a void. You're building something that exists specifically to help players build stuff. The methods and the constraints are critical.

Even if you're doing standard small blocks, constraints and construction methods will radically change the outcomes.

For example, in Eco, roof tiles automatically form into slanted roof elements to make convincing roofs. This happens to have an edge case where, if you have a 45-degree roof, you end up with a stepped roof with a wonderful gap to let light in. Just this small foible is enough to create a whole slew of architectural possibilities. It influences what players want to build... even though it's just a small visual idiosyncrasy!

A more obvious example would be monsters. If you are playing on a monster-filled Minecraft server, your homes will have various ledges and overhangs to prevent spiders or creepers from being a problem. This creates a distinctive feel to many survival-mode houses.

This isn't really an ideal constraint, though, because it's not integrated into the game very well. For example, there's nothing preventing you from simply building a floating house. Going in the other direction, there's no real way to use the attackers in a more interesting way - they just randomly wander up. You can build traps for them, but the traps are usually coffinlike underground pits, not any kind of interesting architecture.

Redstone is also a missed opportunity in Minecraft, because it does not attempt to create any sort of architectural opportunity. You can see hints of what could be when you look at vertical redstone torch elements and such, but architects have to try really hard to force redstone into an interesting architecture.

Imagine if redstone had more interesting topological constraints. For example, what if a vertical stripe inverted the charge? What if parallel, horizontal redstone trails would damp each other, making both null unless both were active? What if redstone healed people nearby? What if it had to be regularly repaired by direct access? What if a redstone "window" generated charge by harvesting sunlight, instead of using a torch?

With a rethinking of how redstone works, you could easily see integrating redstone into your living space, or at the very least having a redstone system be architecture.

If you want less fanciful architecture, you could also include less fanciful constraints. Heating is not hard to simulate at that level, and including a heating system would inspire players to create lots of different heating and cooling arrangements that would be similar to the real world. Moreover, each biome has different patterns of hot and cold ambient temperatures, meaning more variation in houses!

Well... adding all these complexities naturally raises the complexity of the construction.

Space Engineers has a way to calculate whether a space is pressurized. However, because it's very hard to figure out why an area is failing to pressurize, this remains one of the most annoying parts of the game. Similarly, it allows for rotors and pistons, but because they are so buggy and unreliable, trying to use them is just an exercise in aggravation.

Adding complexity constraints is not always the right idea, but it becomes the right idea more often if you "work up to it". That is, if an ordinary construction by a newbie wouldn't encounter any problems due to it.

For example, if you have a structural integrity simulation, but it's gentle enough that an ordinary player house in an ordinary biome wouldn't be at risk. It's only when the player begins to try to build that megacastle on Mars that they have to start worrying about it. Or, similarly, if active redstone slightly healed anyone nearby, players could use it for that without having to try and delve into computation.

These sort of things are great fun to think of, and would definitely be more interesting to more players!

There are a lot of things I want to try to put into a construction game! But... even the smallest ones feel like they could make a game all by themselves.

For example, what about a construction game where you want birds to nest in your house? What about a game where views matter, either because people like them or because systems can only respond to threats they can see? What about a game where you whittle your starship hull instead of voxel-build it? What about a game where natural lighting is the most precious resource? What about a game where annoying extended family members are constantly visiting and you need to keep them impressed while also driving them away?

What I'm saying is: you can sculpt what you want players to want.

Tuesday, April 17, 2018

A Simple Game about Huge Space Nations

Like everyone else, I love and hate 4X games.

Hearing the epic story of an entire species as they romp through the galaxy weaving their ten-thousand-year story in with friends, enemies, and supernovas? Yes please!

But the actual gameplay is so bland. It always goes in one of two ways. It's either "fun at first but now we've done the same thing 50 times" or "that thing is polished away, so it's not even fun at first".

I like the stories of interstellar civilizations!

Much like I like the stories of the families in The Sims.

4X games have some elements to create a foundation for these stories. Tech trees, alien races with reliable personalities, planets with different characteristics, and so on. However, the pattern falls apart in the midgame, as playing well becomes more important than having a story.

The Sims takes the opposite approach: after you've gained a few job levels, you probably have some breathing room. You can focus entirely on leveling up your skills and jobs in The Sims, but there's no real pressure to do so. The midgame allows you to develop the stories as you see fit. In short: the beginning of the game forces you to choose an approach, and then it gets easier so you can see what kind of stories arise from the approach you've chosen.

I've been brainstorming to see if I can think of a cool 4X-like design that does something similar, and here's one I like.

One of the big issues is that fungible resources like cash are disconnected from the continuity of your story. When you spend money to do something, you're not connecting it to a previous story beat. Therefore, instead of using space cash, how about constructing chains of assets?

For example, you have a garden planet. It has four slots: two industry, two evolution.

You might choose to mount a "mining" industry onto your planet. Rather than producing cash, it has some more specific slots: materials, orbital, metropolis. You can then start to slot in things like advanced armor, orbital construction yards, and a cultural center. In turn those have slots, and you can continue to build out a chain of Things Your Species Has.

This chain allows for context to be preserved. Your space fleet was built at the orbital construction yards supported by the mining industry of your home planet. This not only gives the player cues for their internal story, but it also gives the game opportunities to create interesting challenges: if the mines run out, it's not just a matter of losing a random facility on a random planet. Within a few years your construction yard will turn into a ghost town, and a few years after that, your fleet will start to fall apart.

That's an interesting situation from every perspective... especially if we punch it up with characters that are part of this. We can seed them all ahead of time: the mine foreman, the construction foreman, the admiral. In the beginning, you meet them, and the admiral doesn't care about the mine foreman's problems... as time passes, you can see the changing situations written on the characters, as the mine foreman becomes destitute and the admiral starts bickering with the construction foreman about why his ships can't be properly maintained.

You don't have to go that far, of course. I'm just doing whatifs.

Replacing that mining industry would be a priority. The easiest solution might be to put a "fossil fuels" asset on the planet. It takes up and evolution slot and has an industry mounting slot, which you could then move the mining industry onto. Bang, everything's solved. Right?

Wellllll...

A big part of this is that the chain of assets is not simply a chain of fungible things. The space fleet isn't simply "the same as every other space fleet but from a specific planet". Instead, the space fleet inherits all the "side effects" of its parent cards. Side effects are always passed down. Some are good, like "advanced armor". But some are bad.

The mining industry might have a side effect of "exploited underclass". This means that the docks, the space fleet, the cultural center: all would have an exploited underclass. Adding in the fossil fuel cards also creates a "toxic" side effect. Now the docks, the space fleet, and the cultural center have both an exploited underclass and a toxic side effect.

In addition to providing more materials for the implicit and explicit story we're weaving, they also provide a hook for an entire game mechanic: stories made out of the side effects rather than only the assets. The toxic + underclass combo is rife for a "black lung outbreak" story, where millions of underpaid workers are dying of toxic fumes and the corporations are trying to conceal it. This kind of story is great for allowing the player to explicitly specify what kind of space nation they're running. How far will the player go to help the underclass? To help the economy? After all, any choice they make will send a shockwave down the chain: if they spend a lot of effort on helping the miners, then the mining industry will suffer a temporary (20-year?) penalty. Halfway through that, the penalty will propagate to the dockyards and cultural center. Halfway through that, it'll hit the space fleet.

Now, the real secret of this approach is that it's only half of the system. That's the physical half, covering things and physical technologies.

The other half is the social half, covering rules, governments, cultures, social technologies, and so on.

The two sides interact. Assets for the social half are provided both by physical assets and by the vignettes inspired by physical side effects. Assets for the physical half are provided both by social assets and the vignettes inspired by social side effects.

So if you side with the miners, in addition to a physical penalty, you'll get a social card. Perhaps "worker's unions". Siding for the corporations has a physical bonus, but also gives you the social card "monstrous corporations". If you don't play them, you'll hit your hand limit and you won't get any more physical-side vignettes until you do.

You can add any additional complexity you like in terms of things like maps and factions and battle mechanics, but the heart of the system is simply a physical and social chain, where you try to manage the fallout of your older choices, especially as side effect build up.

I think it'd be fun! I prototyped it a bit, but it requires a lot more assets to work, so I'd have to put in a lot more effort to make a playable.

What do you think?

Tuesday, March 06, 2018

Methods of Topological Constraints in Base Building

I love base building games, and I love it when the base building is a challenge.

Most base building games are spreadsheet games where the checkboxes happen to be on a map somewhere. There's rarely much in the way of topological challenges - it's mostly a matter of building the right things in the right order and dealing with whatever semirandom challenges the game throws at you.

But I like topological challenges. So here's some methods to introduce topological challenges and constraints.

Time compression is by far the most common method. Most base-building games feature inhabitants which walk around your world, and they only do their jobs when they're at the right place. Since time is dramatically accelerated, this means that the time they spend going from A to B is a major part of their day. You can see this in games like The Sims, Dwarf Fortress, and any base building game with people that walk around and time that passes.

Personally, I don't much like this constraint. It is overused. It's especially bad in games where the worker AI is semiautonomous: you can't really optimize the worker's habits and instead just have to dully crowd things together and hope it works out.

Connective constraints are also quite common. This is when base component A has to be within X distance of base component B, or you need a physical wire, or some other method of constraining the shape of the base by requiring things to be within certain ranges of other things. Often this only applies to specific types of facilities - typically electrical. For example, in Fallout 4 and Rimworld you need to wire up your bases for electricity.

Some games are much more constrictive. For example, in MewnBase you have to have every pressurized unit connected directly to another pressurized unit. In Space Engineers, booster elements have to be directly attached to boostable components.

Some connective constraints are so common and natural that we don't even think about it. For example, every base-building game where you can build vertically requires the next story to be built on top of the previous story. This kind of "crushing constraint" we'll talk more about later.

Simple topological constraints is when you can only build in specific places, and the explanation is very bluntly "you can't". For example, in Dune you can only build on concrete, and extending your concrete is a major factor. In fantasy citybuilder, you might only be able to build on the valley tiles, and not on the mountain tiles. You can't build over there because you can't build over there. Simple.

This is typically a level-bound constraint - that is, the player is challenged to make their facility work within the constraints of the level. The connective constraints we discussed before are module-bound constraints instead - that is, these modules have the same constraints regardless of the level you're on. The two typically work in conjunction to put a lot of pressure on a player. These two constraints working together have produced some of my favorite base-building games.

Perimeter constraints are when there is a fitness test waged against your base in a topologically consistent way. For example, a windstorm blows through every month, always from the same direction. Invaders spawn at the edge of the map and march towards you. Space lasers hit your battleship from predictable directions while you're in battle.

While there are many kinds of fitness tests, these perimeter constraints deserve special attention because they are topologically enforced. This isn't you running out of gold or whatever: there's something producing stress on your topological perimeter, and you have to build your perimeter specifically to deal with the threat. Extending your base is often expensive simply because you have to start with your defenses!

Some perimeter constraints are more brutal. For example, if the island is constantly sinking, so after a while all your perimeter buildings are simply erased.

Topological stress constraints are similar to perimeter constraints, except they're not based around your perimeter. This is commonly used as a secondary enemy type in enemy-centric games. For example, teleporting troops pop up in the middle of your base, or there's lightning strikes that hit randomly somewhere in your facility.

These produce topological stresses, but at semirandom locations. For example, in Evil Genius, one kind of hero would dig through the walls of your base and pop up inside. The places they can arrive are predictable, but typically well inside your defense perimeter.

Building your base to withstand these arbitrary pressures is quite a challenge, and typically these sorts of threats are considered advanced or high-level, since building a functioning base in the first place is the main challenge.

There are other kinds of topological stress constraints:

Self-induced topological stresses are similar, but these are topological stresses you create with your own engineering. In a space ship game, this might be heat: you can't fire your lasers for long because you didn't put in enough nearby cooling. In a fantasy game, it could be height: building a skyscraper in Medieval Engineers is challenging because of the physics of building tall stone structures.

Personally, I think self-induced topological stresses are the most fun. I like to change connective constraints into self-induced topological constraints by adding in concepts of quantity, speed, and gravity. For example, many base-building games allow you to pipe water. In most games this is a simple connective constraint - pipes must connect to pipes. But if we introduce some basic physics, we create a lot of interesting new challenges.

At lower levels, piping water would be basically the same as if we were just doing connective piping, because that's how the physics is weighted. But when we try to bring in a lot of water, or water under high speed, or lava instead of water, we have to get really clever. Imagine trying to build a medieval castle and figuring out how to pipe in lava, or maybe using high water pressure to create a defensive cannon.

Moving constraints are rarely seen, but they are simply topological constraints coming about because you can move portions of your base. At the most basic level, this can simply mean locking the doors or raising a drawbridge when enemies attack. At more complex levels, it might involve sliding ladders, moving staircases, inflating rooms, tuck-away furniture... but I think this concept can be pushed far, far harder. We just generally don't think about it much.

Constraint Result Types
While we've talked about the kinds of constraints we might see, it's also worth talking about what happens when the constraint hits a fail state.

"Hard" constraints aren't ones that are difficult, they're ones which literally cannot be failed. You can't build on mountain tiles. You can build levitating buildings. If you somehow manage to get into an illegal state, the facility is erased - it collapses, explodes, etc.

A medium-hard constraint is one where you can get into an illegal state, but if you do, the facility doesn't immediately vanish. Instead, it is simply nonoperational or begins a countdown to death. This is often found with things like not wiring up your power-hog modules: the player is allowed to realize their mistake (or plan ahead by building illegally), then fix it up afterwards. This is also often found with things like structural stresses: the overstressed pipe doesn't immediately explode, first it springs a leak.

A soft constraint is where there's not really an "illegal" state, it's just that the state gets worse the more stress you put on it. For example, as you route more electricity through a wire, it gets hotter and hotter and you have to deal with the heat output. Or the taller your building, the thicker the lower story walls get, until they're so cramped that people can't even get through.

Anyway, those are some of my thoughts, mostly to myself. Let me know if you have any opinions on the matter.

Friday, February 23, 2018

Constructive Difficulty

As you know, I like construction games. I like building things.

But nearly all construction games make construction too easy!

I don't think the games are too easy. I think the construction is too easy. I don't need goblins attacking in waves or plague or economic challenges. I'm here for the building! Give me a construction challenge!

A long time ago, I fell in love with Medieval Engineers, because construction was a real challenge. At the time, there was no inventory: if you needed ten stone to build a wall, you had to get the ten stone within a few meters of the wall. If you were building a tower, you had to build a scaffold first, so you'd have a place for stone vertically close enough to the wall. In turn, the mechanical elements - carts and pulleys and stuff - were actually useful, because you didn't want to lug those stones up yourself, one by one!

In short order they added a magic inventory. Also, they made the buildings more structurally forgiving, because they decided to focus on warfare, and the idea was to see how well your building could survive bombardment instead of if your building could stand at all.

This ruined the game for me.

The problem is that Medieval Engineers is actually more about siege combat than anything else. With that focus, simplifying the construction and focusing on how the buildings survive sieges makes sense. It allows players to get to the meat - the sieges - faster and more robustly.

Of course, I don't give a single crap about sieges, so to me the game is now pointless. But I can't really blame the game devs for not having the same priorities as me.

I want to build. I want to have to figure out how to make a three-story building and use buttresses to keep it from falling over. I want to see how high I can build a tower, and what clever things I can do with internal supports to eke out a few more stories. I want to build a castle on a cliff and have to figure out how to wire it into the cliff so it doesn't go sliding down the mountain. These are the challenges I like.

This isn't limited to medieval stuff.

When I build space ships, I want to struggle to get them to work at all, so that when I make even small, functional rockets it feels great. Kerbal used to be quite good at this. However, as Kerbal came closer to release, they carefully dumbed down all the physics elements. It's now extremely difficult to get a rocket to fall apart: everything auto-welds and the forces have been much reduced. The game is much more focused on simple payload/fuel calculations, which isn't nearly as interesting to me.

Starship Corporation is a lot more my style, with intricate construction and extremely interesting testing phases. However, the game's difficulty doesn't revolve around engineering challenges, but around contractual obligations and research constraints. Once you understand the complex, nitpicky nature of things like power and oxygen, you can engineer a lot of interesting ships... except the game doesn't give you any additional parts or hulls until you've spent hours and hours and hours doing absolutely nothing. Again, the challenge isn't related to the construction, the challenge is based around some external measure of fitness that can't really be turned off.

There will always be some external measure of fitness, some external gating or rating system. Otherwise the game would be completely freeform. That wouldn't necessarily be bad, but it would fail to engage a lot of players. So the external ratings continue.

But these external ratings could be tied to the actual construction of stuff, instead of to how well you do things outside of construction, such as stabbing orcs or balancing a corporate checkbook.

A good example of this would be a skating game. The game is all about doing tricks and stunts. You earn scores based on your tricksiestuntness, but the scores are largely open ended.

The scoring is usually weighted to prefer long combos - meaning that you typically want to string tricks together rather than go for one ultimate mega-trick. This shapes the way you do tricks, but it's still fundamentally about your own stuntwork and allows for plenty of personal self-expression.

Alternate ratings systems - such as bonus points for being higher off the ground or moving at faster speeds - would result in different priorities for our tricks. Moreover, these would typically be just as easy to implement. It would be trivial to make it a toggle: join one team and get rated based on chained tricks. Another team, rated on speed. Another team, rated on height over the ground. Now the player has a ton of freedom to shape their own external ratings system to match their own stunt construction preference.

I want building something to feel the same way. I want my construction to feel like a neat trick chain in a skating game. Something I personally did, with my personal skill and priorities and artistry.

And that means it has to be hard to do, but also with enough slack that I can do a lot of different things for any reason I feel like.

Can that exist as a game people want to play?

I dunno.

Friday, January 12, 2018

Simple Mechanics for Compelling Games

Recently there's been a bout of compelling games using very simple mechanics. In particular, I'm going to use the mobile Marvel Puzzlequest game and Battle Chef Brigade as examples, because both create compelling and narratively-dense games using match-3 gameplay!

Using simple gameplay to make compelling games is far from a new idea. Every game does this. An RPG uses basic math. A shooter uses simple moving and shooting.

But what we're seeing these days is something a bit different. The play is more emergent than ever, and the emergent play is more narratively compelling than ever.

Everyone tells stories about that time something cool happened while they were playing a game. The ten-person raid that almost didn't work out. The time you drove a jeep into an exploding alien. When you did five no-scopes in a row. These emergent moments are extremely powerful draws, to the point where many games (like Overwatch) attempt to automatically highlight cool emergent moments.

But you don't need expensive content or complex mechanics to create those emergent moments.

For example, I just had a fight where Storm, The Thing, and Juggernaut fought Spider-Man and two of those Spider-Man variants or clones or whatever they are. It was an epic fight. Storm was about to die, but The Thing stepped in the way, took the blow, and went down himself. Even while unconscious, he shielded Storm as she called down a hailstorm. Finally she went down to a web-swinging kick, and it was just Juggernaut against them. The hailstorm helped take out two of them, but in the end, Juggernaut and the last standing Spider-man were going toe-to-toe. Juggernaut couldn't catch him, and was ready to fall over at any second. In a last, desperate attempt, Juggernaut slammed his helmeted head into Spider-Man and they both went down. A battlefield of fallen heroes. Well, the villains were stopped, and that counts as a victory for the heroes, even if they're all unconscious.

Here's the twist: that whole battle was a damn match-3 contest. There were very few visuals - just some particle effects and a few generic superhero poses flashed up from time to time.

Still, it felt properly epic in my head, and it was probably the best time I've ever had playing a match-3 game. Would it have been better with more graphics? Sure. But putting aside the juice, the fundamental play of the game allowed this story to emerge.

Regardless of anything else, we want our gameplay to allow for that kind of emergent narrative. How do we do that?

Well, first is contextual elements.

In the Marvel game, the context is really easy: the various characters on each side of the fight. We are familiar with most of the characters, or at least their templates, and therefore we can easily picture how things are unfolding. Even the assists have a character attached.

In Battle Chef Brigade, the characters on each side certainly have context, but since you're always playing the MC, that's not really a factor. Instead, it's the ingredients and judges you learn to identify. This takes more time than Marvel's context, because we aren't really familiar with the elements in BCB, but it's the same basic idea.

Context is mostly established at or near the beginning of a match. You know who's fighting, who the judges are, which ingredients are available, etc. Context can change over the course of a fight as well, but the starting context is critical. Here I think BCB does well: the various statistical effects are incorporated into high-context items like fun pots and strange knives. The Marvel game isn't quite as good, since they're just called things like "blue/green boost".

Endings are important, and not just statistically.

In the Marvel game, the end of the battle isn't just a win/lose. There's also how many resources you expended, and how long injured heroes will take to recover. But more than the statistical elements, there's the question of how the victory unrolled. Who gave the final blow? Who fell, when? I don't think that the Marvel game plays this up as much as they could, but it would probably hurt their monetization if they tried to push this any further.

In BCB, the ending also isn't simply win/lose. You are judged by several judges each. This not only gives a final win/lose, but teaches you more about the judges and what you should serve them next time. In addition to that, the dishes themselves are fun. You've created the dishes out of high-context ingredients, and seeing those transform is fun. Put in a lot of eyeball monsters, the final dish is an Eyeball Saute.

How things end is the capstone of your narrative experience. If the arches are in the right spot, the capstone holds everything together and you get a great result. If the arches aren't right, or the capstone isn't placed, the whole thing collapses into rubble.

Although Marvel's game can give us great fights with cool endings, that's not the norm. Normally fights fizzle out without much of an ending. This is made worse by the fact that the difficulty is front-loaded: the ending is almost always the easiest part of the fight, when you have the fewest enemies and the most resources to deal with them.

This isn't universally crappy, though. The statistical results of fighting mean that a battle's conclusion feels real and solid even if the ending was pedestrian. For example, if you win without taking a hit, you don't have to heal anyone and can immediately move forward, and that feels pretty great even if you were a set of level 100 heroes against a set of level 3 baddies.

BCB punches up the endings a bit better, because rather than constantly bickering with the enemy, it's a race against yourself, a race against the clock. You can feel the ending getting closer and closer, and the tension naturally rises as you move into various phases of play, judging for yourself how much time you can spend in each phase. On the downside, the enemy isn't really in your face as much. Trash-talk, interfering on the hunting grounds, and so on might help to alleviate that distance, but in the end it is an indirect conflict.

There are a variety of potential avenues towards making something like Marvel's game have better endings, and it all involves building mechanics that pace the ending better. Some of those mechanics might be in-match, such as enemies gaining resources or hitting harder as they get injured or lose team mates. Some of those mechanics might be meta elements, such as a penalty for taking overlevel characters into battle against weak enemies. Either way, they're just imaginary, there's no way to tell how well they would work without trying them out. There is a risk of locking the player into overly strict progressions, which would be just as bad as ending on a fizzle.

Midgame Management is another important element.

When you are playing a match-3, there's a lot of focus on the nature of match-3 play. Not only do you want to line up 3s, you'd like to line up 4s and 5s and double 3s and cause chains and so on. If there's no time pressure (like in Marvel's game) hunting for the best move can be as slow and careful as you like. For games with a timer (like BCB), the focus is typically on smaller grids and heuristic approaches.

Both games make "tending" the battlefield critical. In Marvel, enemy heroes get to take a turn, so it's important not to accidentally leave them with a good move. Done well, you can even trick them into destroying their own attack tiles! While there are only a set number of colors, the weights vary: some times you'll need to absolutely set up greens to insure you can stop rocket attacks, while other times you may want to hunt down that fist icon on that yellow tile. By layering effects on top of colors, the fundamental matching stays the same, but the weight of each color or region of the map changes dramatically.

In BCB, you add all the colors yourself, more or less. With a smaller battlefield and self-chosen colors, you'd think it'd be easier to manage. However, they take a Threes approach: blue isn't always blue. When you match some blues, they turn into a bigger blue that only matches with other tier-2 blues. And so on.

Suddenly the smaller battlefield is not "easier" but "more cramped". Every match you make leaves you worrying about how you'll fit in the next ingredient, and whether you can afford to temporarily knock those two tier 4 blues apart so you can make a tier 3 red... or will the pot overflow before you can recombine them?

These are very different approaches, but they both work. One creates midgame management by adding layers of meaning to various tiles or colors, whereas the other creates midgame management by steadily adding in more and more colors as you make matches.

Of course, neither is completely focused on their approach alone. In BCB specific colors do have different weights depending on the judges or the main ingredient, and in Marvel's game you do get special tiles like criticals that pop up from time to time.

Either way, adding depth to the core gameplay is an important part of keeping the player engaged. Both in terms of adding a difficulty curve and in terms of making context pop.

For example, when you are adding in your ingredients in BCB, you're thinking about whether you can get them to congeal correctly... but you're also thinking about them as Things That Exist. "Should I add more eyeball?" is a question that has both statistical and contextual meaning, and your decision will change how you think about your dish.

There are many ways of adding depth, too. For example, in addition to everything else, in Marvel's game, whoever has the best "attack value" with a given color makes an attack when you match that color. This also leaves them on the front line, and they'll take any damage thrown at your team. This makes managing high-power attackers with low health a fun challenge which evolves over the course of the game as health values fluctuate.

Mix-ins are a big part of making simple gameplay support complex contexts.

In Marvel, your heroes (very high context) are given additional context by their powers. As you make matches, you earn points of various colors, and the various heroes have powers that cost points or are affected by specific colors in various ways.

The diversity of powers is enormous. For example, The Thing has a power where he'll step in front of squishier characters and also create protection tokens, only moderately affected by board state. Kraven the Hunter will diminish enemy tiles and steal mana if there's a lot of enemy tiles. Hawkeye can create a critical, or wipe out a row of tiles. Storm and Juggernaut both have a green ability to smash tiles: Juggernaut smashes more tiles, but Storm earns mana from smashed tiles.

These modifications are not technically part of the match-3 game. They're another game layered on top - they affect each other, but are separate kinds of play. The link between the two is quite tight in this case, largely because there's no time pressure, so the player can just sit and think for a bit about the various options.

In BCB, the alternate game mode is much more distinct: you go out into the wilderness and hack apart monsters for ingredients. Since there's a lot of time pressure, the modes only loosely interlock. That way the player can stay focused - trying to stir your food pot while hacking up a wolf would be considerably more stressful and difficult.

In an RPG you sometimes think of these sorts of things as the other play loop. Like, you explore a dungeon, fight random monsters, get treasure, level up - and each of these are distinct elements.

However, in these simpler games we're seeing, the mix-ins are literally mixed in. They weave in and out of the normal play loop. It'd be like if you leveled up mid-fight and had to choose exactly what bonuses to take before the fight continued. In a classic RPG this would be a bit weird, because the battle system is engineered to keep your whole focus the whole time, so bopping off to do something else for a moment would break your groove.

But with these simpler games, you can wander in and out of the main play without really losing too much focus, since a glance at the board will remind you of where you stand. Moreover, this wandering can be used to radically increase the context of the play and provide additional story beats. When Storm summons hail, it's Storm summoning hail. It's not just a statistical effect: your board and play state is now coated in Storm's story beat. Similarly, killing an eye monster and bringing it back to throw in your pot adds a ton more context to your pot, much more than if you just had a giant stack of eyes on a shelf to throw in.

...

I used match-3 games as an example, but I think this can be done with any kind of gameplay. You can even dissect existing complex gameplay as two or three kinds of simple gameplay mixed in - running and gunning is [running] and [gunning]. RPG battles are [initiative] and [math]. It's a fun thought, although I'm not convinced it's a good universal framework.

But it can be fun to analyze that stuff with this new eye. If your game is [initiative] and [math] mixed together, can you use the lessons learned here to punch up the context, the ending, the midgame management, and the mixin? It might be really interesting to try to create an RPG that's been re-engineered from scratch to focus on in-battle emergent narratives.

Anyway, those are my thoughts. What do you think?