Sign up for our e-mail newsletter and stay informed for what’s next on the horizon.
This article explores game engines. You’ll learn what they are, how they work, and how to consider which one is right for you. Game engines are a large topic, but it’s really easy to get started…
Maybe you’re considering game development as a career or a hobby. If so, that’s amazing! If you’ve researched this incredible subject then you’ve probably heard the term Game Engine. It’s used frequently and almost everywhere in the gaming world. Whenever developers sit down and plan a game, they make careful technical and business decisions. Many of these decisions revolve around the game engine chosen.
So, what is a Game Engine then? Well. To answer that, let’s start by two analogies. If you wanted to write an article for a blog, you’d normally use word-processing software; such as Google Docs, Microsoft Word, LibreOffice or Softmaker Office. These programs are specifically designed for making documents. Similarly, if you need to enhance photos for a presentation or a slide show, you’d use photo-editing software, such as Photoshop, GIMP, Paint Shop Pro or even the native editing software directly in your phone. Now, returning back to videos games: if you want to make a game, you’ll want to select a program dedicated to achieving exactly that. That type of program is a Game Engine.
A game engine is, in short, software for making games. Some well-established game engines include: Unreal, Unity, GameMaker, RPG Maker and Godot. You need to pick only one of these programs, and you can make games with it. We recommend learning the Godot engine. We have courses for you on this engine. But, naturally, the choice is yours. So you’ll need to make a decision at some point. Some of these engines are free of charge and others are commercial, and some appear to be free but are not.
Interestingly, video games were not always made in game engines. At least, not in the engines we recognize today. In fact, the fully-featured, easy-to-use softwares available now are relatively new. They’re a luxury which democratises game development, making it easier than ever for people everywhere to make high quality games. Of course, there’s a lot to an engine. More than it first seems, in fact. We’ll now take a look at an engine’s core features, so you can spot an engine and also begin making decisions about which engine to try learning first. Be prepared for surprises too. Although engines make development simpler, there are features that you may expect them to have but which they do not.
People think focus means saying yes to the thing you’ve got to focus on. But that’s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully.
Steve Jobs – Apple Worldwide Developers’ Conference, 1997
Games are truly massive endeavours, both technically and creatively. As a result, the Game Engine can’t achieve everything needed all by itself to make a full game- at least not yet. A Photo-Editing application, for example, doesn’t actually take photos by itself, but rather modifies ready-made photos taken beforehand by a camera. And similarly, a Word Processor doesn’t actually compose a document for you word-for-word, but instead provides document-creation tools- like spell checking and paragraphing- for your creative use.
Likewise, when considering games; there’s a lot to think about. Consider, for example, the sheer immensity of assets needed for a high-quality first-person shooter game, like Call of Duty, or Battlefield, or any other MMO. These assets include character models, environment models, props and weapons and vehicles; and also animations and voice acting, and music and textures. This is a massive amount of assets when taken together. And typically, a game engine is not the tool for making all this original stuff, all of which differs widely.
That’s right: a game engine does not truly offer you any features for making music or building models or painting textures. A game engine assumes you’ve already made this content using other software and equipment beforehand. Models can be made in Maya, 3DS Max or Blender– and again, some of these are free and some commercial. Music can be made in Logic Pro, FL Studio and Ardour. And textures can be made in Photoshop, Substance Painter or GIMP. There’re lots of other programs out there for making different types of assets. But, whichever engine you choose, you’ll probably need to make your assets using other software.
So if game engines don’t offer features for making assets, then what do they do, precisely? Why are they needed? The best way to answer that is to start thinking about assets as furniture, or as props. Sure, you can collect a massive library of carefully crafted vehicles, weapons, characters and houses. Gigabytes worth. That’s great. But on their own those assets are just good-looking objects that do nothing, except look good for portfolio shots.
To make a playable game, you’ll need to bring those assets together into an interesting world that feels alive; a place where objects have meaningful connections. In such a world, characters don’t simply stand there motionless waiting to be in a screenshot. They can actually move around intelligently and talk with purpose. Weapons can be collected and fired on demand. Doors can be opened and closed, and so on. This world- unlike a lifeless collection of assets- has both assets and behaviours. And it is exactly here, where behaviours are added to assets, that game engines are needed. To help you breathe life into your assets, most engines offer visual editors and tools to help you get your work done easily. This will include buttons, viewports, mouse-driven interfaces and other tools.
One way that we, as both developers and games makers, tell the engine how a world must behave is through Scripting. Scripting is a form of computer programming, and engines offer us many tools for programming. Programming is about writing a sequence of detailed instructions that the engine can follow, precisely and step-by-step, to make a world behave as intended.
Programming defines the world’s DNA. If the player must shoot their weapon whenever the fire button is pressed, then you’ll need to script that. If an enemy character must chase the player upon their being spotted, then you’ll need to script that too. All behavioural connections in a game world must be scripted. Scripts can be built in a written language, like C#, or they can be built visually with the mouse, like Blueprints. All engines support scripting but they differ immensely in the language and styles used. For example, Unity offers scripting in C#. Unreal offers scripting through Blueprints. And Godot offers two languages, GDScript and C#. Whichever engine you choose, you’ll need to learn its scripting language to get the best results.
Once you’ve successfully made a game in your chosen engine, you’ll want others to play and test it out. Your gamers shouldn’t need to download and install the engine that you’re using. You’re the developer and they are not. They should be able to play your game as a separate, stand-alone application on their PC, Console, or mobile device. To achieve that, your engine must convert the game into a stand-alone form that’s accessible everywhere. The process of making the final application is called the Build, Export, or Compilation, process. It’s essentially the final step inside an engine for completing the game you’ve made.
Every engine offers a Build process, but engines differ in the range of devices and hardware they can output to. Some engines let you make games for PCs and almost all consoles and mobiles, while others offer a more limited selection. You should check out the supported platforms for each engine when making a choice. Don’t assume that more is necessarily better. What matters most for you is whether the engine supports the platforms you need.
To conclude, a Game Engine is perhaps the single most important software in a game developer’s toolkit. It lets you make and distribute games, getting them running on your target platforms. Game engines offer editor tools for building worlds, scripting tools for creating behaviours, and building tools for finalising your games to PC, Consoles, or mobile devices and others. But game engines force a choice upon you, the developer. You’ll need to decide carefully which game engine you choose, which programming languages you learn and how you’ll be distributing the games you make. If you need help deciding on an engine, we strongly recommend Godot if you’re starting out or if you plan on making your own games independently. Read our Godot article here, at Beindie.Biz, to see how it compares alongside other engines and why you should be using Godot.
Sign up for our e-mail newsletter and stay informed for what’s next on the horizon.
2020 Junkyard Jukebox Ltd. All rights reserved