Our Kythera AI middleware provides a flexible, scalable framework and a wide set of features - including character and 3D vehicle navigation, behavior authoring and rich debugging tools. Integrated with Unreal, CryEngine and Lumberyard, it has shipped on PC, Mac and Linux platforms, both for single-player games and on servers, and has been used for games in genres as diverse as space combat simulation and hack-n-slash. These are three areas where Kythera excels.
Navigation in 2D and 3D
Kythera’s cutting edge 3D navigation solution allows vehicles to fly confidently in full 3D environments, moving between obstacles, through complex terrains, within caverns and cave networks, in systemic combat or responsive formations. While historically spaceflight has been an area of special focus, Kythera handles helicopters, planes and submarines just as easily as spaceships. The movement implementation understands the acceleration limits on these vehicles - allowing it to plan for the time they take to change direction, speed up or slow down.
Where designers want more control, it’s the spline tool that allows paths to be defined with precision and complete freedom. Vehicles can be configured to follow these paths exactly, either within their physical limits or ignoring them. Even in this tightly controlled mode, Kythera understands how the movement relates to the changing environment and is able to divert vehicles from their paths to avoid moving obstacles. Designers can configure Kythera’s systemic behaviours to choose pre-defined splines dynamically, enacting bombing runs or stealthy courses.
Character navigation was Kythera’s very first feature and demonstrated the potential of fully dynamic navigation in games as long ago as January 2013. Most modern games employ navmeshes to define the area within which human movement is allowed, but generating them can take hours and they can be hard to alter when destruction or other world changes occur, requiring manually scripted workarounds. Kythera led the way in showing how regeneration of areas could be done on-the-fly, automatically - simplifying designers work and enabling dynamic new gameplay.
On top of reflecting dynamic changes, Kythera can now generate navmeshes over vast areas in just a few minutes, or pre-processing can be skipped entirely and the mesh generated around characters as needed - allowing instant turnaround for designers and immediate gameplay in procedurally generated levels.
The avoidance system within Kythera allows characters to steer around each other robustly and efficiently enough to allow scenes with hundreds of characters. Alternatively, Kythera’s fluid movement mode, based on boids, allows crowds to move naturally and smoothly. Taking advantage of this capability, Umbra demonstrates huge hordes of enemies pouring forth and surrounding the player with overwhelming force.
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.
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 behavior trees feature signal and exception handling, state machines 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 allow rich behaviours to be specified within a standardised framework, and custom nodes are easily added for the specific requirements of your game.
Not into behavior trees? We support other paradigms like FSMs and selection trees, giving the same access to our other features under a simpler state-selection model. Either way, 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.
Find out more: AAA space sim Star Citizen deploys complex behaviour trees to control characters and drive dogfighting spaceships. Watch a fight unfold, and see the data underpinning it, in our detailed case study.
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.
Kythera's 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 designer to programmer. The recipient doesn’t even need to be running the same build of the game.
Find out more: Watch the debugger at work in the midst of a spaceship dogfight, as part of our Star Citizen case study.