Version 1 (modified by anonymous, 17 years ago) ( diff )

--

This document will contain a high level overview of the engine and modules that will eventually be moved to the Trac Wiki.

For now, we just have the table-of-contents notes from Gobby.

engine overview

life of a game session from start to finish (pyrogenesis startup, VFS, menu GUI,

creation of game object, loading, gameplay, scripts, etc), mentioning the components involved in each part

explanation of multiplayer sessions explanation of how Atlas fits in

how to build the distribution

supported compilers

build system

. only one copy of settings for Mac, Win, Unix (helps keep workspaces in sync) . what it means to update-workspaces . organization of the tree as static libraries . external libraries and how they are linked in . required libraries for Linux and OS X ("manual" installation of the game)

finding your way around: brief description of all repository directories

merge the below descriptions of svn/source and those already found in "finding your way"

overview of svn/source directories:

collada: routines for loading COLLADA 3d models dcdt: triangulation library used by the pathfinder graphics: manages objects drawn on the screen, like textures, animated models,

terrain patches, etc

gui: a homemade OpenGL in-game GUI based on XML files i18n: routines for internationalization (translating in-game text) lib: Jan's collection of mostly low-level routines.

allocators: memory (sub)allocators posix: POSIX emulation when on Windows

file: efficient file loading code.

http://www.wildfiregames.com/users/code/wiki/index.php?title=Virtual_File_System http://www.stud.uni-karlsruhe.de/~urkt/articles/study_thesis.pdf

res: resource handling (textures and sounds) sysdep: bridges differences between systems and allows 'portable' code debug (asserts), error handling, timing bit bashing, etc. - all the dirty details.

maths: math code (linear algebra, geometry) network: the network engine (based on Enet; serializes game messages) pch: pre-compiled headers (this directory is required by the build system) ps: pyrogenesis engine - basically, 'everything else'

utility classes, console, profiler, XML loader

renderer: rendering algorithms, including sorting, quality settings, shadows and water script: scripting engine (Javascript) simulation: most of the actual RTS game logic

simulation turns, entities, techs, unit AI, pathfinding, ..

sound: (WIP) high-level sound and music engine

builds on an abstraction of OpenAL

tools

particle engine, archive builder, map editor, random map generator, PMD exporter

overview of scripts in data/mods/official/scripts (entity functions & game startup)

misc topics:

self-test

. purpose . mechanism in VC IDE . where they lie

overview of art formats

useful features for testing/development

copy from the finding your way around - doc

Note: See TracWiki for help on using the wiki.