A cross-platform game engine developed from scratch, focusing on understanding graphics pipelines, rendering systems, and engine architecture.
This project is a custom-built game engine written in C/C++. The main goal was to understand and implement the fundamental components of modern game engines without relying on large external frameworks.
The engine supports both 2D and 3D rendering, custom asset formats, animation systems, collision detection, particle effects, lighting and editor tools.
Engine is able to cross compile on Linux and Windows.
An experimental, native version of the engine is implemented in D language also.
Basic textured objects with scale and rotate features
Sprite animation, object management and frame-based AABB collision handling. XML based animation descriptor
Gameobject2D, 2D layering background system, layer camera, scene management, XML based world descriptor
Basic implementtion of a Tile based world representation with collision support.
Particle effects implementation: fire, smoke, other
Basic structures to support 3D worlds. Made an own custome world XML descriptior format.
General structures for game objects, collision detection, etc
Designed an XML based model format, named TMD. Implemented a command line model converter to convert other models to the own TMD format.
Basic particle system implementation: fire, smoke, rain
Engine suppports shadow mapping. Have some demo with Shadow Volume as well.
Experiment with voxel based models. Supports the .vox format
Implemented Phong based lighting.
Some very basic implementation of heightmap based terrains, skybox and skydome.
The main challenge was implementing low-level engine functionality instead of depending on existing solutions. This required solving problems related to rendering performance, memory management, mathematics, asset handling and cross-platform development.
The renderer also served as a platform for experimenting with custom rasterization techniques and performance-oriented rendering algorithms.
Some prediction of the future of the modern computer graphics
Read the Article →Making a (non-full) overview about mainstream collision detection techniques in 2D games.
Read the Article →A simple "guide" how to approach 2D game engine implementation.
Read the Article →Talk about one of the main component of a game engine.
Read the Article →A detailed description of a Phong based per-pixel lighting with normal mapping.
Read the Article →The future is about the methods which combines the CPU and GPU resources.
Read the Article →