Element Game Engine

Element is a 3D game engine developed in C++ over a period of approximatly 2 years. This engine is a fine example of most of my C++ experience and knowledge. Having such success with my previous 3D engine (Mercury3D), I decided to rewrite to be more DirectX focused.
Element Game Engine feature list.
3D Engine:
- Full DirectX 9 support.
- Quake 3 BSP Map rendering with PVS.
- Frustum culling (point, sphere, and box).
- Full support for Quake 3 MD3 models.
- Bezier quadratic curved surfaces.
- Pixel/Vertex shaders supporting HLSL and assembly GPU code.
- Full support for the DirectX Effect framework (.fx shaders).
- Flexible material system with scripted material shader files.
- GUI system for simple windows look or advanced animated arcade style interfaces with scripting.
- Height map based terrain with quad-tree culling.
- First and third person camera system.
- Frame-rate independant engine updating (adjustable for bullet-time effects).
- Scriptable particle system.
- Sky-box.
- Virtual file system with compressed archived files.
- 3D Sound provided by the FMOD Sound Library.
- Physics and collision detection provided by Novodex by AEGIA.
- Core library and templates for common data structures.
- Advanced code profiler.
- XML reading/writing.
Networking features:
- Full UDP networking protocol support for multiplayer gaming.
- Multi-threading safe with multi-threaded server.
- Reliable, unreliable, scheduled and ordered packets.
- Multiple packet channeling per connected client.
- Automatic keep-alive with disconnect detection.
- Player management (kick/ban).
- Automatic ping time reporting.
- Public data area for all connected clients.
- Private data areas for selected clients.
- Remote procedure calls.
- Password protected servers.
- Compression and encryption.
- TCP protocol support.
- Auto-patcher client/server tool keeping your players synchronized with your latest game content.
The engine also comes with a library of samples/demos showing engine functionality. Due to the size of this project (approx 400MB), the entire project is only available on request.
Source code preview (excluding sample media, tools, demos, and samples) can be downloaded here .
Screenshots can be found here, and (old engine screenshots) here.
|