Tuesday, July 1, 2014

Sandbox Games, Plot, Narrative, and No Man's Sky

This game promises to offer players more hype than any other game before it.

So No Man's Sky has been making waves in the press after having been shown off at E3. It's a massive, beautiful, seamless game that has caught a lot of people's attention, and is generating massive hype. There have been a few interviews since then, such as this one on Gamespot, and a few more details about the game have come to light.

First, and potentially upsetting for some people, the game appears to be an MMO. Players are connected to a shared server, and they can meet and interact in the game world (though the developers insist that meeting other players is unlikely to happen often, even on purpose, due to the scale of the universe). This is potentially problematic for a number of reasons - it will require a constant internet connection, it likely won't be moddable, and players will inevitably figure out ways to troll and gank others, interrupting their experience.


That isn't really what I want to write about, though. The developers of No Man's Sky have mentioned their perspective on objectives and narrative, such as in this interview with The Sixth Axis (though they've said similar things in many interviews and previews):


TSA: The big question, from what we’ve seen so far, is… I don’t understand what the game is – to what end am I doing this? What’s the objective?  
[All laugh] 
Sean: Well… on one hand I have the answer, on the other hand I don’t, right? I’ll tell you why I don’t have the answer, which is because you and I are probably the same in that we grew up with Mario, and we grew up with SNES, Genesis or Megadrive. And we’re used to missions, and quests, and levels, and story, and narrative. Who am I? How many levels? How many different amulets are there to collect? Or whatever.  
We don’t have that; we don’t have the concept of levels or narrative, or anything. That’s… scary sometimes, for us, but there’s this generation growing up with Minecraft rather than Mario. And for them that’s super interesting, and they find The Last of Us really confusing.  
There’s that side of things, and that’s one answer, the other side is actually, you know, we do have objectives, and we do have ways to play the game. They are just slightly different. So I can actually play the game just as a pure fighter: I can get in my ship and go into space and decide to play it like Elite. I’ll make a name for myself, and rank up. Just purely build my ship up to the point where I can attack space stations.

Placing this in the context of how other such games have been developed - Minecraft's long-standing focus on new crafting items, Redstone, and mod support; Spore's handful of fetch quests and spice-trading endgame; and the generally upgrade-driven gameplay of most other sandbox games - it seems to me that there's a clear trend. Sandbox games are being developed without purposeful, long-term narrative structures.

So what I do want to write about are the kinds of experiences provided by games like these, including what little we know of No Man's Sky, and briefly imagine some ways one might enrich those experiences by incorporating one of the very things that their designers seem to want to avoid - plot.


This is me - exploring, exploiting, expanding and... being exterminated?


Explore, Exploit, Expand, Exterminate?


If those four words seem familiar to you, you're probably thinking of the 4X genre of strategy games (though usually, expand is listed before exploit). I would suggest that sandbox games tend to follow a very similar pattern, however. Players explore an open, often indifferent world; exploit its resources; expand their abilities by crafting new tools or upgrade their abilities; and exterminate various enemies along the way. That about sums up the game loop of most popular sandbox games.


Speaking from my own personal experience, I know that these are important things for a sandbox game to offer. These represent compelling and fitting moment-to-moment gameplay systems that offer goals for the player to pursue. Yet they are ultimately not enough to provide the experience that I, personally, am actually looking for from these games. What experience is that?


Somewhat ironically, the experience I want from these games seems at first glance rather linear. I want adventure - I want a plot, with antagonists, allies, plot twists, revelations, and a conclusion. But I want them to occur within the bounds of a system, not a predefined, scripted narrative. I want to make all the protagonist's choices, and I want to be able to make any reasonable choice that might be available to me, not just the choices provided by the designers. I want to be able to climb a wall I wasn't supposed to climb, kill or save people who were supposed to live or die, and solve the plot's challenges in ways that the designer couldn't necessarily foresee. This is something that heavily scripted experiences like The Walking Dead or Mass Effect will never be able to provide, due to their focus on branching scripts instead of systems.


Perhaps most sandbox games are targeted at another audience, though - one who is indeed happy to play in a sandbox, without any kind of plot. The way games like Minecraft and Starbound are being updated by their developers, with a focus on player-driven content and modding, seems to support this. But if that's the case, I've just identified a different target experience - a 
different target market - that is woefully underserved. 

And yet, sandbox games, being built entirely on systems and taking place in vast open worlds, are the closest genre to the experience I want. They just need a bit of a nudge.


What we really need is more Genghis Khan.


Plotting in a Sandbox


I don't expect dynamic plots in a sandbox game to rival great literature any time soon, considering how little work on dynamic plots of any kind has ever been done. I think it's fair to expect such plots should quickly come to resemble basic Hollywood-style action movie plots, though, and that would already be significantly more complex than the explore-and-upgrade kind of narrative other sandbox games have featured so far.


Part of the problem, perhaps, is that if we think about using procedural content generation in narrative, we imagine some kind of algorithm building and rebuilding a plot that the player will then follow - and that's something that would be extremely challenging to pull off. While that could be one interesting approach, I think that we'd make faster progress if we looked at dynamic plot as something that emerges from a well-designed, dynamic system, rather than something that a system targets and builds from the outset.


For the purpose of illustration, let's take space opera as our example genre. One simple way to conceptualize of such a system, on a high level, might be this:


  1. There are various AI-controlled factions active at any given moment, each with some kind of long-term goal, and set resources and assets at the outset of the game. Imagine things like galactic empires and federations.
  2. These factions collect information, formulate plans and then execute on those plans based on real resources they have available, in a fixed timeframe.
  3. The player can manipulate any entity's information gathering, preparation, or execution processes through moment-to-moment gameplay.
  4. The outcomes of these plans and manipulations, through their use of real resources within the world, permanently change the state of the world, on which the AI entities base their future plans.
Essentially, while the player runs around as a character in the universe, there is a strategy game permanently being played in the background by the AI. This kind of idea was mentioned several years ago by Andrew Doull in his The Death of the Level Designer series.

Of course, these don't really scream "plot" all by themselves. But that's the point - designing a plot for the player of a sandbox game is missing the point of the sandbox. The objective should instead be to design a system thaprovides fertile ground for"plot" to happen. 

A player discovering an AI faction's nefarious plans and working to thwart them under time pressure would create a multi-part, complex emergent narrative over a few hours of gameplay, and that's assuming that plan doesn't have any kind of interactions with any other AI-driven plans - unlikely in a universe populated by many such factions. This is in stark contrast to the current state of emergent narrative, which is generally finished within minutes and boils down to a single event, rather than a string of logically related events.

But there are some other design challenges with working emergent narrative into sandboxes that need to be considered.


Build up my base? No, let's just run off to the edge of the map and meed umbrella slimes.


Continuity in a World of Distractions


An open sandbox world's greatest strength is also one of its most potent dangers when it comes to cohesive emergent narrative - there are so many places to go and things to do! Even if the player is currently hunting down a stolen artifact or infiltrating an enemy base, there's nothing to stop them from suddenly dropping their current activity and picking flowers all day, so to speak. The end result is that the narrative feels tacked-on and unnecessary, because it literally is unnecessary; nothing in the game world actually suffers from the player's inaction. Immersion can easily break when the player realizes that the whole world is just waiting for them to do something.

There are a couple of ways to get around this without boxing the player in like scripted narratives do. First and simplest - timers. AI factions' plans should unfold in real time, at a speed appropriate to their magnitude, but not too forgiving for the player. The world shouldn't sit around waiting for the player to act; if the player fails to act, then whatever they were hoping to achieve or protect will end up destroyed.

In a lot of more scripted games, giving the player a time constraint would be brutally punishing, and so designers avoid it. This is generally because the entire game is built around whatever task the player is undertaking, though. In a situation where life in the game world goes on whether or not the player succeeds or fails - empires rise and fall, rebellions are born, and succeed or are crushed - it's much more palatable and immersive to have everything move at its own pace and force the player to keep up if they want to succeed.

Beyond that, I think we also need to be prepared to reconsider the relationship between the sandbox and the narrative. A lot of sandboxes are simulation-like, driven entirely by certain base-level rules about how the world behaves. Part of the problem with realistic simulation, though, is that it is apathetic towards the player's experience. 

If we instead look at the sandbox as a tool for creating narrative, it makes sense that we might want to conduct some behind-the-scenes tracking and manipulation that otherwise violates the simulation qualities of the game. This works especially well when the player has little or no information about what's going on far away from them, and so don't notice sudden coincidences as much when they appear - as might be the case in a space game like No Man's Sky.

One simple example might go as follows: If the Galactic Empire is currently plotting to invade the Federation, and the player just so happens to be scanning an Imperial ship's cargo, the game could procedurally throw plot-related cargo or data into that ship, rather than simply displaying whatever the ship contained beforehand. The player never knows, and if the system is designed to only do this at key moments rather than all the time, it won't seem especially out of the ordinary - no more so than any of the other coincidences that occur in a run-of-the-mill sci-fi plot, in any case.


Beyond The Sandbox


I'd like to go back to the roots of sandbox games for a final thought. For me, sandbox gaming really goes all the way back to the days I spent with Lego as a child (and K'nex! But that's not nearly as ubiquitous). I know there are people for whom Lego is primarily about building things, but I remember it being quite different for me. For me, Lego was something I used to build the pieces I needed in order to act out stories, or create fictional worlds.

A lot of sandbox games out there currently seem to be more of the Lego-Is-For-Building camp, and that's great. There's a lot to be said for construction-based gameplay. But there aren't a lot of sandbox games out there belonging to the Lego-Is-For-Stories camp, and that's something I'd like to see explored more often in the future. 

This is something that has made me grow more and more wary of the hype surrounding No Man's Sky, to be honest. While the universe and moment-to-moment gameplay looks interesting, the developers seem to be implying that the overarching, long-term gameplay systems are primitive at best, mostly emerging from a gathering and upgrading system. 

Personally, I'm eager to play a sandbox that goes the extra mile, and builds complex AI-driven worlds with persistent consequences, and long sequences of logically-connected events that play out over hours or days, rather than just minutes.

Thursday, June 5, 2014

Quick Recap

So it's been a while since I posted something here. The last few months have been busy and stressful, with my final project at the Vancouver Film School wrapping up, but after Thursday I will suddenly have a lot of time on my hands. Besides looking for a job, I'm going to be playing some games!

With that in mind, here are some of the more interesting things that have happened or that I've seen over the last few months, which I haven't really got a chance to talk about.

Re-Release of Classic RTS Games on Steam


I was really excited when Age of Empires II got the HD treatment, but as a classic, I sort of expected that to be it. Not so, it seems! Microsoft has gone ahead with re-releasing Age of Mythology and now Rise of Nations on Steam as well. I hope Rise of Legends HD is in the works!

This is interesting for two reasons. First, the RTS genre has been stagnant of late, with only Relic and Blizzard continuing to contribute significant new entries to the genre. These re-releases - and their excellent sales figures, as far as I'm aware - might be the precursors to a new RTS game from Microsoft or an associated studio. They could very well be testing the waters for a new IP, or perhaps a reboot of one of the franchises they are re-releasing.

Second, it's interesting because Microsoft is actively putting these old-school PC games on Steam, a behaviour which seems to run counter to what seemed to be a Windows 8-driven focus on getting people to play touch-optimized games through the Windows Store (something that didn't turn out too well for Skulls of the Shogun, for instance). Given that Microsoft is also shutting down Games for Windows Live, one wonders if this signals Microsoft's acceptance of a primary role as a publisher, rather than a platformer owner, at least when it comes to PC gaming.

Of course, only time will tell what - if any - part in Microsoft's grand strategy these re-releases play. But I'm cautiously optimistic.

Kickstarter Games Still on the Way


In October I briefly ran through the Kickstarter games I had backed, and checked in on where they were at. Since then, almost nothing has changed in terms of releases, except for the fact that Battle Worlds: Kronos did end up getting released more or less as promised, in November 2013.

Most of the games due to be released in the meantime have been pushed back. Planetary Annihilation has passed the beta stage and is now in "Gamma," whatever that means, but is still technically not released. Pillars of Eternity and Divinity: Original Sin were both pushed back as well, to nobody's great surprise, though Divinity is in beta on Steam and seems on schedule for a July release, I believe.

Of the other Kickstarter giants, Broken Age has half-released and was fairly well-received, though the reception was a little soured by the game splitting in two. Wasteland 2 has been pushed back, and is now scheduled for an August release. The highest-funded game from Kickstarter to completely release was Shadowrun Returns, which was good, and now has a DLC called Dragonfall which is apparently excellent. After that, The Banner Saga come next, which is also a highly engaging game.

Overall, though, very few of the high-earning, high-profile Kickstarters have completely released (I counted eight projects over 100,000$ having properly released, though I may be missing a few). Does this mean anything for the platform? I'm not entirely sure - games as a whole often tend to take longer than expected, so I'm not sure this is an indictment of Kickstarter itself, but what really matters is whether it is perceived as such.

I'm Almost Finished School!


This is the biggest news for me personally, of course! After an exhausting but instructive year at the Vancouver Film School, I'm presenting my final project tonight, and getting ready to go out into the world and try to make a living creating games. I hope that I'll also have more time to dedicate to playing games, writing about them, and pursuing other hobbies beyond games that the all-encompassing crunch of VFS has made more difficult.

I'm looking forward to spending my time pursuing a wider variety of hobbies and interests, and hopefully that will include working on new games as well as playing and writing about those other people are making!

Tuesday, March 11, 2014

Star Prober - Officially Launched!

So over the weekend I finally got around to releasing Star Prober, the game I made for Mini Ludum Dare #49. It's now available as a free-to-play game on the Google Play Store (get it here).

Taking the game from a jam game - basically a gameplay prototype - to a (mostly) finished product on a commercial platform was an interesting journey. That was the point, really - I wanted to learn about the processes involved in taking a game all the way and publishing it. Google Play is probably the easiest publishing platform for developers, as far as I'm aware, but it was still something that needed to be learned.

The decision to include In-App Purchases was based on two things, the first of which was, quite honestly, a whim. The second reason I decided to do so was that I wanted to learn the technical requirements and methods of implementing payment solutions into Unity applications. I generally don't play much in the way of free-to-play, or indeed mobile at all, but since this is a tiny game that's easy enough to play, I didn't feel that the freemium elements were particularly mailcious.

The gameplay itself is identical, though I touched up the graphics a bit and expanded on the interface. Most of the changes went into expanding on the GUI and fitting it to Android devices, and setting up an IAP system for a few small gameplay bonuses. I didn’t actually change the gameplay balance to accommodate the IAP scheme – the game is perfectly playable without them.  Instead, they basically just make the game easier, if that’s something you’re interested in.

Challenges


I spent a lot of time struggling with the whole in-app purchasing thing, in fact. I used the OpenIAB plugin for Unity, which has a few issues – it’s hard to figure out when OpenIAB is ready to start performing billing and inventory operations, and the event-driven structure means that there are delays involved in getting feedback from it, so you need to use round-about ways to get information at the right time relative to the rest of your code. Since it’s fairly new, the documentation isn’t yet completely clear, though that’s something that the developers seem to be working to fix. Took me about a day and a half to get running properly, a more experienced developer will be able to figure it out sooner.

The game was tested on Nexus 4, 7 and 10 devices, and has screenshots uploaded for each of those screen sizes, but I still get the “Designed For Phones” tag, and I don’t know why, so that’s something I need to figure out. Sometimes there are also stuttering issues, which I still want to get to the bottom of, though they don’t appear to impact gameplay all that much.

Conclusion


Overall though, I’m happy that the game works and is out there. I decided to release it mostly as an experiment and as a learning exercise – how do you make Android games ready for release? How do you actually build an IAP scheme into a game? How do you Beta test and publish using the Google Play Store? I feel I’ve learned a good deal with regards to all these questions, and that’s really what I set out to do, so I’m happy with that.

I hope Star Prober brings you at least a few minutes of entertainment!  Once I’ve waited a bit to see if there are any outstanding issues for other users, it’s off to the next game. Maybe MiniLD #50?

Monday, February 24, 2014

Star Prober - Day 3

Star Prober, probing asteroids and dying oh gods this is hard
So today I finished work on my Mini Ludum Dare #49 game, Star Prober (formerly Space Prober, because reasons). It is available over at its submission page, here. What I ended up with is a decent little one-button game that I feel like fleshing out a bit more over the coming weeks. I didn't have a whole lot of time or energy to dedicate to this, unfortunately, but I did the best I could, and I'm fairly happy with the result. I had a lot of fun playing around with the basic mechanics!

It's rather difficult and a little aimless, so I need to work on providing the player with a stronger sense of progression or direction; I also want to make the game both difficult as well as compelling. The balance isn't quite there yet, but I'm confident that, if I can motivate myself to work more on it, I can arrive at something fun. I am also planning on porting it to Android (actually, I have already done so, but there are some bugs and optimization issues to be solved).

Anyway, I hope it provides you all with a few moments' enjoyment at least! Till next time!

Sunday, February 23, 2014

Space Prober - Day 2


So today I got a bit more work done on Space Prober, including deadly asteroid collisions, planets, infinite universe generation, and so on. Most of the gameplay is already in place; from a design perspective, all that's missing is some kind of time pressure that forces the player to keep moving. I have a few ideas!

Otherwise, I hope to spend tomorrow focusing on polish - adding sound, particles, touching up the graphics, improving the GUI, etc. Hopefully, by tomorrow evening, I'll have something that's at least somewhat juicy and is fun to play around with for a few minutes!

I also successfully ported the game to Android, which was a nice moment after some struggling with Java directories. So maybe one day, in a few weeks or months, Space Prober will land on the Google Play Store!

Anyway, we'll see how that all goes. For now, I need to go get some sleep.