In order to create a video game, most programmers are using a game engine.
A game engine is a software framework designed for the creation and development of video games.The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2D or 3D graphics, a physics or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading,localization support,scene graph, and may include video support for cinematics.
In the same way that programmers are using Game engine in order to code quicker and focus in the game creation, they can use tools and toolchains. Most of AI design tool use simple techniques as finite movements and pathfinding, decision trees or state machines.
In Unity there is a special tool to make your own state machines, making creation of behaviours easier :
Toolchains will enable content creation to be standardised (with models, textures, sounds, levels, animations etc…). Toolchains will allow designers to modify data rather than the code itself.
However tools and toolchains have limits because code cannot be easily edited, and it can require specific programming for one character and also limits level creation speed and character reuse.
Here is an example of a middleware : RAIN AI for unity
RAIN is a free middleware that enables developers, designers, and artists to create intelligent and interactive characters for their game.
Here is a quick overview :
RAIN includes a lot of features as :
- Movement and pathfinding (and also behavior) : giving us opportunity to use either waypoints to create path or navigation mesh system for detailed movement. Moreover a built-in behavior Tree editor can help you to attached a behavior to your character with movement such as patrolling, wondering, hiding, attacking, chasing…
Behavior & Animation : RAIN proposes its Behavior Tree editor to bring characters to life allowing you to quickly and easily add movement, animation, sounds effets and sensory awareness. RAIN also supports built-in integration Unity’s State Machine
- Perception : RAIN includes perception features that allow you to easily make your character lively. Through its perception, the character will become aware to environment events such as close footsteps, raindrops and even injured allies.
Performance : RAIN also provides a tool to check game performance.
Here is a shortlist of middleware :