Top down 3D game
3 Months Part-Time (4h/day)
Created with our own Cobra engine
Group of 14 people
- Graphics engine
- Vertex painter
- Engine back-end
This project was my first encounter with 3D programming and that was what I worked on for the most part. The graphics engine used Direct3D 11, had support for both deferred- and forward rendering, and used a complete PBR lighting model.
GPU Based Particle System
One fun graphics feature we developed was our GPU based particle system. It was based on the system written by Frank D Luna in his book Introduction to 3D Game Programming with DirectX 11, using the Geometry Shader and Stream-Out Buffer for updating particles. See the gallery below for some features and effects we created.
VFX Meshes with scrolling UV
Since we didn't have any Technical Artists, me and Jonathan was in charge of most the effects. We created a system for spawning meshes with scrolling UV coordinates, allowing for the creation of effects such as the one below.
Experimenting with the geometry shader
When we first found about the geometry shader, we were immediately impressed by it and the possibility of creating geometry on the GPU. We wanted to experiment with it to see what you could do with it and in the end, we ended up using for a variety of different features.
Click Indicator and Health bars
Both were created by simply expanding a point in world space to quads. The health bars were billboarded and the "click on ground" was oriented along the ground normal.
This just took the idea of expanding a point to a quad one step further, expanding a point to a number of quads, based on the number of digits in the damage/health to be shown.
Point light culling meshes
GPU particle system
I also created a vertex painting tool. This allowed for the creation of more varied environment such as the ones shown here.
It worked by simply painting blend weights on to the vertices on the planes based on the distance from the brush.
Here's a list of some additional things I implemented in this project:
Directional light shadows
Basic post-process effects (bloom, vignette)
Blurred outline effect using stencil masking
Experience bar, boss health bar