We're the tech support guys.

In a narrow, oddly-shaped building deep within the Imperial College campus in South Kensington, a PhD student named Michael Cook sits working beneath a large picture called The Dancing Salesman Problem. On his laptop, he is building something astonishing. He is building a game designer.

He's been successful, too - albeit in a qualified sort of way. The qualifications, though, are fascinating, as is his artificial designer's output. Over the last few years, Cook's programs have created games about Peter Mandelson and games about rape. They've arrived, independently, at the gravity-flipping conceit that made Terry Cavanagh's VVVVVV such a clever platformer, and they've even built emergent mechanics from bugs in existing code. They've taught Cook a lot about how games get put together, and in the future, he hopes, they may even be able to show the rest of us something much more valuable. Something truly extraordinary.

But to understand this - to understand the program Cook calls ANGELINA and the games it makes, to understand why ANGELINA's definitely an 'it' rather than a 'she', and to provide at least a touch of context for the stuff that follows - it's worth taking another look at that picture on the wall.

The Dancing Salesman Problem

The Dancing Salesman Problem is a striking, even garish work - a group of day-glo figures, limbs thrown in all directions, tracing arcs and eddies that have presumably been conjured by music. Look closely and you'll discover that it has been drawn with a single brush stroke, which, were it a traditional artwork, would easily be the most startling thing about the piece.

It's not a traditional artwork, though. It was conceived and executed by a computer program. That's the most startling thing about it.

"The problem with all of this is that when you look at that painting, there are so many ways to interpret it," says Cook, a polite, wry, presence who speaks with the lucid precision of a man whose work takes him deep into the no-man's-land between art and academia. "Somebody will say, 'Someone wrote that program [in this case it was Cook's PhD supervisor Dr Simon Colton] and the rest doesn't matter. That is not a creative output: ultimately, it's just expressing whatever Simon gave it.' Other people are almost the opposite: cult-like reverence.

"The truth is somewhere in between," he laughs. "You have to say: Simon gave it this grammar to produce those human figures. It didn't come up with that itself. We know we're in early days, but the steps we've taken to get there have been important. Even with ANGELINA, I know we're in early days, but there are a few steps where I've thought: that was actually..." He hunts for a word. "That was actually a thing."

I suspect that the Dancing Salesman Problem has become something of a totem for Imperial's Computational Creativity Group, although I doubt a bunch of scientists would appreciate that choice of word. Regardless, it sounds like this small team with their unusual academic fixations might need a totem or two. As I walk into Imperial with Cook he takes time to jokingly explain the perceived hierarchy here. "There's computing, which is kind of looked down upon by all the other science disciplines. We're the tech support guys. Then, inside computing, everyone seems to look down on AI: it's very applied and it doesn't seem to get anywhere in the last 40 years. Then, inside AI, everyone seems to look down on computational creativity, because it's really fluffy and touchy-feely." You're kind of the liberal arts people sat in amongst a bunch of engineers? "It really feels like that."

"For a few zany days last month, ANGELINA decided that the Home Secretary Theresa May was far worse a person than Bashar Al-Assad, the president of Syria."

Michael Cook: He spends a lot of time explaining the weird antics of his creation to the world.

And, alongside its totem, computational creativity at Imperial also has its own origin story. "All of this started with Simon working on a piece of mathematical discovery software called HR," says Cook. "It was able to invent numerical sequences. Things like prime numbers. Any list of numbers is a sequence, but not all of them have interesting patterns. And then some of those are more interesting than others. Even numbers are a sequence of numbers, for example, but there are certain things that make that uninteresting - to some people or in certain situations. Simon can tell HR: these kind of properties make a sequence interesting, or this kind of feature makes a feature interesting. It can then look for number sequences.

"It did some pretty remarkable things. It found an integer sequence that got accepted to this encyclopedia of integer sequences. It turned out that a human had actually discovered it years before, but the idea of independent rediscovery is actually quite popular in computational creativity. It's quite a nice thing to see."

Cook should know about that. His own AI's been doing a bit of independent rediscovery of its own. But ANGELINA isn't finding integer sequences or even drawing murals: it's making games, and that seems like a far more complex kind of creative process for a machine to crack. Where does an AI start?

Close your eyes.

For a few zany days last month, ANGELINA decided that the Home Secretary Theresa May was far worse a person than Bashar Al-Assad, the president of Syria.

Where did that come from? It's simple, really: Cook gave ANGELINA the ability to learn about people so that it could make games based on current events. Then Cook gave ANGELINA memory - that is, the ability to keep track of the people it had learned about. The memory's not a big deal, even though it led to a number of philosophical disagreements around Cook's desk. ANGELINA's memory is actually just a text file where it stores the names of all the people it's heard of, alongside a number: a measure of its opinion of them based on the things it's learned from internet chatter. It liked Al-Assad more than May. It liked everyone more than May.

"Games are fascinating," says Cook, with an air of weary fondness, as I wait to hear where all of this is heading. "I think this PhD project has changed my supervisor's view of games in general. Now he sees what a creatively complex task it is. You can talk about generating art and you can talk about generating music, but those are just subproblems in generating a game. There's so much going on in the even the most basic game."

Basic games are where Cook began, back when his supervisor asked him to focus on an interesting problem: could programs evolve playable games from scratch? Cook's first attempt at a solution involved building an AI that could create primitive arcade games where players manipulated dots on the screen. Since then, he's been working towards where he's been for the past year or so: tinkering with a system that can make rather compact 2D platformers with Metroidvania gear-gating elements. Cook's fond of complex acronyms, often with a recursive twist, so he called his AI ANGELINA, or "A Novel Game Evolving Labrat I've Named ANGELINA". He also quickly learned to refer to it as 'it' rather than 'she' - something I continually struggle with throughout our lengthy chat. With AI, even amongst scientists, the dangers of anthropomorphism are never far away.

Arcade games like this were the fruits of Cook's first experiments. The sheer scope of the arcade itself, though, made the games hard to codify neatly.

Being a child of schlock television where AIs are always flickering around in moody labs, going mad, and then trying to take over the world, the first thing I ask Cook is whether I can actually see ANGELINA. Is she - sorry, it - a box, or a big cludge of wires and sparking generators, or a sort of futuristic lava lamp thing enshrouded in dry ice, with a graphic equaliser for a mouth? In fact, ANGELINA's a window he has open on his MacBook Pro - although he can also access a more powerful shared computer when he wants to get things done more quickly. It's a slight disappointment, really, but it doesn't last for long: we're going to see ANGELINA make a game.

Cook's development of ANGELINA seems to have been a steady process of backing away and letting the AI make as many choices as it can for itself. I'm fascinated by the degree of Cook's authorship, but it's one of those issues where you're never really going to get a satisfactory conclusion. As with The Dancing Salesman Problem, you eventually find yourself turning in circles: ANGELINA's currently free to create anything that falls within parameters set by its human designer. At least it's reached a point where Cook's moment-to-moment authorship is slight. He decides how big the game should be - how many screens it should cover - then he presses a button and ANGELINA gets to it.

Today, Cook tells me, we're going to watch ANGELINA make a game from a news story. This is one of his more fruitful experiments: ANGELINA heads off to the Guardian, reads the top five stories, picks one, and then uses it to provide a little texture to the 2D platformer with Metroidvania gear-gating elements that it subsequently puts together.

This is the part of the process that led ANGELINA to develop such a dim view of the current Home Secretary. On the MacBook's screen, I can see that ANGELINA's already been to the Guardian, and it's found a story about Vince Cable. ANGELINA informs us that it's never heard of Vince Cable before, but it's worked out that Vince is a person, and it's going to learn about him. Within seconds, the things it's learning are starting to form lists that fill the window. Vince, it doesn't look particularly good.

"You can talk about generating art and you can talk about generating music, but those are just subproblems in generating a game. There's so much going on in the even the most basic game." Michael Cook

Bad news, Vince: ANGELINA's probably not keen on you either.

"It's almost like it's cold-reading the internet," Cook explains. "One of my favourite people in computational creativity, Tony Veale, developed this really simple trick to gain huge amounts of information from the internet without using any complicated databases. If you want to find out something about doctors, type in 'Why do doctors always' and then look at the auto-complete results. That will tell you things that doctors probably do, or at least that people think they probably do.

"This is incredible. You know that doctors wear white coats because of that. You know that dogs eat their own poo because of that. I like this. We've got lots of large knowledge bases and I like them too, but this is a lot more interesting because it's rich, live data, and it will change over time. You will be able to ask it about things that happened fairly recently and still get auto-complete results."

It's also warm-blooded information, I guess, and is that useful for bringing a bit of life to an AI? To have data based on human traits like perception, inquiry, anecdote? "Because of that, it can be unreliable as well," admits Cook. "If you type in 'Why do men always' you get things like 'rape' or 'cheat'. It's difficult data, but it's very raw and very real."

Within a few minutes, ANGELINA's fleshing out the design for a game it's called Rockstar Presents Cable Tennis - brilliantly, Cook has given his AI the ability to generate puns. It's learned enough about Vince Cable to gather what it thinks are a series of appropriate pictures, pieces of music, and other assets to theme its level, and it's now working on platform layouts.

This is what's going to take time. ANGELINA has to make sure that the game it designs can be completed by a human player, and that means it needs to generate hundreds of levels and play through them all itself until it finds one that works. That's what it's doing in the background for most of our chat: making sure it can always get from entrance to exit, via power-ups, without making any illegal moves. It's playing hundreds and hundreds of broken games.

This version of ANGELINA - it's not the most up-to-date one, which we'll get to in a little while - works with pre-made sub-templates when it's building platforming levels, but it's free to lay them over each other and merge them, creating weird shapes that remind me of Rorschach tests. "This was a limitation that I accepted at the time, but I've since solved it," explains Cook. "New games generate their levels by placing each individual block. They're much more organic and much more interesting."

The process of playing games until it finds a level that works has remained, though. It's called evolution, and Cook describes it as the core of ANGELINA. "It's remarkably mindless and remarkably effective. I was blown away by how good evolution was, which is why I've kept it for a number of things. Even the level design in my current games." He's right. Evolution isn't bad. Nature's employed it to make stuff like puppies and seagulls.

In computer science, evolution is used to solve what people like Cook refer to as combinatorial optimisation problems. "That's generally when you've got a massive space of possible solutions to a problem, but the actual ones you want are very tiny and they're scattered around and you have no idea where they are," he laughs. "It's like there's a possible level where everything is blocked off and you can't move at all. That's one of the answers in this space, but it's not an interesting one - it's not one that we want.

"The way I describe the process is with cakes," he continues. "If you want to bake a cake but you don't have a recipe, you could use evolution to solve this problem - if you had enough ovens and a s***load of ingredients. The first thing you need to know is what goes into the thing that you're evolving. So for cakes it's things like sugar and flour and I think I normally say water, until my wife told me that was a stupid idea. For a game you might have blocks, or placements of enemies.

"Initially, you just randomly produce loads of cakes. You don't care what's going into them. You just close your eyes and throw ingredients everywhere. But you bake all of those cakes no matter what they've got in them. This is what ANGELINA starts off doing: making loads of levels and then just playing them. 99.9 per cent of the levels will be awful, just like when you taste most of those cakes they'll be terrible. And even the 0.1 per cent of them that aren't terrible will still be very bad - they'll just be slightly less terrible than the terrible ones.

"And then what you do is you write down what went into those slightly less terrible cakes and you try to combine those recipes. You take averages of the values or you swap values around. ANGELINA will take a map that's slightly less terrible than the others, and she'll take the top half and glue it to the bottom half of another slightly less terrible map. That'll be a new map, and then she'll try that."

ANGELINA's news games make for unlikely screenshots.

And this is how something that has no aesthetic taste can emerge with a product that's at least functionally playable? "Yeah," says Cook. "ANGELINA plays this game and it has some way of evaluating this. There's a piece of code somewhere that says, 'If you give me a level, I'll give you a score that says how good this was, and contained in there is a bunch of opinions I've given it.' That's a weakness of the system, and it will be a weakness for a long time. There's an argument as to whether it's a major weakness or not, though. If I told you ANGELINA had a personal preference for the kinds of levels it played, some people will say, "Well, I don't even want that. I don't want ANGELINA to have a preference - I just want it to make good games.' Then there are people who say, 'Well I'm quite interested in having an AI that is a development studio that produces a particular sort of game.' In the future, though, I think we could have it so that ANGELINA writes that bit of code itself. ANGELINA decides what it thinks is a good game."

ANGELINA would be effectively rolling its own character? Cook's eyes light up. "Yes! For instance, ANGELINA reads the Guardian now, but what would those games look like if it read the Daily Mail? It would be different. It would have a different tone." (It would certainly be more concerned with how much weight Madeleine Stowe's been putting on lately.)

There are problems with this evolutionary approach, however - and fittingly, given the cake analogy, they mostly come down to this question of taste. Reading Cook's blog, it's hard not to sense a central frustration: when you need to know roughly what your solution looks like, you're less likely to be surprised by the outcome - and isn't surprise a big part of the appeal of having an AI that makes games? Evolution makes games that work but does it get ANGELINA any closer to truly inventing - truly authoring - the games it makes?

"That all comes down to how the fitness function - that evaluating piece of code - actually is written," says Cook. "To think about procedural content generators generally, let's say we're generating 3D worlds in Minecraft. There's a whole space of all possible Minecraft-style worlds you could make. One of them is just solid blocks, another is entirely empty - both those extremes are useless. Minecraft's generator only generates perfect worlds: it generates exactly the kinds of worlds it wants to generate. It never even looks at a lot of the other ones: it's been coded to create worlds that are nice. It would never get to the stage ANGELINA was at at the start where it was producing terrible games, because it doesn't randomly generate worlds, it procedurally generates them.

"So when you're defining a fitness function, you can define it very specifically like that," Cook continues. "You can say: "This is exactly what I'm looking for." The odds are that if you know what you're doing, you know how to define a fitness function that returns nice things. What you want to do though, is you want that available area to be actually quite wide. You want to get a bit risky and a bit dangerous, because there are other things in here that will be quite interesting but that you might not be thinking about."

So the holy grail for a game-authoring AI is nailing a way of generating better fitness functions? Because then the AI can not only build the game, but can set the parameters, at which point it's more like a designer in the traditional sense - and bringing its own personality to the things it makes?

"I think that is a holy grail," hedges Cook. "It's definitely one that I'm interested in. I think it's interesting that you define them as having different personalities, because I do too. We don't think of Minecraft's world generator as having a personality, because there's only one Minecraft world generator. But we should. We should start thinking about procedural world generators as things that express some sort of... they're sort of like artistic tools."

This kind of talk puts me in mind of Spelunky: Derek Yu's glorious roguelike makes surprising levels, but they always have Spelunky's specific sense of humour: you're always exploring a world that keeps you on the edge of chaos in an exciting manner.

"Spelunky's an example I come back to a lot," grins Cook. "Spelunky generates levels for Spelunky. That's Spelunky's problem, and that's the only problem its generator has to solve. What you want with ANGELINA is you would like ANGELINA to be able to say, 'I would like to make a game that's about chaos and that's about being on the edge of everything going wrong, so I'm going to make games that are like this.' You want it to be able to make decisions that are at that level - at the level that Derek Yu's at, and not the level that Spelunky's level generator is at."

Some people think I think they think...

The first choice "The other day I was thinking, even if I implemented systems that made different genres, how would ANGELINA choose between them?" says Cook. "When you sit down to make a game, what process do you go through? I've tried to make games to try and work out what this means, but I have no idea. You think of an idea for a game, and it automatically slots itself into a genre, or it doesn't slot into any genre. I don't know what that means for an AI system like ANGELINA. When you read a news article, does it suggest a particular genre of game? There are so many weird questions like this. We talked about cold-reading the internet and the interesting thing is that some information is never written down, because it's subconscious or it's assumed. This is one of those things. There are some things about game design that people never talk about because you just wouldn't as a human. But I need to for the AI. Things like choosing a genre, or decisions that were made at the beginning of games that defined how we control things now, that define how interfaces work, that define our vocabulary. Why were they chosen initially? I have no idea, and yet you have to find out why to work around it and produce systems that understand it."

ANGELINA's news games are interesting - and perhaps a little disappointing - for precisely this reason. For all their cleverness, they explore the gaps between what ANGELINA can do and what a human designer can do at what feels like their widest point. ANGELINA can put a picture of Vince Cable in a platformer that's designed around getting to an exit, but it cannot construct a thematic link between subject and mechanics. It can make a game with Vince Cable in it, then, but it's not really a game about Vince Cable. That remains a brave, wild dream - like proportional representation.

"That's right, and I'm really struggling with this," says Cook. "Even forgetting mechanics, let's just say you want a basic, really high-level thing. Even to recognise that Cable is a person and that it could make one of the enemies Vince Cable, that's fine. But in a game about a murder victim, it doesn't make sense for the enemy to be the murder victim. Even that kind of distinction is very difficult. In terms of mechanics and thematic mechanics, this is a nightmare and this is the thing I think about all day.

"Evolution is lacking insight. Evolution never gets to the point where it realises it has something amazing. It just says: this is quite good, this is quite good." Cook laughs. "It could actually see this perfect game, and say, 'Oh this is quite good, I'll now mash it up with a load of s*** ones.' And it will. It will generate Half-Life 3, and say, 'Well, okay, let's just cut off the first half of that and put it with something else.' It can be one small bit-flip away from perfection and never get there because it's just random reconstitution.

Every now and then, though, something special slips through. One of Cook's favourite moments - though favourite might not be the correct word - came when ANGELINA decided to make a new game about child abuse. The game's called Sex, Lies and Rape, and Cook's wandering through it, leaping from one platform to the next, past an image of a smiling child that ANGELINA selected, while weighty, ominous music plays over the soundtrack.

Serendipity allows for powerful moments, but they're accidental - ANGELINA doesn't know the effect it sometimes achieves.

Then he misses a jump and falls down a gap. This triggers a woman's voice singing a strange, rather sad song. The song's a children's lullaby that's popular in Greenland: played over those shifting minimalist chords, it creates an affecting moment - one that ANGELINA orchestrated. Albeit without much sense of what it was doing.

"This is serendipity," says Cook. "The trick with computational creativity is you have to create commentaries - since that game, I've been creating commentaries where ANGELINA says, 'I did this, and I did it on purpose.' I really like this, and it really moved me when I saw it, but ultimately it found that piece of music because it was searching for 'children'. It didn't know how haunting it can be. That was the serendipitous part. The more it can justify things, the more sure I can be that it's doing something on purpose. This was still a moment where I thought, 'this is interesting,' though. I thought: 'This is why I'm doing this.'"

"What I really want from ANGELINA, the ultimate expression of creativity - and this is really insane and you'll never see it in my lifetime, I'm sure - is for ANGELINA to write Java code with no assistance whatsoever." Cook leans back in his chair a little and stares up at the ceiling, daydreaming. "Then it would have access to the entire design space that Derek Yu has access to, because it's just writing a program.

"But that design space is so infinitely huge that there's no way it could get through it. Even evolution would have trouble cutting down that kind of space. So at some point you have to draw a circle: you have to say, 'This is the space I'm interested in.'"

The most recent circle that Cook's drawn is a new program called Mechanic Miner. If I understand things correctly, Mechanic Miner still uses evolution to generate its levels, but it no longer needs to work from templates. More excitingly, it tackles a short cut that Cook used with ANGELINA's early games that he's been eager to get rid of.

For the early Metroidvanias ANGELINA made, it would be able to place power-ups in the environment: a higher jump, maybe, or a teleport. All ANGELINA could do was choose between pre-selected, pre-designed power-ups, though. It could build a level that hinged on teleportation, but it could never invent teleportation itself. It couldn't design its own mechanics.

"Some people think I think they think about me that I hate games or I don't play them or something," says Cook. "I don't think the games ANGELINA makes are very good. I know they're not. I go home and I play Spelunky. I knew I wasn't done. So I'd given ANGELINA some options and it chose between them. It was still doing something intelligent, but it wasn't clear to people. Now we've got Mechanic Miner, which has invented a form of teleportation independently. That's clearly a step forward. So now it can invent a mechanic, but it's lacking two things."

Cook starts to tick things off on his fingers. "It's lacking a reason to invent it. Teleportation has a feel to it. It brings something to the gameplay. In Asteroids, it's really stressful, because you don't know where you're going to end up, whereas in DOTA 2, when you're using Blink, that's a really satisfying skill because you're totally in control. You have a reason to use it because you want a particular effect in the player - that's going to be really difficult to get to.

"And the other thing that's going to be just as difficult is if you're making a game about Shakespearean London and you decide to put teleportation in it, you need a thematic reason. This is even harder."

While Cook struggles with those problems, Mechanic Miner still represents a major leap forward for his games. A Puzzling Present is one of the first games to emerge from the new program, and it's significantly more exciting than anything that's come before it. Its levels are weird and intricate, and you navigate them with abilities that the AI effectively dreamed up itself. The first set of levels use VVVVVV's gravity-flipping mechanic, which the system rediscovered independently while trying to solve the problem of getting players up on high ledges so they could reach each stage's exit. After that, it came up with an even more exciting idea: instead of flipping players back and forth, why not allow them to build up height by bouncing?

"You want it to be able to make decisions that are at that level - at the level that Derek Yu's at, and not the level that Spelunky's level generator is at." Michael Cook

Mechanic Miner allows for far more organic, interesting levels.

"Mechanic Miner inventing bouncing was particularly amazing for a couple of reasons," says Cook. "Firstly it was a mechanic I hadn't seen before - apparently it's in a Nifflas game, but in general it's an unusual thing. Secondly, I'd been using the Flixel library at this point for about two, two and a half years, and I didn't know that objects had this thing called elasticity. I had no idea it was there, no idea what it did, and even the developers of Flixel have said don't use this because it has unexpected side effects. But ANGELINA identified it, experimented with it, and found that it could solve levels with it. This blew me away - that was a really, really good feeling. Novelty is a very good indicator for computational creativity software in general. We want to pursue this further."

But Mechanic Miner wasn't finished after it invented bouncing - and its next ideas were a little crazier. "I write terrible code, so it's not a surprise when things break," explains Cook. "But for a while Mechanic Miner was putting out levels that made no sense. I was a few weeks from releasing Puzzling Present, and it was throwing out levels that were just wrong, and it was giving me solutions that were not legal. It took me about two days for me to realise that it had found an exploit in my code, and it had used that to create an emergent mechanic.

"It had created this teleport mechanic, and because it was changing the code raw, it was not very protected. It would teleport you a set number of spaces in a direction, and it was broken: you could teleport off the screen. But it also meant you could teleport inside walls. The way I'd written my code, when you press the jump button, it just checks whether you're in contact with the floor. But a bug in Flixel's code means that when you're inside a wall, that counts as being in contact with the floor. Mechanic Miner worked out that if it teleported inside a wall, it could jump out, then teleport back inside the wall again, and it could climb up the wall this way. It had produced levels where the exit was up in the ceiling, and it could solve them. It had basically created a speed-run method.

"That sort of thing is just very, very exciting, but even then there are the same frustrations," says Cook. "The system can't judge it, and it can't polish it. In a way, that story sums up where I am. Every day I get glimpses of promise, and yet it's this unstable force that explodes. The teleportation was awful because it wasn't signalled. ANGELINA can invent teleportation, but it can't describe it to you. It can't show you how to use it. It can't give it a name. It can't make sure that it's sensible, and yet it can do these incredible things like create emergent mechanics from bugs. That moment validated all the moaning I'd done: I moaned about how I hated the fact that early games used templates, and that I had to give ANGELINA the power-ups it would use, because it didn't allow ANGELINA to go outside our comfort zone. This moment was ANGELINA totally going outside of our expected range."

This kind of situation is where a lot of Cook's current research is focused. "There has to be another answer," he argues. "ANGELINA's already playing these games. There must be something in that which allows it to evaluate fun the same way I evaluate fun. Why is Just Cause 2's parachute and grappling hook fun? There must be a way of thinking about that and putting it in the simulation.

"ANGELINA can make these mechanics. It can discover bouncing, and it can discover inverting gravity, but it also discovers ones that aren't fun, because it's only looking for utility. I had these crazy ideas of inserting things like, 'Mechanics where you move fast are fun.' Would that help create an aesthetic taste? But not everyone finds that fun, so what does that mean? There are just so many questions - but I think there are answers out there."

This is what I see instead.

To a layman, of course, it sounds like Cook's zeroing in on the human element - the nubbin that has been lying at the centre of almost all bad science fiction about AIs for decades. And where games are concerned, isn't the human element of paramount importance? Playing through ANGELINA's games, aren't you learning to appreciate what isn't there, as much as what is?

"I've definitely found myself fascinated with reading biographies and interviews and quotes from developers since I started this," admits Cook. "I don't really know why. It's not like I'm trying to make ANGELINA have a psychology or anything. It's just that as you see things that are easy to solve, you start to appreciate things that are very difficult to solve, and to appreciate people that do it effortlessly. I do keep coming back to Spelunky because there's something in the way that game is constructed. The whole way that that game is sewn together is great."

He leans forward, "Somedays I'm in this mood - no, everyday I'm in this mood, but sometimes I don't think about it because I like developers too much. There's nothing a human can do that I don't think an AI could be capable of, or I don't think a computer could be capable of. This is going to sound horrible, but I occasionally save quotes from people where they say, 'This is never going to happen,' because 'never' is the most dangerous word if you work in technology, I think. There are people who say, 'Well, an AI will never replace a good human level designer.' That's a quote from the developer of Stealth Bastard. As I played that game I thought I could definitely see why he said this: there's a lot going on, and there are a lot of different mechanics that interact. At the same time, though, I do feel that ultimately an AI will be able to do those things.

"That said, the thing I always come back to is that I do realise there are some people's games who I will always play and always follow and always be interested in. Recently I've become besotted with Michael Brough - Corrypt, man that was great. There are lots of people I don't like as much but they're definitely in their games, too. I've played games all my life. I'm obsessed with them. But it's been interesting talking to people about this.

Cook's recently turned his attention to Roguelikes.

"How is it that something like the Binding of Isaac has such an artistic sense to it, and there's such a sense of McMillen to it, but when you play Deus Ex: Human Revolution - which I love - who are you seeing through that game? It's a really great game, and there are artistic messages in there. It's made by humans, and yet you can't necessarily pin down a human touch in there."

This is something I've wondered about ANGELINA for a while, in fact. I've wondered it ever since I read a Martin Amis quote suggesting that the reason we read books - and, by extension, the reason we look at paintings, go to the cinema, or play video games - is to commune with another human, mind-to-mind: to experience the way they think, and the way that they see things. What do we get from communing with ANGELINA?

"Right now, you don't get much," says Cook. Then he stops and thinks for a second.

"I think there are lots of ways that AIs will be used to design games in the future, though, and I think that one of them that will be really important, is the use of autonomous AIs that actually create games that you do connect with: you commune with the AI and what you're connecting with is the way that technology sees humanity.

"The problem is that we've only ever experienced one intelligent species, and that's ourselves. There's only one species that has an identifiable culture or a culture we can connect to, and this is a problem, because it means that we don't know what it looks like when we see a culture that isn't like ours, or someone that experiences the world in a different way.

"Now, computers aren't very good at experiencing emotion directly. But they're very good at understanding large amounts of data and seeing patterns in it. I honestly believe that what I would like the whole news game to end up with, for example, its logical conclusion, is that thirty years down the line, there will be software that presents you with the headlines in game form. But when you play them, you actually get a sense of what humanity as a whole looks like. Because they're able to simultaneously consume every social media feed on the planet and tell you why those people that you hate are not so very different from you. They're actually just people who woke up today and brushed their teeth, and they just happen to live in a different country.

The famous Turing Test is based on encouraging AIs to imitate human beings. Why not explore the differences instead?

"Technology's ridiculous, the internet's ridiculous, AI's ridiculous. This is one of the things I genuinely think about. What would it look like if you could have the news presented to you by a machine that did not have an inherent bias to it and could just consume data and represent it in interesting ways? What does that look like? That's a different kind of artistic expression: it's not one that I can connect to because I'm feeling the same thing as it. It's actually making a comment about humanity. It's saying, 'I don't have any investment in this, it's just something I've noticed.' With ANGELINA, you want to play a game where the designer is saying, 'I'm not trying to be like you. This is what I see instead.'"

Cook laughs.

I'm not used to this sort of thing. I'm not used to this big idea feeling I get from Cook, from ANGELINA. What I'm used to, in fact, is talking to people who have small ideas - or, more commonly, small ideas they dress up as big ideas. "I'm going to revolutionise the way we feel about in-app purchases," they say, with no awareness of the damage they're doing to the word 'revolutionise'. "I'm going to destroy the crumbling necropolis of this existing eCommerce checkout system." Good luck with that, Ozymandias.

Cook's different, I think. ANGELINA is different. One day it might be making games that have real power not in spite of their limitations, but because of their limitations: because those limitations - their elliptical, even accidental commentaries, their dumb emphasis on show-and-tell - clip together so beautifully with our own.

In a narrow, oddly-shaped building deep within the Imperial College Campus in South Kensington, a PhD student named Michael Cook sits working beneath a picture called "The Dancing Salesman Problem". On his laptop, he is building something astonishing.

He is building a mirror.