FEAR User Guide

Alex J. Champandard

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with Invariant Sections "Abstract", no Front-Cover Texts, and no Back-Cover Texts. A copy of the FDL license can be found right here.

Abstract

This User Guide is part of the FEAR documentation. It explains how to setup and use different parts of the project in a practical fashion. The examples are kept very simple to emphasize the methods used. As a complement, the tutorial on AiGameDev.com introduces a variety of concepts applied to create different NPC.

Table of Contents

1. Quick Start
2. Building FEAR From Scratch
2.1. Dependencies
2.1.1. Boost
2.1.2. DocBook XSL Templates
2.2. Development Environment
2.2.1. Python
2.2.2. SCons
2.2.3. libxml2
2.2.4. Cheetah Template Engine
2.2.5. Xalan & FOP
2.2.6. Graphviz
2.3. Automated Build
2.3.1. Source Code
2.3.2. Build Variants
2.3.3. Documentation
3. Compiling FEAR
3.1. Full Compilation
3.2. Animats
3.3. Modules
3.4. Platform
3.4.1. Quake 2
3.5. C++ Framework
4. FEAR Platform Installation
4.1. Setting Up Quake 2
4.1.1. Quake 2 Data
4.1.2. Latest Binary Patch
4.1.3. Custom Game Levels
4.2. Configuring the FEAR Modification
4.2.1. Environment Variable
4.2.2. Game DLL
4.2.3. FEAR Directories
4.2.4. XML Data Files
4.2.5. Shortcut Links
4.3. Preparing the Animats
5. Creating Custom Animats
5.1. Manual Implementation
5.2. Using the Tools
5.2.1. Creation
5.2.2. Code Generation
5.2.3. Build Phase
5.2.4. Installation
6. Launching a FEAR Simulation
6.1. Quake 2 Engine
6.1.1. Dedicated Server
6.1.2. Quake 2 Clients
6.1.3. Managing Animats
7. Debugging in FEAR
7.1. IDE Configuration
7.1.1. Visual Studio 7
7.2. Using the Debugger
7.2.1. Breakpoints
7.2.2. Stepping Through Code
7.2.3. Viewing and Modifying Variables
7.2.4. Edit and Continue
8. Where to Find Help
8.1. Using the Source Code