Game: Vigilante

Vigilante is a side-scrolling action platformer. It was my team final project for my AG131 Intro to 2D and 3D Game Development course.

Click here to download the game:

Click here to view the source code: Vigilante Source Code

Click here to view and download the soundtrack: Vigilante Original Soundtrack

Screenshot from Vigilante

The original idea for this game was to give it a classic Metroid vibe, with lots of parkour moves, and a Gears of War-style cover system.

Well, the art assets turned into a time-sucking vortex. We had to make many cuts, and limit ourselves to something simple.

Regardless, it was an excellent experience, and many good things came of it. I learned how to use Mappy to generate levels, I refined my screen-scrolling camera skills, and I learned about SAT collision.

Here is what I worked on in this project:

    • Creation and implementation of music. (Vigilante Original Soundtrack)
    • Implementation of sound effects.
    • All audio programming.
    • AI (very simple)
    • Level loading from Mappy
    • HUD, menu, enemy, and parallax background art
    • Control scheme
    • Collision

I spent a lot of time researching and implementing SAT Collision. Though it is not incredibly stable, I managed to create classes and take copious notes on the subject that could be useful to anyone.

You can see them here: SAT Collision Code

Game: PGTBDCRPG (I never came up with a real name)

For one of our labs in a game development course I was taking, we were told to just have fun and make a simple game using what we had learned in the course up to that point. I decided to try my hand at random, procedural generation as well as a turn-based RPG-style stat and battle system.

Click here to download and install the game: Procedural Turn-Based Dungeon
Click here to view the code on the project’s repository: Procedural Turn-Based Dungeon Crawler Source Code
Click here to view and download the soundtrack: Procedurally Generated Role Playing Game Original Soundtrack

Screenshot of PGT… whatever I call it.

Working on this game went rather smoothly. Not surprisingly, the most time-consuming parts of it were the random map generation, enemy AI, and stat balancing. It was all very experimental, and no “official” algorithms were used. …or if there were, it was by accident!

The calculations I concocted for leveling up, damage, etc. were pretty convoluted. I basically just experimented with math through what was partially trial and error until things seemed to balance out.

Some interesting aspects I implemented are:

    • Stats (STR, AGI, etc.) will increase more depening on what actions you do in battle most often. For example, if you do a lot of melee attacks, your ATK will increase quicker. So ATK = melee, DEF = blocks (defends), MAG = magic, DEX = successful dodges.
    • HP and MP will increase more upon level up depending on if ATK or DEF is higher.
    • Known spells and weapons are based on MAG and ATK level (respectively).
    • Each weapon has a base damage amount, a critical hit chance, and an accuracy rate. Each of these, as well as both the attacker and target’s stats, are used in the equations to calculate the result of an attack.
    • Each spell was meant to be unique to each other. Fireball simply deals damage, Cure simply heals, Convert swaps the caster’s HP with their MP, and Absorb steals life from the target and gives it to the caster.

The AI is rather large and branching. Certainly too much to fit on this page. It is aware of it’s HP, MP, known spells, known melee attacks, and opponent’s HP and MP. Depending on all of these stats, they may choose to be aggressive, figuring the odds are in their favor. They may see that they are in danger and choose to play defensively. There is always a chance that they will behave recklessly, despite the circumstances. This is mostly to keep them beatable.

The map generation is rather convoluted and hard-coded. Feel free to look at it in the source code if you dare (Map Generation Code), but I won’t bother to try and put it into words.

This project was incredibly fun to work on and I am quite pleased with what I was able to accomplish in a week.

Game: Thirty Years After Year Zero

Thirty Days After Year Zero (TDAYZ) was a game my friend Jake Albano and I created for a 48-hour game jam.

You can play it on Kongregate here: Thirty Days After Year Zero on Kongregate

For this jam, we had our friends and anyone else vote on a theme and genre. We took the highest and lowest voted choices, and combined them, much like Mojang’s Mojam.

You can see the poll on our website here: Thaumaturgist Games 48-Hour Game Jam Poll.

What we wound up creating (after doing some tie-breaking) was a Post-Apocalyptic Sci-fi Beat-em-up RPG.

Screenshot of T.D.A.Y.Z.

We both wrote post-mortem blog posts for this jam. Here is mine: Post Game Jam Wrap-Up

As can be seen in my blog post, this jam was a little rough for us. It was my first ever game jam, and Jake’s first jam with another person. We learned many things about working in a game jam though, and in the end it was still a very valuable experience.

For this jam, here is what I did:


Game: The Hero’s Journey

The Hero’s Journey is a very satirical, fantasy RPG/Adventure game. It was created in 48 hours for an NHTI game jam.

You can play it on Newgrounds here: The Hero’s Journey on Newgrounds

Screenshot of The Hero’s Journey

I worked on this game with two other people, Jake Albano and Paul Ouellette.

This game jam was hosted by our college, NHTI. The theme was procedural generation. To satisfy the theme, we have the following:

    • The character’s hair, torso, and arm colors are randomly generated.
    • The world is procedurally generated.
    • Loot drops will be either a sword, a shield, gold, or a diary.
    • Swords and shields combine a random prefix and suffix to generate it’s name.
    • Swords and shields will bring up your stats by a random amount (within a limit).
    • Gold drops gives you a random amount of gold (within a limit).
    • Diaries combine a random pre-written beginning section with a random pre-written ending section to form the entries.

Here is what my share of the work was:

    • Creation and implementation of sound effects and music. (The Hero’s Journey Original Soundtrack)
    • All audio programming.
    • Grayscale effect.
    • World tile art.
    • Character/loot art.
    • Meter and stats HUD art.
    • Co-writing of diaries.

This game was a blast to make, and I am quite pleased with some of the simple things in it. For example, if the player is standing on a sand/beach tile, an ambient ocean wave sound is heard.
All sound effects were created using as3sfxr.

Game: Clickfest in Space

 This is a very simple game I made for an assignment in my beginning game programming class. It was the first game I made that wasn’t Tic-Tac-Toe or Rock, Paper, Scissors. All you do is click on the guy in the middle before the asteroids hit him. Thanks to the timer and infinitely increasing difficulty, it’s easy to get addicted!

I created the music and sound effects.

You can play the game on Kongregate here: Clickfest in Space on Kongregate.

Screenshot of Clickfest in Space

Game: Baseborn

Baseborn is a real-time, fantasy adventure game. It was my final project for my AG101 Intro to Game Programming course.
You can download it here: Baseborn Download
You can view the project repository here: Baseborn Source Code
(NOTE: Baseborn was called Ifrit during development. Hence, the name on the repository.)

Screenshot from Baseborn

This was not the first game I made, but it was the first that could really be considered a full project. I worked on it with a friend and (at the time) fellow classmate, Jake Albano.

The following are several blog posts that we have already written for this game:

We collaborated on most things, but here are the things that are primarily my work:

    • Sound Effects
    • Music
    • Audio Programming
    • Character Animations
    • HUD Art and Programming
    • Environment Art

This was our first project together, and it produced an awesome personal and business relationship.
Because of our experiences working together on this project, we created our own indie game company called…

That’s pronounced “thaw” “muh” “ter” “jist”. To find out more about us, check out our website,, or our facebook page,

Game: Build & Chase (Board Game)

Build & Chase is a board game I created for a class assignment.
You can download it as a PDF here: Build & Chase download
Right-click and select “Save target as” to download, or left-click to just view it.

These were the restrictions I had to work within when creating Build & Chase:

    • The game board had to fit on one 8.5″ x 11″ sheet of paper
    • The rules had to be contained in two typical Word documents
    • I could use no more than two 8.5″ x 11″ sheets for game items
    • I could have no more than 20 game items
    • No color was allowed

It may take a short time to grasp all the rules, but once you’ve done so, the game is rather straightforward.

The main objective is to grab the flag in the middle of the board and bring it back to your side of the board before your opponent catches up and steals it back.

My thought process in designing it was rather sporadic. I first thought of using two die to represent different kinds of movement, and from there, most everything else was designed on the fly. I did want to have some sort of customization in the game, which wound up taking the form of placing obstacles on the board as desired. I also wanted to create suspenseful situations to increase the level of excitement and interest. I went about this by putting the flag carrier at a slight disadvantage, while still allowing the randomness of a die roll to significantly affect events. There also wound up being a good deal of strategy behind obstacle placement.

In creating my game, I was forced to think of how to make something that was fun and engaging, but incredibly simple at the same time. It allowed me to analyze core elements of a game, what effect they have on the game experience, and how they can work together to create something fun.

There are some rules I would like to clarify for my game, such as which sides of the board to start on, but overall I am quite pleased with it. While designing it, I was thinking about how it would be great fun if I could expand the game board size, then let multiple people play together with 2 teams of 4. It would allow for some great team strategizing.