AGMProjects

Games created by Aaron McLeod

Here you can find a number of my game projects. Ranging from game jam entries to titles I worked on over a number of months.

The Catalyst Document

The Catalyst Document

Description

Made this game using the Godot engine. I've been wanting to try it for a while, and a 1 month game jam came up, so I figured I'd give it a go. The game is a top down action/puzzle game. A bit of a sci fi old school zelda. Was pretty impressive how much I could get done in just a couple of weeks by using Godot. While wanting to learn an engine, I also wanted to prototype some thoughts I had on making a game that is top down and involves hacking of sorts. See what systems one can integrate with each other. Though I admittedly didn't take the game quite that far this time.

Energy Grid

Energy Grid

Description

Wanting to flex my Rust muscles more, using it to make a game. I took code from another prototype for basic rendering and input handling, and made a resource management game. While the ludum dare page has the builds I submitted, I have been since working on improving the design of the game. I'm looking to improve its short comings, give the user more options and more interesting scenarios.

Challenges

Figuring out audio & text rendering was tricky in the period of 48 hours. Rust has some good options for this, but due to the nature of thread & memory safety, it was tricky to figure out how to integrate this with the ECS i'm using.

Creating a windows binary was pretty straight forward. Creating one for MacOS however was difficult. The path of an executable in a MacOS .app file is not local to where the binary file itself sits. This led to a problem of loading the audio & image files the game was using. I was able to reference some other projects the Rust community has done to figure this out. Which was a matter of computing the path, and using that to load all assets.

Last Resort

Last Resort

Description

I decided to do a collection game in space for the LibGDX game jam. The idea here is you collect the parts required around the map, and bring them to the station in the middle. This is one of the first games that I built using an entity component system. Made me very appreciative of this pattern.

Challenges

Physics were definitely a problem here. Flight feels fantastic, but when you harpoon an object, it becomes much more tricky.

Credits

Ninja With A Teddy Bear

Ninja With A Teddy Bear

Description

Made this game for Ludum Dare 32. This idea came to me with the theme 'Unconventional Weapon'. It's a simple top down action game where you defeat objects by attacking them quickly, and then face the boss.'

Search For Hope

Search For Hope

Description

This game started out as an entry for Ludum Dare 29. Over the past year, I continued to work on it further. I wanted to build a game that didn't emphasize violence as a solution. Enemies can be more avoided instead of killed. So I made the game interesting by adding a requirement of timing and accuracy. The game has a steadily improving mood with its environment. The idea that there is hope, and that you are getting warmer.

Challenges

The main challenge I found with this game was getting the dash mechanic working properly. While I couldn't perfect it, it wasn't something I wanted to remove either. It allowed me to have more skill-based level design, rather than simple jump platforms. It also gave me a further range of height to the levels. An imperfect design gave me more flexibility in the game flow itself.

The next challenge I ran into was improving details in the art of the game. It can be difficult to improve your own game art without picturing the improvements properly. To overcome this problem, I looked at examples from games that I admired that had a similar style. Starbound, bits of Aladdin from sega genesis, and Minecraft.

Wrath of the Cube

Wrath of the Cube

Description

A top down action game built using BabylonJS for both Desktop & Mobile.

Challenges

Performance with this project was initially a large issue. I originally built the game using ThreeJS, along with PhysiJS for the physics. When testing on mobile the framerate was just awful. I tried reducing the physics calculation rate, but it didn't help. When I tested PhysiJS examples on my phone, the same performance problem was present. I then tested physics examples with BabylonJS, and they ran quite well. Given I could not find other physics plugins or integrations with ThreeJS, converting to use Babylon was my best option. It took me a couple weeks working on it part time, but I got it done. Now it runs great, and looks better too.

The other challenge was getting the controls on mobile feeling right. I tried a few different schemes. The first was having both sides of the screen work as directional joysticks. So you touch, and drag in a direction to move in that direction. The right side would have you shoot in that direction. In my own playtesting it felt too complicated and tricky to maneuver. What I ended up with was keeping the left side as it was for movement. I changed the right side to a simple tap & hold, so the shoot mechanic auto targets.

Keepsake - GGJ 2014

Keepsake - GGJ 2014

Description

A visual novel I worked on with a few others for global game jam 2014. I had worked with the Tyler before from GGJ 2013, he had a couple friends that were interested this time around. Because the artist didn't have much experience with animation, we dicided to use art stills and build an interactive novel instead.

Download the .jar file, and double click it to play.

Credits

LD28 - Perfect Christmas

LD28 - Perfect Christmas

Description

An interactive christmas card to my family. I really stretched the theme on this one, but making a small game for my family for Christmas was something I really wanted to do. The game was broken into three parts, one for each member to play. The first part was for my brother, as he drives a long way to see us. The second part was a simple hidden objects game, as my mom often gets all the groceries and shopping done. The third was for my dad to chop down a nice christmas tree, as he always made sure to get us a nice tree.

Navigate - a mobile device motion demo

Navigate - a mobile device motion demo

Description

Small example using device motion. Try it on your phone. Be sure to rotate it so the top of your phone is in your left hand, bottom in your right. This was built to test mechanics for snowball effect, which originally only supported arrow keys. The link for it now has proper device controls.

7 Day FPS 2013

7 Day FPS 2013

Description

Tried making something with Three.JS. Didn't get too far, but it was fun!

LD27 - The limits of light

LD27 - The limits of light

Description

Collection game I made for Ludum Dare 27. The game is constantly dark. But you can trigger a flicker light for a few seconds to see your way.

LudumDare 26

LudumDare 26

Description

Game based off the mechanics of missle defense. Stop projectiles from hitting your potato!

Download the jar file, and double click it to run. Built with Java 1.8

Global Game Jam 2013

Global Game Jam 2013

Description

Top down action game that I made with a few others for the global game jam in 2013. The idea is to get as a high of a score as you can before losing all your hp.

Challenges

Me being new to MelonJS, and the fact it was a young game engine at the time meant it lacked features. I found myself figuring out how to implement simple audio features like volume changing in mid song, chaining tracks together more smoothly, etc. HTML5 as a platform is stronger now than early 2013, plus I was quite new to it. Overcame these issues by cutting features and changes that would be more risky.

Credits