return to main website
with a more curated list of recent work
Hello! I'm Eevee and you have reached the main index of almost everything I have ever put into the world.
My favorites are marked with π§‘. Adult work is, of course, marked with π. Some genres have their own separate indices:
For completeness, you may also want to check my GitHub for code, itch for games, or squares for crosswords. Everything of note should be mentioned here somewhere, but maybe something slipped through the cracks.
return to main website
with a more curated list of recent work
support my work on patreon
if you would like me to make more of it
I found out at one point that I really like making games, so I hope you like playing some of them!
Most of these are on my itch.io page, so you can browse there too. But here, I have the power to write more than a line and a half of text about each game!
"Desktop" means it's playable on just about any kind of real computer. A couple holdouts don't have Mac builds, but you can still play those by getting a Mac build of LΓVE yourself. BSD users, you're on your own, but I believe in you. I've never released an Android or iOS game, but browser games work on small touchscreens where noted.
free β’ browser (desktop + mobile) β’ sokoban-like β’ hours and hours long
A free reimplementation of Chip's Challenge 1 and 2, with entirely new art, music, sounds, and loads of community levels. Can load the original levels too if you've got them, and has a built-in level editor where you can make your own levels and share them as a link. Also undo/rewind, debug tools, demo recording and playback, compatibility settings, and more.
free β’ PICO-8 or browser (desktop + mobile) β’ 2D puzzle-platformer β’ half an hour
A small charming puzzle-platformer for the PICO-8. Play as Star Anise and run around the imaginary moon, trying to find your best friend and also causing minor mischief.
free β’ ZDoom mod β’ utility
This dumb 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.
free β’ ZDoom mod β’ utility
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.
$6.90, free demo on itch β’ desktop β’ conversation sim β’ several hours
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!
free β’ desktop β’ visual novel β’ hour or two
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 with several routes; the full game never materialized. But hey, it's free.
free β’ desktop β’ 2D platformer wave defense β’ half an hour
A short, shooty, tower defense-ish platformer made with my spouse in 72 hours for Ludum Dare 38. We came in 204th! Woo!
free β’ desktop β’ 2D puzzle-platformer β’ about an hour
A mildly NSFW puzzle platformer I made for my own month-long game jam. This is the initial iteration of fox flux DELUXE.
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.
free β’ desktop β’ exploratory 2D platformer β’ half an hour
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.
free β’ PICO-8 or browser (desktop + mobile) β’ 2D puzzle-platformer β’ half an hour
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.
free β’ PICO-8 or browser (desktop + mobile) β’ 2D puzzle-platformer β’ half an hour
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.
free β’ ZDoom map β’ FPS β’ half an hour
After many years orbiting the ZDoom community, I finally released a map for DUMP 2, a week-long newbie speedmapping project.
free β’ GLULX or browser (desktop + mobile) β’ text adventure β’ few minutes
This very short and silly text adventure is extremely based on true events.
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.
hmm... makes u think
Killer, very easy. The previous puzzle drew a comment from someone who had never done an "empty" sudoku before, so I threw together the easiest killer I could manage.
Killer + little killer, moderate. Putting this page together made me wonder why I've never made a sudoku, so I dropped what I was doing to make a sudoku. A compelling theme for my first attempt!
All of these are theme puzzles. I just don't know why you'd make a crossword without a theme.
Links go to my crosswords on squares.io, which I like because it allows collaborative solving β you can just pass around the URL to your solve (it should have a /s/
in it) and have friends chime in.
You can also download the puzzles and play them in whatever crossword gizmo you like. Most of them are in Crossword Compiler's XML format; a couple are in the ancient PUZ format. Probably right click and Save As so you don't accidentally see the solution.
Puzzles all made with QXW, mostly because it's the only open source Linux puzzle constructor I could find, but it's plenty solid.
19Γ19, tough. A puzzle containing only regular words. (Download CCXML)
This "canonical" version has some sassier clues, to the point that I felt compelled to also make an easier version. (Download CCXML)
15Γ15, devilish. Kind of dorky clues and an equally dorky theme, and I still clue too hard, but I'm getting better. (Download CCXML)
15Γ15, devilish. Sometimes, an idea grips you, and you just have to see it through. A little rough around the edges, but this is my first crossword that I really like. (Download CCXML)
21Γ21, easyish. I think I finally started to get the hang of cluing here. I wish the theme were a bit stronger, though. (Download CCXML)
13Γ11, hard. Tried to make a quicker, easier puzzle with less tech jargon in it. It's quicker; not sure about easier. I like the subtler theme on this one. (Download CCXML)
19Γ19, tough. A much better second attempt. Less junk in the fill, but still a bit esoteric in places, and still harder than it ought to be. (Download CCXML)
15Γ15, devilish. My first crack at crossword construction. It's not great. A couple answers are, um, dubious (wow, filling a grid is hard!), the clues are a bit cheeky and generally too terse, and there's a bunch of nerd stuff. I think there might also be a typo in one of the answers. Oops. (Download PUZ)
simple curiosities
A trivial PICO-8 cart that iterates through prime numbers, one for every press of the X/Z keys.
Made as a riff on the Numberphile video "WARNING: Contains Numbers", which has a physical version of the same device.
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.
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.
tools for making bigger things
Browser tool for turning a single symbol into an image you can feed to a shader to make a wipe transition out of it. (Ren'Py and RPG Maker have built-in support for these.) I'd written a bunch of fiddly code to make the heart wipe for Cherry Kisses, and it seemed a waste to only use once, so here it is as a little gizmo.
Little browser tool for turning text into an image using a Doom-format font. Has a bunch of built-in fonts, and can also load fonts from an arbitrary WAD/PK3.
Several Flora updates have taken the form of visual novels, using a little engine I wrote and have haphazardly enhanced as necessary.
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.
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.
A data-mined PokΓ©mon reference that I've been working on, on and off, since I was 12.
This is a very complicated... in-joke? If it doesn't make any sense to you, count yourself lucky.
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.
A bot in the every word genre, with the added twist that each word is mangled somewhat by Unicode shenanigans.
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. Nothing incredibly fancy in here β I don't do five-line rainbow shell prompts or anything β but I think they've been useful to a few folks getting into Linux for the first time.
A (slow) ongoing quest to solve every Project Euler problem β in a different programming language.
well, i tried
Sometimes I have an idea and then it turns out not to be that good of an idea. Actually I would say that's happened a lot.
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.
technically other people's stuff
I'm drawn more to working on my own stuff than to collaborating on existing codebases, alas, but I do upstream a patch or two now and then.
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.
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.