Gamedev mastering curriculum or where to start

Gamedev mastering curriculum or where to start Economy Insights

Many people think that a lot of people need to be involved in creating a game, and the development process itself is similar to stories from books about wizards. But it's not so unreal. Let's look at what a novice developer needs to do to comprehend gamedev.
2022-01-21, by Ted Jackman, Independent Financial Adviser

#UI/UX || #Games || #Jobs ||

Table of contents:



What languages should a game developer know?

If we talk about programming, there are several basic languages. C++ is the basic programming language on which almost all server-side processes are built, it can also be used in other tasks. But many other programming languages are also involved: C++, Java, HTML5, CSS3, JavaScript, SQL - they are all used for different purposes.

However, due to the complexity of games, people have simplified the process, so you don't have to dive into all the complexities and nuances of each programming language (although it is useful). Which language you study depends on what type of games you want to play and what engine you use. In general, the biggest games with the most complex controls use C++ as the main programming language.

What tools do you need to master

After you learn how to make very simple games, understand the parameters of building a project on different platforms, in addition to Windows. For example, also on Android. In the new versions of Unity with the installation, you can immediately install the Android SDK and other necessary components and modules. For iOS, it's a little more complicated — install the appropriate module for Unity. You will also need a device on macOS, where you will build the project in Xcode. Development for different platforms allows you to look a little wider, go beyond and meet new problems and difficulties. So, for mobile platforms, you already need to take into account the CPU load, try to optimize your code, scenes and resources and making hyper casual games in unity. Here it often becomes important to have an understanding of the complexity of algorithms, as well as a broader knowledge of the algorithms themselves over various data structures.

At the time of developing a project, create a repository, upload your project, for example, to GitHub, and learn how to use the Git version control system. Here you can use various clients that are convenient for you (SourceTree, GitHub Desktop, and others). To begin with, it is enough to master the basic operations. Try to work on the project with someone else. Since teamwork is an integral part of the development process, you can get acquainted with how the interaction process takes place in teams, for example, read what flexible development methodologies there are, set up a Kanban board for yourself and track your tasks there.

How to promote and monetize a project

When you already have a little experience, you can think about how applications are published. The easiest way is to create your own accounts on Google Play or AppStore. Here it is worth carefully studying the requirements for applications, technical details, as well as getting acquainted with the admin panel in detail.

In the future, it is worth paying attention to the use of various SDKs. For example, you wanted to add monetization to your game on GooglePlay or add Play Services. To publish on Steam, you will also need to encounter the Steam SDK. As explainde in this article game art services, the experience of working and connecting various SDKs is appreciated by employers, especially if there are specific examples of successful use.

Ideally, you still need to have basic knowledge of mathematics, linear algebra, geometry. Working on more complex projects requires great care and accuracy. To work on complex systems, to prepare and implement the architecture of the game, it is desirable to have an understanding of design patterns, and, again, not just to know the theory, but to learn how to apply knowledge within the framework of the engine used. There are many different areas where you can go deeper and develop - from developing shaders, writing your own modules and libraries, to trying to develop your own simple engine in C++ (using, for example, the SFML library).

In conclusion

The above is just the tip of the iceberg, and it takes more than one year to become a game developer. On the way to becoming, you will encounter a lot of problems, and the best way to solve them will be to turn to the game dev community.

Ted Jackman

Ted Jackman contributor to abundance.org.uk
Independent Financial Adviser