Official website
We make Kythera, the advanced AI middleware. And these are just some of the problems we've helped our clients solve...Spaceships, jetpacks, or helicopters – Kythera can plot their course through a changing and physically-realistic world. Kythera's sophisticated behaviour system makes for realistic opponents, and exciting, challenging firefights. When Kythera adds richness and variety to your character interactions, your game world can truly come alive.

1 of 4


As you’d expect from a modern AI middleware, Kythera delivers a comprehensive range of core features – including perception, target selection, cover usage and group coordination. But its real strength lies in its innovative approach to some classic game-development challenges, informed by its creators’ years of experience in commercial game design. Here are three ways that Kythera’s advanced AI stands out from traditional tools.

Dynamic Navigation

Outer space © Cloud Imperium Games, 2015

Kythera’s dynamic navigation system delivers a cutting-edge approach to a well-known and time-consuming problem. To guide character movement – ensuring, for example, that enemy troops can’t march across a chasm – most modern games employ a navigation mesh, defining the areas within which movement is allowed. Traditionally, changes to level designs required protracted regeneration of this mesh, while in-game alterations such as opening or closing a drawbridge called for resource-intensive manual scripting.

In contrast, Kythera works with your game engine to build the mesh dynamically, deriving it directly from the physical representation of your world. Any time the environment changes – whether through tweaks in the level design, or by player actions during the game – Kythera immediately recalculates the mesh, transforming the paths available to characters without any intervention from designers.

Find out more: Indie fantasy game Umbra uses dynamic navigation alongside procedural level building, for the ultimate in flexible design. See Kythera at work in our case study.

Behaviour Trees

Shooting in Star Citizen © Cloud Imperium Games, 2015

Like most modern AI platforms, Kythera uses behavior trees to manage AI characters’ responses to the situation around them. Drawing on techniques from programming language design, Kythera’s behaviour trees feature exception handling and re-useable blocks – helping designers manage the complexity that open-world gameplay demands. Behaviour trees can even be assembled at runtime, allowing an environment to deliver its own behaviours to characters who enter.

A diverse selection of flow control nodes, including prioritised, sequenced and parallel operations, allows rich behaviours to be specified within a standardised framework. Or if that’s not enough, full-blown finite state machines permit an almost boundless range of interactions.

For games with simpler requirements, a stripped-down selection architecture offers fast and effective access to the most important features. And when things go awry, tight integration with Kythera’s blackboard architecture and frame-by-frame diagnostic replay make debugging complex behaviours an intuitive and visual process.

Debugging Toolkit

Fixing bugs in Star Citizen © Cloud Imperium Games, 2015

Kythera’s developers have served their time in the trenches of game development, so we understand that powerful debugging tools are as important as a flashy feature set. With its flexible, extensible architecture for real-time analysis, Kythera makes understanding AI state as simple as navigating a web page. And thanks to fine-grained control over rich graphical debugging, developers can see all they need to know while hiding the distracting detail.

To assist in debugging and experiment with behaviors, designers can make live changes right in the middle of gameplay. While the action’s paused, they can tweak parameters, then see the results immediately reflected in the running game.

New for 2015, an innovative diagnostic-capture system streamlines the debugging process for teams and individuals alike. If a problem emerges in normal gameplay, you needn’t struggle to reproduce it; instead, you can just replay the captured records in debug draw. What’s more, the captured information can be passed around – from a designer to a developer, perhaps. The recipient doesn’t even need to be running the same build of the game.

We need your consent

We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more