Game Projects


Rafflesia

This slideshow requires JavaScript.

DigiPen Page / Download Link
January 2016 – April 2016

Team: 7 Programmers, 3 Artists, 1 Game Designer
Role: Gameplay Programmer
Engine: Custom Game Engine in C++

Summary:

Rafflesia is a 3D cooperative first-person shooter in which players battle a deadly Rafflesia plant in the bowels of the sewers! Players must fight through different phases of the boss as they attempt to vanquish the beast!

My Contributions:

  • Created a versatile easy to use hit-scan / projectile weapon system
    • Gave users full control over all aspects of a weapon to allow them to create completely different weapons with ease
  • Created projectile tracer system
    • Created a tracer stream behind the projectiles that could be modified in size and intensity
  • Implemented sticky aim assist for weapons
  • Developed an interaction system
    • Allowed for quick creation of triggers and events
  • Restructured the engine’s abstraction layer for input
    • Lowered memory usage
    • Made input mapping for events easier to add and remove
  • Created health and shield systems for players and boss

 


Perihelion

September 2015 – December 2015

Team:  4 Programmers
Role:  Core Engine, Tools, and Gameplay Programmer
Engine:  Custom Game Engine in C++

Summary:

Perihelion is a 3D space racing prototype where up to 4 players can play together. At its current state, it’s a generic 3d racing game made from a custom C++ game engine.  None of the programmers on our team were physics or graphics programmers, so we used Havok for physics and another student’s graphics engine for graphics.  Due to a lack of a graphics programmer, our team decided to disperse the following semester and work on different game projects.

My Contributions:

  • Developed custom Entity Component System Game Engine in C++
    • This design is meant to be more cache friendly as it uses Data-Driven Design
  • Constructed handle manager for components
    • Recycled components to avoid unneeded  runtime memory allocations
  • Created system for constant time lookup of components for entity systems
  • Converted project into multiple library projects to allow for quicker compile times
  • Integrated graphics engine into the game engine
  • Implemented keyboard and controller support

 


Schmoops In Space

This slideshow requires JavaScript.

Download Link
September 2014 – April 2015

Team:  3 Programmers
Role:  Core Engine, Tools, and Gameplay
Engine:  Custom Game Engine in C++

Summary:

As Earth’s last hope, you must fly through the cosmos, blasting your way through waves of enemies. Warp from system to system, defending yourself with powerful cannons. Do you have what it takes to save Earth?

My Contributions:

  • Custom C++ Game Engine that utilized Component-Based Engine Architecture
    • Allowed for quick iteration times by lowering compile times and enabling code reuse
  • Developed an Event Manager
    • Allowed for functionality to only be called when needed
    • Kept objects from checking from polling each frame
  • Implemented simple 2D-Physics 
    • Provided engine with collision detection between objects
    • Added debug features
  • Gameplay Tools (few listed below)
    • Path Following System for game’s enemies
    • AI Elements
    • Player Controller

 


It’s Easy To Die Hard

ItsEasyToDieHard.png

January 2014 – April 2014

Team:  3 Programmers, 1 Artist
Role:  Engine Design, AI, Level Design
Engine:  Custom Game Engine in C

Summary:

Take control of Dolmick in his efforts to escape a dungeon. Utilizing different suits, Dolmick can gain abilities such as fire, ice, even time-control! Fight your way through a fantastical world and battle your way through the dragon to win!

My Contributions:

  • Implemented a Finite State Machine
    • Used to create AI behavior quickly and easily
    • Made state abstacted from one and another so that they could be reused
  • Created a Serializer / Deserailizer
    • Used to construct and load levels into gameplay with ease
  • Designed an Object Manager
    • Allowed for us to not worry about the creation, initialization, and deletion of all objects
  • Implemented 2D tile-based collision

 


Space Miner

This slideshow requires JavaScript.

DigiPen Page / Download Link
October 2013 – December 2013

Team: 3 Programmers
Engine: Zero Engine
Language: Python

Summary:

Space Miner is a 2D top-down mining simulator in which the player mines planets while on a journey home. The player must balance their resources against the rising costs of interplanetary travel and the purchasing of upgrades as well as an ever increasing debt. Will the miner return home to riches, crushing debt, or be lost to the vacuum of space? The player will decide.

My Contributions:

  • Implemented underlying mining mechanic
  • Developed planets that have different mineral characteristics and randomly distributed minerals
  • Built Menu System that is easy to use and provides user feedback
  • Created shop and bank system allowing players to buy and upgrade their probes