Duck Runner

Given a framework, we were to build from it and create any desired mini-game for the final project. Having two ideas in mind, me and my colleague decided to go with an infinite runner.

My primary role was programming while my colleagues role was shader and graphics programming.

(most in-game assets have been gathered from free online resources)

As a programmer some of my contributions are but not limited to: 

  • cJSON extension creation

    • Reads information from a file, loads and creates all game objects, materials, textures, and shaders​

  • Bullet3 setup (physics engine)

    • Physics bodies, sphere bodies, and contact listener (collision detection) setup

  • Scene management​

    • Creation of scene manager to handle all scenes​

    • Creation of all scenes (main menu, level selector, etc)

  • Debug setup​

    • ImGui was used with the debug configuration

  • Gameplay​

    • Movement, scoring, and game states​

  • Pooling​​​​​

  • Tweening​

  • Audio​

  • Saving game (saved on death to file)​


  • Debug mode

    • Variety of debug options​

  • Set FPS (no overshooting updates when moving game window (or holding window to freeze game))

  • Camera projects always up to date (full screen or resizing window will not stretch games image)

  • Buttons have precise activation​


Tower Defense

From a blank project, my task was to create a tower defense game. Few of the requirements were AI pathfinding, tower placement/removal, money, and player health

​Due to time constraints caused by a 5-week college strike, some features weren't included.

One of which being tower states (upon AI getting closer they would take damage).

With the most polished game in the course, I present my Tower Defense game.

(most in-game assets have been gathered from free online resources)


  • Camera effects

    • Projection effect (restarting effect)​

    • Shake effect (blocking AI pathway

  • Effects

    • Shake effect​​ on both money and health

      • Enemy reaching end causes health to shake​

      • Placing a tower with low funds causes money to shake

  • Sound Effects

    • Tower placement​

    • Tower removal

    • Enemy reaching end node

    • Level changing

    • Game restart

  • Multiple levels (Sm/Md/Lg)​​


Tank Battle

Given a framework and assets, I was to build from it and create a co-operative tank battle game. All physics, collisions, pooling, and more had to be programmed. 

Both players use the same keyboard, one using 'wasd' keys while the other uses the numpad.


  • Physics

    • Tank & barrel

    • Barrels (move upon driving into them)

  • Pooling​

    • Missiles​

  • Collision​s

    • Tank​

    • Missile

    • Barrels

    • Detonators

Got Suggestions?

Copyright © 2017 Ali Zor. All rights reserved.

v4.0 1/12/20