Ever wonder why two small Channel tunnels run in parallel? There’s a simple reason; the French and the English miscalculated the meeting point in the middle (due to differences in Metric vs. Imperial measurements) and ended digging both tunnels separately next to each other. Or at least, that’s a version of the story we often joked about while they were building it!
Many collaborations efforts between industry and academia feel very much like that to me. The meeting point in the middle isn’t supposed to be a reference point, it just helps both sides dig in the right direction… And this time the topic is artificial intelligence in computer games.
No matter what happens, even if both sides are speaking different languages and using different units, it’s great that all this digging is going on! The worst that can happen is that we end up with two independent tunnels working in parallel… But let’s see if we can’t speed up the process with this week’s developer discussion on AiGameDev.com. Here’s the background…
A Network for AI in Games
Last week, the first meeting of the Artificial Intelligence and Games Research Network took place (announced here). Adam Russel was first to comment on the event, and since I mentioned his post last Sunday, quite a few of you have commented on the Game/AI blog. Julian Togelius too posted a reply, as did Noah Wardrip-Fruin right here.
Here’s another first-hand report sent in by Mikkel Birkegaard Andersen, who attended the event as a Masters student:
“I terms of pure attendance, the event was a success, with what like a 60-40 split in favour of academics. Claiming success beyond that becomes quite a lot harder. It seems, to me at least, that the main problem is that there is a schism at a very fundamental level. You seems like the general attitude of the researchers was ‘Your games are stupid,’ and while that of developers was ‘Your research is irrelevant.’ That hopefully have changed during the event.
On one hand, while researchers are very eager to contribute to state-of-the-art in games, they, to a large degree, lack knowledge of what that is. Virtually all of the researchers at the event have never worked in the games industry, and it therefore becomes terribly easy to look down on AI engineers when falling back on the tried-and-true methods time and again. They simply fail to take into account that there’s so much more to making AI work in games than just implementing the core algorithms, both from a pure engineering-perspective and from the point-of-view of QA-people, designers, artists etc. Even worse, it seems that most researchers don’t understand games as a medium, simply because most of them don’t play games.”
Photo 1: Is that daylight or someone else coming the other way?
Mikkel Birkegaard Andersen continues in his email:
“On the other hand, if the industry want these people to do applied research that they can benefit from, you have to facilitate that research. If developers complain about researchers not being realistic, both about games as a medium and the challenges faced when doing AI, then researchers have a right to respond with a: ‘What should we do differently?’, which was, in part, what the launch event was about. For the network to succeed and for these AI researchers to start doing research that’s not only interesting but also applicable, then developers have to take up the challenge of actually educating and guiding researchers in this aspect. The other thing is providing a realistic setting in which to allow these people to carry out research.”
Credit Where It’s Due
Let’s face it, historically, AI research has been laughable (literally speaking) since the early hype and the so-called “winter” during the 70s and 80s. However, much academic AI research eventually made it into mainstream software engineering in one form or another. These days, there’s a renewal of AI in industry, but it’s mostly under the guise of more practical fields: e.g. data mining, pattern recognition, semantic web.
Academic game AI seems to be in the same boat. Behavior trees, planners including STRIPS and HTN, blackboard architectures, and sensory models have all made it from academia into industry — somehow. Yet, the reputation of pure game AI research isn’t great these days…
How Does Game AI Research Compare?
What’s interesting is that the other disciplines of games are much more fruitful in their research, for different reasons:
Animation research is booming, driven by experts in influential labs. Many of these better research institutes are funded by big publishers, and the best games out there are built practically around those ideas (e.g. Assassin’s Creed).
Graphics research is backed by a solid hardware industry (including NVidia and ATI), and driven by visionaries in the game engine business. On top of that, conferences like SIGGRAPH help bring both sides together.
You may well wonder why AI research can’t be conducted in a similar way.
So What’s The Problem?
Game development in general, unlike the well-isolated problems of graphics and animation, is a relatively informal process. There’s no real consensus on how gameplay should be developed in practice. That’s a problem for game AI because it’s tied so closely to the gameplay — which makes it a bit of a dark art also!
As such, the bulk of the hard integration work (i.e. the 80% of the little details) has been done in the context of industry rather academia (e.g. Thief for sensory systems, F.E.A.R. for planners, and Halo among others for behavior trees). This, in effect, gives the credit back to industry, as it seems many innovations are made in the process of solving production problems.
All this makes it particularly hard to research game AI separately from the development.
This Week’s Developer Discussion
This whole post brings up a few weeks worth of discussion topics! But right now, let’s keep the discussion focused on what individuals can do, with practical tips to help them in their daily work.
For example, here’s my advice to researchers:
Join forces! Don’t work on an isolated projects from scratch. If your lab has no other game AI specialists, try finding online projects.
Always design your system to work within a fully fledged framework, like the open-source TORCS or the Quake games.
Build a game with your ideas, and use the experience to improve your theory. Join the PyWeek just for the experience.
Here’s my advice to developers:
Build your game with an AI API to a Rosetta Stone language like Python. Keep it clean and document it!
A few hours a week, for fun, prototype new ideas unrelated to your main job. Then “sell back” your research time if it pays off!
Make sure your contract allows you to write white papers, and try to do so about once a year even if you don’t publish it.
Of course, if you’re serious about game AI and R&D, you should also join the budding Game AI Forums right here at AiGameDev.com.
What do you think? Do you have any more advice for improving the state of game AI research, and help individuals tunnel through to the other side?