Twelve Months In Game Design

About a year ago now I switched PhD focus away from opinion mining and sentiment analysis, onto a project about automatically designing games. The question was a fairly open one, essentially just asking Can we automated game design? Like most open questions, the answer initially seems to be ‘yes’ and then quickly degrades into a mess of complicated other research questions. While taking the train in the bitter weather of last year’s winter from London to Bournemouth, I started the project by writing code that randomised a bunch of shapes on the screen and then randomly assigned keyboard keys to control different aspects of the game, in the hope that this would grow into some emergent game design tool.

It was terrible, obviously. You’d be scattering things like ‘move this block up/down’ onto the Y key, and ‘move all blocks left’ to the Z key and none of it would make sense, let alone remotely resemble a game. After two hours on the train, I was pretty convinced that automated game design would be unfeasibly difficulty, if not impossible.

Nevertheless, a year later and I’ve got two sort-of game designers written up in Java and producing games people can play. This year has been terribly, awfully stressful, so even getting these out was a big accomplishment for me and I’m very happy, even if the games they’re producing are a bit crappy. Automated game design has a huge role to play in the future of the games industry, at all levels, thanks to the broad spectrum of tasks it can help out in. When writing papers on the topic, I try to stress that this is not about replacing human designers, but about how interesting, ludology-aware systems can help out with laborious or otherwise-impossible design tasks.

In the first paper I wrote, Multifaceted Evolution For Game Design, one of the experiments I performed to show the efficacy of the system was to hand-design a few game levels and get ANGELINA to fill in the blanks, providing a ruleset and enemy layout. It inverts the procedural generation relationship, essentially – instead of having a game designer design the 90% and get the game to generate maybe a map or a texture here or there, we spin it around and get the game designer to design just 10% of high-quality content, leaving ANGELINA to work out the rest. If we could perfect systems like this, we could really change the way games are developed, for the better.

There are so many things that AI cannot do effectively yet – spin stories, create motivation for actions, balance risk and reward in player objectives, create compelling artwork and visual themes. These are all tasks that many would-be game designers are effective at doing, but frequently lack the coding skills necessary to create even basic videogames. Systems like ANGELINA would let us do away with that, and potentially provide the basis for hobbyists to work in tandem with ANGELINA to create unique creations that they made a critical and personal contribution to.

There’s a lot of work I want to do on ANGELINA over the next two years, and not all of it will be publishable which presents its own problem in justifying the work. I imagine much will be done out-of-hours or in the form of exploratory experimental stuff. We’ve covered arcade games and platformers, but many genres that would be great targets for automated game design remain to be covered, and of those JRPGs and point-and-click adventures stick out as ones I would particularly like to take a swing at.

Whatever happens though, I want to push automated game design as a big part of procedural content generation. Compared to standard procedural content generation it’s a unique problem that is incredibly satisfying to work on and very rewarding to see pulled off. By the time this PhD is done, I hope to be able to link to lots of other exciting work going on by other research projects besides ANGELINA. For now, thanks for taking an interest in the site, and don’t forget that I am always eager for feedback, commentary and questions:

mike @

Leave a Reply

Your email address will not be published. Required fields are marked *