The main reason I mention Dungeon Hack is because of how the dungeons were actually created. If you look again at the image above, you'll see that it's possible to create the layout by using just four files, rotated into position:
By using a pre-defined set of tiles and an algorithm running a randomly generated number to lay them out, a unique dungeon was created every time you started a new game. Rules then layered on top to place items and enemies. In theory, there were limitless combinations and once the system for creating the content was up and running new levels could be generated almost instantly. If user control was desired, an editor allowed players to make their own layout. Tile based generation still exists in games like Civilization, but it has proved very difficult to create modern 3D games with such a system, partly because of the demands on artistic quality and partly because of the desire for unique locations to visit. Prefabs Prefabs are a more modern way of generating content, and in essence work in a similar way to tiles, except they are stand-alone units rather than part of an interconnected network. Humans are very good at spotting repetition though, which reduces the effectiveness of using this system. Houses fairly quickly get spotted as clones, and players tend to lose interest in discovering new places if they think they've already seen everything there is to offer. Procedural generation This is based heavily on maths and simple data structures. The best example of what can be achieved with this method is still the demo scene. As with the randomly generated dungeons, there is a set of rules controlling the overall scope of the images here. Similar methods can easily create large-scale environments. There are limitations, though, the main one being creating areas that flow well into one another. On their own then, none of these approaches really gives us the flexibility or quality that we desire. But by combining the three methods into a toolset, we could help open up new ways of creating large-scale content, rather than just relying on adding more artists into the equation. Character creation Every story needs characters, and in this regard there are already tools that allow us to create a lot of unique models quickly. I've used this video before because it's a great example of what can be created given the right motivation and time. We can also do very similar for animations: with a base set, we can quickly add variety by using additive animations, such as a limp, or letting physics code take control. The tools are the game Another way is to give players the ability to create content themselves. Creating levels for Doom was the reason I got into designing video games in the first place. More recently Minecraft created a game that was, initially, a tool where players could create their own content. There's a huge demand for this type of game, where the editor is effectively the game: FarmVille and DrawSomething are other examples. They are very different types of game from the Mass Effects of the world, but it feels like there should be a way of learning from their methodologies to enable us to improve our content driven games too. Clint Hocking has already done a very in-depth series of posts on convergence like this, and in far more detail than I am here. In his eight-part series he suggests that other gamers could provide the context for the story, a sentiment that I agree with but relies on playing online. EVE Online does this to a degree and some of the stories of conspiracy that come out of it are great reads. There's a flaw with this method though: even with relatively small player numbers (compared to World of Warcraft), each player feels like a very small fish in a very large pond. Your influence on world events is minimal. The reason people like playing the hero is because of the feeling of power and fantasy it gives them, and single-player games give you this ability. So, we can no doubt create worlds and characters much faster than we currently do, but that doesn't solve the main issue I'm trying to tackle with this post: is there a way to create a story this way? Story as a mechanic Glance back up the page at the diagram of the dungeon for a moment. There's another way of showing its layout, and that is to instead show each square that requires a change in direction as a node, and the route through as connections:
If you read my previous article on content this should look familiar: this is, more or less, how we currently move through stories in content-driven games. In games today, we take freedom of movement for granted: if we want to go and spend time looking at a blade of grass, we can. This is because movement systems have developed from the very simple set of rules Dungeon Hack et al had, to a complex mechanic. An almighty array of things are happening in the background to grant you that freedom of movement, from how to respond to the amount you've moved the analog sticks through to how the scene behind that broken window renders. Can we take the same steps with story? Can we create sets of rules that allow the player to drive the available story events at their will? Possibly even the freedom to create their own stories? It's not going to be easy, and it's not going to happen overnight, but I think we can. How? Firstly, take the steps required to make content creation faster and cheaper. Then we need to understand what a story actually is. It's well documented that all stories fall into one of seven types, which seems like a good place to start:
(source: http://lenwilson.us/seven-stories/) The story outlines that most single player games use falls into ether Overcoming the Monster or The Quest which is something else that we ideally will address as the medium matures. Aside from that, though, these seven rules of thumb give us a great basis for the forming of a mechanic. How so? Well, a mechanic is really just a set of rules, and each of these seven categories has a very definable goal for each story category. This means that we can create a fairly simple set of IF statements to set the story goal based on the category chosen. Whether that category is chosen by the player or randomly doesn't matter. Of course, a good story requires much more than that: it also requires structure. Typically these are defined into sections called Acts. Act 1 introduces the audience to the characters and scenario, Act 2 fleshes everything out, and Act 3 has the conclusion. More rules, which means we can add another layer of complexity to our mechanic. The numbers of main characters, their traits and motivations: all these can be defined to some level either by the player or with weighted random selections (which is where you guarantee at least one of type X and so on). Would a story generated in this fashion be any good? Well… probably not. The missing touch is, of course, humanity. This, then, is where the player really comes in: their decisions and actions influence the actions and motivations of the computer-controlled characters alongside them. The game would adapt on the fly, so if the player decides to be friends with the bad guy for instance, a new enemy or threat would have to emerge. But the player could have the freedom to influence the story as they move through it. The thing we still can't do very well is to create dialogue: both in the writing of it and in the audible generation of it. Computer generated voices still sound horribly robotic, and that instantly ruins any sense of immersion or belief. (Unless, of course, you're doing a game about robots.) There's another problem as well, which is the second of the issues I mentioned at the start of this article. Artistic Desire This is the biggest problem really: what story do we want to tell? As shown above, the general structure of a good story is always the same, and Act 3 is the conclusion. Without closure you don't really have a story in the sense that literature and film define them. As humans, we like telling stories, we like crafting them, and we like the warm feeling inside that we get when we, the hero, reaches the end. Unless, instead, we turn our game into something more akin to a soap opera. They have moments of closure as story arcs come to an end, but the world in which those arcs exists continues to persist and expand. Can we do the same with a game? Do we want to? [This piece was reprinted from #AltDevBlogADay, a shared blog initiative started by @mike_acton devoted to giving game developers of all disciplines a place to motivate each other to write regularly about their personal game development passions.]
Overcoming the Monster: The hero learns of a great evil and goes on a journey to destroy it. Star Wars qualifies. Braveheart. Jaws. Any movie with Nazis in it. Some of the Rocky movies. (Is it obvious I am a guy?) Rags to Riches: A sad-sack beginning that leads to a happily ever after. A lot of Dickens' stuff fits here. Disney princess movies. Harry Potter. Most every rom-com. The Quest: Everybody loves a quest where the hero goes on a journey to find something, which can be a Lost Ark (literal of figurative), a body (Stand By Me), or even something unknown and unseen, which is known in Hollywood as a MacGuffin. Sometimes the hero brings his entourage, too. A lot of epics are Quest stories. Like The Goonies. Some of my favorite biblical stories are quests, like Abram and The Wise Men. Voyage and Return: Like The Wizard of Oz, where Dorothy goes to a weird place with weird rules but ultimately returns home better off. I suppose I like Oz alright, but I'd rather give props to Back to the Future, because I'm of that ilk. Comedies get their own category, too. For some reason, two people can't be together, which creates all sorts of antics. They eventually figure it out, though. Again, almost every rom-com ever, like When Harry Met Sally, or The Money Pit. (Note: you can make anything into a comedy. For example, Monty Python is a funny Quest movie, but the category here refers to a specific kind of plot, not just anything with humour.) Tragedies are like riches to rags, where the villian gets it in the end. MacBeth and King Lear are classic examples. Or most slasher pictures if you go for that sort of thing. Rebirth is like a tragedy but where the hero realizes his error before it's too late, like in It's a Wonderful Life. Which makes me wonder, are there any slasher movies where the bad guy cleans up and catches a ray of sun at the end?