This article should help you to get a first overview of what to expect if you want to learn to program games. It is aimed specifically at beginners who have no previous programming experience.
I hope that this introduction won't discouraged you too much and that you still will want to program your own games. So, let's go!
What does it need to become a game programmer?
So you've set yourself a goal: you want to program your own games. One thing should be clear to you from the start: The path to your first game is not an easy one. First of all, you should be able to work on unfamiliar topics independently. You will have to read a lot and you won't always have someone to tell you what to do next. At a certain point, you can't avoid English-language texts either, so you should be able to master this language well enough to be able to read technical instructions / manuals. If you've never programmed before, getting started will be difficult. That is why it is important that you do not give up, even if you only progress in small steps.
Everyone who program their own games today has all started at the point where you are now. However, you are very lucky that fast and cheap internet access is now a matter of course. The internet provides you with an enormous amount of information that can provide you with an answer to almost every conceivable question
As a programmer, and especially as a game programmer, you shouldn't be at war with mathematics. (3D) graphics, physics simulation and artificial intelligence almost exclusively contain purely mathematical (often geometric) questions, and outside of these subject areas you will always have to set up and calculate simpler formulas. Logical thinking and abstraction are other skills that will come in very handy when programming games. Often you have to break a big problem down into smaller sub-problems that are easier to solve in isolation.
The next important point in developing your own games is of course creativity. Nobody wants to play the 1,000th Tetris clone. It helps if you play as many different types of games as possible yourself (that is, not just first-person shooters!). Over time, you should get a feel for which elements of a game help make it fun.
Now, as a programmer, you may not be talented in drawing or making music, but your game still needs graphics, sound effects and music. This is where the collaboration with graphic designers and musicians makes sense, which brings us to the next point: teamwork. The team has to function well, especially for larger projects where the programming is implemented by more than one person.
What is a realistic goal?
Probably the most common mistake: setting unrealistic goals. First, in terms of the time it takes to learn enough to create your own game. Second, in terms of the quality and scope of the games one expects to be able to program. Then facing reality comes with frustration, which can lead to giving up completely. That's why I want to warn you about this as soon as possible. Please take these recommendations seriously.
You may already have a specific idea for your game. Experience has shown that this first idea is very complex to implement and far exceeds the skills of a beginner. Typical ideas for first games that almost certainly fail include breathtaking 3D graphics, huge dynamic worlds or (massively) multiplayer. If your idea also falls into this category or you want to program games that are comparable to a current top seller title, then forget about the idea for the first few years.
For real. Such games are made by large teams of professional game developers who have years of experience and spend at least 8 hours developing each day. Despite a large team, games like "World of Warcraft", "Half-Life 2" or "GTA" take around five years to develop. Even projects with smaller budgets are often two to three years in development. In terms of a single inexperienced developer, he would be programming such a game his entire life. And who in 60 years will still be playing a game that was written for a modern day computer?
So, one step back: A good game doesn't have to be as complex as the games mentioned above. Have you not already spent hours playing entertaining Flash games? The good thing is: Games like this are usually only programmed by very small teams, maybe even just a single developer, and often only in their free time. So what you should make as your first intermediate goal is to program a very simple little game that is above all fun. The most important thing is the fun of the game, not the graphics. If you want to compete with the big game studios as a single developer, you will always lose.
So set yourself a goal that you can also achieve. Of course, it is now difficult for you to judge what is realistic. That's why you should take a look at what other fellow campaigners' first game projects looked like. A search for "my first game" with the search engine of your choice should give you enough examples to orientate yourself on. Another possibility for realistic goals are games that arise in contests with a limited time, such as. B. the Ludum Dare or the Devmania Overnight Contest. If the development of a game goes parallel to the learning process of a beginner, development times of several months should also be expected here.
That was quite some information for the first part.
The second part will take a peek on common programming languages, engines and your possible next steps.