Rituals (C++, SDL2, OpenGL) 2016-2017: A survival/adventure game with a programmatic puzzle element.
- Designed and implemented an immediate-mode sprite renderer using modern OpenGL. Implemented a physics library for axis-aligned rectangles. Collisions are optimized using different broadphases for static and dynamic bodies.
- Designed and implemented a 3D-orthogonal particle system with terrain collision.
- Implemented a small immediate-mode GUI toolkit including buttons, sliders, and text input.
Wirmpht (C, Win32) 2016-2017: A tool for lexical analysis and code generation.
- Uses a hand-written lexical analyzer for C and does ad-hoc parsing to find data structures and procedures to extract.
- Pretty-prints procedure prototypes and data structures from source code to output.
- End goal: saves the programmer time by generating headers, making C code position independent.
- Being rewritten for better portability, stability, completeness, and error generation.
Sparse (C#, SDL2) 2014-2015: a 2D survival/engineering platformer set on a desolate planet.
- Serialization system using BinaryFormatter; spent a lot of time hacking on Farseer to get it working
- Iterated on an extensible JSON game data package loader allowing inheritance and overriding of definitions and automatic data conversion to C#.
- Designed and implemented a novel procedural generation system using lines and fills for terrain.
- Uses a combinational tile system, generating final tiles from parts at runtime.
Potential (C#, SDL2) 2014: a puzzle-platformer for Ludum Dare 30 (jam)
- Puzzles involve conserving potential energy: when you jump, you can bounce to your initial Y.
- Largely re-uses Sparse’s engine, with some modifications to the entity system.
- Designed and implemented a simple in-game editor for creating levels.
Contact Lost (Lua, Love2D) 2013: an action game with survival elements, created for Ludum Dare 26 (compo).
- My first successful LD entry, and to date, my most complete and playable game.
- Makes extensive use of Lua’s tables for its rotational inventory and schematic system.
- Two years at the University of Redlands, pursuing a Bachelor of Music in Tuba Performance and a Bachelor of Science in Mathematics.
- Experience working on Windows and Linux.
- Experience using Visual Studio, Vim, Git, Adobe Flash, Photoshop, and Illustrator; MSVC, GCC, Clang.
- Experience tutoring and teaching programming and game design.