Welcome to my personal website, and thank you for visiting!
I'm a software developer, sports fan, animal lover, and gamer.
I enjoy working on Free Open Source Software projects
in my spare time - especially those related to Video Games
and Game Engines. I also develop Web Applications.
Gimme The Loot was a simple roguelike game I created for InsanityJam 2.
The game featured an inventory system, consumable items such as potions and spell scrolls, and of course, loot.
The more loot the player acquired, the more difficult enemies became. The goal of the game was to progress as deep into the dungeon as possible.
Derelict was a science-fictionroguelike game prototype. It featured procedural spaceship generation,
procedural generation of zelda-like lock and key puzzles, a 2d tile-based renderer, a minimap, and turn-based gameplay.
The project was abandoned when I stopped using Java for game development, in favor of Nim.
A tool which uses various Procedural Content Generation techniques to generate wrapping world maps.
The generator also features Biome generation, Climate Map generation,
Factional Territory generation, and a visualization system with fake lighting using
GLSL Shaders, amongst others. I planned on using this map generator in a Roguelike game I was creating with
libGDX, however shortly after I completed this prototype, I switched to the Nim programming language for hobby programming.
FRAG is a 2d game library that I wrote using the Nim programming language in 2017.
FRAG relied on the BGFX rendering library,
along with several other third-party dependencies. I built a sample space invaders game using the library,
as well as several small example projects which demonstrated various library features. One of the features I'm most
proud of, is the integration with Esoteric Software's Spine SDK.
zengine is a 2d and 3d game library that I wrote using the Nim programming language in 2017 and 2018.
I built several examples with zengine, demonstrating various features, including 3D Skeletal Animation, Tetris,
Bitmap and Distance Field Font Rendering, and building for the Web Assembly target.
The library featured an API that was similar to XNA and used OpenGL for rendering.
This screenshot is from an Isometric Map Rendering demo I put together using free assets from the open source RPG FLARE.
I used the zengine project I had previously built, to create this demo. The demo featured mouse picking and 2d animated enemies.
The Nim playground is a Web Application I created, to allow for compiling snippets of Nim code in the browser.
Every request is compiled and run inside of a docker container, with additional network and file system restrictions placed on the container.
Compilation logs and program results are rendered in the browser for user convenience. Anonymous Gist support was featured at one point -
however due to Github removing support for the feature, the playground no longer supports gist creation presently. Both the frontend and backend were written
in Nim. The playground is hosted at play.nim-lang.org
I have authored and updated a number of new and already existing Bindings for the Nim programming language.
Most of the bindings I have worked on, are bindings for libraries that expose a C API, and are game development related.
Some of the libraries I have produced bindings for are BGFX,