๐ŸŽฎ Native Game Engines

This website is called Web Game Dev because we are going to use web standards to make games, but it is also worth addressing the topic of native game engines.

The two biggest engines available for native game development are Unity Unity (opens in a new tab) and Unreal Engine Unreal Engine (opens in a new tab). They are both industry standards with massive communities and markets. If you want to work for companies in the video games industry and be able to release performant games on multiple native platforms like desktop and mobile, these are your main options, and you canโ€™t go wrong with either.

Unity is easier to start with due to its big community, and has been very popular with indie game developers, whereas Unreal is usually considered better-suited for AAA games. But both can make any kind of games.

Unity code is written in C# and with Unity Visual Scripting (opens in a new tab), and Unreal Engine code is written in C++ and with Blueprints Visual Scripting (opens in a new tab). While visual scripting is quite interesting and allows you to do a lot, you will eventually have to use C# or C++.

There is also Godot Godot73k, an open-source alternative that supports C#, C++, visual scripting, and its proprietary Python-like GDScript.

Note that if your goal is simply to publish a game to the web rather than using JavaScript, it is possible to export your games to WebAssembly and WebGL with both Unity (opens in a new tab) and Godot (opens in a new tab). Some other recent actors are Needle (opens in a new tab), a tool to export Unity and Blender projects to a Three.js-based web runtime, and Wonder (opens in a new tab) for Unreal Engine.

There are a lot of other game engines (opens in a new tab) such as Defold Defold (opens in a new tab) (Lua), Haxe Haxe (opens in a new tab) (the spiritual successor of Flash) or GameMaker (opens in a new tab) (GML).