Which Engine?

[Lecture Video]

Engine, Frameworks, Libraries, DIY?

Whereas a video game engine is a full-fledged piece of software, game libraries and frameworks are more or less just programming scripts. Thus, instead of building within a separate program, game libraries and frameworks allow you to build from most code editors. In this case, you just need to make sure to import, require, or install the library/framework per the instructions provided for it.

So why does this matter? Well, there are some pros and cons between the two.

On the positive side, game libraries and frameworks have a lot lower point of entry. You don’t really need to worry if your computer can run a certain piece of software. They are really easy to integrate into projects as well.

Plus, despite just being a suite of data and pre-programmed code, you still get a lot of the same benefits as a game engine. For example, many game libraries are perfectly capable of handling things like collision detection and physics. So, you still won’t be stuck with the same tedium you would if you programmed from scratch.

That being said, game libraries and frameworks have their own hiccups. As they are not full-fledged pieces of software, they just don’t flat out come with as many convenient tools. Instead, you’re relying solely on making coding calls for every piece of functionality, and that can be a lot of coding depending on the type of game you’re trying to make.

Likewise, most game libraries and frameworks just aren’t as powerful as a game made with an engine. Now, this doesn’t mean they can’t be a ton of fun, but don’t expect your AAA Elden Ring clone to be made with just a framework.

Things To Consider

  • 2D or 3D or ? (inc VR/AR)
  • Development Platform - Which system(s) will you be developing on?
  • Target/Build Platforms - Which system(s) will you be developing for? Are there any compromises to enable multi-plaform builds?
  • Performance - Will your game be demanding on the platform? Do you require an optimised/optimisable engine?
  • Graphics Detail - Will the engine support/optimise the level of graphics you want?
  • Scripting Language - Do you know the scripting language of the engine? How powerful/flexible is scripting in the engine?
  • Engine Support - How is the engine supported by its developers? Is free support available? Is support limited by price?
  • Engine Community - Does the engine have a community of developers? Community can be a source of support, example code and plugins
  • Assets - Does the engine have an asset store/hub?
  • Price/Licencing - Is the engine free? Is it still free for commercial use? Is a licence required to use the engine or sell games using the engine?
  • Open Source - Is the engine open source? Open source software may have faster bug fixes/upgrades, you may even be able to request specific features. It may also be less reliably supported and updated.
  • Game Editor - How is scripting/coding within the engine handled? Drag and drop GUI with short attached scripts or more coding? Which do you prefer?
  • Specific/Exclusive Features - are there any features you require which are not available in every engine?

Unity

Having been developed since 2005, the Unity game engine has become a staple of the indie game industry. With constant updates and new, major features, such as Unity Reflect, being added every year, the support for the engine is unbelievable. The engine is not only well-suited for both 2D and 3D games of any type, but it is also a popular choice for virtual reality game creation and AR development as well thanks to many companies and developers creating convenient SDKs for the engine.

Beyond this, Unity also has a sizeable community, with an active Asset Store with both free and pay-to-use assets at your fingertips. As it’s such a robust engine and free for developers earning less than $100K/year, it is a fantastic choice for beginners regardless of what they want to make.

This being said, if you are looking to develop an entire video game studio around Unity, the licenses can be costly – though they do come with more features. Additionally, Unity can be heavier on your system if you’re running some of the higher-end tech demos to bring out the full capabilities of the engine. Lastly, it’s worth mentioning that as Unity updates so often, it can be easy to miss new features or be a struggle to find old ones as the UI and system for accessing them might change.

Strengths:

  • Free for beginners earning less than $100K
  • Great for 2D and 3D games
  • Strong mobile game development support
  • VR and AR SDK availability
  • Asset Store with tons of free assets

Weaknesses:

  • Costly licenses for professionals
  • Higher-end tech demos require better computers
  • Many UI changes

Examples of Games Made with Unity

  • Osiris: New Dawn
  • Hollow Knight
  • Rick and Morty: Virtual Rick-ality
  • Genshin Impact

Unreal

Due to its robust graphical capabilities with lighting, shaders, and more, Unreal Engine is the power-house behind many of the most popular, triple-A games out there today. Given its rampant use in that sector, the engine has been developed very specifically to handle a lot of complicated tasks more efficiently than other engines. Like others on this list, the engine is also open-source, meaning the community is constantly improving the engine as well.

Along with its visual blueprinting so even non-programmers can develop their games, Unreal truly is a power-house that is capable of just about anything – including VR. Did we also mention that, like Unity, there is also a Marketplace where you can get free assets?

However, many game developers do report that Unreal Engine is better suited for larger projects and projects you intend to work on as a team. Additionally, as the program is heavy on the graphics end, many people will find it requires a more powerful computer compared to other engines like Unity. Beyond this, it is also noteworthy that while Unreal Engine can create 2D games in addition to 3D games, the engine is not necessarily the best suited for the task.

Strengths:

  • Great for high-end graphics
  • More performant than other engines
  • A top choice for VR
  • Visual blueprinting for non-programmers
  • Sizeable marketplace with free assets

Weaknesses:

  • Not the best for simple or solo projects
  • High-end graphics require more powerful computers
  • Better for 3D than 2D games

Examples of Games Made with Unreal Engine

  • Soulcalibur VI
  • Gears 5
  • Dragon Quest XI

Godot

Even though Godot has been around since 2014, it’s only recently that the engine has truly picked up in popularity. The Godot game engine is fantastic if you’re looking for something free and open-source, meaning you can alter the engine and sell your games however you would like. The engine supports both 2D and 3D capabilities, so it is well-rounded for any sort of game you’re trying to make.

Godot also takes a unique approach with its node and scene architecture to represent specific game functions, setting it apart from similar competitors and which may be easier for many users. Add a passionate community surrounding the engine, and you’ve got a real winner on your hands!

As for weaknesses, Godot does use its own personal language for scripting, called GDScript. While the language works fantastically and is reminiscent of Python (a favorite language for many developers), as it was specifically designed for Godot, experienced game developers may consider it tedious to adapt to yet another language. Additionally, as Godot is not as well known as some other engines here, there aren’t as many resources available compared to a staple engine like Unity or Unreal.

Strengths:

  • Works for 2D and 3D games
  • Completely free and open-source – even commercially
  • Passionate community
  • Unique architecture for game development

Weaknesses:

  • Experienced game developers may not like GDScript
  • Not as many resources as other engines

Examples of Games Made with Godot

  • ProtoCorgi
  • Deep Sixed
  • Gun-Toting Cats

GameMaker Studio

This popular video game engine created in 2017 is the newest version of GameMaker Studio, which has been around since 1999 through many iterations and names. GameMaker is widely supported across multiple platforms, even including the Nintendo Switch. It is also a very friendly choice for those who have no experience with coding, as it primarily uses a drag-and-drop visual scripting language of its own creation to allow all skill levels of users to create their dream games.

For those who prefer coding, though, it also offers its GameMaker Language to program custom behaviors that extend beyond what the visual programming can cover. Overall, the engine is very beginner-friendly and opens up game development to just about everyone.

Unlike many of the other engines and frameworks on this list, though, GameMaker Studio 2 is proprietary, so it may not be a great choice for those looking for something on a budget. Additionally, like Phaser, this engine is geared specifically for 2D games. While it does have limited 3D capabilities, it is nowhere near anything like Unity, Unreal, or Godot can do.

Strengths:

Supported on tons of platforms Easy drag-and-drop programming Extremely beginner-friendly

Weaknesses:

Oriented more for 2D games Costs money to obtain

Examples of Games Made with GameMaker Studio 2

Hyper Light Drifter UNDERTALE Forager

Blender

Blender is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D-printed models, motion graphics, interactive 3D applications, virtual reality, and, formerly, video games. Blender’s features include 3D modelling, UV mapping, texturing, digital drawing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animation, match moving, rendering, motion graphics, video editing, and compositing.

Phaser

Phaser began its life around 2013, though the most recent version, Phaser 3, has only been around since 2018. Even so, this hasn’t stopped the framework from being extremely popular, especially for those who want to make mobile or browser-based games.

As the technology behind Phaser is largely based on the same technologies used for web development, it is also a framework that is relatively stable even as different versions come out. Beyond this, Phaser comes with physics and the other sorts of additions any engine is expected to have, meaning you can make any number of games with it – including MMORPGs – with the right additions!

Overall, though, Phaser is a 2D based framework, so it may not be the best suited if you’re trying to make a 3D game. Additionally, while the framework is cross-platform, as it is mostly geared for browsers, it comes with some limitations that more powerful, stand-alone engines don’t have.

Strengths:

  • Great for browser and mobile games
  • Extremely stable
  • Easily expanded with web technologies

Weaknesses:

  • Geared specifically for 2D games
  • More limited than other engines

Examples of Games Made with Phaser

  • Magikmon
  • Gems ‘n Ropes
  • Pickem’s Tiny Adventure