Artificial Intelligence Toolkits & SDK's

Moderators: Moderator, Global Moderator

Post Reply
Tami
Administrator
Administrator
Posts: 10892
Joined: Sun Apr 25, 2004 1:05 pm

Artificial Intelligence Toolkits & SDK's

Post by Tami »

Here is a list of AI Toolkits, they are not listed in any particular order other than the one I found them in <img src=\'http://www.killanet.net/forum3/public/s ... >/blum.gif\' class=\'bbc_emoticon\' alt=\':P\' /> If you know of others, or have comments about the products listed here, please feel free to add to this thread.

~~~

AI Implant by [url=\"http://www.biographictech.com/\"]BioGraphicTech[/url]

[b]For Animation:[/b]

DIGITAL CHOREOGRAPHY IN A BOX

AI.implant™ for Animation is the award–winning, animation system that sets the standard in crowd simulation and behavioral animation. Whether you are authoring digitally for the big screen, producing animation for broadcast, or building cinematics, AI.implant is the most powerful real–time artificial intelligence (AI) solution available, enabling you to create the most compelling characters and digital extras ever.

Seamlessly integrated with Maya®–based pipelines, AI.implant minimizes the crowd simulation learning curve. With its rich feature set and clean intuitive interface, AI.implant enables you to quickly create complex, intelligent AI characters that can be played back and refined in real–time. In addition to digital choreography, AI.implant can be used for close–up animation, where it can drive fight scenes and other character–to–character interactions, resulting in incredibly fluid, realistic motion.

AI.implant features a sophisticated rules–based animation control system that enables you to choose and transition animation clips based on AI events rather than timing alone. With AI.implant, digital characters and their associated animations dynamically adjust to environmental changes, saving you countless hours of keyframe animation refinement. In no time, you will be laying out and animating large crowd scenes, enhancing your productivity and taking your animation to the next level.

Offering precise control at all levels in the animation process—both gross motion and fine motor—AI.implant enables you to rapidly author AI characters that are able to move and react the way you want them to. The end result is unparalleled visual quality with AI characters that are lifelike in their movement, while remaining fully predictable for your animation needs.

AI.implant: intelligent animation above the crowd.

SUPPORTED PRODUCTS

Alias Maya® versions 5.x and 6.x (Windows and Linux)


[b]For Games:[/b]

TAKING YOUR GAME AI TO NEW LEVELS OF REALISM AND INTERACTIVITY

State–of–the–art hierarchical path–finding via waypoint networks or navmeshes (1)

Automatic level analysis; generate pathing networks on the fly

Rules–based decisions driven by environmental stimuli (e.g., Sense, Think, Do)

Tactical decision making using decision trees, finite state machines and scripting

Film–quality intelligent animation control feeds your animation engine

Sophisticated animation marker system allows you to trigger external events (e.g., play a sound, fire a bullet, match character feet to steps, etc.)

Rapid prototyping and validation of AI within the level editor

Tight integration with the game development pipeline, including powerful real–time authoring tools for level editors such as 3ds max™ and Maya®; UI SDK support for custom level editors

Includes examples of integration with various game genres various game genres (e.g., first person shooter, action/adventure, racing, etc.) as well as examples of integration with third party middleware

Production–hardened; used in commercial titles like PSI–Ops: The Mindgate Comspiracy from Midway Games

(Notes: (1) In development.)

[b]For Simulations:[/b]

FOR CLOSE–RANGE URBAN COMBAT AND BEYOND

AI.implant for Simulation meets the changing needs of the armed forces and emergency services head–on, enabling military and civilian simulations for the 21st century to deliver unparalleled realism and interaction on the virtual battlefield and the civilian front line in real–time. Based on commercial off–the–shelf (COTS) game technology, AI.implant takes computer–generated forces and crowd simulation to new heights, providing a level of detail not previously available with competing solutions.

AI.implant enables developers to rapidly create simulations that capture the dynamic of the granular, block–by–block warfare common today, providing soldiers with the experience necessary to gain the upper hand in urban operations (MOUT, OOTW) and civil emergencies.

AI.implant gives simulation developers the tools they need to translate virtual confrontations and emergency response efforts into rich, on–screen interactions with synthetic entities (e.g., friendly and opposing forces, civilians, vehicles) in real–time, completely immersing warfighter and first responder trainees in the virtual experience, ensuring that they both learn, absorb, and retain more.

In addition to accurately simulating large–scale crowd and troop movements, AI.implant can also drive close–up interactions between warfighter trainees and synthetic entities including hand–to–hand combat. With a rich feature set capable of creating complex AI behaviors, compatibility with leading technologies like DI–Guy, Gamebryo S|T and SOAR, and backed by a battle–hardened technical support team that accompanies you through your project lifecycle, AI.implant is the most powerful AI solution for simulation and training on the market today.

Catch a glimpse of the future of military training and simulation. Request an evaluation copy of AI.implant for Simulation today.

SUPPORTED PLATFORMS

Windows NT/2000/XP
Linux (Red Hat)
Xbox™
PlayStation®2

~~~

DirectIA by [url=\"http://www.directia.com\"]DirectIA[/url]

DirectIA" stands for "Direct Intelligent Adaptation". DirectIA was built to create agents that adapt to unpredictable situations (situations which were neither predicted nor programmed), look alive and seem to have intelligent behaviors. DirectIA agents can be autonomous, arbitrate by themselves between contradictory actions and motivations, adapt to their environment and to the player, have their own needs and emotions, and finally, learn from past encountered situations and from the player.

DirectIA relies on a motivational model, that is, an action selection mechanism that was developed to mimic animal motivational systems.

A powerful decisional engine: The core of DirectIA is its decisional engine which can be used to design AI behaviors ranging from basic reactions to complicated planned tasks. Thanks to its cutting-edge proprietary algorithms, DirectIA can easily model realistic human or animal like intelligence. Learn more about it in the technology section.

Script and code generation: Behaviors are defined using a simple C++ like script language which is interpreted at load time. This limits the need for recompilations and enables the user to modify his scripts via the GUI at runtime. Once in their final version, an extra speed boost can be gained by running the scripts through the code-generation tool that will turn them into optimized C++ code ready to be added to your project.

A set of low level tools: Although such tools are often highly dependent of their target application, the SDK includes a simple set of low level tools (pathfinder, map analyzer...) so your project can start right away. You'll then be able to develop your own specific solutions or work on ours.

CPU and memory efficient: Designed by video game and industry developers, DirectIA is highly optimized. Split into several tool libraries, it allows partial usage to suit your needs.

Cross-platform: DirectIA is available on Windows (98,2000,XP), X-box and PS2 platforms.

All tools are integrated and optimally communicate together, making DirectIA a global and flexible platform

Main benefits

Fully functional set of tools : DirectIA provides tools to design agents showing behaviors from basic reactive attitudes to deep-analysis abilities. Thanks to its cutting-edge proprietary algorithms, DirectIA can model realistic human or animal like behaviors.
CPU and memory efficient : designed by video game and industry developers, DirectIA is optimized to use the "minimum needed" according to the complexity of your needs.
Cross-platform: DirectIA is optimized for Windows (98,2000,XP), X-box and PS2 platforms.

There are numerous advantages to using DirectIA over developing an in-house AI engine.

Reduced production time and cost: By avoiding the tedious process of creating and maintaining a proprietary solution to your AI needs, you can cut back on cost and time. DirectIA is available right from the start, and the AI can be integrated early in the development process, thus reducing the risk of 'crunch mode' and missed deadlines.

Powerful: DirectIA has been developed by AI experts and game professionals, and was designed as an industrial engine.

Reliable: During the last 4 years and three versions, research, testing and user feedback has helped DirectIA evolve in the best AI SDK available. Already used in several games and industrial applications, it has proven itself many times [which is more than the competition can say | as a valid and complete AI solution].

Easy to use: DirectIA comes with a full documentation, several tutorials and demo applications. Developers will have no problem integrating it into their application, and behavior designers will be guided through each step, from paper-and-pencil conception to testing and tuning with the graphic interface. All features of the SDK are user-oriented. DirectIA is equally suited for the novice as well as for the expert programmer.

Ai guru free: Development teams often assign all the AI part of their game to one or two coders, only to find themselves set back when these people leave the company halfway through the project. High turnover is a reality in this business and it's dangerous to be at its mercy. Since DirectIA is easy to use, such downtimes are minimized.

Genericity and reusability: It usually takes a developer several months to write a correct AI engine from scratch. However, because of short deadlines, the resulting engine is very specific to the game it was coded for and cannot be reused easily in the next production. The DirectIA decisional engine is generic and can be used in numerous types of games and applications. Once your developers and designers are familiar with it, this knowledge is not wasted from one project to the next.

~~~

[url=\"http://www.lpa.co.uk/ind_top.htm\"]Logic Programming Associates[/url]

[b]flex[/b] Toolkit
This document describes the flex expert system toolkit, an expressive and flexible AI toolkit, available on a wide range of hardware and software platforms. flex provides a comprehensive and versatile set of facilities for programmers to construct sophisticated, readable and portable expert systems.

flex - A Hybrid Expert System Shell
flex is an expressive and powerful expert system toolkit which supports frame-based reasoning with inheritance, rule-based programming and data-driven procedures fully integrated within a logic programming environment. To make these constructs accesible in an intuitive way, flex contains its own dedicated English-like Knowledge Specification Language (KSL).
Now flex makes makes the programming of an Expert System easier than ever, thanks to its powerful "Rich Syntax Colouring", which identifies class names, actions, numbers, predicates, etc., in real time during editing and query entry.

flex - Development and Delivery
Flex contains a highly interactive development environment with integrated editor, frame browser, debugger, etc. Relationships and the connections between frames can be viewed graphically, and printed for reference.

More detailed information about frames, classes and other objects can be viewed through browser dialogs.

Run-time delivery options include: as a self-contained Windows application or as a back-end component tightly integrated into a VB/Java front-end, or as a Web component. Meanwhile, queries can be entered directly into the console window.

flex - A Dynamic Toolkit
flex goes beyond most expert system shells in that it employs an open architecture and allows you to access, augment and modify its behaviour through a layer of access functions. Because of this, flex is often referred to as an AI toookit. The combination of flex and Prolog, i.e. a hybrid expert system tookit with a powerful general-purpose AI programming language, results in a functionally rich and versatile expert system development environment where developers can fine tune and enhance the built-in behaviour mechanisms to suit their own specific requirements.

Expert Systems
Expert systems (or knowledge-based systems) allow the scarce and expensive knowledge of experts to be explicitly stored into computer programs and made available to others who may be less experienced. They range in scale from simple rule-based systems with flat data to very large scale, integrated developments taking many person-years to develop. They typically have a set of if-then rules which forms the knowledge base, and a dedicated inference engine, which provides the execution mechanism. This contrasts to conventional programs where domain knowledge and execution control are closely intertwined such that the knowledge is implicitly stored in the program. This explicit separation of the knowledge from the control mechanism makes it easier to examine knowledge, incorporate new knowledge and modify existing knowledge.

flex Rules
flex contains various inferencing engines, namely: traditional forward-chaining production rules and backward-chaining goal-driven rules, as well as, uncertainty rules such as, fuzzy, bayesian and certainty-oriented. This means you can easily describe your business rules and processes, even when you do not have a complete functional description.

Knowledge Specification Language
flex has its own expressive English-like Knowledge Specification Language (KSL) for defining rules, frames and procedures. The KSL enables developers to write simple and concise statements about the expert's world and produce virtually self-documenting knowledge-bases which can be understood and maintained by non-programmers. The KSL supports mathematical, boolean and conditional expressions and functions along with set abstractions; furthermore, the KSL is extendable through synonyms and templates. By supporting both logical and global variables in rules, flex avoids unnecessary rule duplication and requires fewer rules than most other expert systems.

WebFlex: flex on the Web!
The latest development in flex is its arrival on the web! Complementing LPA's ProWeb Server, WebFlex allows full-strength expert systems to be deployed on the Internet. Many desktop applications can now be ported to the Web with considerable ease.

[b]FLINT[/b] toolkit
This document describes FLINT, a powerful sub-system which augments the decision-making power of both Prolog and flex. FLINT provides a comprehensive and versatile set of facilities for programmers who wish to incorporate uncertainty within their expert systems and decision support applications.

FLINT
Traditional expert systems work on the basis that everything is either true or false, and that any rule whose conditions are satisfiable is useable, i.e. its conclusion(s) are true. This is rather simplistic and can lead to quite brittle expert systems. FLINT provides support for where the domain knowledge is not so clearcut.
FLINT supports three treatments of uncertainty, namely: Fuzzy logic, Bayesian updating and Certainty factors. FLINT does this by augmenting the normal backward-chaining rules of Prolog and, where Flex is present, by extending the KSL of Flex.


Fuzzy Logic
Fuzzy logic is a superset of conventional Boolean logic with extensions to cater for imprecise information. Fuzzy logic permits vague information, knowledge and concepts to be used in an exact mathematical manner. Words and phrases such as 'fast', 'slow', 'very fast', 'quite slow', 'not very fast' are used to describe continuous, overlapping states. This enables qualitative and imprecise reasoning statements to be incorporated within rule-bases so producing simpler, more intuitive and better behaved models. According to Zadeh, the father of fuzzy logic, the linguistic description of a system is much more effective and less specific than the numerical or mathematical description.
Fuzzy logic is based on the principle that every crisp value belongs to all relevant fuzzy sets to various extents, called the degrees of membership. These range from 0 (definitely not a member) to 1 (definitely is a member) with values between generated by a membership function. This contrasts with conventional, boolean logic, where membership of a set is either false or true, i.e. 0 or 1. This graduation from zero to one enables us to smooth out and overlap the boundaries between sets. Unlike boolean logic where sets are mutually exclusive, fuzzy logic allows crisp values to belong to more than one fuzzy set. This means that whereas in a crisp system, only one rule might be fired and used, in a fuzzy system all rules are used, with each having some influence on the resulting output. This is more of a concensus approach to expert systems.

The advantages of fuzzy logic expert systems compared to non-fuzzy expert systems are that they typically require fewer rules, need fewer variables, use a liguistic rather than a numerical description, and can relate output to input for any device without needing to understand the device's inner workings.


Bayesian Updating
Bayesian Updating provides a means of propagating probabilities. Bayesian networks are a rich and powerful way of building probablistic models. The perceived uncertainty within the model, as represented by the CONFIRMS and DENIES weights within the rules, is propagated through the network by the probabilistic inference engine and revised in the light or absence of data.

Certainty Factors
Certainty theory, as used in MYCIN, represents an alternative to Bayesian Updating. Instead of using probablities, each assertion has a certainty value between 1 and -1 associated with it, as do rules.
The updating procedure for certainty values consists of adding a +ve or -ve value to the current certainty of a hypothesis. This contrasts with Bayesian updating where the odds of a hypothesis are always multiplied by the appropriate weighting.

[b]The Agent Toolkit [/b]
The LPA Agent Toolkit allows you to write agent-oriented programs using a logic-based approach.
It does not impose any one agent architecture, conversation policy or an agent communication language but provides the required building blocks for you to implement any agent based architecture you desire. This makes it flexible and suitable for prototyping, reading and research purposes. Because your agents are written in Prolog, they can easily use the existing artificial intelligence and logic programming techniques.

The Agent Toolkit provides you with a skeleton of an agent which can exhibit the main agent characteristics, namely: autonomy, awareness, persistence, cooperation and adaptiveness.

The examples provided with this toolkit illustrate the use of the agent library features, agent communication in Prolog and KQML.

~~~

Spark! Fuzzy Logic Editor by [url=\"http://www.louderthanabomb.com/spark.htm\"]Louder Than A Bomb[/url]

The Spark! Fuzzy Logic Editor makes creating and integrating fuzzy logic into applications simple.

The time needed to create and tune a fuzzy logic system is drastically cut from the traditional methods of writing fuzzy logic.

Spark! has a simple and intuitive graphical user interface (GUI) allowing users to quickly create and modify fuzzy logic systems.

Spark! integrates with your applications through a simple C++ API. This allows integration into a wide variety of applications.

Spark! features real-time graphical debugging. As you "tweak" parameters and change rules there is not need to recompile!

Using the Spark! editor you can see the fuzzy logic system working as your application runs - in real time!

~~~

Memetic by [url=\"http://www.memeticai.org/introduction.html\"]MemeticAI[/url]

Billing itself as "behavorial tools for persistant world game developers", the Memetic Artificial Intelligence Toolkit (MAI) is a fairly powerful API with a good base of documentation and such. The toolkit is written entirely in NWScript, Bioware's scriping language that drives their Neverwinter Nights series of games. As such the original idea was to provide better AI for aspiring dungeonmasters using that game to build adventures.

The toolkit isn't limited to that however. MAI is a modular, priority-based system for each NPC with preemption, suspension, and resumption of various actions and states as required. A communications system is in place, and there are libraries of behaviors already provided as part of the toolkit. The code supports C++ style inheritance and various types of learning.

MAI has an excellent documentation base and some well populated forums with a fairly activie community. While MAI is focused heavily on Neverwinter Nights there's a lot to learn from its construction and the discussions that are ongoing.

~~~

Nightfall by [url=\"http://www.altorsys.com/HTMLAltor/Engine.html\"]Altor Systems[/url]

What makes this engine special?

Why make another 3D simulation when there are so many out there? To cut a long story short, we were aiming to do something very different from the engines currently published. Most real time 3D games involve a lot of shooting, and a little puzzle solving. Just try a level of your favourite game and count how many shots you must fire or entities you kill to the number of switches clicked or objects moved into special places. This is a very succesful mix, but a lot of people who enjoy puzzle solving are missing out on the experience of real time 3d (sorry - panoramic images are not the same!). However, to date we haven't been able to buy one where there is a lot of puzzle solving and little or no violence. So we decided to make one!

One thing to notice is that a lot of games use the 3D environment as hiding places for monsters, firing vantage points etc. However, how many 3D games have you played where many crucial parts of the plot are part of the 3D environment? Some games use cut scenes, or pages of text, to give away the plot, but when was the last time you read a clue on a wall?

2D image games are really good at this. That painting on the wall, or the blue disk in the fireplace could be crucial to the meaning and solution of the plot. A good test as to how involved in the plot a 3D game is comes from asking yourself "If I swapped all the textures in this level for another lot with a similar theme and looking just as good (switch one door texture for another, or one castle wall for another), would it stop me from enjoying the game?". If the answer is no or mostly no, the textures aren't crucial to the plot - do this to a 2D game and you would kill it, as many of the clues wouldn't make sense. This means textures are really important to a puzzle solving game.

For a 3D puzzle game, textures are crucial. They have to be detailed enough for you to read clues on them, and varied enough so there can be many significant things on them. Looking at the engines out there, they can do amazing lighting, geometry, and run at fantastic frame rates. However, ask them to cope with hundreds of detailed textures is a hard task. Our game has over 1000 different textures, most at 256x256, mip-mapped, with multiple palettes. Even this is just enough to get the story IN the environment. It's not as visually rich as the 2D games, but it's miles away from the currently available 3D games.

Of course, we have a lot of the attributes of other 3D engines - complex environments, true 3D and 2D objects, real time lighting, physics, atmospheric and fog effects - the list goes on and on! We can have all the cut scenes and still art/movies/text that other games have, but it's much more fun to hunt for clues that are IN your world.

[url=\"http://www.altorsys.com/HTMLAltor/Engine.html#1\"]Read More[/url]

~~~

Pathengine by [url=\"http://www.pathengine.com/overview.php\"]Pathengine Intelligent Agent Movement[/url]

PathEngine is an advanced pathfinding solution provided as middleware.

The middleware business model makes it possible to provide a much more sophisticated solution than it is practical to develop in-house.

Key features of PathEngine are automatic content processing, robustness, performance, and powerful mechanisms for working with dynamic obstacles.

Overlapping ground meshes
PathEngine supports arbitrarily self-overlapping ground meshes.
This enables seamless pathfinding over ground surfaces of world with bridges, tunnels, balconies, dungeons, multi-story buildings and so on.
Support for agent size
PathEngine takes the size of the pathfinding agent into account.
This means that small creatures can fit through narrow gaps and large creatures can't.
Obstruction boundaries and agent shapes are represented polygonally and PathEngine generates paths that take these into account exactly.
No aliasing
Because PathEngine operates on a continuous representation of the world there is no aliasing across tile boundaries or at portals.

Robustness
PathEngine uses exact arithmetic for internal geometric operations, eliminating errors due to approximation and resulting in fundamentally robust pathfinding.
Integrated collision model
PathEngine provides an integrated collision model. Pathes are guaranteed to be unobstructed for that collision model.
This makes it a lot easier to implement robust movement based AI.

Guaranteed pathfinding
PathEngine guarantees to find an unobstructed path if one exists within the PathEngine collision model.

Clear paradigm
The collision model is very well specified, providing a clean central paradigm and well defined functionality.
Dynamic obstacles and collision contexts
PathEngine supports obstacles that are placed dynamically in the world, and function consistently with the collision model.
Collision contexts enables sophisticated management of the state of dynamic obstacles, to control collision or to represent agent knowledge about the world.
Industrial strength optimisations
PathEngine includes industrial strength optimisations.
Pathfinding queries are very fast, even for long paths in detailed worlds.
Curved path generation
PathEngine provides path processing functionality to support the generation of paths for vehicles or agents with movement constraints.

~~~

[url=\"http://www.renderware.com/products.asp\"]RenderWare[/url]

Criterion Software’s main product portfolio is RenderWare®, the world’s leading middleware technology for the games industry.

The RenderWare portfolio of game development solutions, includes:

RenderWare Platform, the game development middleware of choice, that consists of an integrated technology suite providing world leading, Graphics, Physics, AI and Audio.


RenderWare Studio, the game development framework that harnesses the power of the development team from prototype to gold master.

Both are available today for PlayStation® 2, Xbox™, NINTENDO GAMECUBE™ and PC and tomorrow for wireless and next gen.

RenderWare is empowering developers to be creative within a mature, professional software engineering environment. There are over 500 current generation RenderWare games in development or published world-wide. Today 1 in 4 console titles in pre-production or development is using RenderWare technology.


RenderWare is used extensively among the game development community, including clients
such as Activision, Atari, EA, Konami, Midway, Namco, Rockstar Games, Sammy Studios, Sony Computer Entertainment, Sony Online, THQ and Ubisoft.

~~~

[url=\"http://www.cgf-ai.com/cgfai.html\"]CGF-AI[/url]

CGF-AI delivers artificial intelligence solutions for computer games and simulators. CGF-AI offers consultancy, prototypes on "open" game engines, as well as custom development.

CGF-AI specializes in tactical AI for 3D virtual worlds: autonomous AI squads and individuals, squad maneuvers and team tactics, dynamic response to threats, smart use of the terrain, human-like situational awareness, and interpretation of combat situations.

CGF-AI's experience and know-how enable state-of-the-art tactical AI that is up and running early in your project.

Why have your team explore "unknown" areas of AI, with unpredictable results and the risk of delays, when CGF-AI already has the answers and results?
Image

[color=\"#41211C\"]It takes years to build up trust and only seconds to destroy it

[/color]
Post Reply

Return to “Game Dev”