Behind the Scenes - Artificial Intelligence

by CCP Blowout

With the recent AI update bringing personality to the EVE: Valkyrie bots, we sat down with Lead AI Engineer CCP Synapse to talk about all things Artificial Intelligence.

How did you get interested in Artificial Intelligence out of all the disciplines in computing?

I initially got interested in AI back in university which ultimately led to me doing a PhD in AI. I enjoyed doing it but I realized I didn’t want to stay in academia so I decided to put my CV online. Quickly quite a few offers came in from the games industry saying “we want somebody with AI experience”.

Were there any inspirational movie or videogame AIs that stands out as getting you interested?

I really loved one of the first films to really do AI and that was ‘WarGames’. In that you see the computer try to convince itself it can win at noughts and crosses and it can’t.

I don’t know if that subliminally inspired me to start down that line, but my biggest interest in AI was machine learning. I was looking at neural networks and how they adapt and learn almost by magic. Problems that we can’t make an algorithm or a formula for, well they just seem to recognize these patterns and I was just mesmerized by this at the start.

That’s how I started in AI, but then I developed an interest in a different side to it, which was qualitative reasoning. The best way to describe that is basically making the computer think without actual numbers.

So if you imagine you pick up a ball and you want to throw it in a basketball hoop, you don’t need to know how heavy it is, you don’t need to know the exact angle to aim for the hoop, you don’t need to know the exact force to apply to the ball when throwing… you just develop these things in more of a I just need to aim it a little bit more up, I need to push it a little bit harder and so on.

It’s getting computers to think in those terms as well, where they don’t need to know the exact numbers. One application of this was nuclear reactors and diagnosing if there’d be a problem. You don’t know the exact temperature is going to be, say, 7,004 degrees in there, but you just know it’s going to be very high, and you start making machines look at fluctuations or patterns to do with that. So that was the other side of AI I got into before coming into the games industry.

And how did you go from that to Valkyrie’s bot pilots?

I originally worked on DUST, as there was a need for AI for the troops, and the biggest thing for that was to get the pathfinding working.

What technology did you use to make this happen?

When the designers came up with the idea of the RDV – the Remote Deployment Vehicle – because it would fly in from off the map and come in and find a position close to you and then fly out again, we needed to have a 3D pathfinder. We used a third party system to make one. It seemed to work pretty well, but there was a bit of a challenge in getting aircraft-type vehicles to follow pathfinding in 3D.

When Valkyrie came around we’d already touched on all of those things and so we kind of converted the system over for it, only this time creating our own 3D pathfinder from scratch. Getting that going was the first challenge for Valkyrie, but so far it seems to have worked reasonably well!

What are some of the biggest challenges developing Valkyrie’s AI?

The challenge with Valkyrie is creating AI that aren’t just kick-ass. They don’t cheat in any way but they can see exactly where players are, they can shoot exactly where they want to because they still move their heads as if they were using a VR headset but obviously they can be 100% accurate so one of the biggest challenges is making them ‘dumber’.

That’s one of the things we’re trying out with this patch, is getting a good range of them from very easy AI to obviously some very difficult AI.

So what do you do in order to dumb them down? Or in other words, how do you force them not to be as good as a computer opponent could be?

Well, there are a few things, the first is we reduce their accuracy. They are capable of shooting with zero degree of error, so what we do is give them a bigger cone in which to fire. We give them a 5 degree to 10 degree cone and when they’re firing from, say, a kilometer away that gives them a lot of near misses instead of actually pinpointing you.

The other way that we do it is to make them fire their weapons less frequently and for shorter bursts as well. The hardcore AI will basically hammer you non-stop, whereas the lower ability guys will shoot once every few seconds and they will only do it for half a second to one second at a time.

So in Valkyrie, how much of a range of AI skill difference is there between the various bots?

Players should now see a vast range of difference in the bots. Up until now we’ve never had any truly hardcore AI. They’ve always been dumbed down even for the top servers, so now I’m interested to see what happens when the top players come across the unrestricted AI. I’d like to see how they cope, as certainly the QA department have been having problems coming up against them, which is nice to hear at least!

As for new players, some of the feedback from the community was that the AI they encounter when early in the game can still be too much, so we’ve turned some right down to the point where they’re effectively cannon fodder. They will shoot, but they fire so infrequently that they do allow new players to wander around and see the world of Valkyrie a bit more, look at the ships a bit more and so on without getting into too challenging combat immediately.

What can players look forward to in terms of AI updates in the future?

We’re working towards AI pilots having persistent AI. We have an actual AI pilot out there who has a specific skill level, and that skill won’t change, so the likes of Thor or Yggdrasil… they are the top AI now and along with that they will make a name for themselves among the pilots who come across them and start to think “ah damn, I’m up against Thor and he’s a badass” and players will then have an emotional response to certain AI. I’m hoping that in the near future we can have an AI leaderboard where we can see how good they are.

Beyond that, we’re going to start looking into giving the AI a bit more in the way of particular traits. So some bots will be more likely to come and support your team while others are more likely to fly on your wing rather than go out on their own into the battle. That kind of thing would bring a few more behavioral changes to each of them.

This would be on an individual level, so let’s take Thor again. He might be more gung-ho and just run off and do his own thing kicking everybody’s ass, while Borr might come out and think “oh there’s someone to go along with. I’ll fly on his wing and just support him”.

Do you have a funny tale from the world of AI development to share with our Pilots?

In Carrier Assault – the new game mode we have – the AI now play that and so will go capture the points, go take out the cooling nodes and things like that. The one very interesting thing is how well they seem to be able to fly in certain situations.

I’ve had a few people come up to me and say “my god the AI have managed to fly through this tiny little gap to get to the cooling nodes and I haven’t actually managed to fly after them”. It’s nice to see that they’ve managed to do that!

Is there any feedback in particular you want to see from the community?

I’d really like to know how the players get on when they come up against Thor and the other bots. I would like to see that players are being paired up against AI that have similar ability to their own, and the new balancing should automatically work out the best level of AI to group players up against, so please give us your feedback on the forums!

And to wrap it up, you mentioned you have a PHD…. so are you a doctor?

Hahaha. Well, I am not a medical doctor but I am officially a doctor, yes. So it’s always a good one… you know… I’ve had a few trans-Atlantic flights where the pilot asks if there’s a doctor on board. I feel I should put my hand up and say “well, if there’s a problem with the plane’s AI…”.

Discuss this blog on the EVE: Valkyrie forums