Changes between Initial Version and Version 1 of EngineDocumentation


Ignore:
Timestamp:
Oct 24, 2007, 1:20:38 AM (17 years ago)
Author:
anonymous
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • EngineDocumentation

    v1 v1  
     1This document will contain a high level overview of the engine and modules
     2that will eventually be moved to the Trac Wiki.
     3
     4For now, we just have the table-of-contents notes from Gobby.
     5
     6engine overview
     7  life of a game session from start to finish (pyrogenesis startup, VFS, menu GUI,
     8    creation of game object, loading, gameplay, scripts, etc), mentioning the
     9    components involved in each part
     10  explanation of multiplayer sessions
     11  explanation of how Atlas fits in
     12
     13how to build the distribution
     14  supported compilers
     15 
     16  build system
     17    . only one copy of settings for Mac, Win, Unix (helps keep workspaces in sync)
     18    . what it means to update-workspaces
     19    . organization of the tree as static libraries
     20    . external libraries and how they are linked in
     21    . required libraries for Linux and OS X ("manual" installation of the game)
     22
     23finding your way around: brief description of all repository directories
     24  merge the below descriptions of svn/source and those already found in "finding your way"
     25
     26
     27overview of svn/source directories:
     28  collada: routines for loading COLLADA 3d models
     29  dcdt: triangulation library used by the pathfinder
     30  graphics: manages objects drawn on the screen, like textures, animated models,
     31    terrain patches, etc
     32  gui: a homemade OpenGL in-game GUI based on XML files
     33  i18n: routines for internationalization (translating in-game text)
     34  lib: Jan's collection of mostly low-level routines.
     35    allocators: memory (sub)allocators
     36    posix: POSIX emulation when on Windows
     37      file: efficient file loading code.
     38        http://www.wildfiregames.com/users/code/wiki/index.php?title=Virtual_File_System
     39        http://www.stud.uni-karlsruhe.de/~urkt/articles/study_thesis.pdf
     40    res: resource handling (textures and sounds)
     41    sysdep: bridges differences between systems and allows 'portable' code
     42    debug (asserts), error handling, timing bit bashing, etc. - all the dirty details.
     43  maths: math code (linear algebra, geometry)
     44  network: the network engine (based on Enet; serializes game messages)
     45  pch: pre-compiled headers (this directory is required by the build system)
     46  ps: pyrogenesis engine - basically, 'everything else'
     47    utility classes, console, profiler, XML loader
     48  renderer: rendering algorithms, including sorting, quality settings, shadows and water
     49  script: scripting engine (Javascript)
     50  simulation: most of the actual RTS game logic
     51    simulation turns, entities, techs, unit AI, pathfinding, ..
     52  sound: (WIP) high-level sound and music engine
     53    builds on an abstraction of OpenAL
     54  tools
     55    particle engine, archive builder, map editor, random map generator, PMD exporter
     56  overview of scripts in data/mods/official/scripts (entity functions & game startup)
     57 
     58misc topics:
     59  self-test
     60    . purpose
     61    . mechanism in VC IDE
     62    . where they lie
     63 
     64  overview of art formats
     65 
     66  useful features for testing/development
     67    copy from the finding your way around - doc