Lily Engine Utils (2011-current)

This is a small collection of utility functions and classes I've been gradually building up over time. Should have no extra dependencies. Cross platform across POSIX, POSIX-like, Windows, and others.

Ninkasi (2018-current)

Another scripting language!


  • Cross-platform
  • Runs in DOS! (Real-mode and 32-bit protected mode)
  • Written in ANSI C
  • No dependencies beyond the standard C library
  • Hand-written lexer and parser
  • Sandboxable*
  • Robust error handling and recovery
  • Faster than DerpScript
  • C-like syntax
  • VM state serialization and deserialization
  • Serialized state portability

* Tested extensively with AFL, Valgrind, static code analysis, undefined behavior sanitizers, and running on a variety of platforms of different word size and endianness, but ultimately the security cannot be guaranteed.

KiriCrop (2018)

"Smart" image cropping and resize tool that attempts to crop an image to the most interesting area. Area selection is done by determining the area with the most edges of the given crop size.

DerpScript (2015)

A scripting language with a simple C-like syntax, a clean interface to hosting application code, and unfortunately a very slow VM, naive garbage collector, and lack of documentation.

Still kind of a cool toy.

Last Minute Emergency Breakout Clone (2013)

My February entry for the 2013 One Game a Month jam. Made in one day at the last moment because I've been otherwise swamped with work on Neverwinter. The code for this one is especially horrid, so I probably won't be posting that up.

Space Poop (2013)

My March entry for the 2013 One Game a Month jam. Also made in one day at the last moment because I've been otherwise swamped with work on Neverwinter again. Seriously, this one was even more down to the wire on the deadline.

This one is just a really bad Asteroids clone. Spacebar fires. Arrow keys turn and thrust. 'n' will start a new game from the title screen or victory/loss screens.

Lily Engine 2D (2008?)

2D game engine with game logic in Lua. Has a built in editor. Check the README. This code is pretty old. Watch out for testing junk just about everywhere. The Lua scripts are particularly ugly.

This is some of my earliest work in the field of engine development, before I ever really started in the industry. Don't judge too harshly.