Engines / 2016

Crealysm 11

Applying the lessons learned from my DX9 based engine, I started a full new engine from scratch in August 2016

With the "Game Engine Architecture" book (by Jason Gregory) as a rough guideline, I've managed to abstract most of the engine systems (for future use on different platforms and using different rendering API's).

If you've ever worked on developing a (rendering) engine, you'll know that spheres and cubes can only entertain so much. So I've decided to create a 200m by 180m city along the way. By raising the bar in the size and density of the city, I challenge myself and the engine, to improve along the way. Plus new features pay off directly.

All used assets are either created by myself or obtained from TurboSquid.com.
For textures I mostly make use of free PBR texture sets, from several websites (being prepared for my PBR implementation).

Summarizing all engine details would be overkill, but here's just a grasp of what's included so far:

- Using DirectX 11 API for low level rendering
- Straight forward frustum culling (using best fit type per object, AABB, OBB, Sphere)
- Spatial subdivision, DIY quad tree variant
- Flexible user input handling, supporting data driven HID layouts/mappings
- Easy configurability using INI files (custom made parser)
- Blinn-Phong lighting model, directional, point, spot and capsule lights
- Normalized specular lighting
- Tone mapping, no HDR yet ('Uncharted 2' method)
- Efficient and flexible resource management
- Currently Win32 only, most systems wrapped for future platforms
- Custom runtime engine binary file formats (meshes, materials, scenes)
- Flexible and feature rich debug drawing system
- Basic font system (supporting TTF fonts)
- Offline tools taking shape (file conversions, optimizations, rapid iteration)

Currently I'm working on the following features:

- Performance optimizations (max 8 to 10Ms per frame, current setup)
- Proper LOD system, with 3 levels
- Shadows (starting with directional light)
- Finish remaining parts of the city
- PBR implementation
- World editor (might write a converter and not re-invent the wheel)

For periodic updates, check out my YouTube channel.

Videos

Progress videos (more in my YouTube channel.

Gallery

My work

Games

Engine

Resume

Contact Me

Email: games@crealysm.com