andersch.dev

<2024-06-08 Sat>

Game Engine

A game engine is a software framework used in game development. It may or may not include dedicated tools such as an editor.

Important parts of a common game engine include

List of popular game engines

  • Unreal Engine: High-fidelity 3D engine with C++ as its language
  • Unity: 2D/3D Game engine using C# as its scripting language.
  • Godot: FOSS game engine using custom scripting language (GDScript)

Comparison of popular engines

  Godot (GDScript) Godot (C#) Godot (GDExtension) Unreal Engine Unity Custom
Language GDScript C# C/C++, Rust, … (Bindings) C++ / Blueprints C# Any
Typing Dynamic Static Static Static Static Static
Debugger Integrated External (DAP) External (DAP?) Visual Studio (?) External (?) Any
Compile Times     <5s     <2s
Startup Times 1s >1s <1s     0s
Performance            
Hot-Reload Yes No (?) No Yes Yes Yes
Export Targets            
Windows Yes Yes Yes Yes Yes Yes
MacOS Yes Yes Yes Yes Yes Yes
Linux Yes Yes Yes Yes Yes Yes
Android Yes ? ? Yes Yes ?
iOS Yes ? ? Yes Yes ?
Web Yes No Yes No Yes Yes
Console SDK req. SDK req. SDK req. Yes Yes SDK req.
Editors            
Windows Yes Yes Yes Yes Yes Yes
Linux Yes Yes Yes Yes (*) Yes (*) Yes
Renderer            
Vulkan Yes Yes Yes .. Yes
OpenGL           Yes
           
Open-Source Yes Yes (*) Yes Yes No -
License MIT MIT MIT EULA - -
Cost Free Free Free 5% after $1mil $399/y after $100k Free

Resources

  • Game Engine Architecture (Jason Gregory, 2008)