Pros and Cons of Using a Game Engine
Using a game engine, both 2D and 3D, has become enormously popular in the last few years. In this post, we’d like to analyze the pros and cons of using a third-party game engine to create your video game, since this is a debate that is still very much alive and that, despite the overwhelming success of some video game engines, is still causing controversy and arguments. A report by Developer Economics in the third quarter of 2014 claimed that 29% of game developers do not use a game engine provided by a third party.
The Cost of a game engine
Apparently, having to pay to use third-party software can be seen as an extra cost that can be easily avoided if we create the game from scratch. However, you have to bear in mind the costs of creating a lot of the features and services that come standard with a game engine. The hours of development dedicated to your own game engine can get very expensive, and can enormously increase the cost of the project.
Similarly, we have to add that most game engines have dramatically reduced their licensing fees in the last few years. If you compare the costs of creating your own engine to what a license would cost you, most of the time, you would find that using the third-party game engine would be more profitable.
We also need to mention one other point. Some game engines, such as Unreal or WiMi5, offer a licensing model that is free, and only charge a commission based on the income the game generates. That is, the developer can use the game engine for free, but pays a part of the income the game generates to the company that provided the game engine. This model is great for indie developers or students who want a powerful game engine at their disposal at no cost. On the other hand, if the income is very high, the video game developer might consider creating his own engine, despite the extra costs that this would mean.
Ease of Use, Learning Curve, and Productivity
One of the advantages game engines offer is their ease of use. The idea is that these tools allow games to be created in a working environment which offers a set of features that make creating games easy, both in terms of programming and of graphics. Also, the objective of the people who design these tools is to make them easy and flexible to use, intuitive, and with the smallest learning curve possible. Some tools manage to achieve this; others don’t.
The idea is that it’s easier to learn how to make a game with one of these engines than it would be, for example, to learn how to program one in C++, which is a programming language with a steep learning curve. This is also, in a way, related to productivity. With game engines, it is possible to increase productivity in the development of a video game.
You also have to keep in mind that there are certain concepts that you must always remember whether you are using a game engine or are developing your own. Concepts like game-loop, interactions, renders, rankings, resource use, etc. have to be internalized in any case. On this website, there is an interesting list of general concepts to be kept in mind by developers who are not experts in video games.
Quickly Creating Prototypes and Visual Scripting
One of the advantages video game engines offer, which is related to the point above, is the possibility of making game prototypes quickly. This can be very useful to test ideas or game concepts which can be put into practice quickly and easily by an expert in the use of one of these engines. This makes validating new ideas or experimental game concepts easier, as they can be tested by players in early prototypes, offering a valuable learning lesson for the development of new projects.
Doing this without a game engine is more complicated and slower. It takes more development time, and can on occasion make turning an unconsolidated idea into a playable prototype lose its fun. For example, in many game jams, developers try new ideas, and on many occasions, they use pre-existing engines, due mostly to the time limit at these kinds of events.
One of the features offered by some engines, such as Unreal with its Blueprint, or WiMi5 with its visual scripting, is the ability to create your game’s code visually. This makes it easier for people who aren’t programmers, who until now faced a strong entry barrier to creating their own games, to access video game development.
Using a third-party tool can always be a cause for conflict with the individual interests a game developer may have. Engines offer many features, flexibility, power, and make game creating easier in many ways. But there is always some aspect that is not offered, or which doesn’t match with the way the video game creator wants to work.
Many of these limitations have to do with the fact that developing a native game is usually related to having a high degree of control over what’s programmed. The developer who is used to controlling every last bit will look suspiciously on the technical limitations offered by game engines. Obviously, it is much harder to do the same with a tool that works with a high degree of abstraction than it is to work directly in the development language, like C, on your own engine.
There is even a certain debate in some forums about whether to be a “true” developer you have to skip using pre-built engines and start everything from scratch. To really debate this, we’d have to define what the “ground floor” for being a “true” developer is. Are DirectX and OpenGL enough, for example? Does the “true” developer also have to build an operating system?
Finally, we’d like to point out that normally, companies which design video game engines usually listen to their game developers’ demands as well as to the limitations they find. As these engines evolve, many demands are usually covered, and some of the existing limitations are solved.
Support, Community, and Asset Stores
Support and the community are other aspects that can affect the decision of whether or not to use a game engine. It is true that there are very powerful communities around some tools, but it is also true that there are many resources surrounding programming languages which can also be used to develop games. Video game developers are used to interacting with each other, to asking and answering development questions, whether or not they’re using an engine. Normally, these are communities that are used to sharing knowledge.
Most game engines usually offer help and documentation on the use of their engines. These tutorials are usually found in both audiovisual and text-based formats in the support sections of the companies that develop these engines. In many cases, they also offer examples of use, project templates, and other resources that help video game creators manage their tools.
Resource stores, or asset stores, provide all types of resources to speed up game development. Some engines offer their own asset stores, which are optimized for that engine. They may offer, for example, extras or plugins which can be integrated into the engine and which may be created by the company that’s offering the engine, or by other developers. This way, the engines are open to letting game developers create their own tools or plugins.
Many people say that games created with, for example, Unity are all very similar. The question is that many developers always use the same features, objects, and components that are the tool’s defaults in order to solve the same issues. That’s why we can see so many similarities, for example, in the mechanics of games created with the same tool.
In any case, many engines offer the ability to customize these predefined objects and components, and adapt them to the individual needs of each case. Or they also usually offer access to the source code of those objects so you can completely transform them. In the end, what matters is the effort and interest each developer puts into making the product as original as he wants.
Platforms and Fragmentation
Finally, we’d like to comment on one of the most powerful characteristics that are usually offered by game creation engines. Currently, developers try to offer their products on as many platforms as possible, such as iOS, Android, the web, smartTVs, consoles, and any new type of device that comes on the market. These game engines usually offer the ability to easily export your game to some of these platforms. Some engines cover practically all platforms, while others only cover a few. In the case of WiMi5, the engine is based on HTML5, which means that the games can be played on any device with a modern browser, which means practically on the ones that are worth it.
Another question to bear in mind is the great variety of screen resolutions and formats that exist today on the many different devices that are on the market today. Screen resolutions can vary from 380×460 pixels up to for example 1920×1080 pixels or more. There are also the aspect ratios, either 3:4 or 16:9, or any other ratios, and don’t forget landscape and portrait layouts.
To handle all these different possible combinations, game engine development teams invest many, many hours. Their objective is to offer a reliable and coherent solution that allows the player to enjoy the game regardless of the device and screen resolution that may be in use. Most game engines solve these matters pretty well. For the developer who wishes to face these issues directly, there are several things that need to be dealt with:
- Use a development language that can port easily to other platforms. This may mean you have to stop using languages native to a specific platform, unless you want to develop the game several times for several platforms. In any case, you’ll have to adapt that common development to use the APIs that are specific to each platform.
- Have a database of the individual characteristics of the different devices you want to port your games to, and integrate those data into the development.
You must also not forget the development platform. Many of the tools available are compatible with some of the most common ones, Windows, Mac, and Linux. However, some only work with one of them or they don’t support another or they offer fewer features on another. There is a clear trend to using the web as a platform for video game engines, which are usually based on HTML5, as is the case with WiMi5.
12/06/2015 / Hafo / 1
Tags: ease of use, fragmentation, game creators, Game Editor, game engines, html5 game engine, no programming skills, platforms, productivity, pros and cons, prototyping, third party engine, visual scripting
Subscribe to our newsletter and be among the first to hear about upcoming features, news and job offers
- December 2016
- November 2016
- October 2016
- September 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- October 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- November 2013
- October 2013
- September 2013