Playground

C++ Direct3D PhysX IrrKlang Assimp Qt

Playground is a game engine prototype, written in C++ using external libraries such as Direct3D, PhysX, IrrKlang, Assimp, jsoncpp and Angelscript. The project is inspired by the HPL2 engine and investigates entity object models, physics integration and interior rendering.

Playground uses Angelscript script system, which allows to change object behaviour during runtime. It is used directly by a character controller and Unitylike GUI rendering.

The asset pipeline is based on Assimp importer libary. Asset resources allow for in-game editing through resource live updating support. Additionally, I created simple skeletal animation controller with keyframes interpolation and pose blending.

A player controller was writen using PhysX kinematic controller with crouching and jumping states and the basic joint-based environment influence.

Playground uses deferred shading with SSAO and supports ambient, directional, point and spot lighting. The graphics debugging is handled through a dedicated debug renderer which allows for queueing and instancing large number of debug primitives, texts and sprites.

The source code can be found here: pg2 and pg3

Feel free to give me a shout at panasiuk.marcin@gmail.com.