12 Game Development Concepts For General Knowledge

If you are looking to become a game developer, or if you just want to know more about game development in general, this article will give you an idea about a number of random concepts that are directly related to game development.

The concepts will just be things that game developers generally have to deal with when building video games.

Some of these concepts might be familiar to even non-developers, while other terms might be less known outside of the game development community.

With that said, here are 12 game development concepts that you might be interested in:

1- Game design documents

A game design document (GDD) is usually the starting point of most serious video games.

A GDD is a document that contains all the details about the game. The details include the mechanics of the game, the planned levels of the game, the characters, the progression of the game, and so on.

It is basically the guide that the game developers use in order to start building the game.

Having all of the features planned in advance can help in increasing the efficiency of the development team.

Adjustments can be made to the GDD over the development period, however, it is usually best to stay away from making major changes to the document.

2- Shaders

Shaders are small programs that decide how light is reflected from game objects, and how shadows appear in the game.

There are engineers that are dedicated to programming shaders based on the game designers’ needs.

In simple words, shaders play a huge role in how you see most of the objects that exist inside a video game.

3- Scenes

Video games are generally large pieces of software. Scenes are a way of organizing the whole game into separate chunks that can be dealt with separately.

For example, the main menu of a large indie game can be in its own scene. Each level in a puzzle game can be its own scene, and so on.

Organizing a game into several scenes is important for a number of reasons including performance optimization, easier collaboration, easier maintenance and much more.

4- Ray Tracing

You might have heard of the term ray-tracing used by GPU manufacturers to market their products.

In video games, Ray-Tracing is the concept of simulating how actual real life light works. Inside the game, the light sources send a very large amount of rays. These rays then hit game objects and get reflected.

This process then determines how lit each game object is.

The ray tracing operation is extremely heavy on the hardware, and requires a lot of processing power, which is why game developers have resorted to techniques like “Baking light” where they run the ray tracing algorithms once, and then save its results to re-use it instead of recalculating light reflections on every frame.

There are GPUs that are specifically designed to support real time raytracing to make sure that the players can experience games with dynamic lighting and more realistic game environments.

For example the Ray Tracing Texel eXtreme(RTX) GPUs are specifically optimized to handle real time ray tracing in video games.

5- Artificial Intelligence (AI)

There is zero chance you haven’t heard of the term AI before. In video games however, the term AI can just mean a very basic and dumb enemy that moves around and barely makes a few decisions.

The term AI in video games generally refers to all the NPCs, the enemies and other characters that make decisions based on certain variables and inputs.

For example, a very simple enemy that just shoots bullets when the player moves close to it is considered an AI in the video game. It made the decision to shoot based on how far away the player is.

AIs in video games can range from extremely simple to extremely complicated. 

Making opponent cars in racing games figure out how to be competitive in procedurally generated environments for example is not an easy thing to deal with at all.

On the other hand, creating a simple NPC that responds to you based on your answers can be viewed as a straightforward task (well, not straightforward, but compared to other AI tasks, it can be seen as an easy one)

6- Collision detection

Collision detection is a fundamental concept in video games. It is the process of determining when 2 or more objects have collided with each other.

Without collision detection, bullets will go through enemies without being detected, players will sink indefinitely into the ground, moving objects will clip through each other, each acting as if the other object doesn’t even exist, and so on.

Collision detection requires a lot of calculus math, and algebra math, and is generally handled by the game engines that are used as toolboxes to build video games.

7- Navigation

Navigation is a huge concept in many video games. You as a person can navigate the real world with ease without having to think about it. You just move to your destination and avoid any obstacles in your way.

Making an AI replicate this behavior is not an easy task however.

Say that the Enemy AI spotted the player and it now wants to chase it. First the AI needs to determine the shortest path to reach the player, it can’t just move straight if there are obstacles in between.

Then the AI needs to avoid any sudden obstacles that come in their way as they are moving towards the player, as the player will keep changing their position, and other objects will also change their position over time.

This is all part of the Navigation concepts in video games. A* is one of the most famous algorithms used to determine the shortest path towards the destination, and there are other local obstacle avoidance algorithms that are used when AIs, players, and any other objects are navigating the game world. 

8- Frame Rate or Frames per Second (FPS)

If you are a gamer, then you have certainly heard of the term frames per seconds before. The FPS of a video game is how many frames the game is capable of rendering per second.

If the FPS is 60, it means that the game is updating the positions, shadows, animations, rotations of the objects in the scene 60 times a second. That’s just a very tiny portion of what a game does during a single frame.

Generally speaking, games set a target frame rate to make sure that the players experience the game the way it was intended to be experienced.

9 – Optimizations

Optimization in video games is the process of making changes to the game to make it reach its intended frame rate.

The concept of optimization is not exclusive to game development, however, optimization is extremely crucial in video games since a low response time and a high frame rate are vital to the success of a video game.

Optimization generally involves identifying the pieces that are causing the biggest frame rate drops, and then either changing these pieces to be more efficient, or getting rid of them completely for the sake of hitting the target frame rate.

10- Physics Engines

Physics engines are tools that help game developers create realistic physics interactions between different game objects in the scene.

For example, the physics engine can help developers apply forces to game objects, decide some physical properties for game objects including weight, bounciness, friction, and so on.

11- Feedbacks

Feedbacks in video games are how different objects, systems, characters and other things react to actions made by the player.

For example, if your character opens a door, then the sound the door makes, the rat that runs away once it sees you, and so on, are all feedbacks to the action that you have made as a player.

If your character is walking on the snow, then the sound that the snow makes, and the trail that the character leaves are also examples of game feedback.

And so on, you get the point…

Feedbacks are one of the fundamental things that game designers have to get right in order to make the game enjoyable.

12- Unit testing

Unit testing is another concept that isn’t just exclusive for game development. In general, unit testing is used by software developers to ensure that their code is working as intended.

The idea of unit testing is this: isolate a game functionality, and create a test for it that checks whether the function is working as intended or not.

Then, whenever game developers add new features to the game, they run the unit tests to make sure that the new features added didn’t break the old ones, and if they did, they’ll know that they need to fix the issue right away, instead of letting issues pile up which can be a recipe for disaster.

That is it for this article. I hope that you have found some of these explanations helpful in any way. If you would like to read more, you can check these other articles on the blog: