Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

Peon Engine

1.0.0

Introduction

The Peon collection of objects is meant to help the beginner learn and understand the fundamentals of game programming. The goal of the engine is to help you do things.It is not meant to be a heavy framework.

I'm not against other frameworks (don't get me wrong), but sometimes they become so laden and burdened that it becomes difficult for the newbie to simply pick up the codebase and run with it quickly.

DLL

Why is this a Dynamically Linked Library? Although SDL is a platform independent library, the Win32 version of the Peon library compiles as a DLL. I chose this route, simply because it can make the support of this library easier in terms of upgrades for any customer buying/using your game built with Peon. Because the code links with the DLL during the runtime of your game, you are free to update/upgrade any code within so long as you don't change how the functions/classes are interfaced with your modules.

For example, the SceneRenderer object (so far) handles some primitive rendering commands. If you were to discover a bug within the object, or wish to change it's functionality, then you could just re-ship the DLL to the customer, so long as you don't change any function names themselves.

This library also compiles as a DLL, since it depends upon a few other projects which are themselves packaged as DLL's. You don't want to end up violating any licenses, but still have the freedom to create/distribute the project you want.

Dependencies

The Peon library/collection of objects is built upon some existing popular libraries that are already being used by professional game developers.

Note: The license that comes with Peon only covers the Peon library itself. Each dependency has its own licensing terms that you are responsible for.

For the most part these are all successfull open source projects which are released under the LGPL (the same as Peon). Provided you retain the copyright headers of each project you can still release commercial software using them and retain all the bling.

Here is a list of links to each of the license information pages for any dependent sub-projects the Peon library includes/uses.

Installation

Check Appendix A in the book "Game Programming in C++: Start To Finish" for some instructions on getting this setup.

Generally just make sure you let your IDE know where to find the /Peon/PeonMain/include and /Peon/PeonMain/lib folder. The /Peon/redist folder contains the compiled version of this library, along with the DLL's that you need to distribute with any application using Peon.

Having your installer copy them to the customer's windows folder is an option, or you can leave them all in the same folder as your binary executable. The choice is yours and just depends on how you want to support your own product. ie. your installer should "be nice" and remove them during an uninstall of your game, etc.

General Usage

The general usage for this library is meant to be (hopefully) very simple as I mentioned above. The basic practice is:
  1. Derive a new application instance from IApplication
  2. Derive any needed states from IApplicationState
  3. Throw everything into the EngineCore instance
  4. Enjoy game programming!

Note: Always check http://book.wazooinc.com for the latest version of this library and any updates.

Further Resources

For additional resources into 3D engines, feel free to download and inspect the source code to these awesome engines.

Note that this list is not ranked in any order

For a further list of 3D engines and their specifications, be sure to visit the 3D engines database maintained at http://www.devmaster.net/engines


Generated on Thu Dec 1 01:55:40 2005 for Peon by  doxygen 1.4.1