Her name is Angelina: she runs on a heavy-duty Mac server and she's building some addictive computer games for you.

Angelina (a tail-recursive acronym for "A Novel Game-Evolving Labrat I've Named ANGELINA") is a project in evolutionary computing by Michael Cook, a PhD candidate at Imperial College in the UK. Angelina generates computer games from scratch. It arrives at a final product by breaking down the important elements of a game into sub-tasks called "species," which together form a whole game. While auto-generating portions of videogames is nothing new to the medium, Angelina expands on the concept to almost fully-automate game development.

Cook says his "labrat" has created many games (sometimes at the rate of one game every ten minutes), and you can play some "Games by Angelina" here. While not all of Angelina's spawn have been worthwhile or playable, the few that you can play on Cook's site are pretty clever (especially for a machine).

According to a 2012 paper by Cook (PDF), the Angelina system draws on three species that evolve independently to create games. The first species, maps, determines "passable and impassable areas." Layouts specifies the different entities in the world and the game player, and then rulesets defines the way the player's obstacles will move. Angelina puts those categories together, then simulates a human playing the game 400 times to find glitches and problem areas that don't work to cast aside. During these trials, Angelina also finds retaining levels that are considered "fun": things that pose a challenge but then get easier. The most successful species are the ones that cooperate best with other species, so when those get grafted together you have a game by Angelina.

Cook points out this process is evolution, not learning. "Just like evolution in nature, the process isn't really conscious of the overall direction it's moving in. At each step, Angelina has a set of games to consider, and all it has to do is choose the best of this set, and combine their features together to make a new set," Cook said in an email. Unlike, say, IBM's Watson, every time Angelina wants to create a new game, the system has to start from scratch again.

Naturally, these kind of procedurally generated games aren't on par with the beautiful, rambling shooters and MMOs of today. And it should be noted that Angelina isn't totally autonomous. She can set all the parameters, but a human still has to create the graphics and music that go with the game. But the games this system spits out are interesting enough to hook the attention of someone playing on a mobile phone and looking for a quick experience with a little bit of challenge. The current games on Cook's site resemble early arcade games and Metroidvania-style 2D games. "I've beaten all of Angelina's games, except the ones which were impossible to finish," Cook said. "They're quite tiny, and creating games with a good difficulty level isn't Angelina's strong suit right now. I'm looking to that in a future project, however."

While Angelina is designed purely for games, the concepts being executed are important to AI in general. Imperial College's Computational Creativity Group, which houses Cook's project, studies how "automating reasoning processes" can influence pure mathematics, graphic design, and the visual arts. For now though, Cook hopes to get indie game developers using Angelina-type programs for their own creations.