Click on a project name to see more info.

Current Projects



The moonglade engine is a 3D game engine written using Java and openGL. Originally written to support procedurally generated infinite worlds, the engine was split into two branches, with the former fufilling it's original goal of supporting procedural games, while the latter branch was modified to support games with more static environments. This branch, the one on which 'project moonglade' is built on, supports procedurally-infinite worlds, which can be interacted with and modified, a day/night cycle, dynamic lighting/shadows, and procedural biomes generated via distorted deterministic voronoi diagrams. In addition, the engine contains a tile-based building system, which allows for walls, floors, and slopes that can have unique meshes and textures. The engine also has a built-in debugging console that utilizes Java's reflection for easy and quick debugging.



View this project on github!

This project is a branch of the game engine I used for my previous project, heavily modified to support static environments rather than procedurally generated ones. The main differences in this project are the use of BSP-trees to render pre-built environments, complete with baked lightmaps, ambient lighting, precomputed node graphs, and A-star pathfinding for entities. The engine also features a rudimentary physics system, which, while existent in the original engine, was further expanded upon in this branch. In it's current state, this game supports three maps.



View this project on github!

Collaborating with the NetSciDraw team at Binghamton University, I successfully implemented shape-recognition, a resizeable canvas with click and drag support. I also help fixed bugs related to cross-platform compatibility. NetSciDraw is a cross-platform application written using node.js, meant to be used as a teaching supplement for explaining information systems with a simple and intuitive interface. I acted as the lead developer during my time on the team.



Visit NetSciDraw!

Created to serve as a successor to ArrowVortex, Whirlpool is a cross-platform program that creates and edits .sm/.ssc files, which are used by games such as StepMania and Etterna. The goal of whirlpool is to make .sm file creation faster and simpler through its drag-and-drop interface, as well as other various quality of life improvements over ArrowVortex. Currently a work in progress, but the source code is available through github.



Visit this project on github!

Older / Legacy Projects



Project date: May 2020

This project was created to demonstrate rendering realistic water reflections and refractions through the use of frame buffer objects and shaders. Written using Java, OpenGL, and GLSL for said shaders.



Visit this project on github!

Project date: 2018

Overworld Editor is a 3D map editor made in Java, featuring basic object placement, terrain editing tools, and the ability to read 'profiles' which specify groups of assets belonging to whichever game currently being developed for. This project is now defunct.



Visit this project on github!

Project date: 2015



Project date: 2015

One of my earlier forays into game development in Java.




Project date: 2010

A game made in Game Maker 8, which I helped make in collaboration with Jared Krahn. This is my magnum opus.