welcome
Profile Photo

Hi! I’m Bee, a junior studying CS (and fine arts) at Carnegie Mellon University. I’m incredibly passionate about creating things, and have been building an arsenal of skills covering everything from algorithm design to welding. Among all of these hobbies, game development is most exciting for me as it requires exceptional technical skill in a wide variety of areas. Also, seeing the delight on someone's face as they play a good game created by you has to be the single best feeling in this world.


Game Development

Last Dance (2025)

Last Dance is a fiery online 1v1 strategy and fighting game that relies on careful planning and quick instinct. Before the round, place traps to appear during the fight at specific places and times. During the fight itself, you’ll try to manuever your enemy into traps using your hook and pull abilities. You need a good plan AND good execution to win, lest your enemy knock you into your own traps!

I was the sole software developer and game designer on this project (I did work with a vfx artist and a 3d modeller). I worked ~9 hours a day for a couple months to get the basic architecture down. It’s currently pending approval for Steam release!

The initial concept featured two characters, one with a long-ranged hook + short-ranged push and one with a long-ranged push and short-ranged hook to introduce different playstyles. There were also different types of traps, such as wind (movement with no indication) and blue fire (longer indication time with larger area of effect). These were cut from the original release but will hopefully be added as updates in the future.

2023

ASCII MADNESS

2D bullet-hell where you play ASCII artwork in a terminal, fighting off the computer’s user. ASCII characters decrease on impact so hitbox shrinks over time (convenient, in a bullet-hell). Story/infinite modes available.

Created over a couple months as my final term project for the first programming course I took at CMU. Won “Legendary” award in a class of 600 students. Requires CMU-graphics (Pygame-like library), playable + code located here (though I believe CMU-graphics may have changed since I took the course).

2024

Animated preview

RAM-SCRAPER

An addictive “wordle” style game prototype, one of my favorite small JS games programmed as a response to a weekly assignment. Unfortunately defunct following changes to Gemini’s API.

[You play as a RAM-scraping virus trying to collect data from chunks of memory. At each chunk, there are a few clues generated by Gemini API calls that hint at the “information” (5-letter-word) previously stored there. Once you think you know the five letter word, tap the circle in the corner to enter the guessing phase.]

2024

hand2hand

Gesture-controlled couch co-op JS game. Software tracks finger positions and interprets them as different attacks depending on relationships between finger vectors. This was another small game created for a loose weekly assignment. Watch the trailer above or grab a friend and try it out in your browser here.

Note: Hand tracking library was provided by Golan Levin.

2024

Hero's Gambit

Juicy 2D-platformer with unique sliding and freezing mechanics. Developed state-machines for player control and enemy AI, as well as playing around with my favorite flocking algorithms. A lot of time was spent making the environment responsive, however the game was eventually abandoned as I realized how unsustainable it was for me to be in charge of developing both artwork/animation and software for a long narrative game.

I did also enjoy the challenge of learning Godot from documentation alone. Watch the trailer above!


Theoretical Computer Science

Solving NP-hard puzzles with Slime Molds (2025)

I had the pleasure of being able to do this project as SURA research with the university. A formal paper is in the works, but informally: I used Karp reductions to transform an instance of NP-hard problem Exact 3 Cover (X3C) to Euclidean Steiner Tree, which is a problem that Physarum Polycephalum is able to solve with 60% consistency. X3C is naturally able to encode problems such as Tiling and Sudoku (though the latter would be tremendously large) meaning I was affectively able to have Physarum Polycephalum take a stab at solving these problems. If you’re curious about how any of this works, please reach out, I love to talk about this kind of stuff.

Slime Molds

Turing Machine Tracery Generator (2025)

I created an algorithm which, when given an input Turing machine in a standard-form 7-tuple, outputs an svg of an ornate rug design that encodes all of the relevant information of the turing machine. This means the rug can then be read back as the same Turing machine. The photo to the left is one of the designs being drawn by a pen-plotter robot, specifically the design encoding the TM that solves the language of “all unary strings with an even number of digits”.

Turing Machine

Other

Spring 2025

Old Slime

Slime mold Perceptron

4 days of soldering to create a physical perceptron which functions based on the decisions of a slime mold in the central petri dish. No micro-controller, just logic gates, it’s a bit like giving a brain to a brainless creature. I actually created this as a submission for a fine arts assignment. Arts students said it needed more LEDs. Featured in Postnatural History museum.

Summer 2024

Old 8-Bit

8-bit Computer

Unfinished 8-bit computer, I hope to get around to it when I have more free time. The photo above is a register built from D-flip-flops. Currently have two data registers and one control register hooked up to a bus + clock. Next up is the ALU!