A video game called A Puzzling Present is the latest creation of Angelina, an AI system that designs its own video games. Released with a little help from its creator-cum-collaborator Michael Cook at Imperial College London, Angelina's latest was made by using the code of existing games as a starting point and refining the features it finds into something new.

The ability to pick and choose design ingredients is a big advance, says Cook. Previously, the system came up with game mechanics by putting together rules it was given. "It would slot them together in new ways like a jigsaw, but I was never very happy with it," says Cook. "After all, it needed me to hand it the jigsaw pieces."

But now Angelina finds and test game possibilities - like reversing gravity, high-jumping and teleportation - on its own. It does this using "reflection", a technique that lets software look at and manipulate its own code. Cook starts things off by providing a game level that can't be solved, such as one with a wall between the start and the exit. Angelina then redesigns the level in an iterative process, using ideas it finds in existing games - making changes, testing them, and making further tweaks until the level works. "It's closer to what a human does when they program," says Cook.

Even more cunningly, it has found bugs in Cook's code and taken advantage of them to invent new game levels. In one case, the game code wrongly let a player teleport inside a wall and still allow the character to jump. So Angelina invented a wall-jumping technique, where the player could climb up a vertical wall by repeatedly teleporting and jumping. "This was why I felt it's so important to create a system that was independent of me," says Cook.

In another example, Angelina found code that could be used to make the player bouncy, something that Cook hadn't been aware of. "I've only seen a few games that use bouncing in that way," Cook says. "You can't even guarantee that professional developers will think of these things."

Cook sees Angelina as a system that could help designers by offering constructive criticism to works in progress, perhaps suggesting that a level is too hard and coming up with alternatives. "Game-making assistants don't need to be tools like Photoshop, they could be collaborators," he says. "I like the idea that it could bring more people into game design."