Wednesday 4 December 2013

An Interview (of me)

I just received an enthusiastic email from someone who clearly loves the blog having just started reading it, but is also wondering where I am at. I thought I'd include my response to his email below:

My output has dropped significantly now I have children. I hope you've also checked out the PCG wiki that I've set up, and have read the chapters of the PCG book Noor Shaker, Julian Togelius, Mark J Nelson et al are putting together.

Conveniently, below is the interview responses to some interview questions that the above authors sent me recently - I hope these answer your questions. Their questions are in bold.

Was there anything you wanted to do in a game you worked on that you could not do because of algorithmic or computational limitations?

My thinking about game design has changed significantly over the years, since writing the original Death of the Level Designer series of articles. One of the key changes - guided a lot by games like Michael Brough’s 868-HACK - is that a game should embrace limitations, rather than attempt to design around them. So rather than creating procedural systems which can model everything ala Dwarf Fortress, there are real advantages in keeping games as limited as possible in order that the significance of individual procedural elements is emphasized, rather than smoothed over by a melange of inputs. My personal limitations are very much around algorithm implementation rather than design: for instance, while I have a good understanding of what a Voronoi diagram looks like and where it could be used, I’m unlikely to ever successfully reimplement anything but a brute force approach for calculating cell membership.

What new design questions has PCG posed for some game you worked on?

I’ve written extensively about this - refer to the writing on my blog post on Unangband’s dungeon generation and algorithmic monster placement for specific discoveries. Since then, UnBrogue includes very little original procedural content: I mostly plug new values into the well written framework that Brian Walker has developed for Brogue’s ‘machine’ rooms. These days I try to steer clear of actually designing procedural systems: my experience is that you can achieve a lot using a very simple set of algorithms, provided you choose your content carefully (see Darius Kazemi’s essay on Spelunky’s level generation for a great example of this).

Which is the most impressive example of procedural content generation you have seen since your own work?

I’d be hard pressed to ignore Miguel Cepero of Voxel Farm, who I’m sure a lot of people you interview will mention. While the above ground system looks great, it was his cave designs that won me over, after being a doubter. What really impresses me though is he’s developing all this while being the father of twins - I’m in the same position and I can never find the time...

What do you think of the fact that roguelikes have become a genre of their own? Is PCG in your opinion an essential part of what a roguelike is?

I’m going to quote Edmund McMillen here, since he made the definitive statement on why you should write a roguelike:

"The roguelike formula is an amazing design plan that isn't used much, mostly because its traditional designs rely on alienatingly complicated user interfaces. Once you crack the roguelike formula, however, it becomes an increasingly beautiful, deep, and everlasting design that allows you to generate a seemingly dynamic experience for players, so that each time they play your game they're getting a totally new adventure." -- http://www.gamasutra.com/view/feature/182380/Postmortem_McMillen_and_Himsls_The_Binding_of_Isaac.php

PCG is obviously an important part of this process, but it isn’t independent from the other roguelike genre features like permadeath. My hunch is that there are other ‘design plans’ out there that are waiting to be found that will feature PCG - in fact the majority will do, but we don’t necessarily know what they look like, or have the maturity of the medium (of PCG) to be able to discover them.

What's your tips for designing games that use PCG?

Keep your algorithms simple and choose your content carefully.

Do you have any interesting stories about PCG failures?

Not personally, since I’ve taken such a conservative approach to PCG algorithms.

In general, is there anything in a game you think could never be procedurally generated?

The specific quirks of the real world. I’m not saying that PCG can’t create something like the real world: I expect the depth required to make a world ‘completely convincing’ is actually more shallow than most PCG ‘haters’ realize - but ultimately, when it comes to simulation, the fact that we exist at a specific time and place in a continuum of choices and random events is something that PCG can only hold a mirror up to. Hand placed design will always be needed if you want to model history - PCG will overtake hand placed design for ‘fantasy worlds’ in the not too distant future.

[Edit to add: I also think the trend to 'single map games' like DotA 2, and e.g. de_dust2 in Counter Strike may also provide an impediment.]

Why is PCG not used more?

PCG is a language that requires a level of literacy to understand. We’re not effectively teaching this language yet, but we’re not effectively teaching the language of game design in general either. Also, it is often more expensive than hand placed content, because a PCG algorithm which is only 90% complete can not create anything useful, whereas 90% accurate hand placed content is clearly 9/10ths done. It's hard to describe working with PCG this way, but there’s almost a phase change between when a PCG algorithm just creates junk, and when it starts producing beautiful results, and it can be very hard to tune it to reach this state.

What do you see as current directions for PCG that are worth investigating?

There’s a lot of interesting stuff happening on the academic side - getting this to percolate over to game development is going to be the real challenge.

No comments: