I Made a Game for Free


I just completed my first 3D game project - Courier Dash! It's been a great learning experience, and as a matter of principle I wanted to see if I could make the whole game using only free tools. In this post, I'll go over the tools I settled on as well as some thoughts on making a game on your own.

Tools of the Trade

Here are the tools I used as well as some of my thinking in choosing them:

  • Game engine: Godot 4.3 https://godotengine.org/
    • The reason I went for Godot is mainly that I learned a bit of coding in Python, and GDScript is extremely similar to Python. The other viable alternative would have been Unity, but the language would not have come as naturally to me and I have been a bit wary of Unity since they shot themselves in the foot that one time. Unreal Engine exists, of course, but I'm not interested in visual programming right now and it feels like overkill for what I'm trying to do.
  • 3D art: Blender https://www.blender.org/
    • This felt like a natural enough choice - I had some very minor experience with Blender before, and it is becoming the de facto standard for free 3D software. Off the top of my head, I wasn't aware of any real alternatives that would allow me the same functionality.
  • 2D art: Piskel https://www.piskelapp.com/
    • Initially I used Photopea, which is basically online Photoshop, but using a mouse to draw 2D art is no way to live (you can see the result of this in my other writeup). For that reason I went with pixel art for the portraits and sprites in the game. Had I known that I would end up using pixel art at the start of the project, I definitely would have leaned harder into the pixel aesthetic and maybe even used MagicaVoxel for my 3D models. Now, it ends up looking not-so-great, especially next to the 3D house models. Much like the sounds (more on that below), this is a cop-out borne out of limitations of both my tools and my skillset.
  • Online Sequencer: Music https://onlinesequencer.net/
    • I've been making music for a very long time, and I stumbled onto Online Sequencer about a year ago. It's a great way to quickly sketch out song ideas etc, but I've come to appreciate the sound and try to make songs specifically for the medium (the same way I appreciate the 8-bit sounds of the NES and the General MIDI of Guitar Pro 5). I've been making dynamic music for some time, but this is the first time I've actually implemented it into in game! It's a very simple, linear implementation but I can definitely see tracks weaving in and out of each other in response to more aspects of the game. If you're interested, I've uploaded a quick experiment where I've made a music player showcasing some dynamic tracks.
    • Menu theme: https://onlinesequencer.net/4485901
    • Gameplay theme: https://onlinesequencer.net/4502840
  • jsfxr: Sounds https://sfxr.me/
    • I'll admit, using 8-bit sounds is a cop-out. There are tons of royalty free sound effect packs you can use for your projects, but I am a stickler for making stuff myself on at least some level and sound effects has never really been my thing. However, these sounds are super quick and easy to make, and they make perfectly serviceable placeholders if nothing else.
  • Fontspace: Text https://www.fontspace.com/ 
    • Fonts are, like, a whole thing. It turns out that there are a ton of fonts with an open licence you can use! It REALLY spruced up my game, made it more in line with the tone I was going for and generally just made the game pop. Adding a nice font to your game is probably one of the best value-to-effort ratios you'll find.
    • The font used in this game: https://www.fontspace.com/super-normal-font-f116414

Going Solo

I have this hangup where I want to be in control of every aspect of the finished product - I want to be able to sign off on every part of the game, and I want to have had a hand in making it in at least some fashion. If something breaks, I want to have an idea of how to fix it, and I don't need to modify assets to suit my purposes if I make them myself in the first place. This is why I didn't use any pre-made assets for this project.

Obviously, using assets is going to speed up your process significantly and keep you focused on the parts of the process that interest you most. If you can't make music, use royalty free music. If you can't or don't have the time to make art assets, use asset packs. Or, better yet - if you have someone who can help you out with that stuff, team up with them! You get another set of eyes on every problem you run into, and twice the brain power in coming up with solutions that fit within the scope and vision of your project.

Here are some of the pros and cons I ran into making this game on my own:

  • Pro: you learn about a lot of things.
    • I had to learn a bit about everything in this project - shaders, programming patterns, 3D modelling, 3D exporting, file formats, fonts - you name it, I had to learn about it. Being OK at a lot of things means you can take a crack at most things, and if you are feeling burnt out on one thing you can relax by doing something else for a while and still be productive in some way.
  • Con: you can't specialize.
    • If I could focus all the time I spent making pixel portraits, writing music or making the map simply learning how to program better, the programming for this project would have been done sooner and be done better. Same for the other disciplines I had to dip my toe into. I enjoy learning new things and trying out different art forms so it's a win-win for me, but this is a hobby project which I can spend as much time as I want on.


  • Pro: you don't need to rely on other people.
    • If you want something done, you have to do it yourself. Many times have I been part of a creative project where all the members just don't pull their weight (and I've been that person as well). For this project, I was motivated to get the game off the ground and out the door, and I didn't need to twiddle my thumbs waiting for art or sounds to get made.
  • Con: you can't rely on other people.
    • As I alluded to earlier, developing a game solo means you need to wear a lot of hats, and any one thing isn't going to be as polished or optimized as it would be had it been done by a specialist. The thing I've struggled with most on this project is the art, both 2D and 3D (although the 2D portraits turned out pretty well once I switched to pixel graphics for them). If I were part of a small team, maybe just two people instead of one, this game could have been completed in probably less than half the time and been a lot better in the end.


  • Pro: you are free to pursue your vision.
    • Without anyone standing over my shoulder, I'm free to make the game that *I* want to make, I'm free to incorporate my quirks and my personality to make something unique. The biggest upside to this is that at the end of the day, you have a work of art to truly call your own - there's nothing holding you back.
  • Con: there's nothing holding you back.
    • On the whole, I think I've managed scope creep fairly well on this project. The game I envisioned early on was a lot more complex, but I quickly realized that simply doing a 3D game was enough of a challenge. The main mechanic of this game, delivery quests from point A to B, was supposed to be just one quest type and since it was the easiest to implement I used it to test the quest generation system. That's when I realized that I had to drastically limit the scope of the game in order to get it out the door in any reasonable amount of time, so I made it more of an arcade racing game rather than the open world bite sized RPG I had envisioned. That's the risk, though - if you don't have any deadlines, no one to be held accountable to and your whole imagination to draw ideas from it can be VERY easy to get stuck on a forever project that never really feels done.

As I said, this has taught me a lot! For my next project, I'll take a step back from 3D and work on a 2D platformer. Hopefully, you'll learn more about that soon enough!

Get Courier Dash

Leave a comment

Log in with itch.io to leave a comment.