Projects

Here is a curated selection of my projects that I believe are noteworthy for presentation. Please note that this list is not exhaustive, as I am in the process of reviewing my Git collection and working to ensure that additional projects compile successfully. I may publish more source code in the future. I hope that you find inspiration in this content!

1. Beats of Betrayal (2020 - Today)

Adventure game with rogue-like mechanics, rhythm-based combat, randomization, using 160x90 characters in terminal resolution. I have implemented it in a custom C++ text based engine with integrated Lua scripting and develop it with a friend, who does the graphics, design and audio. Currently it is using libtcod as its virtual terminal, however it also has a setting to use stdout making it able to run in any fast terminal that supports Unicode and 24 bit colors.

bob.png

Check it out at https://beatsofbetrayal.com!

2. Overact (2015)

Shoot 'em up game. It features six bosses in three stages, three difficulty settings, a handful of power-ups, quite a few enemy types, and a boss rush mode. Playable on both desktop and mobile, using keyboard, controller, arcade stick, and touch controls.

overact1.png

overact2.png

I experimented with a time manipulating mechanic by defining several bullet path types with absolute formulas based on the elapsed time. When you collect the hourglass power-up, the world around the player starts running backwards in time. Makes sense when you see it in action, kind of.

overact3.png

overact4.png

3. Dungeon Rogue (2014)

My first take on a pixel horror game. As I knew some OpenGL, I wanted to experiment using it with LibGDX in order to bring 3D to a mobile target. Featuring six random levels, two bosses, three weapons, a scare meter system, dynamic events, and noise sensitive enemies, I found it quite enjoyable for a short while. It would still need some polishing before I would consider it as complete, though maybe I will revisit it at some point for fun.

dungeonrogue1.png

dungeonrogue2.png

There is a boss appearing in level two which appears in long corridors, disappears on damage, and gets more dangerous the more often you see it. Another boss appears on level four, the ghost, and it tracks you down all while being able to move through walls. It backs off for a short while after receiving damage, however. Your recharging lantern will turn itself off and fail the more scared you are, which depends on several environmental factors.

dungeonrogue3.png

dungeonrogue4.png

4. Ice Dungeon (2014)

Live action rogue-like. All actions, such as movement, attacking, and blocking, were taking a certain amount of game time to complete. Enemies are able to execute the same actions as the player, and even pick up dropped items to fight against the player. It had a handful of weapons, enemies, and potions, though I never implemented the planned magic and scroll system. Probably the first time of me using actually shaded light maps.

icedungeon1.png

icedungeon2.png

This was also my first experiment using behavior trees. The system worked quite well for what it was, especially when enemies found weapons on the floor and started to chase you down on sight. The world generator had the ability to create basic dynamic puzzles with requirements, such as correctly placing keys necessary to open the door to the next section.

icedungeon3.png

icedungeon4.png

5. Voxel Engine (2013)

Was pretty proud of this one back then, as it was technically my first C++ program. I had tried to learn some OpenGL and C++ seemed (and still seems like) an obvious choice for this job. I returned some time later and added a few more things to toy around with, notably a home-brew noise library for terrain and cloud generation, sky-dome with day and night circle, an infinite in all three directions chunk system, save support, and basic physics. Sadly I lost the version that had entities and Python scripting support.

voxel1.png

voxel2.png