Tuffy Track…With No Track


In my Open Source class we were given the task to create something using Open Source software. The only requirements were to use existing open source software, write some original code, and to use Version Control Software. I knew right from the start that I wanted to make a game.

I debated between using two engines, Godot or LÖVE. I ended up choosing Godot since I had been learning how to use Unity and thought it would be similar. It also allowed more flexibility in what type of game I could make. LÖVE is only 2D. I also decided I wanted to make it school themed since it was a school project. I settled on Tuffy Tack because the school mascot is Tuffy the Titan, and I thought it would be cute to have him drive around.

Planning everything out

Since I had decided on the theme Tuffy Track, I started planning out my game. I knew I wanted Tuffy to drive a go kart around the track. I wanted the environment to be themed around the school campus. I thought it needed enemies, so I decided they could be professors that would be defeated by throwing homework at them. I also wanted a UI with lives and number of homework assignments turned in. I couldn’t forget the music, sound effects, and some menus.

Adjusting my expectations

Then I started building my game and I realized I had some really high expectations with the time I had, and my artistic ability. I’ve also never used Godot before. Then, a pandemic happened and my group member disappeared. I reassessed my project and broke it down into a few basic parts I had to complete. The first being the level for the character to play in, second being the character and it’s controller, and lastly some enemies.

When I started out laying out the level, I figured I could use basic shapes for the campus buildings. When I started trying to place them like they were on campus, I realized that was going to take a very long time to do. I scaled it back and just did that six buildings that make up the Computer Science department. If I had time, I could make additional levels based on different campus areas. I then watched some tutorials and combined the things I learned to make the character controller and first person camera. Soon I had the scene set up and my character looking and walking around.

After that, I set up some coins to collect and the enemies. I didn’t originally plan on having coins, but I thought the player might need some incentive to move around the zone. I found a great resource, Open Game Art, and used it to find some enemies for my game. Importing assets taught me the basics of using Blender. Since I found an animated walking character in Open Game Art, I learned to adjust the animation and create the pathing of the enemies.

It works!

At that point I had a working game. The player could walk around the zone, collect coins, and die when they hit an enemy. Since the deadline for the project was coming soon, I felt I had two options. I could either try to add more enemies, coins, or a kart and track to the game; or I could polish it up with some environmental assets and sound. I decided that I wanted the game to feel finished when I presented it to the class, so I added in the environmental trees, the soundtrack, and menus. When these were done, I wrote up the documentation and submitted my project.

At first I found Godot’s setup a little confusing compared to Unity’s, but I picked it up quickly. This project gave me the opportunity to learn how to use Godot and what steps it takes to make a game. You can find the GitHub for my project here. It includes the initial plan and the documentation.

Leave a Comment