I
I
Ivan Ivanov2019-10-18 15:31:54
3D
Ivan Ivanov, 2019-10-18 15:31:54

Is it difficult to create 3D games, what knowledge is needed to create 3D games?

Is it difficult to create 3D games, what knowledge is needed to create your own game engine? Where to start creating your game engine? Even the simplest. What is the complexity of the process? Take, for example, the company GSC Game World, which created the game Stalker, Cossacks. Most of them were not previously connected with IT at all, nevertheless they created the xRay engine, made a game on it, where did they get the experience of creating game engines then, if at that time it was the beginning of the 2000s + many of them had just started work in IT?

Answer the question

In order to leave comments, you need to log in

5 answer(s)
R
Ronald McDonald, 2019-10-18
@IRKUT

Yes, it's definitely difficult. Without knowledge of higher mathematics, there is nothing to climb into writing 3D engines.

D
dollar, 2019-10-18
@dollar

The knowledge you need is the one that matches your role in game development. If you are a programmer, then programming. If the artist is art, modeling, design, level design, UI/UX. If a manager, then management skills. And if a producer, then a little bit of everything. And this is not a complete list.
The companies you listed are exactly the companies, i.e. a lot of people. And they all have different specialties. No one makes the game alone. And the decision to create your own engine should also be considered when no engine on the market meets the requirements of game development.
Now, in 2019, for a normal game, it is better to take a ready-made engine. Unity , sharpened for 3D, is a perfect fit - this is a masterpiece by modern standards, even despite the rare cases of inconvenience. You can also Unreal. In any case, it's much cheaper than writing your own. Well, it’s a matter of taste, look, compare, choose, there are many engines, the 2000s have already passed.

X
xfg, 2019-10-18
@xfg

Knowledge of linear algebra. This is the first year of a technical university. If each point (represented by a vector) of the 3D model is multiplied by the same matrix, then all points will move to a different location relative to the center, but with proportional preservation of the distance between each other. Accordingly, transformation matrices were calculated, which give the effect of moving, scaling and rotating a point in space. You can read about transformation matrices and solve the examples yourself to make sure that they really give the desired effect. This is then multiplied by the perspective matrix, thus creating the effect of displaying the image in perspective. Do it in the GLSL programming language. They write a vertex shader that takes the current position of each vertex as input, as well as the model and perspective matrices, multiplying it all in the right order, the output is a new vertex location. Next, the result is passed to the fragment shader, where each pixel between these vertices is painted in the desired color. Light, shadows, etc., are also considered in the fragment shader. The resulting image is displayed on the screen.
You can watch a video on the topic https://www.youtube.com/watch?v=HLbxyPwdlgI&list=P...

D
Developer, 2019-10-19
@samodum

Read a series of articles
https://habr.com/en/post/248153/

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question