Is it hard to build a game

Programming Games: This is how beginners learn to program games

11

Anyone who likes to play video games may have thought about programming their own game and then making it available to others to play with.

However, this project can be a little more demanding than you initially imagine. In this article you will learn what types of video games you can create, how games work and what you need to know about programming.

What is video game programming?

The creation of a game depends primarily on what kind of game you actually want to program. From simple 2D games to 3D graphics blasts, everything is possible, but also differently complex.

A quiz game for mobile devices is programmed faster than a 2D multiplayer game with realistic physics. From this you can already see that the game genre alone influences the effort you have to make in order to be able to implement the game at all. Then there is the platform you want to operate: From consoles, handhelds to PCs and mobile devices, everything is possible but also differently complex. You may be familiar with it from console exclusives.

It takes a long time until a game that was only developed for one console is published for other consoles or the PC. The best known and most elaborate example is GTA5. This game was released in 2013 for the Xbox360 and Playstation 3. In 2014, Xbox One and Playstation 4 followed and the game was only released for PC in April 2015.

If you are thinking that your game should be as big as a GTA5, you should know that over 1000 people were involved in the development of GTA5 and that the development of the game should have cost the equivalent of € 191.2 million. It is the most complex and expensive game development to date and shows very precisely how difficult it can be to program games.

How a video game works

The complexity of a game becomes apparent when you take a closer look under the hood. When you play video games you often hear about the term FPS. This is the abbreviation for Frames per Second. But what does this term mean? If you look at the game mechanics, you can see the following sequence:

  1. input
  2. processing
  3. output

In the input information about the course of the game is obtained. That means evaluating keyboard and mouse inputs or collecting game controller data. You may even need data from the Internet, for example for multiplayer games.

Then there is of course information about the current game status, i.e. where are the players, who last carried out which action and which animations were active in the last step.

This information must be available for the next step. Because in the processing step everything is calculated: The next player position and animation, the rules of the game are evaluated. Has a player already won or has something else just damaged him? Can an object go through a wall or does it have to ricochet off? So effects, rules of the game, physics and movements.

Games calculations

All these calculations are evaluated in this 2nd step, the result is then a game state that can be output. And with that you have already reached the third step: the output. Now the required objects are drawn on the screen, sound effects or music are played, the controller is activated to vibrate and the current data is sent to the server for multiplayer games. And then the whole thing starts all over again. This is called the GameLoop.

How often do you think that has to happen so that you can play a smooth game? These 3 steps have to be completed at least 24 times a second, otherwise it looks to your eye as if the game has stalled. 30, 60 and even 90 runs per second for 3D / VR games are better.

In the end, a picture is created with each run, in English one speaks of a frame. 24 calculated images per second result in 24 FPS. The cool thing about programming is that there are so-called game engines that make your work easier.

Creation of a video game

Unfortunately, creating a game is not at all as fast as the Gameloop conjures up images per second on the screen. Even if you already know all the necessary details of programming and have enough experience, the effort is high.

You go through a typical software development process and have to do a few additional things. The publication and marketing of the game were not even considered here. All steps look like this in something:

  1. Idea / concept
  2. planning
  3. Prototyping
  4. Creation of all game content
  5. programming
  6. Testing
  7. Publish
  8. marketing

The easiest and the most fun thing is to tinker with the idea and the concept. You can hang around with it for months if you want. However, do not overdo this and plan ahead quickly. There you then set the scope of the game, a budget and the schedule: Incidentally, these are 3 firmly connected values ​​that influence each other.

Example: If you have designed your game very extensively, but have only a small budget, you should plan a lot of time for your game.

If you have a lot of budget, you can decide for yourself whether the game should be more extensive or whether it should be finished faster. If you are at the beginning, you should rather look for a fixed point in time and then see how extensive you can create your game in the given time.

And that's when it starts, you create the first prototype for your game. There you roughly test the game idea and check whether the whole thing can be implemented as you imagined it. Most of the time, that's when you realize how much time or budget you actually need. You can introduce the prototype to users and use it to find out whether the game idea is well received.

It doesn't matter if the graphics or sound effects are not yet fully developed. You will need this in the next step. Depending on what kind of game you're making, that's a lot of work. Graphics, 3D models, sound effects, music, animations have to be created at this point. Unfortunately, the more you have planned, the more you have to do here. Only rarely can one person do this on his own.

Programming can be started at the same time or afterwards. This is where the final game is programmed: the content is brought together with the code and the game is tested.

It may take a while until all errors are out and the game works as expected. The steps of publishing and marketing are then still tasks that come on top, but simply depend on you.

If you've just programmed your game on the side, you might just want to show it to your friends. Then it may even be that you are already satisfied with the prototype. First of all, 95% of the time you won't be able to earn any money with your first computer game, but maybe your 3 or 4 game is so mature that you can be successful with it.

What do you need to be able to program to play games?

To be able to do all of this, you have to be an all-rounder. No, it's not that bad after all. To start with, you should build really small games that can be programmed over a weekend. To do this, you can, for example, learn Javascript and then start with the Phaser library.

You can learn how to start, for example, in our beginners course. So the only thing left is: start now!