Version 7 (modified by Jason, 17 years ago) ( diff )

--

Jason Bishop Jan Wassenberg

== Introduction ==

Wildfire Games (WFG) is a group of hobbyist game developers in the process of producing a freeware real-time strategy (RTS) game. The name of this project is 0 A.D. (``zero ey-dee"). In short, it is a historically based war/economy game that allows players to relive or rewrite the history of western civilizations, focusing on the years between 500 B.C. and 500 A.D. The project is highly ambitious, involving state-of-the-art 3D graphics, detailed artwork, sound, and a flexible and powerful custom-built game engine.

Our game engine, called Pyrogenesis, is specifically designed for flexibility and ease of modification. Game logic, art work and data can easily be changed through data files.  The engine itself is designed to provide maximal flexibility while while remaining efficient.  Pyrogenesis therefore provides a solid platform on which to work on individual features of RTS games, and can be used to create a completely different game from 0 A.D.  Wildfire Games is actually developing a second project based on the Pyrogenesis engine in parallel - a Lord of the Rings-based game called The Last Alliance.

0 A.D. has been in development for five years.  The team members are largely students and game development hobbyists.  The game has always been intended to be released as freeware and available to all, and none of the participants have been or will be compensated financially for the contributions they have made.  The reward for us is the experience we have gained and the pleasure of creating a game RTS enthusiasts like us have been waiting for.

Wildfire Games is now creating a new branch of development.  As students ourselves, we are aware that working on interesting problems in an academic setting is often difficult due to lack of access to a complete real-world system. Therefore, Wildfire Games would like to offer the source code of 0 A.D. to universities under an open-source license, as a means of enabling coursework, theses and research based on problems in game development.  In return, we would benefit from the contributions of students and researchers that are experts in their fields.

== Pyrogenesis Features ==

The Pyrogenesis Engine was built from the ground up by WFG programmers. Its open-ended architecture can accommodate real-time strategy (RTS) and third-person role-playing game (RPG) game types. 

A brief feature list of the Pyrogenesis Engine follows:

TECHNICAL
- Engine Language: C++
- Scripting Language: Javascript
- Data files: XML (with transparent and automatic conversion to binary files) 
- Rendering: OpenGL with shaders
- Libraries used:
    OpenAL, OpenGL, Boost, Crypto++, !CxxTest, DevIL, SDL,
    !SpiderMonkey, Vorbis, wxWidgets, Xerces 
- OSes:
    * Windows 2000, XP, 2003, XP64, Vista
    * Linux
    * MacOSX (in progress)
- System Requirements:
    1 GHz CPU, modern graphics card (GeForce 3 at minimum), 512 MB RAM
- Tools used:
    - Visual Studio, g++, !CppDoc, COLLADA

GRAPHICS
- OpenGL based rendering engine with shaders
- Hierarchal skeletal animation and deformation system based on COLLADA
- Fancy animated water with refraction, reflection
- Realistic Shadows
- Particle effects
- Environmental lighting effects (time of day, sunset)
- Flexible terrain renderer that uses alpha maps to seamlessly blend terrain

AI
- A* pathfinding
- Designed to support "RTS style" AI (workers, NPCs)

MULTIPLAYER NETWORKING
- Peer to peer, no central server
- Lockstep simulation
(planned: reliable UDP for firewall punchthrough, detection of cheating/OOS)

LEVEL EDITOR
- Includes a level editor (Atlas) integrated with the Pyrogenesis engine.
- The editor uses the same rendering engine as the game itself.
- Deform terrain in real-time and sculpt intricate landscapes quickly and intuitively.
- Create a level and try it out in the editor immediately.
- Includes an Actor Editor that has a GUI interface to assist in defining the entities visually in the game.
- Includes a Random Map Generator and custom scripting languge
- A sound tool allows defining sound properties.

MODS
- Aspects of the game can be tweaked with tools or by modifying XML and Javascript files to totally change the game.
- Easily modify content (units, buildings, the tech tree, ..) without touching any C++ code.
- Console command panel
- The game code is separate from the core engine.
- Uses open, standard file formats: COLLADA 3D assets, Zip archives

SUPPORT
- Access to extensive documenation
- Well-commented code
- WFG developers just an email away

== Why? ==

Why should you as a student or a professor be interested in using Pyrogenesis?

- The game itself is visually attractive as delivered. Instead of the all too frequent ``programmer's art", you have quality artwork at your fingertips that allows showing your project in its best light.
- WFG has taken great pains to emphasize history through out development stressing authenticity and accuracy; always remembering the educational opportunity we have in games.
- The software is portable (works on Linux and Windows, MacOSX coming soon).
- The code and design are well documented (comments, !CppDoc documentation, Wiki,
  some full technical reports, reams of forum posts with rationale and discussion).
- We willing to go open source.
- The project is made up of gamers / people looking to get into the industry;
  a good deal of experience in this area has been gained and can be passed on.

== Licensing ==

For the source code, we suggest a common open-source license such as the GPL. The artwork would be made available for academic and non-commercial use (this is to prevent unscrupulous people from selling the finished product). 


== FAQ ==

When can this get started?
<<We need to make arrangements for efficiently distributing the data files and would like to finish the second revision of the network code. However, we are in principle available for collaborative work starting now.>>

What is WFG's angle?
<<Two of our programmers have had the pleasure of being able to work on parts of 0 A.D. within the scope of a course project. This yielded attractive results because the new work could be shown in the context of a full game and also advanced the project's development. Having seen the success of this approach, we would like to extend the same chance to interested students and hopefully integrate new developments into the public version of the game.>>

Note: See TracWiki for help on using the wiki.