S
S
skilledHS2012-03-25 11:18:36
IT education
skilledHS, 2012-03-25 11:18:36

Game development

Hey Habr!
It is interesting to know what it takes to develop games. What kind of knowledge? Is it difficult? Where to begin? What to learn? What to read?
Thank you.

PS The heart lies only in this area of ​​IT.

Answer the question

In order to leave comments, you need to log in

8 answer(s)
T
TheHorse, 2012-03-25
@TheHorse

If 3D:
Higher mathematics, kinematics, dynamics, optics, algorithmics, c++, directX, OpenGL, OOP.
If mini-games for websites and mobile phones:
Arithmetic, kinematics and some kind of framework.

D
Damir Abdullin, 2012-03-25
@damirazo

If for 3d games, then I can recommend the Unity3D engine . To create a simple game, you do not need special knowledge, you can write in C # or variations with JavaScript and Python (Boo) syntax. There is its own editor that allows you to "draw" the levels and immediately test them in the game. The site also has a lot of documentation and examples for different types of games. It is possible to compile the game for Windows and Mac OS. There is also a paid version of the editor that has a little more features and compilation for iOS and Android.
For 2d games you can use XNA(it can also be used to write 3d games, but is somewhat more complicated). This is not a ready-made engine, but a framework, so there will already be a lot of work with the code. There is also a ton of documentation and examples. The framework has excellent performance, I personally experimented with millions of interacting objects in the frame without much performance drop. Although it already depends on how you optimize your code yourself. For writing, C # is used, there is an IDE in the kit, based on Visual Studio. I can also recommend the Farseer physics engine , which has excellent XNA compatibility.
From the general: you need knowledge in mathematics, especially in geometry. You will have to work a lot with physics, especially if you decide to write your own physics engine. Although even for a simple movement of the character, this is useful.

S
sdevalex, 2012-03-25
@sdevalex

If you don't know English, then learn this language. There is very little in Russian on game development.
— If you don’t know C++, then learn it (you can’t learn it completely, subtleties will come with practice anyway).
— If you know C++ a little (you are fluent in pointers and links), then take a simple 3d engine (Irrlicht, Horde3D), read forums and lessons.
In general, game development is only 10 simple things and 997 very complex ones ... I listed three simple things above.

D
Dmitry, 2012-03-25
@DedalX

In my opinion, the easiest way to start learning game development is to develop a simple Flash game. ActionScript 3 and Flash are easy to learn, there are many resources and articles on the Internet about developing Flash games in Russian (you can hardly find articles in Russian on developing games for other platforms, not to mention books). On Flash, you can learn to understand how and what works in games in general. And then move on to something more serious and in demand (for example, the Cocos2d engine, which has interpretations for many platforms, both mobile and not).
Many of my friends started with Flash, and then went into iOS / Android development, although some of them stayed on Flash and use it to develop social games (VKontakte, Odnoklassniki, Facebook).
Useful resources on flash game making for beginners:
xitri.com/
siliren.ru/
help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/
After learning Flash you will be able to make cross-platform AIR games.
Naturally, you should not stop at Flash.

U
UseRifle, 2012-03-25
@UseRifle

The bottom line is this ... Learn it - it won't work here. You need to study for a year!

V
Vitaly Zheltyakov, 2012-03-25
@VitaZheltyakov

- What kind of knowledge?
Looking for what is written and what is written. That is, you need to know programming, have good artistic skills, and understand the mechanics of games.
— Is it difficult?
How to say, so as not to lie ... This is an asshole - no romance, no interest, one continuous routine. Many people think that game development is cool, but in reality, 99% of beginners kill a couple of months of writing scripts, gathering a team, developing, after which they understand the complexity and are left with broken dreams.
- Where to begin?
From concept writing. Write a description of your games with a full (!) description of the mechanics of the sheets, so for 10. If you can’t write even a couple of sheets, then game dev is not for you.
— What to learn?
Learn Russian, learn to draw and some kind of programming language.
— What to read?
If after all of the above you have not changed your mind, then the articles on dtf.ru.

B
bogolt, 2012-03-25
@bogolt

You can also create text games: all sorts of xmpp online role-playing games, or analogues of old game books.
To create such a game, you don’t need any special knowledge (unless, of course, you count the network, but you can do everything locally at first).
Another simple one - 2D games, I highly recommend trying pygame - a wrapper for 2D games in python. Fast, simple and convenient.
Choose a real goal for yourself - to walk and shoot in a 2d world, a card game, or something similar to Arkanoid and try to realize it. Along the way, a lot of questions will arise, few answers will appear, and if you have enough patience, a simple game created by you will appear.

A
ashcraft, 2012-04-03
@ashcraft

Depending on what plane is the question. If you see yourself as an independent developer and want to deal with all stages of production, then the main efforts should be focused on game design, level design, interface design (in the broad sense of the word, player interaction with the game, control, intuitiveness, usability), in graphic terms — on character design (emotionality, charisma, etc.). Otherwise, you run the risk of getting instead of a game, just a set of an engine and graphics, and if the experience is small, then the probability of this is very high. Although for some genres, it is enough for a player to simply have a bare engine with a sendbox, for example, Minecraft.
From a technological point of view, a lot of things have already been written above, here it’s more a matter of taste, the only thing you need to choose right away with an eye to multiplatform, and plan the game architecture accordingly, from the same position, taking into account differences in hardware capabilities, differences provided by the API platform, differences in screen sizes, and input devices - various devices.
The sequence of platforms for monetization for an indie game, from my point of view, is as follows:
Initially the game is released on flash, for some reason many underestimate this market (portal flash drives), a hit portal game can earn $ 30k-$ 100k on a "primary" license to a top portal, and this is without taking into account income from MTX, advertising and non-exclusive licenses to other interested parties portals. At this stage, the game is being tested on a large audience, feedback is collected. And if the game has shown itself well, the earned funds can be invested in the process of porting to mobile platforms, in parallel - based on the feedback, the roughness of the gameplay is eliminated, the quantity and quality of content is improved, the control adapts to the touchscreen, the timekeeping of the game increases and the level base expands, new levels can be additionally monetize on flash as a sequel or levelpack. The release on mobile platforms is a new round of the spiral, and at this stage, all previous steps are repeated in double size. The next round is electronic distribution on large platforms XLBA, PSN, Steam, Amazon. The next one is brand monetization.
This is of course an idealistic picture, in fact, more than 80% of flash games are trash that earns no more than 500 bucks, a lot of negative external factors, market stagnation, and so on. But the path described above is quite real, such an iterative approach will allow you to minimize risks, correctly assess your strengths and further prospects for the game, and stop at the right stage, the optimal turn.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question