Godot is a cross platform free and open source game engine with MIT (a light license) licensing. It is written in C++ and C# and used to develop 2D and 3D games. The development environment runs on Windows, MacOS and Linux and develops games for platforms like windows, Linux, macOS, iOS, Android, HTML5, WebAssembly and Xbox One.

The name of the engine was given after the name of the play “Waiting for Godot”. In this play, two characters do variety of debates and encounters waiting for Godot (who never comes). It symbolizes the developers’ wish of adding endless features to the engine, which is practically not possible.

Apart from C++ and C#, games can be written in Rust, Nim and D. In addition, the game engine has its own scripting language GDScript that is optimized for Godot Scene-based architecture. This language is similar to Python. The engine also supports Visual Programming and has its built-in Programming Language, VisualScript.

In 2007, Juan Liniesky and Ariel Manzur started working on the engine and its first stable version was released in 2014 that supported nevmesh, shadders and lightmapping. The later version 1.1 was released in 2015 that included 2D navigation polygon occluder, new shadders, materials and management for screen and windows. The version 2.0 was released in 2016, which introduced new features of file system browser, enhanced debugger and scene instancing and inheritance. The same year version 2.1 was released that included plugin API, profiler and asset database.  The version 3.0 was released in 2018 that supported Bullet physics, FBR (Physically Based Rendering) Renderer and Virtual Reality.

Godot is easy to use GUI game engine. It is constantly updated even though it is free to use. It has quick downloading and usage. Godot has a good community support. Other than several YouTube videos, its official website introduces number of tutorials and demos for beginners.

Features

  • Off Screen Rendering
  • Skeletal Animation
  • Morphing
  • Performance Analysis Graph
  • Multi-threading
  • Light Baking
  • Keyboard, Mouse, Touchscreen  and Gamepad Support
  • WAV and OGG Supported 3D Audio System
  • Video Playback using Theora codec

Games Developed in Godot

Happy Accedent Game
Happy Accedent
Rings of Saturn
Rings of Saturn

Other Useful Resources

Here's our list of top five game programming books you should read.

Game Engine Black Book: DOOM: v1.1

The book Game Engine Black Book: DOOM: v1.1 is just a masterpiece from Fabien Sanglard as it describes not only the details of how the code works, but also some interesting history and trivia. The description of hardware capabilities, audio/video interfaces, and design decisions behind them is quite interesting.

If you're not a programmer the book is still interesting - it explains lots of neat tricks, plenty of photos, quotes, and backstory about how the game was developed.

Game Programming Patterns

With over 85% 5-start reviews on Amazon, readers agree that Robert Nystrom's Game Programming Patterns is a must have for any software developer. It has a crystal clear look at how to be the benevolent architect of a very complicated software/game without getting lost.

The author presents the architecture of a game in an easy to understand matter not from an academic perspective but from experience. The book contains code examples written in C++, well organised and written so cleanly that it feels like pseudo-code.

Beginning C++ Through Game Programming

With Beginning C++ Through Game Programming, Michael Dawson builds your knowledge from the ground up. This book not only is easy to understand and teaches well, but it is focused on the very subject to learn C++ for game programming.

When it comes to game programming, C++ is the name of the game.

Blood, Sweat, and Pixels: The Triumphant, Turbulent Stories Behind How Video Games Are Made

This is highly recommend book for anyone who likes history of videos games, or just likes good stories. Blood, Sweat, and Pixels: The Triumphant, Turbulent Stories Behind How Video Games Are Made captures the complexity of game development that anyone can pick up and enjoy.

If you have even a passing interest in gaming be sure to pick this one up. (reader's comment)

Foundations of Game Engine Development - Volumes 1, 2

The volume 1 of the book discusses the mathematics needed by engineers who work on games or other virtual simulations. The volume 2 explores the vast subject of real-time rendering in modern game engines.

The book is packed with great C++ code snippets and examples. You have tried-and-true methods that can be incorporated into any game engine and source code is not specific to any API or framework.