Project Description
A simple 3d top-down view engine developed using XNA Game Studio 2.0.
Introduction
This engine aims to be similar to the engines of unreleased games such as: Van Buren or Troika's "Mystary". Besides, it's rather educational project. It is currently in very early development stage and is being actively developed in a rather hobbistic way:) But I hope to implement new things as fast as I can, and even faster with other contributors' help.
Goals
- Easy to extend
- Easy to develop
Design ideas
The main parts of this engine are different managers, which take care of managing the in-game objects (entities). These managers aren't connected with each others, and they operate on entities via interfaces (through events etc.) This allows easy adding new manager, and new entity as well. Think of the manager as GameComponent and the entity as Control in WinForms (for a lack of better comparison).
Currently Implemented
- RenderingManager
- Keep entities in Octree for frustum culling
- Interconnects effects with the light environment
- Renderer
- SAS v0.86 parameter binding + extended set of semantics
- PipelineBuffer - tries to minimize state changes
- Multipass rendering that handles any number of lights(although it's not as efficient)
- Top-Down View Camera
- Shadow maps
- World
- Few entities for testing that shows how to use the framework provided by interface and managers
- GUI(using WindowSystem for XNA)
- ReflectionWindow - gives access to the managers and entities to easy in-game debugging and interacting
(Note that even things which are listed as implemented are still requiring lot of work)
Renderer is currently being rewrited to support SAS, and whole thing is a mess now.
More:
News
Shadow mapping and multipass lighting

Scene filled with test entities, few reflection windows opened up.

Maybe it's not easily seen, but besides some strange new model, and something like ground, there is also normal mapping here. And all is lit by something that mimics sun.
Some documents which help me understand what I'm doing.