How were the computer games we all play? - The first step to game programming !

in OCD4 years ago

Prologue:

Each of us went out to play computer games. No matter what games you play - first, third, simulation, shooting, shooting, or any other genre, everyone has a common denominator, and they are all created by one game engine or another.


# What is a game engine?


image.png

Source

Game engine. Some of you may have heard about this concept, some of you may not. So that we all straighten a line then we will explain a little about the concept. A game engine is basically software that contains some preset options. The more developed the same software, the more possibilities and diversity. What are the same options you ask. Well that changes from one game engine to another. It can be anything - go a step as soon as there are no more enemies, change the color of our vehicle, put a lamp at the end of the street, and really anything else you want. Note that in the examples I gave, you can distinguish between examples that depend on graphics such as the color of the car or the street lamp, and the example of the phase transition that it deals with examining a certain condition that exists (no more enemies) which is a programming aspect and is not a graphic aspect In it programming because everything is based on programming but part of it also incorporates graphic interest).

So now that we've glanced briefly out the window and understood more about what a game engine is, let's move on to the next question - how is a game engine really created? Well here comes a huge pile of code lines. A game engine is created by programming. Different programming languages ​​can be used to create a game engine, in the vast majority of cases the game engine will consist of low level programming languages ​​such as c, c ++, assembly and more. As you already understand by now, building a game engine requires the most in-depth knowledge of programming languages, but in order to use a game engine that already exists enough to know the same programming language used to create games. Contrary to expectations, the programming language used in the game engine is not always the same as the programming language created by the game. This time we will go on a journey and talk about games we all know and about different game engines and we will begin to understand more about how computer games really are created.

id tech - Welcome to Doom Father Nation


image.png

Source

Doom is one of the nostalgics that brought quite a few of us into the gaming world. When I said we were going on a journey I really meant it. Then the Doom game came out in 1993 and is based on the id tech game engine. A game engine built in c language and used in ActionScript language. The game engine is two-dimensional, the reason why the game Doom is three-dimensional is thanks to smart functions that created a three-dimensional illusion.

To get some perspective on the game engine created in 1993. Here is a short video from the legendary nostalgic duo:

I want to jump to the sixth generation of the engine, id tech6. To show where we really stand today in terms of the new game engine capabilities created:

This is Doom 4. The game has left the entire audience and me wide open as well. Year by year the engines only get stronger and the options only expand.


FROSTBITE - EA u DICE engine


image.png

Source

Somewhere in the past, in 2008, EA entered into a collaboration with DICE and together they created Frostbite 1.0. The engine, built in c ++, did not see innovations until then - HDR Audio technology that allowed you to hear important voices in the game even if there were other voices interrupting (for example: shooting sounds would always be heard over the game's music ), and of course Destruction 1.0 technology allowed players to destroy parts Different from the map like walls (because who didn't just try to blow up a building for the sport). This game engine brought us the title of Battlefield: Bad Company. About a year later, Frostbite 1.5 came out with Destruction 2.0 technology that improves all the chaos that can be created in the game by destroying various objects. This game engine brought us Battlefield 1943 in 2009, and Battlefield: Bad Company 2 in 2010. In 2011, we came to the Battlefield 3 game created in the next engine version, which is Frostbite 2. Apart from the fact that they decided to call the game engine not named Decimal (note there is no point after the number with him) the engine is equipped with Destruction 3.0 technology, which, you can imagine, comes an improvement in our precious building demolition experience. As of 2011, Frostbite 3 was under development. He is currently the latest game engine in the series. Here are the features of the game engine's features:

Unreal Engine – Epic Company


image.png

Source

Introducing Unreal Engine - the first game engine developed in 1998 by Epic. The engine was developed in C ++, C #, and Assembly languages. The truth is that I'm really excited to write about him, because he's the game engine that surprised me the most, and you'll soon understand why. Let's start with its first version - Unreal Engine 1 which brought us one of my favorite nostalgic games - Unreal Tournament. Here's a video from the game so we get a view of where it all started for that game engine:

Among those games developed in Unreal Engine 1 are also the first two games in the Harry Potter series.

We will advance four years to 2002 since the game engine in its first version and receive Unreal Engine 2. The most significant improvement the engine received was in its physics system. Over time he got more and more improvements and polishes, and with them came an impressive list of computer games developed specifically in this game engine. Among them are Killing Floor, I Am Alive, Bioshck 1, Bioshock 2, the legendary Splinter Cell series and more.

In 2004, images from the Unreal Engine 3 game engine were first released, since it has been in ongoing development. To enter the scale on the success of the engine. In 2012, the FBI purchased the engine license that is still under development to be used for simulation training purposes. It was a breakthrough to the engine that made him step beyond the gaming world he had come to know. This game engine worked closely with the Unreal Engine 2 game engine, which caused a strange result - their ability to find a game developed in 2010 by the game engine Unreal Engine 3. You can find Mortal Kombat X, Mirror's Edge, Outlast, Thief's new title, Mass Effect series, and of course I will mention Unreal Tournament 3 here to close a little circle. Here's the trailer for the Unreal Engine 3 game engine in 2012:

And now we will get to the most interesting part of it - Unreal Engine 4. The development of this game engine actually started as early as 2003 by another department at Epic. But the announcement of the development of that engine came only about two years later. Its official release came on the market in 2014. One of the games that has been developed in this game engine is Daylight.

To get a better look at it, here is the game engine trailer video:


And what if I want to start building your own game?

(The part we all expected)

This is the question of the century ladies and gentlemen. Don't worry, I have an answer to it and it's quite simple to be honest - use a free game engine. All the game engines I mentioned above have been developed for a long time and the license to them costs money, but they are not all game engines that exist. In fact, we haven't even seen a tenth of the existing game engines, as they are extremely numerous. I will now present two examples of game engines that anyone who wants to start developing games at one level or another must pass through one of them:

GameMaker Studio


image.png

Source

GameMaker Studio is a free game engine in its basic version, which in itself is sufficient to start creating initial games. The engine is a two-dimensional engine with certain options that give a three-dimensional effect (these engines are defined as 2.5D) and is mainly used for indie games. A very good place to start developing games. Developing games in the engine is done in two ways - dragging actions (if the player has collected the coin, dragging an action to increase his score by 1), or programming in a language specifically created for the engine called Game Maker Language (you'll sometimes meet it as the GML shortcut). Language is not difficult to learn and there are a variety of guides.

Conclusion

So what's my recommendation? Download GameMaker Studio and learn the engine language or use the drag option I mentioned above, and develop the simplest indie game you can. I’m sure everyone has ideas in mind for an amazing game that could bring something new but it won’t work, not for the moment. The first thing to do before trying to shoot at the end is to shoot at a closer target, like a known brick or Pong. Then either try to build a more advanced game in GameMaker Studio, or move to Unity 3D and learn the C programming language.

Hope I helped people understand more about the topic, or others who spent a lot of time thinking in the direction of game development and didn't know how to take the first step.


If you like the reviews I write, give me a vote and leave a comment :)