Code Documentation

From Hero of Allacrost

Jump to: navigation, search

This section contains links to various pieces of documentation about the code written specifically for Allacrost. Documentation detailing how to play the game or use the map editor to design new maps can not be found here. There are three forms of documentation available.

- Hand-written documentation for the game engine and API
- Technical documentation generated by Doxygen
- Comments available in the code


General Documentation

This section contains general documentation that is vital for developers to read through and understand. If you intend to develop code to be officially included in the Allacrost engine, you should begin reading here.

Quick Start Guide
A brief introduction to the design of the Allacrost engine and its major components. The most useful piece of documentation for new developers.

Tutorials illustrating the Allacrost game engine.

Code Standard
A concise listing of all the conventions that must be followed when writing code for the Allacrost engine. Also provides some background onto why certain standards were chosen.

Technical Documentation (links outside of the wiki)
The latest documentation of the Allacrost engine that was generated by Doxygen. This grandiose documentation contains complete lists of all namespaces, class names, file names, UML diagrams, inheritance charts, and more.

Global Classes There are a number of class objects that all need to be used by a number of game modes. For example, items, equipment, characters, and enemies. This documentation explains what classes are available and how to use them.

Engine Documentation

This section is full of in-depth discussion on the APIs of all the various engine components. Some brief discussion on why certain design decisions were made are also scattered throughout these documents. If you are a developer, you should monitor changes to these pages as they are likely to directly affect you.

Audio Engine
In-depth documentation of all the features available in the audio component of the Allacrost engine, and a brief introduction to the OpenAL backend.

Scripting Engine
In-depth documentation describing how the core C++ engine interfaces with data files and scripts written in Lua.

Input Engine
In-depth documentation on how the Allacrost engine retrieves and processes user input.

Mode Management Engine
In-depth documentation on the game mode stack mechanism that is pivotal to how the game operates.

System Engine
In-depth documentation on the system engine, which manages timed functions, threads, and various game settings.

Video Engine
In-depth documentation of all the features available in the video component of the Allacrost engine, including drawing images, rendering text, and the GUI subsystem.

Game Mode Documentation

This section explains the implementation of the various game modes that Allacrost runs. Example game modes include: boot mode for handling everything on Allacrost's boot screen, map mode for map exploration and NPC interactions, and battle mode for processing the execution of in-game battles. Game modes are not a part of the core engine, and thus any number of game modes can be written, developed, and included in the Allacrost distribution.

Battle Mode
Everything that occurs during a battle, from animation, to sound playback, to victory or defeat screen, originates from this game mode.

Boot Mode
The first game mode made active when the game is started, this mode handles all of the graphics and menu operations seen on the boot screen.

Map Mode
Handles everything from town and dungeon map exploration, dialogues amongst characters, and NPC artificial intelligence. It is one of the most pivotal game modes in Allacrost.

Menu Mode
This mode is made active when the user brings up the main menu, in which they can do things such as manage characters, items and equipment, or save the game.

Pause Mode
A simple game mode that pops up when the user requests to pause or quit the game.

Save Mode
Allows the user to save or load their game

Shop Mode
Presents the user with an interface through which they can purchase wares from a shop keeper or sell objects in their inventory

Map Editor Documentation

Allacrost would never come to be were it not for its powerful map editor. The documentation within this section describes how the map editor is bound together and what it can and can not do.

Map File
A description of the syntax used and items necessary for defining a complete map. The map file is generated by the editor.

Tileset Definition File
A description of the syntax used and items necessary for defining the properties of a tileset. This file is currently hand-made, but plans are in the works for the editor to generate it (with input from the user).

Personal tools