Fact of the day!

Today’s science fact is about the Texan Horned Lizard.

This lizard deters predators by shooting its own blood into their face. Out of its eyes. Apparently the blood taste......Learn More!

Today's Video

Read Whole Article Click Here!

'A Puzzling Present' from artificially intelligent ANGELINA

by Katy Edgington,Science Relief Contributor
Santa in 'A Puzzling Present'
Last week saw the release of a Christmas-themed platform game called ‘A Puzzling Present’, in which Santa needs the player’s help to collect presents across 30 different levels, avoiding deadly holly and other obstacles along the way. This game is the latest to come out of the ANGELINA (A Novel Game-Evolving Labrat I’ve Named Angelina) project, which is aimed at developing an artificially intelligent system with the ability to independently design videogames from scratch.

Players are asked to complete a short survey after completing the levels to help Michael Cook, the PhD researcher from Imperial College London who is behind the program, improve future games and the mechanisms behind them.
Videogame enthusiast Cook has developed the program under the supervision of Dr Simon Colton, who leads the Computational Creativity Group at Imperial College.

ANGELINA uses the process of computational evolution to create, develop and test new levels from original ‘parent’ levels, and an element of the program dubbed ‘Mechanic Miner’ allows it to solve these levels without human assistance. In an interview with ScienceOmega.com, Michael Cook spared some time to discuss ANGELINA’s capabilities and how he would like the project to evolve over the coming year…

How does ANGELINA fit into the Computational Creativity Group’s larger programme of research?
Initially ANGELINA was not really part of our core work on computational creativity. Our group’s broad range of work includes techniques for helping humans become more creative, and we also have many more general games industry research projects which use artificial intelligence (AI) in novel ways. Over time we began experimenting further. I did some work getting ANGELINA to build games based very loosely around news stories. This was the beginning of us dipping our toes into computational creativity with the project.

The latest work is another step in that direction. Computational creativity hasn't looked at programming as much as more classical areas of creativity, like art (see the Painting Fool, for example) or music. ANGELINA's work on ‘A Puzzling Present’ was the most basic first step into writing software that can modify code, but the group is hoping to look at this more broadly in the future, not just from the perspective of videogames.

How much human input is required each time ANGELINA creates a new game?
The amount of human input varies. For ‘A Puzzling Present’ all ANGELINA did was create levels and game mechanics, because that was the new ability I wanted to show off and let people play around with. The most complete games the system has produced are the news-inspired games. For those, I effectively did nothing. I started the system up, then it went online and read news articles from UK newspaper The Guardian. The program used information found in the articles to track down music, sound effects and images – all automated, and all inspired by the source text in some way.

Over time I would like ANGELINA to be more novel and inventive while retaining that same level of independence. I would like it to be able to seek out new sources of data and content to be used in the games it creates, and to be able to justify what it does in a more compelling way.

In what ways does computational evolution echo the processes of natural evolution?
There are many parallels, although it does come down to how the researcher sets up the experiment. You have a population of 'things' you want to evolve, recipes for soup, say. You have a way of assessing how fit each one is. In natural evolution this depends on whether an animal is suited to survive long enough to reproduce, whereas in computational evolution (CE) it's more about cold, hard evaluation; we might make a batch of each soup recipe, taste it, and mark it out of ten.

Then there is reproduction. The parallel here is that the features of two fit members of the population are combined to produce new population members. In the case of CE we literally take two members of our population (the soup recipes) and combine them. Perhaps we alternately take ingredients from each recipe and write them on a new one, or we might take ingredient types from one recipe, but amounts from the other.

You then rinse and repeat, as with evolution in the real world: make the new recipes up, grade them, and pick the best for reproduction. Of course in computer science we can choose how the process works, so some approaches use Lamarckian evolution rather than Darwinian evolution. This doesn't happen in the real world, but it is appropriate for some problems in computer science. I like the technique because it's good at searching through huge possibility spaces, due to this nice random element. It also produces results that can feel more natural, because normally you don't get perfectly optimal answers.

What is added by the Mechanic Miner module?
Mechanic Miner lets ANGELINA examine, change and test actual program code for the first time. Game mechanics are the ‘rules’ governing what affects what in the game, such as Mario jumping on a turtle to kill it or PacMan dying if he touches a ghost. Before, we would ask ANGELINA to invent new game mechanics by piecing together smaller bits of rules that I'd written down already, like solving a jigsaw. I would provide templates, like collides with and then give it options, so X and Y can be PACMAN, GHOST, PILL, WALL or CHERRY. Z can be KILL_PACMAN or RESTART_LEVEL or INCREASE_SCORE.

There are numerous combinations there, and finding good combinations still takes skill, but it’s hard for the system to surprise me when the only ideas it has have been supplied by me. What if I don't think of something? What if we want it to invent new templates? What if someone wants to use it for their game that isn't about PacMan?

Mechanic Miner lets us get rid of the jigsaw pieces. Instead, ANGELINA uses the same thing that human designers use – real code. Right now, all ANGELINA can do is modify small bits of game code, and test the game to see if that change allowed it to solve a puzzle or level it couldn't before. If it finds that it did, it records the idea down, and can later design levels that use that idea, like jumping higher or flipping gravity upside down. It is very flexible but quite basic at the moment. I hope to extend to more complex scenarios in the future.

What do you hope to achieve with ANGELINA before next Christmas?
My funding is running out in September next year, so I will have to write my PhD thesis in 2013. I'm hoping to broaden Mechanic Miner's capabilities, which should allow ANGELINA more inventiveness with its game design. I'd also like to get ANGELINA creating some artwork for itself, as currently I have to draw everything for it, with the exception of the news-based games. That would start to make ANGELINA feel like a complete system, which would be a nice way to finish the PhD. I very much hope to continue this post-thesis though. There are lots more exciting things to do!

Follow Science Relief on Twitter @ScienceRelief . We're also on Facebook & Google+.

Leave Your Comments!
Feel free to leave comments!

Posted by Omkarr singh on Friday, January 04, 2013. Filed under . You can follow any responses to this entry through the RSS 2.0

0 comments for 'A Puzzling Present' from artificially intelligent ANGELINA

Leave comment

Featured slider

Recent Entries

Recent Comments

Photo Gallery

Blogging tips