Wreckluse Video Game
Unity, C#
Worked in a 5 person team to brainstorm and create a Unity game where players must kill spider enemies with various weapons across 2 different levels, and use the terrain to build a defense wall or eject spiders into the air. As the lead combat programmer, I architected the weapon system using object-oriented programming principles in C#. I designed an extensible class hierarchy anchored by high-level abstract base classes for ranged and melee archetypes, then created specialized child classes for concrete implementations, including the pistol, machine gun, and knife. I also made a UI weapon bar so users can clearly see what weapon they are currently holding, and a mechanism that blocks certain weapons from being avaiable or seen from Level 1. I was also responsible for the design and enemy placement of Level 2, and created the trailer video.
Game Boy Advance Buzz Astro Blasters
C Code
In this game, players use their arrow keys to move a 1x1 red pixel laser and try to hit 10 moving targets within the game period to win. Built for the hardware-constrained Game Boy Advance (GBA) architecture in C, this project required low-level optimization to bypass severe memory and rendering bottlenecks. The GBA operates on a strict timing loop, which involves 160 active scanlines drawing pixel data followed by a brief 68-scanline vertical blanking interval (VBlank) to update the video buffer without visual tearing. To render multiple dynamic elements simultaneously, including lasers, targets, backgrounds, timers, and HUD scores, within this narrow VBlank window, I engineered a selective redrawing algorithm with state-change condition checks. Rather than performing costly full-frame redraws, the system updates only modified pixel regions, eliminating screen tearing and maintaining a locked frame rate.