Tuesday, April 18, 2017

Wondrous Random

One of the problems with generating content for games is that it always feels prosaic and dull.

So generative games are seeded with wondrous details. The generative content is used as endless filler.

Let's talk about wonder.

It's certainly possible to generate wondrous things. Here's a twitter bot that generates endlessly wondrous planets.

But these aren't suitable to put in video games. The biggest issue is the lack of interaction: a video game's strength is interactivity, right?

Let's consider sci fi, since I'm a sci fi nerd. So let's talk about a few wondrous moments, whether they're interactive, and whether these moments could be generative.

When I considered wondrous moments, I realized they are all either introducing us or bidding us farewell. They are transitions. They are exclamation points. They are a hello or a goodbye.

For example, a rocket launch is amazing. It's wondrous to launch a rocket.

But if we show every rocket launch in a game, the player will get truly bored no matter how pretty it is. See Mass Effect: Andromeda for details.

Instead, we would focus on the rocket launches that take place during notable transitions. When we are saying goodbye to a beloved planet and hello to the stars, that's when we put in a loving shot of the rocket launch. Even though the player has undoubtedly seen a million rocket launches in their life, this moment is wondrous because it comes at the right moment. Just when we're saying goodbye, just when we're saying hello.

Obviously, there are also things that are rarer. Ancient obelisks. Forgotten planets. Derelict space ships. Strange aliens. The sight of your ship being split in half while you're inside it.

These also have the most impact if they happen when the player is saying hello or goodbye. Timed poorly, these amazing things will feel as mundane as having to shut off your alarm and get up for work.

As an example of this, in Mass Effect you spend a lot of time discovering new planets. It's incredibly boring. Discovering new planets is boring! ... because it's part of your daily tedium.

On the other hand, in Stellaris you inevitably discover another alien star nation. This feels surprisingly powerful, because the game leads up to it with popups about how there's no intelligent life even though you're searching for it. Things are just starting to slow down for your star nation, you're ready for a change, and then BAM - a new civilization calls. And then another and another!

There's not much fanfare in terms of selling the illusion. A few lines of text before, one extra line of text afterwards. But because it happens at the right time it feels thrilling. Say hello to a new era!

Well, half the time the pacing is off. It's not a perfect game. But when it works, it works - even without the majesty of long edits and low camera angles.

Later on, discovering a new species feels dull and pedestrian. You're already in that era, and there's no transition happening, so it's dull and pedestrian.

So... let's discuss some techniques we can use to make this stuff shine.

Understanding the Phases of your Game
Rather than discussing how to generate wondrous things, the critical thing is when to generate them. By guiding the player through distinct chunks of game, you create moments where wondrous things fit, and even mediocre wonders will play well in those moments.

The difficulty is in making the chunks feel sharp and clear. For example, in Mass Effect you might go visit the Citadel and spend three hours doing side quests. This is a phase. But there's no "punch" to the beginning or ending of the phase. Mass Effect does play a little video of you pulling out of space dock, but it's perfunctory. It has to be, because the staging isn't heavy enough for the player to put up with more.

How can we build up these phase as things that feel real and heavy?

There are two factors here: the construction of the phase and the transition moment.

Constructing the Phase
The biggest things that add weight are events and characters tied to the specific phase, with a focus on them being left behind when the phase changes.

For example, if it's a visit to The Citadel, you can have the player solve various problems... but have the characters wait on the way to the docks to wave goodbye and say thank you. This doesn't interfere with the player - the player can just run right past - but it does make the player realize they're leaving a place that they've affected.

There are plenty of other, heavier ways. For example, the player knowing they'll never return makes those goodbyes more intense. The player knowing the place is about to sink into a fiery magma pit also punches things up.

Adding play on the exit is also valid: in order to get off-world, the players have to fight through the local thugs and decouple the dock lock-down locks. When considering where to put these kinds of fights, the answer is "before the wondrous thing" - so if our wondrous thing is the launch, then we want the fight to happen before launch, not in space.

If you're creating a linear game, this can all be added in manually. If we're talking about generating content, it's clear we have to generate these heavy elements. The wondrous launch isn't the thing we have to generate: we have to generate the thugs and the teary children waving goodbye and the battered old robots throwing flowers.

We have to generate the context. The meaning.

This is something people talk about a lot, but I think they generally discuss how to create long chains of content. Our focus is different: we don't need complex, evolving narratives. We need short, punchy narratives that fit within this phase of the game and have a clear "goodbye" state.

You Say Goodbye, I Say Hello
Transition moments can be on the "goodbye" side or the "hello" side, and there can be scenes between those sides.

For example, when we leave The Citadel we can linger on our ship going through the relay and let the weight of our passing slowly roll through us. Orrrrr we can show an exciting shot of us approaching a new planet, slamming aside the purple clouds as we burn down on a re-entry.

But we can't show both.

I mean, we do show both. But only one will count as wondrous. The other will count as just a long shot.

Which one do we focus on? Well, which phase is heavier? Is the phase part of a longer chain of similar phases?

For example, leaving The Citadel is usually not a huge deal, because it's a hub world and you visit it a lot. In general, goodbyes are going to be weak from places you're revisiting... unless it's the last time you'll ever visit them. The last goodbye from a hub world is extremely strong.

Similarly, if you are leaving a world exploration phase and immediately entering another world exploration phase, the goodbye is going to be weak and you'll want to play up the new elements with a strong hello.

In theory.

Either way, it's probably best to pad some time between the goodbye and the hello. In a video game, this usually consists of world map navigation, although that's less than ideal. Useful non-phase activities such as party chatter, inventory management, and so on are probably better.

Repeated Majesties
Whether you're generating them or seeding carefully-created content, you're going to have some kind of amazing thing in your universe. You'd like it to not get boring.

An example of this is the relays in Mass Effect. Ancient technology that lets the folks travel great distances without much effort! Amazing!

But in Mass Effect they quickly become so mundane you just want to skip any scene involving them.

Why? Because they are mundane. They are part of the ordinary play of the game. They are not at a start point or an end point. They do not say hello or goodbye. They just happen over the course of your day-to-day affairs.

That's fine, to an extent. Not every encounter with them has to feel magical. But we want the player to be aware that they're playing with something potent every day. So we should try to tie our transitions to them whenever we can. Rather than showing a rocket launch, we would show a relay launch.

They become a "staple wonder", used whenever we need a wonder but don't have any specific wonder in mind.

The issue is that you only have so much space for these. For example, our ship is, itself, a staple wonder. Loving shots of our ship are also a major repeated theme. But is there room for both the ship and the relay? It'd dilute the shots if you played up both the ship and the relay in the same scene: wonders need to be punchy.

There are plenty of times when the ship can be used and the relay can't... but are there any times when the relay can be used but the ship can't?

These are the questions I want writers and devs to ask themselves when they're designing their universe. Not "are relays cool/plot-important", but "when we show cool stuff with relays, are we getting in the way of showing other, more important cool stuff?"

Please note, generative elements can work here just fine. For example, the "deep monsters" in Dwarf Fortress could easily be re-used in different games rather than regenerated from scratch each time - until you defeat this one, you won't get a different one.

Epic Generation
OK, OK, what about actually generating epic, wondrous stuff?

Well, there's a few categories of epic stuff, and presumably they'd be generated with different systems.

For recurring touchstones such as "your awesome ship" or "the bloodthirst armies of Throckwoodle", those are likely to be specified by the dev, then slotted in as appropriate. As discussed, "generating" those is more like generating a reason for you to use them.

The idea of generating some amazing scenario is also appealing. How do you generate an amazing scenario?

Well, that's a book on its own, but in general you have to remember to make the "hello" connect to the play. The deeper the connection, the better.

In general: the hello needs to tell the player why they're here.

For example, let's say you roll the dice and come up with a pirate base on a mist-covered moon. The wonder is the mist-covered moon - it feels still and epic. But the players aren't here for a mist-covered moon. They're here to tangle with the pirates.

How do you set that up? Well, you can show a shot of the pirate base within the mist, or pirates on motorcycles in the mist, or whatever. You can have an event where the pirates burst out of the mist to capture or ground the players. There's a lot of options: a battered merchant ship half-lost in fog, for example.

These are not too hard to generate, because you can largely just use category matches. The fact that it's a foggy moon is not important to the algorithm: it's just considered "MASK category GRAVITY FIELD category", and so it would have the same set of options as if you were on a smokey volcanic planet, an acidic Venus, a snowy ice moon, even an artificial-gravity planetoid covered in silver clouds.

Besides making the hello introduce the play, it's also valuable to have the play reference the hello. For example, the pirates can explain that they set up base here because the mists are an excellent cover, or they can have tactics derived from the mists, or they can have problems and keep getting lost because of the mist, or maybe they have mutant winged wolves that the mist has created... again, these aspects don't have to make too much sense, as long as they're not actively nonsensical.

The other kind of wondrous event I tend to want to create are the action-packed transition scenes where things turn. For example, your ship takes direct laser fire from the megacannon and is ripped in half with you aboard, now you're staring over a spiraling debris field struggling to get to the megacannon before you run out of air. Or there's a chase in the jungle as speeder bikes race for safety. Or you have to trick the zorgblat to smash down the walls of the alien zoo so you can escape...

These moments are dangerously close to talking about "generative plots", so we'll leave them mostly in the background for now except for one important fact:

These are transition scenes.

This is a moment when you say goodbye to where you were and hello to someplace new.

And that's considerably more important than whether they are simulated correctly or whatever.


Anyway, them's my thoughts. Tell me what you think.

No comments: