This article is especially worth reading if you are a beginner who has just started or is thinking about starting game development. We hope you will read it through to the end.


Now, do you have a dream game that you really want to make? Many people who have started or are thinking of starting game development probably dream of such a game. And that game will have plenty of elements of games that you have played and been influenced by in your life.

As you can probably guess, this article is now going to make the claim that you should save your dream game for the future. However, this assertion is not brand new, but rather a rather common piece of advice for novice game developers. Let me explain why you should save your dream game for the future.


Elements that tend to be included in the dream game

What elements tend to be included in a dream game? By the way, the elements here are the specifications and functions of the game. The following is a list of those that come to mind as examples.

  1. multiplayer support
  2. online play
  3. open world
  4. high-resolution 3D game
  5. character animation with motion capture
  6. AR / VR
  7. AI using machine learning
  8. game world, historical background, and character setting with an ultra-heavy storyline
  9. multiple endings that branch by player choice
  10. huge number of characters, monsters, and items
  11. huge amount of character dialogue
  12. full voice of all characters

Did any of the elements in the list above apply to your dream game? Developing a game that includes the elements on the list is very hard for beginners. If your dream game does not fit into the above list, it may be a relatively easy game to develop. For example, if you want to make a game in the so-called “casual game” genre, you can start developing it even if you are a beginner because it falls outside the definition of dream game in this article.

Two major barriers stand in the way of developing a game that includes the elements listed above. One is the “skill barrier” and the other is the “workload barrier.



Skill barriers

Skill barriers
In particular, creating a game that includes elements 1 ~ 7 on the list requires advanced skills, and learning those skills is necessary to begin development.

It is rather common for engineers of all kinds, not just game developers, to develop while learning the necessary skills, but if you try to learn advanced skills without mastering the basics, you will first be overwhelmed by the level of difficulty. Since it is difficult to master the skills, development naturally does not progress as expected. The stress caused by the high level of difficulty and poor development progress will ultimately lead to an abandonment of the game project. This is one of the reasons why dream games should be saved for the future.

You can learn more efficiently if you learn the fundamentals and develop your skills diligently. Knowing your current abilities (but not underestimating them) and gradually increasing what you can do while building the games within your reach is very important to stay motivated. Until you gain some experience and improve your skills, put your dream game to bed.

On the other hand, even if you have some experience in game development, you still think you don’t have all the skills you need and never start working on your dream game, which is also a problem. It is rather common for people to understand the basics and then proceed with development while investigating what they don’t understand. So, if you have enough skills, you should be able to start developing your dream game already.



Workload barriers

Next, games that include 8 to 12 elements in the above list are more of a workload problem than a technical one. Of course, even for games that are not included in the above list, the overall workload will be enormous if one tries to include many elements in the game. In this case, it is almost impossible to manage on one’s own. For the individual developer, this is a frustrating fact, though.

Imagine a recent AAA (Triple-A) game. Think of the latest numbered title in a series such as “Final Fantasy,” “Uncharted,” or “Monster Hunter,” for example. Hundreds of developers working intensively in their respective areas of expertise (game design, graphics, programming, music, etc.) and still developing the game for a year or two, or even longer. By simple arithmetic, a game that takes 100 people one year to make by one person would take 100 years. In other words, even if you devote your entire life to the game, you will not be able to complete it. If the game you want to make is such a large-scale game, you will probably have to get a job at a game company or start a company and gather a group of friends. Even if you get a job, your technical skills will be tested, so in that sense, you will probably prioritize self-improvement and save your dream game for after you get a job.

However, I must add that the development of AAA titles is often extremely demanding, especially in the pre-launch period. The idea that “games are a comprehensive art form and the developer is an artist” seems to be distorted, and the value system that “it’s not labor, it’s just passionate immersion in art” permeates, leading to a situation that is far removed from the way labor is usually done.

In order to give form to a dream game through individual development, we must examine carefully what elements are truly necessary for a game and constantly consider drastically cutting out all other elements. How energy-efficiently you can develop and how simple and interesting you can make the game is where your game design skills are put to the test. We should always have a subtractive mindset.



Make from simple games

Make from simple games

By the way, how can a game development novice improve his/her game development skills without becoming frustrated? The first step is to start with simple games which are easy to make.

This logic is not limited to games. For example, learning to draw, play a musical instrument, or anything else should start from the easiest part. To draw a beautiful picture, you must first develop your drawing skills and learn the theory of composition, perspective, and so on, or you will not be able to draw a convincing picture. With guitar, one should learn hand form and the placement of notes on the fingerboard, and gradually become able to play at a high level after understanding the theory of chords, chord progressions, etc. No one can start out painting like Gogh or playing the guitar like Clapton.

So, what is a relatively easy game for beginners to make? It is, of course, a breakout. Just by searching the Internet, you will see that it is often used as a subject for tutorials for beginners.

This site also has a tutorial on a breakout with Godot Engine (English version in preparation). It is packed with the basics of game making, so I recommend it to anyone who is not sure where to start. I started with a breakout and learned a lot of the basics. Specifically, the breakout requires three main types of objects: paddles, balls, and blocks, and the different ways of controlling each of these objects - paddles that are moved by player input, balls that are moved by physics, and blocks that do not move - are easy to understand and different, which is ideal for beginners. The different ways of controlling each of these objects are easy to understand, making them ideal for beginners. Then, when you combine them into a single game, you realize that the whole game is a collection of small parts. This experience will be important for creating larger games in the future.

Tutorials' links
[Godot Tutorial] Basic Breakout! [P1]
Creating a Breakout clone in Godot in 10 minutes!


Another game often seen in tutorials for beginners is the pong game. This game is played by bouncing a ball back and forth with paddles on both sides, much like ping pong (table tennis). It is very similar to the breakout games, so it is relatively easy to start playing.

Tutorials' links
Learn Godot by creating Pong


Although a little more challenging, a space asteroids game, which also has many tutorials for beginners, is also good for beginners. In this game, you control a fighter jet in outer space, shooting meteorites to destroy them and avoid collisions, while shooting down enemy aircraft before they shoot you down. I had a little experience with GameMaker before I started using Godot Engine, and the first game I tried was the tutorial of a space asteroid game.

Tutorials' links
Space Asteroid Arcade Shooter Godot Tutorial - CodingKaiju
My First Game - Intro to GameMaker - Space Rocks (Part 1)


Finally, if you choose Godot as your game engine, a beginner’s tutorial is available on the official Godot website. This is a so-called avoidance game. Enemy characters appear from all directions from outside the screen, and you simply dodge them. You can see that the game is designed so that you can learn the basics of the game. It does not take much time and is easy to start, so it is highly recommended.

Tutorials' links
Your first 2D game
Your first 3D game


Once you have a basic understanding of game development, such as the breakout games, the next step would be to try a sample-like tutorial that is similar to your dream game.

For example, if you want to make a side-scrolling, exploratory action game in the Metroidvania genre, you should go through the basic platformer tutorials. A platformer is a side-scrolling action game that mainly consists of jumping action, like the Super Mario Bros. series from the NES and Super Nintendo era.

We have a tutorial on this site, and you can find many other easy-to-understand tutorials on the Internet.

Tutorials' links
How to Make a Complete Game with Godot
Godot 2D Platformer tutorial : Ultimate Guide To Make Games
Godot Engine 3 - Platform Game Tutorial
Make Your First 2D Game with Godot: Player and Enemy (beginner tutorial part 1)



Decompose the dream game into individual games

Decompose the dream game into individual games

When you have reached the stage of developing your dream game, it is quite difficult to concentrate on it and continue development for a long period. Passion is something that sometimes seems to disappear in the middle of a project.

Therefore, if the dream game you want to create contains multiple elements, it is a good idea to break up the elements and structure each one as a stand-alone game. The smaller the scale, the less likely you are to fail.

For example, let’s say you want to make a game in which you battle monsters with puzzles, and when you win, you can turn the monsters into pets and raise them. In this case, first, create a game with only puzzle elements and release it. Next, you make and release another game with only the nurturing element. Then, after that, combine these two games into a new game.

Of course, you will need to update the UI, character design, sound, etc. so that the game does not appear to be “just a combination of two existing games,” but since the core game system is already in place, we can complete the game relatively quickly. In this way, you can release new games in a short period and gradually get closer and closer to completing your dream game.

The advantage of continuing to release games in a short period is to maintain motivation for development. For an individual developer, developing a single game over a year is difficult, to say the least, because of the various uncertainties and boredom that can arise. If you give up halfway through, all the time and effort you put into it will have been wasted. However, if you consistently complete and release even small games, you can enjoy a sense of accomplishment at the right time, and it is easy to maintain motivation. Also, user feedback on individual games can be utilized for future dream games. For an individual developer, this would be a huge advantage.



Conclusion

In this article, I have shared the following important things to keep you from giving up on your dream game.

  • Game development, which requires difficult technology, tends to fail if it is not accompanied by skills.
  • Large-scale games cannot be developed by an individual, so you need to get a job at a company or gather a group of friends to form a company.
  • If you start by making simple games, you can maintain your motivation and gradually learn the necessary skills.
  • If you break down the elements of your dream game and release them as individual games in a short period of time, you can maintain your motivation and gradually bring your dream game closer to completion.

It is natural to want to jump right into what you want to do, to want to skip the tedious learning of the basics, and to want to achieve results right away. However, if you try simple game development while watching a tutorial, you will discover new things and feel personal growth, and it is a lot of fun. I sincerely hope that you will not be averse to learning the basics. Also, there is no problem at all to challenge advanced game development with the intention of “going back to the easy part if it is difficult. If you don’t lose heart, you can get back up again and again.