Our mission is to deliver cutting-edge AI solutions to game developers. The mission of the AI is to equip actors, group of actors with realistic sophisticated behavior.
A middleware for simulating and optimizing agent behavior in multi-agent environments Grail is the result of our R&D project, driven by the industry's need for both reaching new frontiers of user engagement as well as increasing the quality of the development process itself. A new tool for modeling agent behavior in simulations and video games. The premise is simple ֠we enable the introducing of complex AI without the cost of recruiting / maintaining a team of AI experts and mathematicians. Moreover, there is no need to rewrite existing code.
After integrating our programming library with the game environment, the AI can be modified and tweaked independenty, by means of approachable GUI tools. Plugins for two of the most popular game engines (Unreal, Unity) will be available soon, significantly lowering the entry barrier for using truly cutitng-edge AI in the industry.
If you are a developer you will find that using Grail you can implement typical decision-making AI faster and easier. You will achieve sophistication that would be infeasible to create from scratch. Grail offers tools to define not only the behavior of computer agents (building blocks for game AI) but also parameterizable and reusable decision-making systems for them (with algorithms such as Utility AI, Planning, Monte Carlo Tree Search running under the hood). Additionally, you will work with easy to use and well documented interfaces for the techniques.
Where else could Grail be a support to you? In preparation of a multi-agent system, in which agents communicate with each other using a black-board architecture or in configuring the created AI system using GUI-based tools. In many parts, there is also no coding needed, so the configuration can be partly done by designers. Grail can also be used to debug and analyze the created AI system using GUI-based tools. You can use Grail in one of four forms: a native C++ library, a native C# library, an Unreal Engine 4 plugin or a Unity3D plugin.
Grail is about implementing decision-making. It is a tool for developers and designers who work in this area. To help your product make incredibly smart decisions. You can use two sides of Grail. The design-based side helps your virtual characters do certain things you want them to do in your video games, virtual reality tutorials, 3D/CG movies. The procedural side enables your agents to reason about goals (after the developers provide a model of the game reality).
Using Grail the programmers are able to implement the desired behavior faster, without the need of profound understanding of the algorithms (a basic one is required, though). Thanks to the procedural techniques, the behavior can also be more sophisticated if needed. Meaning, your computer-controlled agents will get smarter!
Depending on your research, you may:
Grail provides high-quality implementations of Monte Carlo Tree Search (MCTS), Utility AI, Goal-Oriented Action Planner (GOAP) and Evolutionary Algorithm (EA). In addition, it includes basic implementation of Decision Trees that can be constructed automatically.
A lot of research is based on or includes, in some form, one of these techniques. Although Grail has reasoners dedicated for game developers that encapsulate the algorithms, you can have access to their implementation as well. You can modify it, extend and carry out experiments aimed, for instance, at evaluating a particular MCTS extension, a hybrid approach or just an application of a particular technique in your research problem.
In this case, examples of research include human-machine interaction, an analysis of how people play games and interact with computer-controlled characters, an analysis of emergent behavior, planning in a simulated environment, robotics, research in video games (in general), etc.
Often, such research requires a simulated environment, in which there are agents controlled by the AI. Grail enables faster creation of such an environment by providing tools for defining agents’ behaviors.