Creating Eve’s Artificial Intelligence
Eve Online's players are a notoriously dedicated, and vociferous, bunch. Self-governing, focused and regularly taking part in huge interstellar fleet battles, meeting their expectations presents a daunting challenge to any AI programmer. We sat down with CCP Games senior programmer, Joel McGinnis, to discuss the difference between real and observed artificial intelligence, why MMOG developer's tend to push AI to the bottom of the to-do list and what we can expect from game AI in the future.
There's an interesting division between artificial intelligence in a game and the behaviour a player actually observes, between having an agent acting in a logical and game-affirming way but also communicating that to the player. There are ways of doing that in an FPS through the character, but it must be very different for Eve?
It is. We don't have the same system of mechanics. We can't say, 'Flank him!' for example. The big area for us right now is, how do you get behaviours that encourage people to engage in coordinated efforts? You've got thousands of people fighting in PVP games – how do you get somebody from the new-player experience, where they're just a single player in a ship, to a place where they're scaling all the way through that to being one person in a massive fleet battle. What we wanted to encourage in this latest release, Incursion, was cooperative PVP play. So taking some of those player tactics that players developed on their own, and getting AI to use player tactics, like target calling; getting a group of AI to focus on one target; getting the AI to break up into roles better; having the small tackling ships engage in player-emulative behaviour, and for people to see this. If you've been playing for a long time, you know what the patterns are, so it gets to be a game about doing it better, faster, stronger.
But for players that don't have that, we want the AI to be able to help show them how to get there. We don't want to make it like a tutorial. We've got a lot of people who run missions. It's twofold – we give those people an enhanced experience. If we let those people play their content out, we can start to build challenges that are increasingly challenging and varied for them, and we can give new players a sense of what’s to come as we head towards PvP.
Is it important for the AI to display set behaviours or is it more about likening it to another player?
That came up a lot at the summit. If they're always doing the same thing then the player tends towards boredom. But if they're random then people seeing this just think, 'Screw this! They're insane!' So there's this delicate line you have to walk; you can't just do the same patterns over and over again. But you have to create some patterns of behaviour – you have to create probabilistic models of what look like reasonable behaviours.
How did you build those up?
It was certainly about looking at what players do. We often know what we'd like to do, it's just about having a correct alignment for allowing us to do it. In this case it was creating those new control patterns. Now it's time to add some more rational behaviours for the AI, and just avoiding cases where it does something silly.
Many Eve player look for glitches in the game that they can exploit to gain a couple of seconds advantage over other players. Have you built the AI to be exploitable or foolproof?
Players hate cheating. So if you're foolproof, players can spot that easily. On the other hand, players hate charity, and in Eve it's even harder because we have perfectionists. The boundary between cheating and charity are pretty narrow. You have to walk a tightrope there.
As the game gets larger and features grow, does that bring complications to building AI?
There's things you can do to simplify that problem for yourself. The breadth of options available to you can make the previous problem a little bit easier to deal with. As the possibilities explode, the odds that you have the right combination of things to match exactly what that particular AI came to the fight with get smaller. So there is a trade-off there.
Does AI data collation on the server help you as a programmer?
We always have to be concerned about server load. We do have that server infrastructure, so in theory one could crunch some numbers. On the flipside though, we have to share that space with lots of other people doing lots of other things, so I'm not sure it's a huge advantage for those calculations to be on the server. But it does maintain a standard, universal AI for the game space and for everyone in it.
If you had, in an ideal world, unlimited computational power, what would that do for an MMOG and its AI?
As we get more computational power, we're going to be able to give NPCs stronger alibis; we're going to be able to give them better stories. You'll also be able to develop more sophisticated behaviours at the tactical level. Right now in PVP, you can get engaged in system-hopping chases, and that's not where the AI is right now. But that could happen as our capabilities expand.
What else would you like to do to develop the AI in Eve?
We want to bring up the intelligence level of the PVE to that of the PVP. We want to create more interesting scenarios for people with the AI. We've also got the walk-in stations coming on, so there's some interesting possibilities there in the long-term. I think we'll be developing multiple technologies as time goes by – we already are. There are several pieces inside CCP for AI technology. One is a group I'm working with now, out of Atlanta, on AI and animation. We're building that into our Carbon technology base, which is our shared, central technology. We're building new technologies for ships in space for that. It's certainly something we're building up the capacity for.
Why isn't AI a focus of MMOGs in general?
In my opinion, AI is something MMOGs can get by with very little of. There's just so much you want to do with MMOGs. You really have to decide where you're going to spend your time and energy. There's a fairly low bar set for AI, people don't want to spend any more than they have to. So it's been exciting to see that we're the ones pushing this forward with Carbon technology, for World Of Darkness etc. It's just that if you don't have to have it, you do without. But there are so many interesting opportunities. With a long-running game like Eve, over time you get the opportunity. Our last release was one of those.
What were you doing before you joined CCP?
I was with Radical in Vancouver. I was at Codies a while back, in England. I was associated with the FPS games they were doing.
Are there any general trends at all in AI development?
That's just the question we were asking ourselves at the AI summit. The trend is really about finding out what are the requirements for any standard situation. We tend to focus on the tools and techniques, but a lot of times the question is, what is the bigger picture for AI, how does this fit within the larger context of the game. We can bring so much more to the table, so we try to look at how we can bring up questions for the rest of the team. So it's not just about the technique, because any technique will get you there if you work hard enough at it. And we've come up with a lot of good ones over the last few years. So it's really an issue of understanding the problems correctly, how to apply the right tools for the right team, and for the right feature.
Is catering for Eve's hardcore players a daunting task?
It's my job to create great experiences for the players. I'm not out to beat them or to win, but to create that avenue between charity and cheating where they say, 'I beat you but I fucking earned it!' That's the challenge and that's what I love: the opportunity to go in and think, I'm creating an experience where people are going to come out of it and feel fulfilled that they beat the developers. As a player of games, that's where you get your reward, the feeling you earned the win. It's about trying to create the kind of environment to let people have that moment of triumph. And for Eve that's really hard! But that makes it exciting!