
Personal Projects
Personal Projects
Personal Projects
AI Game Experiments
AI Game Experiments
AI Game Experiments
A collection of small game experiments exploring mechanics, interaction, and visual style.
These were built quickly using AI-assisted workflows, focusing on testing ideas rather than polishing full products.
Used Visual Studios + Codex, and Cursor + Claude.
Frameworks and engines: Godot, Bablyon.js, Love2D
A collection of small game experiments exploring mechanics, interaction, and visual style.
These were built quickly using AI-assisted workflows, focusing on testing ideas rather than polishing full products.
Used Visual Studios + Codex, and Cursor + Claude.
Frameworks and engines: Godot, Bablyon.js, Love2D
A collection of small game experiments exploring mechanics, interaction, and visual style.
These were built quickly using AI-assisted workflows, focusing on testing ideas rather than polishing full products.
Used Visual Studios + Codex, and Cursor + Claude.
Frameworks and engines: Godot, Bablyon.js, Love2D
SkyFall
SkyFall is a minimalist endless falling experience where you guide a satellite like form through geometric obstacles in open space. It’s less about challenge and more about creating a calm, slightly disorienting sense of motion and infinity.
The main exploration was the relationship between movement of the satellite and camera. Instead of a fixed perspective, the camera and satellite shift slightly based on direction, creating a more cinematic and less predictable feel.
SkyFall was built in Godot using Cursor + Claude.
Music created in Suno.
SkyFall is a minimalist endless falling experience where you guide a satellite like form through geometric obstacles in open space. It’s less about challenge and more about creating a calm, slightly disorienting sense of motion and infinity.
The main exploration was the relationship between movement of the satellite and camera. Instead of a fixed perspective, the camera and satellite shift slightly based on direction, creating a more cinematic and less predictable feel.
SkyFall was built in Godot using Cursor + Claude.
Music created in Suno.
SkyFall is a minimalist endless falling experience where you guide a satellite like form through geometric obstacles in open space. It’s less about challenge and more about creating a calm, slightly disorienting sense of motion and infinity.
The main exploration was the relationship between movement of the satellite and camera. Instead of a fixed perspective, the camera and satellite shift slightly based on direction, creating a more cinematic and less predictable feel.
SkyFall was built in Godot using Cursor + Claude.
Music created in Suno.

Clip from SkyFall
Clip from SkyFall

PuzzleHunt
PuzzleHunt is a grid based puzzle game built around simple, tile by tile movement. Each level is a compact system of enemies, hazards, and interactive elements where success comes from understanding how everything on the board behaves and interacts. The game looks simple at first, but rewards planning and experimentation.
I avoided custom animation and instead leaned on simple system driven motion (bounce, squash) to bring the game to life while keeping development fast. A structured grid system also made communication and iteration with Codex much smoother.
This project reinforced that vibe coding is great for quickly testing ideas, but scaling something like this into a full game would require more deliberate design.
Built in Love2D framework using Visual Studio + Codex. Audio was created with Suno and Adobe Firefly.
PuzzleHunt is a grid based puzzle game built around simple, tile by tile movement. Each level is a compact system of enemies, hazards, and interactive elements where success comes from understanding how everything on the board behaves and interacts. The game looks simple at first, but rewards planning and experimentation.
I avoided custom animation and instead leaned on simple system driven motion (bounce, squash) to bring the game to life while keeping development fast. A structured grid system also made communication and iteration with Codex much smoother.
This project reinforced that vibe coding is great for quickly testing ideas, but scaling something like this into a full game would require more deliberate design.
Built in Love2D framework using Visual Studio + Codex. Audio was created with Suno and Adobe Firefly.
PuzzleHunt is a grid based puzzle game built around simple, tile by tile movement. Each level is a compact system of enemies, hazards, and interactive elements where success comes from understanding how everything on the board behaves and interacts. The game looks simple at first, but rewards planning and experimentation.
I avoided custom animation and instead leaned on simple system driven motion (bounce, squash) to bring the game to life while keeping development fast. A structured grid system also made communication and iteration with Codex much smoother.
This project reinforced that vibe coding is great for quickly testing ideas, but scaling something like this into a full game would require more deliberate design.
Built in Love2D framework using Visual Studio + Codex. Audio was created with Suno and Adobe Firefly.

Clip from PuzzleHunt
Clip from PuzzleHunt

ArenaX
ArenaX is a team based futuristic sport set inside a massive spherical arena, built around gravity defying Rings that loop along the interior of the arena. I’ve spent time developing a broader vision for the game, but this prototype focuses on a single question: what does it feel like for the player to move from the arena onto the gravity defying Rings?
When a player lands on a Ring, their gravity shifts to that of the Ring's surface, moving along the inner walls of the arena with the crowd below and the open space of the arena surrounding them. The goal was to validate whether this inversion of perspective and movement could create a compelling gameplay experience.
This was a complex idea to prototype, so early sketches were critical in guiding iteration with Claude. I left the player characters intentionally simple (blocks for characters) to stay focused on movement and interaction. The result is a playable prototype that captures the core mechanic.
Built using Babylon.js using Cursor + Claude.
Audio was created with Suno and Adobe Firefly.
ArenaX is a team based futuristic sport set inside a massive spherical arena, built around gravity defying Rings that loop along the interior of the arena. I’ve spent time developing a broader vision for the game, but this prototype focuses on a single question: what does it feel like for the player to move from the arena onto the gravity defying Rings?
When a player lands on a Ring, their gravity shifts to that of the Ring's surface, moving along the inner walls of the arena with the crowd below and the open space of the arena surrounding them. The goal was to validate whether this inversion of perspective and movement could create a compelling gameplay experience.
This was a complex idea to prototype, so early sketches were critical in guiding iteration with Claude. I left the player characters intentionally simple (blocks for characters) to stay focused on movement and interaction. The result is a playable prototype that captures the core mechanic.
Built using Babylon.js using Cursor + Claude.
Audio was created with Suno and Adobe Firefly.
ArenaX is a team based futuristic sport set inside a massive spherical arena, built around gravity defying Rings that loop along the interior of the arena. I’ve spent time developing a broader vision for the game, but this prototype focuses on a single question: what does it feel like for the player to move from the arena onto the gravity defying Rings?
When a player lands on a Ring, their gravity shifts to that of the Ring's surface, moving along the inner walls of the arena with the crowd below and the open space of the arena surrounding them. The goal was to validate whether this inversion of perspective and movement could create a compelling gameplay experience.
This was a complex idea to prototype, so early sketches were critical in guiding iteration with Claude. I left the player characters intentionally simple (blocks for characters) to stay focused on movement and interaction. The result is a playable prototype that captures the core mechanic.
Built using Babylon.js using Cursor + Claude.
Audio was created with Suno and Adobe Firefly.

Clips from ArenaX
Clips from ArenaX

Shots Fired
Shots Fired is a fast, over the top 2D side scrolling shooter inspired by classic action films and sci-fi. This was a guilty pleasure, the goal was to make shooting feel loud, messy, and satisfying.
Character movement is powered by a booster pack that allows for chained mid-air jumps, keeping movement fast and aggressive.
I kept visuals minimal and focused on feel. Weapons are heavy and reactive, with debris, impact, and exaggerated enemy feedback driving the experience. A hybrid weapon system lets you switch instantly between rapid fire and a powerful shotgun blast.
Sound design was key, from weapon impact to police radio chatter and environmental effects like rain and thunder, all reinforcing a gritty, dystopian mood.
This was the most purely “fun” prototype.
Built in Love2D using Visual Studio + Codex. Audio created with Suno and Adobe Firefly.
Shots Fired is a fast, over the top 2D side scrolling shooter inspired by classic action films and sci-fi. This was a guilty pleasure, the goal was to make shooting feel loud, messy, and satisfying.
Character movement is powered by a booster pack that allows for chained mid-air jumps, keeping movement fast and aggressive.
I kept visuals minimal and focused on feel. Weapons are heavy and reactive, with debris, impact, and exaggerated enemy feedback driving the experience. A hybrid weapon system lets you switch instantly between rapid fire and a powerful shotgun blast.
Sound design was key, from weapon impact to police radio chatter and environmental effects like rain and thunder, all reinforcing a gritty, dystopian mood.
This was the most purely “fun” prototype.
Built in Love2D using Visual Studio + Codex. Audio created with Suno and Adobe Firefly.
Shots Fired is a fast, over the top 2D side scrolling shooter inspired by classic action films and sci-fi. This was a guilty pleasure, the goal was to make shooting feel loud, messy, and satisfying.
Character movement is powered by a booster pack that allows for chained mid-air jumps, keeping movement fast and aggressive.
I kept visuals minimal and focused on feel. Weapons are heavy and reactive, with debris, impact, and exaggerated enemy feedback driving the experience. A hybrid weapon system lets you switch instantly between rapid fire and a powerful shotgun blast.
Sound design was key, from weapon impact to police radio chatter and environmental effects like rain and thunder, all reinforcing a gritty, dystopian mood.
This was the most purely “fun” prototype.
Built in Love2D using Visual Studio + Codex. Audio created with Suno and Adobe Firefly.

Clip from Shots Fired
Clip from Shots Fired

Revolver
Revolver is a side scrolling action game set inside a massive cylindrical structure made up of stacked vertical levels. Players move left and right around each level, looping seamlessly as the world wraps around, while progressing upward through the tower.
At the center of the experience is a throwable boomerang that acts as both a weapon and an interaction tool, allowing you to take out enemies and trigger elements across the environment. The goal was to explore how circular movement and vertical progression could combine into a single, continuous space.
This was one of the more complex prototypes to build. Getting characters, environments, and interactions to function within a looping cylindrical system required a lot of iteration. The focus stayed entirely on validating the mechanic, with minimal attention to visuals or polish (I even reused the sounds from Shots Fired prototype).
This project highlighted both the potential and limitations of vibe coding. While it enabled rapid exploration, more complex systems like this made me realize that have deeper engine-level understanding would help me be more efficiently. Built in Godot using Cursor + Claude.
Revolver is a side scrolling action game set inside a massive cylindrical structure made up of stacked vertical levels. Players move left and right around each level, looping seamlessly as the world wraps around, while progressing upward through the tower.
At the center of the experience is a throwable boomerang that acts as both a weapon and an interaction tool, allowing you to take out enemies and trigger elements across the environment. The goal was to explore how circular movement and vertical progression could combine into a single, continuous space.
This was one of the more complex prototypes to build. Getting characters, environments, and interactions to function within a looping cylindrical system required a lot of iteration. The focus stayed entirely on validating the mechanic, with minimal attention to visuals or polish (I even reused the sounds from Shots Fired prototype).
This project highlighted both the potential and limitations of vibe coding. While it enabled rapid exploration, more complex systems like this made me realize that have deeper engine-level understanding would help me be more efficiently. Built in Godot using Cursor + Claude.
Revolver is a side scrolling action game set inside a massive cylindrical structure made up of stacked vertical levels. Players move left and right around each level, looping seamlessly as the world wraps around, while progressing upward through the tower.
At the center of the experience is a throwable boomerang that acts as both a weapon and an interaction tool, allowing you to take out enemies and trigger elements across the environment. The goal was to explore how circular movement and vertical progression could combine into a single, continuous space.
This was one of the more complex prototypes to build. Getting characters, environments, and interactions to function within a looping cylindrical system required a lot of iteration. The focus stayed entirely on validating the mechanic, with minimal attention to visuals or polish (I even reused the sounds from Shots Fired prototype).
This project highlighted both the potential and limitations of vibe coding. While it enabled rapid exploration, more complex systems like this made me realize that have deeper engine-level understanding would help me be more efficiently. Built in Godot using Cursor + Claude.

Clip from Revolver
Clip from Revolver
