Software should suit you. Grail does. You can change it, mix it, and it will continue doing its job.
Grail’s AI is developed with care by brilliant researchers who bring the quality of academic knowledge to give you proven results.
You shouldn’t have to get a PhD to use software. Grail gives you a clear GUI and extensive documentation for all your needs.
The AI in Tactical Troops is running on Grail thoroughly.
Tactical Troops is a squad-based tactical game with turn-based gameplay and continuous movement
without a grid. It fits the frame of an ideal showcase of Artificial Intelligence. Bots need to
tackle many challenges in real-time, e.g. choose their current objectives, reason in a dynamic
select the right weapon or gadget for the job, attack, take cover, support, etc.
Grail has allowed us to develop AI in Tactical Troops in a modular fashion using two of its three main algorithms. On the top-most level, there is a strategic AI operated by Grail's Utility System. The strategic component sets orders for units e.g. where to go, who to cover or attack. The orders are passed to the tactical AI, which is implemented using Grail's simulation-based methods. The tactical AI plans each turn within certain constraints set by the strategic layer. Both strategic and tactical components operate with their own set of behaviors. They interact with the environment as well as with each other using the blackboard architecture. Publication 2021-04-15 by QED Games.
First prototypes of Grail's algorithms were used in Ancestors Legacy, a real-time strategy game
by Destructive Creations. For this project, we developed a bot for online multiplayer games,
capable of controlling up to five players at once. The approach used in Ancestors was based on a
multi-agent system, using utility-based AI to perform various tasks, such as attack target
selection on strategic and tactical levels or determining the right build order. The ideas and
experiences gathered during our collaboration served as a cornerstone for the techniques used in
the final version of the framework.
Yes. It can be achieved either by substituting reasoners for more/less detailed ones or it is possible to change data on entity's blackboard to make it consider more/less relevant data.
Somewhat. That would require wrapping Behavior Tree execution in Grail Behavior. Then it could be provided to reasoners or manually assigned by user.
Yes, all that needs to be done is to make animation system accessible from given Grail AI Entity (i.e. push it on entity's blackboard). Then behavior can interact with animation system in all its methods. For example behavior can be prolonged for animation duration, or when behavior is starting it's execution it can cause animation to be played. If animation is more complication and consisting of few phases behaviors can be connected into a sequence, where each one of them will manage one phase of animation.
When constructing AI Manager user can provide number of worker threads which will iterate over registered entities, updating them simultaneously. If user chooses not to do so, all operations on this manager will be done synchronously.
Depends on how complicated you need it to be. Simple AI reasoners will not need much memory, but advanced game simulations will cerainly need more.
Yes. All you need to do is to tweak their reasoners.
It is, you just need to take mobile limitations into consideration while designing Grail reasoners.
Yes, grail behaviors are terminated mainly in 3 situations: 1. behavior sucessfully finished 2. behavior is no longer legal and there is no way to continue its execution 3. behavior is overriden with another one, either manually or because reasoner thought that another behavior is more suitable to current situation.
We provide plugins for Unity and Unreal Engine 4, which means that in those engines Grail should work out of the box. Hovewer Grail should work with most of the available game engines as long as they can be scripted in either C++ or C# and can include external libraries.
C++ and C#.
[EN] A stand-alone modular tool for equipping video games with multi-purpose & high-performance artificial intelligence.
[PL] Opracowanie zewnętrznego modułowego narzędzia do implementacji i optymalizacji zaawansowanej sztucznej inteligencji szerokiego zastosowania w grach wideo.
Goal: The project concerns creating a component-based engine for embedding advanced artificial intelligence (AI) in games. The main usage of the AI will be to equip actors or group of actors (often also referred to as characters) with realistic sophisticated behavior. The actors will be able to efficiently drive towards their individually set goals (e.g. trying to beat the human opponent in a war-fare game) as well as adapt to the human player’s way of playing. Our objective is to provide tools which will allow game designers to express their artistic aims without requiring them to be closely familiar with the AI field. It must be emphasized that despite the fact that the project aims at the creation of computer characters which play more effectively than is achievable with existing methods, the benefits of such characters – which, moreover, can be parameterized – are numerous. At the present stage of development of the industry it is important to engage a player for a longer time, which can be done by confronting a human player with a character with a more realistic playing style or with one adapting in time to the next levels of a human player’s skill. The expected results of the project will address problems and deficits of the products currently offered on the video games market. The problems result from the very rapid development of technology and the growing expectations of customers. Therefore, our target user group are game developers. We will use various channels to reach them and each channel will be based on a certain result achieved in the project.