I’m traveling this week and the next, so development will be slower. For this Dev Update I’d like to share a story about some wisdom dispensed upon me over drinks, as so many wisdom-dispensing events are.
September of last year I was having a friendly and robust discussion with a friend of mine about game development. We’d worked together for a couple of years at Gearbox and get along rather well. He’s a salty developer from across the pond who has been making games for just about twenty years. We share similar opinions on a majority of development ideas, but not all of them, which made this discussion particularly interesting.
We were talking about the projects we were both interested in, and as I was discussing Dungeonmans I could tell he had something to say. The statement came to him mid drink, and as he put the glass down he let me have it. “Procedural, you see, is bullshit. It’s bullshit. It’s Anti-Design.”
He went on to sing the praises of solid, concrete design, a design that you test, tear down with critique and build up to be even stronger. Procedural becomes bland too quickly because you don’t have focused experiences, unique and interesting, tuned to fit the challenges of the game. “Too many people think they can get away with not having to do the hard work of design because ‘Oh, just let the computer make something fun!’ and what you end up with is terrible.”
Programmers, mostly. Always the problem, lazy engineers!
“What is a Dungeon? A miserable little pile of hallways!”
Anti-Design. I’ve thought about what he said quite often, and it especially comes to mind while planning the layouts of adventure areas. Surely one can’t dismiss all procedural work as uninteresting, or even lazy. There’s plenty of examples of procedural experiences being entertaining. Are those the exception to the rule?
If you’re a roguelike fan, you’ve seen Anti-Design first hand: too many dungeons that are compilations of rectangles and straight lines, salted with an assortment of creatures based on how deep in the Caves of Grim Darkdoom you’re in. Not to say that it can’t be fun, but there’s certainly an element of familiarity to it, which eventually becomes repetition.
Good design, however, comes in many forms. Even the most haphazard of dungeon layouts can still rest upon a well thought out system. Combat, powers, encounters, all of which are indeed tuned and usually iterated upon based on feedback from the community of gamers. Those things can make or break a game, but even at their best they still are weighted down with qualifiers if the adventuring setting is bland. “Well, it’s a typical dungeon crawl, but there’s some neat tricks to the combat.”
As the genre ages and evolves, we’ve seen far more variety and hand-tuned effort in layouts. DoomRL contains many levels that are static, but hand-tuned to provide a specific challenge. Brogue is laid out in a semi-random fashion, with certain threads appearing throughout: chasms or pools in the center of the map, treasure rooms generally (but not always) near the edges of the map, and often guarded by complicated rooms full of traps. Crawl contains some areas that are built on specific formulas, such as the Sewers. Even old dogs like ADOM have Tension Rooms and special layouts for places like the elemental temples.
Avoiding The Trap
I’m working hard in Dungeonmans to avoid a dulling similarity between areas. As described previously, layouts change based on the locale, and they’re built to provide different types of challenges in each. But there’s more than just Dungeons. Towns need to have intelligent layouts, as well as the grand overworld itself. That’s a really tough one. It’s a challenge to make a continent that doesn’t feel like a haphazard collection of locales, and honestly I haven’t nailed it down yet. Never give up!
More and more developers are putting together their own roguelikes and we continue to move farther away from the trap of Anti-Design. Many of us have dreamed of being able to write the perfect generation algorithm and toiled for countless hours to create something that can generate an exciting and interesting battlefield with one command. Computing power grows and helps us along the way for sure, but for the foreseeable future at least, it’s going to take someone behind the wheel to guide the ship. Why does X feature go here, what makes Y interesting? Everyone has their own answers to these questions, and like a collection of chefs each making the same dish, the results are flavored with a personal touch.
Great post, I wouldn’t say procedural is anti design. Its just another technique that if leveraged tastefully, can be useful. For example if you wanted to create sprawling city, traditional creation methods (building every block from scratch) would be tedious and time consuming. (https://www.youtube.com/watch?v=yI5YOFR1Wus&feature=youtube_gdata_player) The game mine craft comes to mind when I think procedural games. The diversity of environments plays into the mystery of exploration, you never know what you will find. I don’t think we have scratched the surface of the potential of procedural generation. Outerra demo -(http://www.outerra.com/wgallery.html) Here is another cool city generator. (http://www.inkwellideas.com/roleplaying_tools/random_city/)
Those are some excellent examples you linked. I hadn’t even seen Outerra before, that’s awesome.
I feel like the Anti-Design conversation preaches vigilance. We should always watch out for places where we might be letting the algorithm generate too much, and consider what could be accomplished if it was hand tuned. That doesn’t mean it needs to be constant. Sometimes a sweeping grassy plain is just a sweeping grassy plain.