"Since several game engines have been released to the public for free, many gamers have started to create their own games. But how did they do it, and what challenges did they face?"
- Jackson evans, 8th grade
Since several game engines have been released to the public for free, many gamers have started to create their own games. But how did they do it, and what challenges did they face?
The first step of making any sort of game, big or small, is to come up with a general idea for it. Every game should have its own unique idea, story, and gameplay in it. Most developers start by planning their game out, piece by piece.
Once the developer has planned out their game, their next step is to actually make it. In order to make a game, you need a game engine. A game engine is an environment in which the creator can create the game in. Most game engines include an editor with a visual interface, a graphics API, and a way to export the game as an executable file.
Luckily, there are already several game engines that are free to use and open to the public, a few of them are listed here: Unity, Unreal engine, Godot, Armory, Cryengine, and Gamemaker studio. These are only a few of the several game engines that are available to the public.
The first step of making any sort of game, big or small, is to come up with a general idea for it. Every game should have its own unique idea, story, and gameplay in it. Most developers start by planning their game out, piece by piece.
Once the developer has planned out their game, their next step is to actually make it. In order to make a game, you need a game engine. A game engine is an environment in which the creator can create the game in. Most game engines include an editor with a visual interface, a graphics API, and a way to export the game as an executable file.
Luckily, there are already several game engines that are free to use and open to the public, a few of them are listed here: Unity, Unreal engine, Godot, Armory, Cryengine, and Gamemaker studio. These are only a few of the several game engines that are available to the public.
Once developers have a game engine, they will begin to create the gameplay of their game. In order to create gameplay mechanics for any game, you must use code to program how the mechanics work. Coding is by no means the same across all engines, every engine uses a different programming language. A programming language is a way for programmers to write code that is easy enough to be understood by the human and the computer. The most common programming languages used in game engines are: C#, C++, Python, and Javascript.
The part of game development that developers find to be the most fun is creating the levels. Levels are also known as maps. Almost every game engine comes with a plethora of map making tools to make it easy for the developer. Most maps are made with the same process. First, draw out a simple layout for the map, label where things are, what those things do, etc. Then, create a simple blockout of the map in the engine using simple shapes like, cubes, spheres, cylinders, among others.
Finally, create all the advanced geometry in the blockout, then you create materials, place props, light up the scene, and (hopefully) have fun with the map.
Now the next step is probably every game developer’s nightmare, optimization. Optimization is when you take a game that only runs well on your computer and make it so it runs well on most computers. There are two types of optimization: graphical optimization and script optimization. Graphical optimization is generally only a problem in 3D games. Graphical optimization is required when your game’s graphics require more power than your GPU can take, thus lowering the frame rate. Most games solve this using LODs or Level Of Detail. Level Of Detail is when you take a model and slowly decrease the amount of polygons it has as the player gets further from it.
Another method game developers use for graphical optimization is occlusion culling. Occlusion culling will take a model and check if there is something blocking the player’s view of it, if this check is returned as true, then the model will stop being rendered until it is in the player’s view again.
Script optimization is a little bit different. Script optimization is most needed when there is a lot of code running at the same time during runtime. There are several ways to approach this, such as only calling functions in the script when necessary, completely ditching a script that isn’t needed, running checks every other frame, etc. Usually how to fix this is up to the developer.
With all of this, you have the basics of how video games are made, and also how tedious it can be.
All the terms that you not be able to comprehend due to only like 4 people knowing them in the first place:
Code - The language spoken by the common laptop.
Geometry - A unit you will take in highschool and probably (not) enjoy.
Optimization - Take a scene that doesn’t run very well and make it smooth.
Runtime - While the game is running.
GPU - A component that only appears in at least adequate machines that is used to accelerate graphical calculations. (Primarily used for those annoying blur effects that are in no way useful.)
Polygon - A face/segment on a model.
Model - It’s clay but it’s nothing like it.
Script - Game code.
Graphical - Anything that you can see that is not text.
Another method game developers use for graphical optimization is occlusion culling. Occlusion culling will take a model and check if there is something blocking the player’s view of it, if this check is returned as true, then the model will stop being rendered until it is in the player’s view again.
Script optimization is a little bit different. Script optimization is most needed when there is a lot of code running at the same time during runtime. There are several ways to approach this, such as only calling functions in the script when necessary, completely ditching a script that isn’t needed, running checks every other frame, etc. Usually how to fix this is up to the developer.
With all of this, you have the basics of how video games are made, and also how tedious it can be.
All the terms that you not be able to comprehend due to only like 4 people knowing them in the first place:
Code - The language spoken by the common laptop.
Geometry - A unit you will take in highschool and probably (not) enjoy.
Optimization - Take a scene that doesn’t run very well and make it smooth.
Runtime - While the game is running.
GPU - A component that only appears in at least adequate machines that is used to accelerate graphical calculations. (Primarily used for those annoying blur effects that are in no way useful.)
Polygon - A face/segment on a model.
Model - It’s clay but it’s nothing like it.
Script - Game code.
Graphical - Anything that you can see that is not text.