Hey! I'm Eevee. I make stuff. Here's some stuff I made.

You can keep up with what I'm doing by following my very active Twitter (hint: you can turn retweets off per-user), or by following the feed for my dev log.

If you like my work, you can help pay my salary!



I write about game development, learning to draw, and miscellaneous technical stuff. I like to explore a single topic in depth, so my writing can be a bit long-winded.

dev log

Every week, I write up what I've been working on. It helps me see how much I'm getting done, and it's lower-volume than Twitter if you're curious what I'm up to.


Announcements of things I've released into the wild. Varies from a quick link to extensive commentary that you may find interesting.


clean art

I'm gradually teaching myself to draw and here are some of the results!

🔞 weird porn 🔞

Honestly, what's the point in drawing if not for this? NSFW and not suitable for younguns, obviously.

I post more frequently to my porn Twitter.


Lexy's Labyrinth

A free reimplementation of Chip's Challenge, with entirely new art, music, sounds, and community levels. Can also load the original levels if you've got them, and has partial support for creating your own. Chip's Challenge 2 support underwary.

Star Anise Chronicles: Oh No Wheres Twig??

A small charming puzzle-platformer for the PICO-8. Play as Star Anise and run around trying to find your best friend and also causing minor mischief.


This ZDoom mod tracks how much of the stuff you pick up is lost because you were too close to the carry limit. A tribute to the surge of adrenaline I get when I watch someone else play Doom and they grab a shell box at 99/100.

Plutonia mode

This tongue-in-cheek ZDoom mod will turn any map into The Plutonia Experiment. Play with Plutonia for Double Plutonia!

Even _I_ haven't played this.

Cherry Kisses

In this wildly NSFW game, you run a sex shop and can have various sex with various customers. Hm, that sounds familiar. Also contains a narrative meta-puzzle that I'm very pleased with.

Made for Strawberry Jam 3, but ran like three weeks late, oops? Then we polished it up and put it on Steam!

Alice's Day Off [demo]

Very NSFW. A visual novel about running a sex shop and trying to have sex with your customers. Made for my own Strawberry Jam 2.

This is a short demo; the full game is still in progress and expected to be much bigger.

Lunar Depot 38

A short, shooty, tower defense-ish platformer made with glip in 72 hours for Ludum Dare 38.

fox flux

Slightly NSFW. A platformer about turning into stuff to solve puzzles, made for my own month-long Strawberry Jam.

Music, title screen, and a couple sprites were provided by glip, but the rest of the artwork was all mine, which makes this a cool accomplishment.


My partner glip and I made this exploratory platformer together for a week-long game jam I was running.

It's pretty chill, and is maybe our first "serious" game? Big game? Game not for the PICO-8.

Realistic proportions

This tongue-in-cheek ZDoom mod adjusts Doomguy's height to be more realistic, rendering the game largely unplayable.

Isaac's Descent

I made this short PICO-8 puzzle-platformer in 48 hours for Ludum Dare 36.

It's the first standalone game I created 100% by myself, and I'm pretty happy with it! Interesting mechanic, decent difficulty curve, and music that isn't entirely terrible.

Under Construction

This surreal explorational PICO-8 platformer is the first game glip and I made together, and the first standalone game either of us really released.


After many years orbiting the ZDoom community, I finally released a map for DUMP 2, a week-long newbie speedmapping project.

Don't Eat the Cactus

This very short and silly text adventure is extremely based on true events.

Mario Maker

I used Mario Maker to dip my toes more seriously into level design. In theory, these levels get more interesting over time.

You can find a less long-winded list on the Mario Maker bookmark site, assuming that still exists.

Twitter bots


this is really an injoke

This is a very complicated... in-joke? If it doesn't make any sense to you, count yourself lucky.


beautiful, chaotic patterns built from perlin noise

Inspired by my post explaining how Perlin noise works, this bot tweets out Perlin noise in various ways: ASCII, obscure Unicode, emoji, generated images, and even the occasional GIF.


every word in my dictionary, scrambled by unicode

A bot in the every word genre, with the added twist that each word is mangled somewhat by Unicode shenanigans.

Web stuff

particle wipe generator

Creates masks that play out scene transitions for games.


an incredibly stupid effect i use on my birthday

Every year on my birthday, I add this incredibly stupid snow effect to my website.

Used to be a decades-old "DHTML" thing from DynamicDrive (!). I eventually rewrote it from scratch using CSS animations, which allowed for putting much more crap on the screen.

pure css unown

a datamined pokémon resource

Most of an Unown alphabet, implemented entirely with CSS — no images, no JavaScript.

Written on a whim one Christmas, inspired by a friend's... Christmas NES cartridge. Not sure how that leap happened.


a datamined pokémon resource

I started writing this as extensions to Pyramid to eliminate all the boring tedious parts of web development.

I didn't really finish it — turns out an easier solution was to stop doing web development — but it does power glip's webcomic site, Floraverse.

flora cutscenes

a datamined pokémon resource

Several Flora updates have taken the form of visual novels, using a little engine I wrote and have haphazardly enhanced as necessary.


a color picker

Simple color picker I made because I was frustrated with the lack of HSL support in everything. Don't really use it any more, now that CSS has HSL support built in.


a datamined pokémon resource

A data-mined Pokémon reference that I've been working on, on and off, since I was 12.



Simple Python library that makes it relatively easy to serialize objects to YAML in a more explicit, less magical, less dangerous way.


Small Python library with a few handy class-related utilities, in the vein of functools and itertools.


Microscopic Python library that exposes a dictproxy type for creating read-only dicts.



My dotfiles. Pretty simple, but they contain a couple gems.


A (slow) ongoing quest to solve every Project Euler problem — in a different programming language.



I started working on this autogenerated Starbound database and did a few cool things with it. I lost interest in Starbound before it got very far, and it no longer works against their data layout.


I started writing a console roguelike in Python, mostly to play with randomness and entity-component and ways of expressing object interactions. Then I lost interest.


I started writing a pluggable IRC bot atop Python's asyncio library. Then I stopped doing that.


Unfinished Python wrapper around ImageMagick that sought to hide the awfulness of the ImageMagick API. Alas, that turned out to be much more tedious than expected.

Open source


A modern continuation of the Doom engine. I added support for TERRAIN-based damage and friction to 3D floors; fixed texture scaling on 3D floors; and disabled using switches embedded in the floor when checkswitchrange is active.

Quixe / Glkote

A web implementation of the glulx interactive fiction engine. I sketched an initial implementation of graphics and audio support; fixed loading large games on some browsers; and found an overall 2× speedup in the VM.


A procedurally generated adventure game. Not actually open source, but I sent one of their devs patches to fix some bugs in their data files, plus an initial implementation of a wiring object that later appeared in the game.


A (deprecated?) Python test framework. I sped up a few specific operations, which shaved entire minutes off a former employer's (very large) test runs.


A Python console UI toolkit. I added support for using asyncio as the event loop.


A Python library for expressing shell pipelines. I added a TEE modifier for both capturing and piping a process's stdout.


A Doom resource and map editor. I fixed a lot of crashes, geometry bugs, and UI papercuts; and wrote most of the implementation of slopes and 3D floors in the map editor.


A Python PEG-based parser generator. I made it more fast.


A Python database library and ORM. I fixed an obscure bug with pooled connections.


A Python library for converting HTML to Markdown. I fixed the translation of <br>.


A Python implementation of Sass. I did a ton of work porting it from immediate evaluation to an AST; fixed myriad bugs and Sass mismatches; and added support for a lot of newer Sass features.


A Python templating language. I fixed parsing of dict literals inside ${}; fixed parsing of escaped quotes inside Python blocks; and added support for keyword-only arguments in <%def> blocks.


A web browser. I made a microscopic CSS patch to a feature that has since been removed. My name ended up on their obelisk, so it still counts.