Sample Projects

C++ Platformer Demo

2D platformer game engine I created to practice C++ made in about a month. Other than the usage of SDL for inputs and rendering, the engine is created from scratch.

Key Challenges:

  • Code Flexibility

Implementation of components, classes which contain individual functionality that can work independently of other components/objects, to maintain code flexibility and reuse.

  • Physics

Created physics as a component which can be reused with any game object
Collisions check for boxes and slopes

  • Game Loop Efficiency

Structured game loop to calculate time between each game tick and send that information to each game object. This is to have the game run at the same speed regardless of computer specs.

C++Clip2
Happy to be running!

Check out the code for this game here!

ArcadeShooter (C# and Unity)

2D spaceship shooter game developed in Unity. This was made with another programmer, an artist, and two designers.

Key Challenges:

  • Action re-usablity

-Implemented a command pattern which encapsulates an action into an object, which allows itself to be called by another function to execute it’s individual task for the object that called it.

  • Game states

-Implemented multiple static classes of different game states which gets updated by the main game controller. Each state has a start, update, and exit function unique to it’s own state.

  • High Score

-Ability to add new high score and record old ones stored from previous games. Scores, names and times are stored in arrays and the new score is compared with the old one to determine it’s place among the list of scores.

ArcadeShooterClip
Save the earth from aliens!

Check out the code for this game here!

Workout Man(C# and XNA)

2D beat-em-up game developed with an artist, musician, and four designers.

Key Challenges:

  • Updating/Drawing multiple objects

-Had every draw-able object inherit from a base sprite class and add it to a polymorphic list of Sprites. The Game Controller then Updates everything in the list then Draws them.

  • Collision Detection

-Had each move-able game object create 4 invisible rectangles which handle individual collision in each of the cardinal directions.

  • Enemy and Player Attacks

-Implemented states to both the enemies and players which determines it’s update patterns.
-Created attacks as objects which can be recycled using an object pool instead of constantly creating new ones (only for the onion enemy)
-Used Timers to adjust attack start and end time.

FoodFightergif
Beat up burgers and fries to lose weight!

Check out the code for this game here!

Robo Platformer (AS3 and Flash) 

Key Challenges:

  • Level Creation

-Created XML Parser to read in xml files created by the Tiled level editor. Once the XML data is stored, the parser calls a function which reads the data and populates the level with the corresponding objects.

  • Menus

-Created Menu and button classes which only update if when a game state change is called from the main game controller. Menus contain an array of buttons which have different functionality like un-pausing, closing, or starting the game.

  • 2D physics

-Assured that physics behaved as intuitive as possible. This includes acceleration, gravity, and collisions. They are all managed within the player’s update function through multiple state checks.

RoboPlatformer
Totally not inspired by Megaman

Check out the code for this game here!