Is it conceivable that a computer could one day invent a video game? That's what Michael Cook, a research associate in Goldsmiths' Department of Computing at the University of London, is hoping his ANGELINA software will one day be able to do.
ANGELINA (short for "A Novel Game-Evolving Labrat I've Named Angelina"), which runs on Cook's MacBook, has already created a game that drew favorable notice at last December's Ludum Dare video game design competition. It was a fairly simple game, a one-level collect this/avoid that/get here game with rules were based on a precoded template, and a theme supplied by the competition organizers.
The software cannot yet generate an original idea for a game, develop its rules, etc., all on its own. "I think that lies further off in the future," says Cook.
Yet Cook sees his work having implications beyond video games. "With a lot of computational creativity research, we hope that along the way it allows us to examine how humans do these tasks as well," Cook says. "As you build software that writes poetry and designs games, we begin to understand things about how humans are creative. I believe that ultimately, software like ANGELINA will be able to do things that a human designer couldn't do, and come up with ideas that a human wouldn't be able to come up with."
Computers currently are used in video game design already mainly used to create the game's context—the things players see and hear in the game's world, says Cook; they generally are not used to create the game's rules and goals, or the players' abilities. "Part of the reason is that's the fun part, the part game designers feel very close to and spend years designing and tweaking," explains Cook. "The other reason is that it's a very difficult thing for software to do—it's a very programmer-y thing."
Cook thinks it is inevitable that AI's role in at least that aspect of game creation will increase. He points out that a game like Grand Theft Auto 5 had at least several hundred people working on it, and that companies like Rockstar Games won't be able to afford that indefinitely. "At some point, they'll need software that can do some of this task for them. Stuff like designing a city is such a perfect task for a computer to do, and there are some researchers just looking at getting computers to design cities."
What interests Cook even more is whether a computer can come up with the idea for an entire game. "We don't just want software to do the easy stuff, to fill in the gaps and put a bit of paint on a human idea; we want that underlying idea to come from the computer as well. I think that lies further off in the future."
Cook has taken steps that, he hopes, will encourage others to explore ANGELINA's capabilities. "I really want ANGELINA to become something a bit more extensible and usable," he says. With that in mind, he's recently moved the software onto the Unity 3D development platform. Since Unity is modular, he hopes it will enable him to share pieces of ANGELINA's code with other researchers.
While ANGELINA itself might not be useful outside the domain of video game design, the principles behind it have wider application. "I'm working on a paper right now for the International Conference on Computational Creativity," he says, "about generating pieces of code that express a preference or an opinion. It lets Angelina say, 'I designed this level for this reason' and let people understand it. But it could also generate code for a lot of other purposes as well. There's the idea that iTunes might have a conversation with you about the kind of music you want to listen to—code that allows it to have more nuanced reasons for what it does. That's a trivial example, but I hope this kind of code generation can touch other areas besides game design."
No matter how sophisticated ANGELINA gets, Cook does not see it completely eliminating the need for programmers. For one thing, the software cannot always assess its solutions the same way a human would. For example, ANGELINA once proposed a game move in which the player could simply press a button and be teleported to the level exit. "To ANGELINA, this was a perfectly good idea for a game because the player was able to get to the exit. But obviously it was too easy."
That is not the only stumbling block. "The funny thing about machine-generated code is that it's a real mess—it's garbage as code goes," Cook says. "Functionally it makes sense, but no humans would ever write it like that." For example, he explains ANGELINA cannot prove that a piece of code will work in all situations. It might come up with code that is perfectly fine for the test cases it was given, but a human engineer might look at it and realize that "if this gets the input of −1, it will explode."
Cook sees programs like ANGELINA as potential collaborators with human programmers, not replacements for them. "You might slot ANGELINA into a project where there's a particularly difficult design problem, and you just leave Angelina working in the background while other programmers work on problems along the side." When ANGELINA proposes a solution, human colleagues could perfect it, file off the rough edges, and make it work in their system. "I really like that idea," Cook says.
Logan Kugler is a freelance technology writer based in Silicon Valley. He has written for over 60 major publications.
No entries found