These are projects that have reached a complete, usable status. They link to a project homepage with more information, and sometimes documentation and examples.

doubly-linked-list: An implementation of the doubly linked list data structure.

flac-metadata: A utility for reading metadata embedded in FLAC audio files.

gamebox-dgen: A procedural dungeon generation library.

gamebox-frame-manager: A manager for frames within a game loop.

gamebox-math: A high performance math library useful for making games.

gamebox-sprite-packer: A spritesheet packer for games.

golden-utils: Auxiliary utilities (AU). My personal utility library.

parsley: A toolset for parsing binary data formats.

pngload: A PNG (Portable Network Graphics) image format decoder in portable Common Lisp with an emphasis on speed.

shadow: A lightweight system to help with defining and managing OpenGL shader programs, uniform buffers, and shader storage buffers.

shorty: A toy URL datastore.

simple-logger: A simple message logging system.


These are projects that have not yet been finished, and have not been moved to an abandoned status. These link directly to a source repository.

first-light: An experimental game engine in development by Peter Keller and myself.


These are projects that are not even worth mentioning, but are here for archival purposes. They consist of failed experiments, deprecated software, or codebases no longer of interest to me.

cl-gltf2: A loader for glTF2 (OpenGL Transmission Format) files. Currently works for loading vertex data. Does not include support for materials, animations, etc.

crawler-viewer: An unfinished and barely worked on attempt at a viewer for the crawler dungeon generation library, which is now known as gamebox-dgen.

downward-peril: An unfinished game, created as a first attempt at a collaborative effort with Peter Keller.

flac-parser: A parser for metadata information embedded in FLAC audio streams, which was superseded by a rewrite, flac-metadata.

fringe: An unfinished game, started to refamiliarize myself with game development after an extended hiatus.

fs-utils: 3 little utility functions I primarily use in game development when working with game assets. This is not used anymore, and should never have been a separate library. Instead, I maintain this in my larger personal utilities library, or copy them to whatever project I need them in.

gamebox-base: A sorry attempt at a game engine, and very quickly abandoned.

gamebox-ecs: An implementation of the Entity-Component System (ECS) pattern, popular with game development.

gamebox-grids: A very bad implementation at bringing together a single interface for working with game grids of various types. Became broken due to improper testing and decided it to not be worth fixing without a rewrite.

gamebox-legacy: Various game development utilities. Everything in this library was superseded by other projects of mine.

genie: A simple wrapper to generate portably seedable pseudo-random numbers.

gloss: Datastore, Texture, and Shader management for modern OpenGL in Common Lisp. Written with Peter Keller.

gsim: A few animated graphics simulations, written to learn Sketch and follow along learning some game math tutorials.

heros-twilight: A follow-up attempt at rewriting downward-peril with Peter Keller. Quickly abandoned.

tradewarz: My first attempt at a game in both Common Lisp and OpenGL. Development came a long way, but it suffered greatly due to inexperience and “god object” hell.

vao-test: A quick test/attempt at refactoring glkit's package into a less abstruse form without some of its major implementation problems and non-conforming OpenGL behavior. It was quickly realized this was not a project worth pursuing, and thus, work began on GLOSS with Peter Keller.

zim: Yet another abandoned attempt at a game.