Games and Toys

This page contains my HTML5 games and toys. They were all written from scratch in JavaScript using the HTML5 canvas API. You can find some of my newer games, variously made with SDL, Godot, and Unity, on my page.


These are meant for desktop browsers, though some may partially work on mobile devices. I hope you enjoy playing them!

Magic Dungeon Redux play_arrow

Made some slight improvements

The Flea play_arrow

An action-packed blink-based platforming game!

Magic Dungeon play_arrow

A procedurally-generated top-down dungeon crawler. Based on a game I made in Dr. Tyagi's CSCE 312 class.

Spaced Out play_arrow

A combination of Space Invaders and Breakout. 100% better than both, guaranteed. Runs on a custom JavaScript physics engine!

Spinner play_arrow

Spin a triangle around to follow a circle. Use the left and right arrow keys to spin CCW and CW, respectively. Try to choose the rotation that would be the shorter path from the triangle to the circle. You can also use the buttons if you are on a mobile browser.

Tetris Matcher play_arrow

A block matching game based on Mozilla's Gamedev Canvas Workshop. Drag blocks around to match them. Match 4 blocks of the same color to create a solid piece. Line up a row of solid pieces to erase the row. Match more than 4 blocks of the same color to instantly remove them. Match a bunch for a surprise!


Toys are mini-projects that I don't consider complete enough to call games. Still, they may be interesting to you.


Ping vs. Pong

Hard Sand

Sand Particle Simulator v2

Soft Sand

Sand Particle Simulator


Rigid Circle Physics


Soft Circle Physics


Barnsley Fern Generator


Implementation of the Chaos Game


An experiment with diffusion.


A small mouse-following diamond.


A combination of the previous two tests


A test of distance-based point lighting


An interesting design generator


Testing my Rectangle class


Testing polygon destructibility (uses PolyK.js by IvanK)