About Me

Developer · Designer · Dreamer

I am a self-taught software developer with a passion for building and designing better systems and abstractions to improve software development.

I’m currently focused on building a set of components used to define many different architectural patterns and application level features while conforming to a common interface.

Experience


Development

The technologies I’m most familiar with include: C++, Lua, SDL2, OpenGL (fixed and programmable pipeline), Python, JavaScript, Shell Scripting, and Haskell.

Despite my general interest towards research and development of high level abstractions, I’m quite familiar with the dark corners of C++ (though the joy of practicing this dark magic has gradually worn off ☺).

Design

Most of my design work has been biased towards vector graphics for use in the development of Logos, UI Mockups, and compositions. I’m proficient in Photoshop, Illustrator, Gimp, Inkscape, Html, and Css.

Projects


Plane of Craftiness Logo

Plane of Craftiness

Plane of Craftiness, my very first project, was a 2d top-down rpg game written in C++ with SDL2. The original concept for the game was based on Plane Of Goofiness. The code base has basic support for Camera, Map Tiling, Sprite Animation, and InputHandling. The engine’s architecture manages game Objects which contain a set of Components which are composed of data and logic. This project was abandoned in order to do restructure the architecture of the engine. It may be ported to utilize my newer libraries in the future.

Perazim Logo

Perazim

Perazim contains a collection of SDL2 interface wrappers, a basic plugin system, and an Entity Component System implementation which manages the game’s data and logic. It also contains a more advanced View and Canvas system, IsoMetric and Orthographic TileMap, simple 2D Physics system with collision handling, and more streamlined Input handing.

Scrutiny Logo

Scrutiny

Scrutiny is a C++ Reflection API and Script interfacing library. Lua is currently the only Scripting Language supported, but the interface is generalized enough to allow for more implementations in the future. Functions can be called to/from both C++ and Lua. Reflected C++ Classes can be registered to Lua as tables.

Silver Logo

Silver

Silver is my newest project which integrates my previous C++ projects into one by abstracting over and generalizing their architectures to fit a common interface. It can be thought of as a framework for building frameworks. Silver is also the name of a programming language I’m developing which is currently being built on the abstractions, infrastructure, and knowledge gained from past projects.

Hugo Plus Logo

Hugo Plus

Hugo Plus is a Hugo theme which implements its own platform for better site and plugin management on top of Hugo. This blog was built using Hugo Plus.

MonsterBS

MonsterBS is a build system written on top of Make and Bash scripts. It supports cross-compilation, dependency generation (for partial recompilations), debug/release buids, and more.

A list of my other projects (miscellaneous games and utilities) can be found on my github page.