Hello, and welcome! I'm Gryphon (he/him), and I make fun little browser games in JavaScript and post them here. I code all of the game engines, art, animation, and everything else myself.

Khantober 2023

These four programs were my contribution to Khantober 2023: a challenge on Khan Academy where participants release a quality program every week during October. They're much smaller than my normal projects, since I only had a week for each, but I'm proud of how they turned out! Thanks to Chester Banks from Khan Academy for hosting such a fun community challenge!

Game in a QR Code
The idea here, inspired by a YouTube video by MattKC, was to try and fit enough code to run a game in a QR code. It's a little convoluted, but if you scan the code, copy the output and save it into an HTML file, and open the file with your web browser, you can play the game. The game itself is very basic—2.9 kB of data doesn't give much room for interesting game mechanics—but I enjoyed the challenge!

HEX
This one is my unique spin on a tower defense game. Instead of managing the battle from a disembodied omniscient perspective, you run around the battlefield on the ground, grabbing money, placing towers, and fighting enemies with your player character.

Slime
This short but difficult 2D platformer has you play as a cube of slime who can stick to walls and ceilings. It's probably my favorite of the four; I love the fusion between platforming and puzzle-solving.

Tangrams 2
One of my first ever games was a video game version of the classic trangram tiles, where you're given the silhouette of a shape and you have to arrange seven geometrical "tans" to match that shape. This version has several improvements on my original attempt: the controls are much better, the UI is more polished, and the tans are no longer constrained to a grid, which allows for more interesting puzzles.

Avatar: In Times of Balance (2023)

This one is a fighting game inspired by the TV show Avatar: The Last Airbender. You play as a "bender"—someone who can control one of the classical four elements of water, earth, fire, and air—in a Smash Bros. style platforming arena. You can play with friends on then same device or against the AIs (or a combination). Controllers are supported!

I'm especially happy with how the AIs turned out here. Mimicing a human player's movements (somewhat) realistically from scratch was very difficult, and while there are still ways to cheese them, overall I think I did a pretty good job. They feel realistic enough that they're fun to fight without being too much of a challenge.

Thanks to Khan Academy users WalkWorthy for their tutorial on controller support and Bimum and YokieBob for their tutorial on using Base64 font data.

The Lost Realm of Arthor (2022)

Okay, in retrospect my choice of title wasn't the smartest move. I named the realm Arthor Gwanwen (Arthor for short) which means "realm lost to time" in Sindarin. (Sindarin is an Elvish language from The Lord of the Rings—yes, I know I'm a nerd.) This would be fine, except that 1) the title of the game is now "The Lost Realm of Realm", which is silly, and 2) people understandably assume that it's a misspelling of the name "Arthur", which is misleading. Oh well, now you know.

Titular stupidities aside, I'll always have a soft spot for this game. The platforming might be a little slow and floaty, but I'm very proud of how well the overgrown ruins vibe came through, given my skill level at the time. And I think I did a good job keeping things fresh with new enemies and environments as you explore through the levels.

Thanks to Mushy Avocado from Khan Academy for their project exporter, which I used to convert my original PJS code into HTML that I could post here.

Rocket Wars (2022)

The goal with Rocket Wars was multiplayer PvP chaos, and I think it achieves that fairly well. It's essentially a 2D top-down shooter, but your player character is a space ship—the arena is filled with planets and other gravitational hazards that you have to dodge while shooting down opponents with a variety of weapons. You can play with up to four people on once device and/or AIs.

I really like this one for when I just want to take a break for 5 minutes or so. At some point I want to revisit it and add an online multiplayer option, as well as some extra polish touches like controller support.

Kingdom Invasion (2022)

This game was a collaboration between me and one of my classmates for a highschool project. My classmate designed the gameplay systems, and I wrote the code to make them work.

This was my first time using HTML for a game; previously I did all my coding in ProcessingJS using Khan Academy's online editor. I'm happy with how it turned out, though! I love the board game aesthetic, and the flanking aspect my classmate came up with makes for a really cool puzzle-based approach to combat.

Thanks to my classmate for the game design, and to Green Ghost from Khan Academy for their image caching functions.

Tangrams (2019)

I've always loved tangram sets, so making them into a video game was a really fun project. In case you're not familiar, you solve puzzles by arranging a set of seven geometrical tiles called tans so that they match the silhouette of an image.

Thanks to Mushy Avocado from Khan Academy for their project exporter, which I used to convert my original PJS code into HTML that I could post here.

The Mystery of Marlston Castle (2019)

A reverse escape room, where you explore a spooky castle to try and unearth the secrets therein. I often cringe when I look back at my old games, and this game is no exception—the graphics are pretty basic, and the hints really aren't that helpful. But I do think the gameplay holds up surprisingly well. It's simple, but it works—especially considering I'd only been programming for two years at this point.

Thanks to Khan Academy users 流木 for their tutorial on using Google Fonts in PJS and Mushy Avocado for their project exporter, which I used to convert my original PJS code into HTML that I could post here.

A Quest for Treasure (2018)

Okay, this one really makes me cringe. The gameplay is clunky, the animations are extremely awkward, and I used some of Khan Academy's premade images (which I can't include here for licensing reasons) for the title screen and health icon. But it is nice to see how far I've come since then, and to read through the code and spot techniques that I still use now.

Thanks to Mushy Avocado from Khan Academy for their project exporter, which I used to convert my original PJS code into HTML that I could post here.