I have had the idea of making games for a long time. I have played about with Unity and Unreal, but always found either one of two things happened. Either what I thought was a simple scope turned out to be a lot more complex than I originally thought, or I would follow along with tutorials, feel the accomplishment of having created something then go to make my own game and quickly come to realize that while I could follow the tutorial the tutorial was designed in such a way that you do not actually learn more than plugging in values. This brings us on to the first topic of this post.
The Problem With Tutorials
I know I am not alone in the following a tutorial to find out that you didn’t actually learn anything from the tutorial other than how to make exactly what was in the tutorial. This is due to shortfalls in how the tutorials are written, they have you following step by step to produce and end result, however the issue is that each step is never really explained, the why something is done is in my opinion just as important as the how. As the why is never explained you never truly understand what it is that you are doing and what impact it has or how it is interacting with other systems, this then leads to you not knowing how to modify that system to suit the needs for your own project.
My Goal
Two days ago I started going through the GoDot documentation and tutorials (These tutorials do have that same issue but links to references to learn more about each thing are provided). You might be thinking why did I choose GoDot over Unity or Unreal? The answer is simple, I found that with Unreal the editor is so advanced in terms of what it is capable of doing it over complicates doing simple things, with Unity the changes made in recent years to the Learn Unity site focus more on using pre-built projects that learning how to actually set up and build your own project, this in my opinion is worse than the standard tutorial issue where you only learn to build a specific game since with these “download the project template” where 99% of the game is pre-written and pre-built you are missing out on all of the fundamentals that you need to be able to build your own project, instead you will become heavily reliant on using pre-built projects as a starting point, so if the game you want to build does not fit one of these pre-built templates then you are back at square one with not knowing how to build your game.
Enter GoDot. The GoDot tutorials in the documentation are far from perfect, but right now they are some of the best I have seen. The 2d first game project walks you over the basic mechanics of every game, but thinking you will be able to do this tutorial and then be able to go off and build your own game is a mistake. However what these tutorials do better than any of the others I have found is it leaves you at the point where you have a playable game with so much room for expansion that you can re-build the project over and over which will help you learn the fundamentals since repetition is key to being able to recall information and since the project is nothing but the basic fundamentals each time you do it you can then use other tutorials or chatgpt to learn how to build an additional system. One big thing that is missing in my opinion from the Godot tutorial is walking you through how to get your game ready to be published so you are left with just a GoDot project, not a huge deal but I think since this is pretty much a goal of any game that you make it should have been included in the “Finalizing Your Game” section.
Expanding The Tutorial
The GoDot tutorial leaves you at the point of a bare bones game, you have enemy mobs, an incrementing score system, a moveable player. That’s it, the goal of the game, to stay alive long enough to beat your last score. It may sound boring but it’s actually quite fun to play which makes it a great starting point for building on additional mechanics. Maybe you want to change the score system from a time based increment to an item pick up based scoring system, or maybe you re-do the project learn how to add a combat or shooting mechanic and have the score linked to the amount of mobs you kill. There is so much room for expansion on the tutorial the second time, it becomes a reference, for you to use the basic mechanics of mobs, scoring and movement to implement into your own game.
My Plan
My plan now having completed the 2d first game tutorial is exactly that, to re-build the tutorial turning it into different types of games by learning how to implement different mechanics. The first games we develop will be simple, but simple games are often the most fun to pick up and play. I’ll be posting Dev Logs on the progress of each game, going over the issues that came up, the things that caused the issue and the solutions I found, each game will focus on adding one new core mechanic to the game. The First Game I am looking to develop is a simple high score game based around dodging the mobs and picking up items to increase the score. I hope you will stick with me going from no real game dev knowledge to getting a game that is ready to be published and released on marketplaces such as Steam, GOG, and Epic. When we get to that point I will also document the whole process of going through it, hopefully that information will be helpful to someone. Throughout the Dev log I will also add in any costs that are encountered, places I get assets from and we will keep a running total of the development cost of the game and after publishing we will review how well the game did.