AI Debugger

Overview

AI Debugger is split into AI Debug Recorder and AI Debug Viewer.

AI Debug Recorder

The AI Debug Recorder is a utility used to document the inputs and decisions AI agents are receiving/computing in real-time during the course of a game session. This data is collected and saved within a file. The file can then be viewed in the Editor to visually sort through the data and view it within the 3D world. The purpose of this is to enable the development team to be able to solve nasty AI issues/bugs and to further refine and improve the behaviors and decisions the AI take during the course of a typical game.

High-level AI bugs (which typically manifest in the decision making process at the behavioral level) are generally nasty to discover. More often than not, by the time the player/tester has recognized the odd behavior of an AI agent (if the human is even capable of recognizing that), the bug has long-since past. This is because it is often one bad or wrong decision the agent made some time ago caused a chain reaction of failures, leading up to the odd behavior presented to the player. By the time the AI programmer can bring up any real-time debugging info, the problem may be severely masked and too hard to pick out from the rest of the errors.

Furthermore, developers are susceptible to biased interpretations of the AI, and although these assumptions can have merit, usually they just "did the wrong thing" and the AI reacted according to the game rules. For example, you believe yourself to be hidden in a corner or inside a bush and an AI near you detects you and fires at you. Was this because the AI broke the rules and saw you illegitimately? Or were you not really hidden? Once the AI reacts, it's too late to determine which was the case.

The AI Debug Recorder is meant to solve these issues. By recording all inputs and decisions an AI agent makes in real-time, it is possible to look back in time and find that critical moment. If the right information is recorded, it should be trivial to not only recognize the real problem (if there really was a problem), but to also know where and how to solve the problem.

The purpose of this documentation is to explain how to use the AI Debug Recorder package, not how the package actually works. The AI Debug Recorder is broken up into two main parts: