Your ad can be shown here!
 
  Help
AI links
  :: main hierarchy ::
• Agent Software
• Artificial Life
• Cellular Automata
• Cognitive Science
• Companies
• Computer Vision
• Data Mining
• Decision Support
• Expert Systems
• Fuzzy Logic
• Game AI
• General Resources
• Genetic Algorithms
• Handwriting Recognition
• Information Retrieval
• Intelligent Agents
• Intelligent Interfaces
• Knowledge Management
• LISP
• Machine Learning
• Mobile Agents
• Nanotechnology
• Natural Language Understanding
• Neural Networks
• Online Books
• Philosophy
• Programming
• Prolog
• Robot Builders
• Robotics
• Speech Recognition
• Virtual Pets
• Web Agents
 
aboutAI.net Weekly Features
    AI in Computer Games
AI in Computer Games
Find out more on 'smart' computer games that incorporate verious AI techniques and learn about new AI-based SDKs for game developers.
  Related Resources
• Past issues of weekly features
• AI in Computer Games (1)
 Elsewhere on the Web
• The Game AI Page
• AI at GameDev.Net
• Gamasutra

 

Almost two years ago I published an article on AI in computer games industry, starting with the claim that "knowledge about Artificial Intelligence techniques tend to be somewhat limited within the game-programming community". Fortunately enough, the advances in both hardware and software technologies have contributed to the overall acceptance of AI-related technologies. To quote Steven Woodcock and his excellent two-part report on the state of game AI in Gamastura, game AI has finally "made it" in the minds of developers, producers, and management. It is recognized as an important part of the game design process. Good old fashioned AI, state-machines, rule-based AI, etc., have made their way to every game programmer's toolbox. "Nontraditional" AI techniques like Artificial Life are starting to be used to create realistic, lifelike behavior in games like q and Creatures. The main goal of every game developer has always been to fully leverage the increased computing power, in order to produce games that are different enough to be noticed on the market. So, let's explore various software development kits and similar tools available to AI developers - maybe you can try to create your new masterpiece in just few weeks?

For an easy start, just relax and play with several extensible computer games that allow creating editable, rule-based strategies. Age of Kings is an excellent example of a strategy game that allows users to edit the rules that control their strategic opponents. Quake II, on the other hand, is a best known example of an action game that can be modified by writing various DLL extensions. CogniToy recently announced MindRover, a game that encompasses the depth of play found in strategy games with a new concept in player control. This 3D strategy/programming game requires that you equip the vehicle (hovercraft, wheeled or treaded) with various sensors, movement components and weapons and program its behavior in a graphical interface where you wire the components together and set their properties. It is an advanced descendant of various "games for programmers" like Crobots. The scenario for Jrobots is very simple: you'll have to develop the AI algorithms of your own robot using the Java language, then upload it in the arena and follow on-line its fights against other robots.

More "hands-on" approach for writing a successful commercial product requires use of various commercial SDKs in order to speed up the development process. One of the most powerful tools available to developers today is Mathmatiques Appliques' DirectIA. This agent-based toolkit gives lifelike characteristics to the game characters, including physiological, psychological and emotional states. These internal states motivate the agents: they give them needs, desires, and emotions which are all taken into account simultaneously. Probably the most innovative feature of DirectIAs technology is its learning capability, with artificial characters that can benefit from their past experiences, optimizing the current behavior and learning new, complex ones. Another advanced application is DirectIA Embedded, a version of DirectIA that fits on a dedicated, low cost hardware card. Their new adaptive toys such as Tekio will serve as a prime example of such adaptive objects, putting the main focus of development upon the interaction with the user. All this power comes with a hefty price tag, though: you'll need around $2500 for a start, and $50000 at signature with publisher. Similar technologies from MASA are heavily used in military applications, control of autonomous flying devices and similar high-end applications. To see DirectIA in action, you can download Life@MASA, a sample application (2.0 Mb) created in a couple of weeks (it currently supports only Windows NT and 9x platforms).

The Motion Factory's Motivate is another AI-based SDK that is based on the several years of research in robotics and real-time process control. Their Intelligent Digital Actor technology is a result of the integration of Real-time Motion Synthesis (robotics) and Dynamic Event-based Behavior Programming (real-time process control). Using this technology, the movement of 3D characters is not a playback of stored motion sequences: it is generated on the fly in response to a dynamically changing environment. The logic of game characters is not a long sequence of if-then-else statements, but a Hierarchical Finite State Machine (HFSM) system that is specifically designed to model the behavior of a complex real-time systems. Motivate development environment consist of the Actor Editor, Skill Editor, and Behavior Editor. It allows experienced C++ programmers to extend the Intelligent Digital Actor technology by providing access to the Motivate runtime engine for writing custom, Javascript-like Piccolo plug-ins for the actors.

The Spark! Fuzzy Logic Editor from Louder Than A Bomb! Software (now in its beta release) promises to provide low cost tools to quickly integrate AI techniques into applications, especially in video games. It integrates with target applications using simple C function calls or by using ActiveX and COM, allowing integration into any ActiveX enabled programming language such as Visual Basic, Delphi, etc. Readers familiar with fuzzy logic principles will recognize familiar triangle, trapezoid, singleton and S curve membership function that are available in Spark!. Real-time graphical debugging and visual rule creation tools allows you to see exactly what rules are firing while debugging. Unfortunately, nothing is currently available for download from their Web site, but you can sign up for the mailing list to be notified when things change.

Another newcomer to the field of AI-based game SDKs is the Nevrax Library, or NeL for short. This open source library is technically available for all forms of Internet virtual environments, but is clearly aimed toward making a Massively MultiPlayer Online Role Playing Game as its first commercial application. It is used as the core for client and server software to create various forms of Internet entertainment, and contains a general framework, a 3D engine, an AI engine and a network engine. NeL supports both Unix and Windows systems, using appropriate C++ development environments. The main purpose of its AI library is to provide a pragmatic approach to creating distributed agent platform. When finished, it will provide tools for building autonomous agents, a dedicated object-oriented scripting language and several general AI techniques, including 3D pathfinding algorithms, basic expert system framework, fuzzy logic operations and evolutionary algorithms. Clearly, this will be a very ambitious task, and can join this enthusiastic group at Nevrax Web site or their mailing list.

Talk about AI-related topics at Artificial Intelligence Bulletin Board.

Want more timely information and resources related to AI? Subscribe to our FREE newsletter!

Got some specific AI related questions or need consulting services? Contact your webmaster, Denis Susac.

Talk with people who share your interests...

Previous Features

S p o n s o r e d    b y...

Buy the ER1 Robot!