Game development: where do we start?
What should consider future game developers? Which language should they start with? What to strive? On whom they have got to live up to and what needs must be done primarily?
The most of the rock music lovers take a guitar sooner or later. Sports fans passionately dream of reaching a football field, a basketball or tennis courts. Well, those who committed hundreds of hijackings in the GTA, spent dozens of hours in computer clubs for Counter-Strike or achieved considerable success in the MMORPG, for sure, think about the career of the game developer.
The problem is that this direction is taught in a few institutions. Therefore, most game developers are self-taught, who once compiled the curriculum by themselves. But what nuances did they take into account? Where did they start and what did they aim? What language was taught in the first place? We tried to answer these and other urgent questions.
What to strive
Before going to the market you make a grocery list (at least, in your head). Before the trip to the other end of the city – lay the route. Well, before learning how to develop games, it is advisable to ask: what exactly do you want to do? Create mobile apps or browser games? Work in a large company or a small one? Do we want to develop games on a professional level or to devote this occupation your free time? And if the first, what can interests you more: is a creating an interface, grinding a gameplay or writing the scripts?
Proper setting of the goals can save a lot of time and energy. In addition, it will make it possible to reach the final destination in the shortest possible way without the risk to get off the road or get into the swamp.
What language to study?
In addition, the answer to the burning question depends on the goal: from what programming language is it better to start?
So, future game developers like Minecraft and mobile applications for Android should pay close attention to Java. Those who look in the direction of iOS – on the Objective-C. For browser-based games, is enough the knowledge in Ruby-On-Rails topic. For very small and simple apps HTML basis is enough. In the development of Flash games, is used ActionScript and for writing scripts of any complexity you will need JavaScript or, perhaps, not so common Lua. To create the same small console games you need knowledge of C #.
What about the most large-budget games (the so-called AAA class), most of them are equipped with their own or borrowed from their colleagues “engine”. Quite often, however, the whole “engine” or large it parts was written in C++. It was this language that was used to develop many famous games as Doom 3 and Call Of Duty, as well as FIFA and The Sims, whereas classic games as Quake was written in C.
But there is a hitch in learning of C++ – excessive complexity. No wonder they say that taking on C ++ without knowing other languages is like starting a study of mathematics with linear equations.
Does one language is enough?
One of the delights of programming is the possibility of constant self-development. In the game development (especially large ones), self-improvement, including the study of as many languages as possible, is not a whim, but a vital necessity. So, experienced developers, working for the giants of the gaming industry, often face the need to alternately write in 7-8 languages. Moreover, in addition to the above languages, they have to study, for example, Python or even SQL (as you understand, to create databases).
Therefore, if you decide to link your fate with the development of large games, be ready to become a “polyglot”. In addition, the more languages you will master, the more interesting and diverse objectives will be established before you. And, of course, the chances of getting a dream job will increase significantly.
Where to start?
Before you will make a round-the-world trip, you need to learn how to walk. Well, before a serious game project you need to try the forces in something less significant.
Almost all experienced developers, regardless of their regalia and talent, began with small applications: table games, variations of known “games”, simple “flashes”. Then they did not think about major exhibitions like E3 but accumulated invaluable experience. Why not follow their example? It is not necessary to write the code. For the debut, it’s enough to use special programs to create games (for example, Game Maker). After all, even with a simple toolkit, you will greatly facilitate your life.
First of all, you will understand the logic and processing of almost any gaming application in miniature. Secondly, you will fill the cones that will heal during the transition to serious projects. Finally, thirdly, enrich the portfolio. After all, even a simple game requires a lot of time, patience, and creativity for inventing concepts, writing code and eliminating bugs. In addition, it shows that with the production of games you are familiar not only with theory.
What should you take as a goal?
Anyone who dreams of becoming a writer will read hundreds of books before writing at least one word. Masters of playing the piano know the best works of Strauss, Chopin, and Beethoven like the back of they hands. Before major exhibitions, some famous artists learned the history of art by heart.
The same principle can be applied to the game development. You cannot develop in a vacuum. Therefore, play, be inspired by masters and, absorb the best like a sponge. At the same time, try to look at applications not with the eyes of “gamers”, but with the eyes of the developer. In other words: transpose the game. Think about why at this point in time the “bot” ran to the left, and not backward? Because of what factors is the strength and accuracy of the impact in the sports simulator changing? How to create a “fatigue effect” with a long-running character? How to make it so that during the rain the player heard the sound of drops, not a squeal of squeals? In general, get to the core. Try to recreate in your head the algorithms that you encounter during the game. Believe me, such a constructive approach will help you in the future and hard, but devilishly exciting career of game developers.