In this article, we'll look at some of the most popular game engines for video game development. You'll get a brief overview of each engine so you can choose which to use for your project.
Probably the most popular engine, Unity, has its own article here. Check it out and learn all about its many features.
GameMaker Studio, previously known as GameMaker, is a cross-platform game development software primarily focused on creating 2d games using drag and drop action sequences or a scripting language known as Game Maker Language (GML).
GameMaker allows it’s users to create and prototype games quickly without the need to learn a programming language. GameMaker games usually consists of at least 3 things: sprites (images & animations), objects (logic & interactivity) and rooms (screens & levels). Each game needs at least one room which is used for both menus and levels, and the transitioning between each.
GameMaker Studio 2 released on 2 November 2016.
- Microsoft Windows
- Amazon Fire TV
- Android TV
- Microsoft UWP
- PlayStation 4
- PlayStation Vita
- Nintendo Switch (September 2018)
PlayStation Portable and Raspberry Pi support was demonstrated but not released.
Popular games made with GameMaker Studio:
- Hotline Miami
- Hyper Light Drifter
- VA-11 Hall-A
- Nuclear Throne
Unreal Engine is a cross-platform game engine developed by Epic Games. The Unreal Engine was initially developed for the 1998 FPS title Unreal, but has been subsequently used for many thousands of commercial and non-commercial titles. The most recent version of the engine, Unreal Engine 4, targets PC, PlayStation 4, Xbox One, Mac OS X, iOS, Android, many VR systems, Linux, SteamOS, and HTML5, and the editor can run on Windows, OS X and Linux.
Uscript is the engine’s native scripting language, used for creating game code and gameplay events before the release of Unreal Engine 4, and was designed for high level programming. The script was written and programmed by Tim Sweeney, also the creator of another scripting language, ZZT-oop.
Since 2015 the Unreal Engine has been free to use, with Epic charging a 5% royalty on sales of titles produced using the engine. Epic make the majority of their codebase freely available via their Github, although source for closed platforms such as the Playstation 4 and Xbox One is only available for registered platform developers.
Unreal has gone through 4 major revisions. Although some code is common between releases, each major version is a separate engine and projects cannot be moved between them. Within each major engine release, there are multiple minor versions.
- Unreal Engine 1 Released in 1998 and targeted Windows PC, Linux, Mac, PlayStation 2 and Dreamcast. The engine was written in C++, and easily moddable using the Unreal Script language.
- Unreal Engine 2 Released in 2002 and targeted Windows PC, Linux, Mac, Playstation 2 and Xbox. The engine was written in C++, utilized the Unreal Script language.
- Unreal Engine 3 Released in 2004 and targeted Windows PC, Linux, Mac, iOS, Playstation 3 and Xbox 360. Development is split between Unreal Script and C++, with an additional visual scripting interface called Kismet.
- Unreal Engine 4 Released in 2015 and targets PC, PlayStation 4, Xbox One, Mac OS X, iOS, Android, many VR systems, Linux, SteamOS, and HTML5, and the editor can run on Windows, OS X and Linux. Unreal Script has been removed and replaced with dynamically reloaded C++ modules, and a more advanced visual scripting interface called Blueprints.
Popular Games made in Unreal
- Batman Arkham City
- Mass Effect
- Gears of War
Game Development with Pygame
Pygame is an open source, cross platform python library used for game development, written by Pete Shinners. The Pygame documentation and more information can be found on their website at https://pygame.org.
The project started in the year 2000 as a result of the death of PySDL. The Pygame library version 1.0 was released after six months development in April of 2001.
libGDX is a free and open-source game-development application framework written in the Java programming language with some C and C++ components for performance dependent code.
LibGDX supports both 2d and 3d game development, and is written in Java. In addition to Java, other JVM languages, such as Kotlin or Scala can be used to program libGDX games. At it’s core, libGDX uses LWJGL 3 to handle basic game functions such as graphics, input, and audio. LibGDX offers a large API to simplify game programming. LibGDX has an informative wiki on it’s Github page, and there are many tutorials on the internet.
Phaser is an open source framework for developing HTML5 games for desktop and mobile. You can read more about it on their website here.
If you've heard of Minecraft, chances are you've also heard of and used Forge. It allows you to mod your Minecraft game to make it do a bunch of cool stuff. Check it out in this article here.
Something a little different: Terasology
An open-source voxel sandbox game!
The Terasology project was born from a Minecraft-inspired tech demo and is becoming a stable platform for various types of gameplay settings in a voxel world. The creators and maintainers are a diverse mix of software developers, designers, game testers, graphic artists, and musicians. We encourage others to join!
Terasology is an open-source platform for gameplay of any kind in a voxel world. If you read that sentence attentively you can see I did not use the word ‘Game’. The reason behind that is the fact that Terasology itself is not a finished game! It’s merely a platform for you to modify yourself with your own code or pre-made modules. Do not worry though, there are loads of modules constantly developed by the multidisciplinary team.
The open-source spirit
Another really cool aspect of this game is fact that MovingBlocks (the organisation behind Terasology) participates in large events such as GCI (Google Code-In), GSOC (Google Summer of Code) and more! This makes the environment especially lively and it really empowers the community spirit. This is not some random product made by a greedy multinational, this is the work of a team. A team with a passion.
Want to contribute?
You too can contribute! Check out the repository here on GitHub and start hacking into the code! Make sure you format everything properly, use clear code and follow all of the repository-specific conventions! https://github.com/MovingBlocks/Terasology/wiki