AiGameDev.com
Welcome to your new online hub for Game AI!

“Join the official #gameai IRC channel on irc.freenode.net for discussion about AI in games!” – Alex

What Trends in Game AI Do You Anticipate for 2008?

Alex J. Champandard

The first developer discussion of the new year on AiGameDev.com is a fantastic opportunity to discuss trends for the upcoming twelve months. What do you think will be hot, or not?

Screenshot 1: Trends in artificial intelligence and game development.

In particular,

  • Scripting Languages — Will discontent with Lua spread or will its adoption continue to grow? Do you foresee any competitors?

  • Middleware — Do you foresee any major shifts in the middleware business? What are you looking forward to the most?

  • Technology — Is there any particular AI technique that you think will make it big in 2008? If not, why not?

  • Game Innovations — What games do you think will influence the field of game AI the most?

Let everyone know what you think; post a comment below!


Bookmark and Share

Comments

Comment on this article. | Show full forum thread.


by seth 02.January 2008
I can only comment on one point, middle ware... i think the global trend in everything is specialisation... so i guess specialisation in AI Engines (HW) will lead to game developers concentrating on whatever other work... and it will generate a way for companies to gain £ from licensing their AI engines, and this will invest more in it...

As with GFx Engines, Physics Engines and all the other middle ware, i think we will see more & more AI middleware, and i think it will be a good thing for the games and their quality

by alexjc 03.January 2008
Good point seth. My first prediction is very similar:


• The increasing availability of planners (HTN mainly) in middleware solutions.
• An increasing focus on co-operative AIs, like the dog in Fable 2 or Alyx in Half-Life 2.
• Designers becoming more efficient at designing groups / eco-systems (with emergent behaviors) and integrating them with the story.
• A great boost in popularity of behavior trees and their editors...
• Developers becoming more unhappy with the Lua interpreter's performance, but alternatives on the horizon (e.g. a compiler).


Regardless, it'll be interesting to see what happens!

Alex

by Dave Mark 03.January 2008
I will have to vote for cooperative behaviors - whether that be with the player, against the player, or just in the background.

Also, I think that the major break away from state-based machines will be a big deal. Look for more autonomous agents and less scripting. Certainly that will be limited to the games that can support and show off these sorts of behaviors, but the change will happen nonetheless.

by ToddM 05.January 2008
There's definitely a trend toward so-called "sandbox" games, and away from scripted games (as Dave mentioned), which is expected to continue, and to create greater use of autonomous agents and everything that they entail. It seems that this is much more of an evolution than a revolution though. Autonomous agents will continue to grow in importance, but other techniques (e.g., scripting) will continue to be used to drive and direct story lines.

With regard to autonomous characters, I look forward to the development of more complex behaviors that go way beyond the standard fight or flight. I'd like to see fewer game units used as cannon fodder, and a much greater use of the subtleties of negotiation, including intimidation, threats, etc. Imagine how much better it would be to have game entities who embody the desire to not only achieve a group goal, but also individual preservation. For example, if groups of enemy units include individuals who want to be promoted (maybe all of them do), then their goals of achieving objectives would by necessity also include their own preservation. This can lead to greater motivation to negotatiate, perhaps not only with the player character, but also with each other. The complexities of game play would be much more compelling.

It'll also be interesting to see how the mod community changes over time. As the emphasis moves away from pre-scripted behaviors and set triggers (though continues to include them), and toward the development of complex characters, behaviors and physical sensors, the third-party development tools will also need to adapt to this change. Modding will by necessity be even more involved in character development (as objects/agents/behaviors/sensors are created), and less with event/location based scripts. This shift will change the nature of mod development a bit, but will be an improvement for the development of more engaging games.

by AnthonyW 26.February 2008
I wanted to point out that Lua already has a stable and surprisingly efficient compiler: [URL=http://luajit.org/index.html]LuaJIT[/URL]. It is released under the terms of the MIT/X license.

Also, I would be very interested in hearing what alternatives this community believes would be viable competitors to Lua. I have spent a significant amount of time researching scipting languages recently and I have been unable to find another language that is as efficient as Lua. I believe that this along with the the portability and ease of integration are the primary contributing factors of Lua's popularity.

I've been looking forward to ECMA Script 4 but unfortunately there are no implementations that are currently worth using. .NET could be a viable alternative, but only if you already have a dependency on that platform. I personally feel that Squirrel, AngelScript, GameMonkey and Python all fall short in one area or another. I guess that covers most of the existing solutions that are commonly considered (Does anyone out there really care about Ruby, Lisp or Javascript?). Any thoughts from the other readers?

I realize this post sounds rather fanboy-ish so I thought I should write a disclaimer: I'm in no way affiliated with Lua or LuaJIT but I am a fan of both and thought that I should mention LuaJIT for your community to consider.

by Dmitriy Iassenev 26.February 2008
2AnthonyW
we used LuaJIT in Stalker, and it proved it is very efficient (2.5-3 times faster than pure Lua). It is a pity that it can compile only in x86 instructions, which limits it to PC platform only :( This can result in less intensive Lua usage on consoles.

it is also interesting to know if guys from Crytek have memory or/and speed issues because of Lua usage.

by alexjc 26.February 2008
Another potential problem with LuaJIT is that some consoles don't allow code generation at runtime. So that rules out anything that's dynamic JIT.

Compiling a dynamically typed language is much harder when you can't do it with runtime data to help you out... The approach ShedSkin (Python) takes is to require you to write tests for each function to show how it will be used, which gives you the types/data to compile the functions before execution.

Alex

by AnthonyW 26.February 2008
Dmitriy: Have you experimented with the Squirrel language? It is being developed by Alberto Demichelis, the programmer that integrated Lua into FarCry. I believe he did modify the Lua VM to optimize memory bandwidth and usage (from his Resume). I too would be interested in hearing from him on this thread.

Alex: LuaJIT has a compilation mode called Ahead of Time (AOT). This is still runtime generation of code but I imagine that it must be able to determine data types in this mode which means it's potentially a step or two away from full pre-compilation.

Also, I've not really looked at the LuaJIT code but I would hope that the compiler is somewhat retargetable and I would imagine that even poorly compiled native code would outperform the VM on most consoles.

Regardless, overall I predict a decline in the usage of scripting languages for the specific purpose of game AI. I think that visual editors are increasingly popular and significantly more friendly fro designers. Engines such as the Vicious Engine and Virtools have already moved on to what could be considered the next evolution of the scripting language. Unreal (which has had scripting significantly longer than most engines) now has Kismet, which seems to have superceded direct use of UnrealScript for the specific purpose of gameplay 'flow'. I think other engines are likely to follow suite.

by Dmitriy Iassenev 27.February 2008
2AnthonyW
I reviewed discussion "Squirrel vs Lua" and Mike Pall (LuaJIT author) proved LuaJIT is very fast. I haven't got deep into Squirrel though.

About future scripting language usage in games: I agree, most of the modern engines have reach WYSIWYP editors, which allow game designers to do a lot of things without scripting. Probably, script languages in future game engines will be used for data description purposes only. BTW they have several good properties for this:
* it is easy to find out what is wrong with the data, since there are descriptive errors
* it is easy to use with any version control system, since merge operations on binary data are painful
* no LittleEndian/BigEndian, alignment and other issues

of course, it is slower solution, especially if you store triangles in script :-), but it may help in most other cases.