Hi, I'm Dean

I am a programmer interested in game development and computing. Below are some of my personal projects.

Sneaker

Games Unity C#

Released in 2019, Sneaker is a first-person stealth game where your weapons are your shoes. It was made by the indie studio Three Beak where I was the game director and lead programmer. I was one of 2 programmers and personally wrote all gameplay, AI and UI code. The game was developed in Unity and C#, and includes the following features:

  • Innovative time rewind ability that minimizes punishment for failure in a stealth game
  • Devious AI driven guards
  • 4 shoes with different abilities
  • 6 open-ended levels
  • Original jazz inspired soundtrack

SWAT God

Games Unity C#

This is a hyper fast top-down shooter that aims to remove all limits. Moving with your mouse cursor means infinite speed and precision. Enemies with faster-than-human reactions will hunt you down, surround you, bombard you with grenades and rockets. Made this with my friend Phil.

Boxes & Buttons

Games C++

A Sokoban-like puzzle game where you push boxes onto buttons, with an interesting twist. I am quite proud of the puzzle design on this one. Programmed in C++ using Raylib to render, and emscripten to build for web.

Play Now!

Stealth Game POC

Games Unreal C++

A POC for a puzzle/stealth game where the player's main tool is a dart gun that allows them to possess enemies. Developed in UE4 using C++.

Khanate - Mongol RPG

Games C#

A strategy game inspired by the Mount & Blade series where you play as the leader of a Mongol clan. Programmed in Monogame in C#.

Diggy Mine

Games C#

A prototype for a Dungeon Keeper clone. Programmed in C# in Monogame.

Let's Fighting Giant Robot Love

Games Unity C#

A prototype for a VR game where you pilot a giant mech and battle against an equally giant snail. Programmed in Unity in C#.

Burglar's Run

Games Engine / Rendering C++

My first attempt at writing a custom game engine. This is a game written in C++ and using OpenGL for rendering, and a small number of open source libraries for window handling and loading of assets.

The custom engine for the game can be accessed through github. It includes the following features:

  • 2D sprite rendering, with easy batching, a spritesheet animation system, and 9 slicing
  • Truetype text rendering, with batching similar to sprite API (currently bitmap only)
  • Render queue for organizing render events in a pipelined fashion
  • Shader system
  • Keyboard/mouse input handling, event callback binding
  • Collision testing of AABBs, Circles and Rays
  • Immediate mode GUI system, supporting images, text, buttons, windows and more
  • Sparse Graph with A* Pathfinding
  • State-based AI system
  • Debug drawing functions

Experimental Sprite Renderer / 2D Game Engine

Engine / Rendering C++

My second attempt at writing a custom game engine. This time I am using an experimental technique to render many 3D looking objects as 2D sprites, by procedurally rendering out an object to a texture array containing 3D information (color, normal, depth, etc) in a shader, and then performing lighting calculations when rendering that texture to a quad. The engine itself also sports a number of features, and is far better than my first attempt.

  • Experimental "Faux 3D" sprite rendering
  • Bitmap text rendering of truetype fonts
  • Hot reloading of game assets (textures, audio, fonts, shaders, etc)
  • Hot reloading of game code - the game layer is compiled as a .dll and can be recompiled/loaded while the game is running
  • Designed to be platform and render API agonstic - the codebase is split into 3 layers (Game/Platform/Renderer) so that portability will be possible in the future. I have written and tested a Web platform layer implementation, but it is out of date and does not compile
  • Custom allocators and containers - the codebase does not use C++ standard library containers at all
  • Basic audio mixing, and outputting to the speaker on Windows using WASAPI
  • Controller support for Windows using XInput

VR Storyboarding Tool

Miscellaneous Unreal C++

This was was made with another programmer as a paid contract for a film production company in Canberra. It is a VR tool designed for a particular film about people trapped in a car inside a shipping container that gets lost at sea. The client wanted to be able to move certain parts of the car, change scene lighting, position a rigged character model, take screenshots with a virtual camera and do various other things to manipulate the scene and plan out shots for actual filming. Developed under 2 weeks in UE4 using a combination of C++ and Blueprint Visual Scripting.