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.
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.
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.
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.
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.
Physics were definitely a problem here. Flight feels fantastic, but when you harpoon an object, it becomes much more tricky.
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.'
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.
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.
A top down action game built using BabylonJS for both Desktop & Mobile.
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.
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.
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.
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.
Tried making something with Three.JS. Didn't get too far, but it was fun!
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.
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
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.
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.