Game Development for Beginners

Video games are fun, we all know that. But almost everyone who enjoys them doesn't know that the process of making them is just as much fun (and in some cases more fun than playing the games themselves), even though there are always difficult and somewhat frustrating moments.

A couple of decades ago the process of creating them was very complex: you had to know C++ perfectly and some APIs like DirectX or OpenGL. Today, the process has become much simpler, accessible to people with all kinds of programming knowledge or even, in a couple of cases, without knowing anything.

If you've ever been stung by the urge to create something no matter how small and simple, let's make it easy for you to know the most appropriate tool for each case.

Unreal Engine

The heavy weight of game engines. If an AAA game development studio does not have its own engine such as EA or Ubisoft it is more than likely that they use Unreal Engine. We saw the first version in 98, with the release of Unreal 1 on PC, and already made it clear that it was an engine that we would have to follow closely, as it already took advantage of the hardware in the time of 3DFX. Street Fighter V, Ace Combat 7, Abzu, Darksiders III or Dragon Ball Fighter Z are some of the games made with this engine, but the list is much broader and with a high level of quality.

Unlike Unity, another of the giants of the sector, Unreal focuses on C++ and maybe that's why the performance has always been quite better than that of the competition. Like its most direct rival, there is the possibility of buying plugins from an online catalog that can be added to the engine and get results quickly. Like Unity, we can export our games on any platform we want, from Web to mobile, through PC/MAC or consoles.

Unity

It is undoubtedly one of the most famous options in recent years among indie developers. With this small jewel have been created titles such as Cuphead, Monument Valley 2, Inside, Ori and the Blind Forest or Hearthstone. Its launch took place more than 15 years ago, initially only for MAC, and since then it has not stopped growing and offers hundreds of features to its users highlighting the possibility of publishing on all types of devices, from console to PC / MAC / Linux or Web. 

Although it started with three programming languages available to develop, recently it has focused on C# as the main language, having abandoned support for Javascript. One of the advantages it has over its competitors is a very large online store where you can buy ready-made components that will help you save hundreds of hours of programming and thousands of headaches.

At the 2019 Game Developers Conference (GDC) they presented a final demo, showing once again that they are much more than just a game engine for 2D indie arcades.

Game Maker

With Game Maker we find a game engine in which we do not need to know how to program to make our pinitos in the world of development, because thanks to a powerful WYSIWYG editor we can create all kinds of scripts dragging and dropping elements on the screen.

Another difference with their older brothers is that Game Maker is designed to create 2D games, offering only some basic functions for 3D. Although it's a more limited engine than Unity or Unreal Engine, we've seen how very talented teams have created authentic works of art such as Nuclear Throne, Downwell, Undertale or Hotline Miami.

CryEngine

When Crysis hit the market in 2007, Crytek left even the most skeptical of their critics with the graphics we saw on our screens. We weren't used to that level of detail in a game, but we weren't accustomed to the requirements it asked of us to move it as much as possible. 

All that graphic spectacle was driven by what at that time was the most powerful graphic engine on the market, although over time was losing that advantage with its rivals and gradually Epic with Unreal was gaining advantage by leaps and bounds, leaving CryEngine almost forgotten among developers, because virtually no game is currently developed with it, only Crytek uses it for their developments.

Regrettably, if you want to invest time in making games we think it's better that you forget about it and dedicate yourselves to other tools...

SDL 2

So far we've talked about game engines with environments where we can develop, but with SDL we go to the development of old-fashioned games: using C++ and libraries that give us access to all the necessary hardware (controls, keyboard, mouse, sound) and of course the graphics.

We will have to think about all of the architecture of the game before launching to programme, but we learn much more in this way than with any of the other engines. Although there are few famous games that use SDL, it is widely used among indie developers of the old school and among the games created with this library we find some small wonder, like Axiom Verge.

Where we can often find it is between emulators like DOSBOX or ZSNES.

BabylonJS

To close the list we will recommend BabylonJS, perfect for web developers who want to make games accessible to everyone through any web browser or PWA. Babylon is a game engine that offers support for audio, gamepad, keyboard or mouse and 2D/3D graphics through WebGL 1 and WebGL 2.

Right now it is the most complete and used engine on the web and no wonder. In addition to being developed by two Microsoft employees, it has a huge community of developers behind it. Getting started with Babylon is as easy as having some knowledge of Javascript, an editor like Atom or Visual Studio Code, something to look forward to and follow their extensive documentation full of examples.

Continue reading

#}