2023-2025
Platforms: PC
Tools: C#, HLSL, Unity, Blender, and Krita
Welcome to the underworld, or what is becoming the bridge between our world and the one below. This is Pac’s Revenge, a classic FPS game with collection mechanics hosting some sweet retro graphics. Hoping to recapture that classic retro style, Pac’s Revenge takes great inspiration from the legendary 1993 Doom with its custom-made grotesque graphics, FPS elements, and, of course, an intense heavy soundtrack. Your world is getting taken over by a dark evil, and you need to fight back. Will you succeed in saving your world, or will you fall into demonic corruption?
My role was Team Lead, Programmer, and Artist/Technical Artist. I programmed the enemy AI, player inventory, player shooting, level progression, player stats, and other systems. To achieve the retro visual aesthetic, I programmed many full-screen and post-processing shaders. I created a fog shader that gradually gets more and more opaque at integral steps. I also created all of the 2D and 3D art seen in the game and designed all of the characters.
Railgun combat against multiple enemies
Enemy and player traps
Final boss fight in the game
State machine script for final boss fight
Procedural map script that uses 3D objects as basis for 2D map
Inheritable abstract weapon script
2024-2025
Platforms: PC
Tools: C#, Unity, and Krita
After waking up with no memories, explore a hotel where all is not as it seems. Traverse the different floors, explore the maze of shifting rooms, make new friends, and battle various foes. Use the power of emotions to rise against the evil that terrorizes the inhabitants of the hotel... The Eternal Guest!
My role was Team Lead, Programmer, and Artist. I programmed the enemy AI, player inventories, player combat systems, boss fights, and game saving. The player combat consists of multiple different types of attacks which are all fully modular and interconnected with the player inventories. I also created and implemented a lot of the art and designed all of the UI seen in the game.
Teaser trailer for the game
Equipping weapons, items, and abilities
Final boss fight in the game
Player inventory script with JSON integration
Game state saving script with JSON file
Context-steering enemy AI script
2025
Platforms: PC
Tools: C#, HLSL, Unity, Blender, and Krita
Humanity is on the brink of collapse. You are the last known web diver in the world. You must travel back to the year 1999 using the last remaining time bubble. Use your web diving skills to stop the virus before it has the chance to eradicate the world. W3B D1V3R is a 2D Vampire Survivor-like with an endless mode where your goal is to get as powerful as possible. This game was created for the 2025 Global Game Jam and developed in 48 hours.
My role was Programmer and Artist. I programmed the weapons, passives, upgrade system, and level progression. The weapons and passives system was designed to be easily expandable and modular for further development. I also implemented a lot of the art and created some of the extra assets we needed as well.
2020
Platforms: PC, WebGL
Tools: C#, Unity, Krita, and Audacity
You are a H.A.R.D.Y. unit. Prohibition has been reinstated and your job is to deliver that lucrative alcohol to your loyal customers. However, you must always be on the look out for police and bandits looking to stop your business dealings or your boss will not hesitate to dipose of you. Have fun delivering packages for somebody with their finger on the self-destruct button. This was my very first game ever created. This game was created for the month long 2020 GameDev.tv - Community Game Jam.
My role was a solo developer. Therefore, I programmed all of the systems seen in the game like physics-based character movement, enemy AI, a pickup system, and level progression. I also did all of the art, level design, sound, and music for the project.
Snippet of the intro cutscene
Physics-based player movement and enemy AI
Police chase at the end of each level
Enemy AI script with procedural patrolling
Dialogue system script for intro cutscene
Physics-based player movement script
Fall 2024
Languages: HLSL and C#
I created a volumetric cloud rendering shader. The shader is a raymarcher that samples a pseudo-randomly generated, tilable, 3D Worley noise. This type of noise was chosen because of its tendency to create billowing shapes. The clouds are blitted to the screen in a single pass as part of a post-processing effect. I plan to add further optimizations to the shader and integrate it with my atmospheric scattering shader.
View Github Respository here!
Fall 2022
Languages: HLSL and C#
I developed a high performant atmospheric scattering shader for creating realistic looking planetary atmospheres. This shader is a volumetric raymarcher that samples an inverse exponential function. The shader is optimized by pre-calculating an optical depth texture per planet and sampling that texture. I plan to add further optimizations and tools to easily generate new planet atmospheres.
View Github Respository here!
Spring 2022
Languages: HLSL and C#
I developed an implementation of the Cubical Marching Squares algorithm using it for generating terrain. The algorithm was implemented in parallel on the GPU using compute shaders with integration to an Octree allowing for varying levels-of-detail (LODs) in the mesh generation. The Octree creation algorithm was designed in parallel on the GPU using the fundamentals of a parallel merge sort. The Octree is stored in a 3D texture for access during the CMS algorithm.
View Github Respository here!