Most rock fans sooner or later pick up a guitar, sports fans dream of going out on a football field, basketball court, or professional ring. And those who have played hundreds of hours of GTA, spent dozens of hours in computer clubs playing Counter-Strike, or achieved considerable success in WoT or DOTA are thinking about starting to make money from game development themselves.

The problem is that only a few educational institutions teach this field (in our country, they can be counted on one hand). Therefore, most game developers are self-taught.

So where to start?

The first thing you might want to start with (I’m not talking about playing games) is mod building.

A mod (short for “modification”, game modding) is an addition to a computer game, usually written by third-party developers or amateurs using an SDK that comes with the game or special amateur programs designed for modifying games.

Mods are usually developed by fans and for fans and are intended to be distributed free of charge. Unlike add-ons, they often change the balance of power (in strategy games) or the set of weapons and abilities of the hero (in 3D shooters).

Modding will allow you to understand the internal logic of your favorite game, how it is built, and what you can change in it for the better (and sometimes for the worse).

The second thing you need to do is to correctly formulate your goals in developing computer games. That is, ask yourself a number of questions: do you want to create mobile applications or browser games, do you want to develop games professionally, or do you want to devote your free time to it? You also need to understand what you prefer: creating an interface, gameplay, or writing scripts? Or maybe you want to be a 3D artist? Setting the right goal will guide you on the right path.

And, of course, you have a number of questions about what you need to know. I will give examples for writing game scripts, logic, behavior, etc. That is, programming (which is what I do).

Question number one: what language should I choose? Honestly, any language will do (just compile languages such as C++, C#, Java, Objective C, etc.), the main thing is that a novice developer should understand the principles of game development, not specifically, but the basics of programming logic (i.e., in the future, logic in game development).