Godot - Introduction

April 17, 2022

Game development is a thing that looks like a horrible monster at first, but after you know more about it, Game development will be a fun stuff that you can play around with. Here, we will talk about with one of the popular tool that called "game engine" for game development, Godot.

What is Game Engine?

A game engine is an application for developing games. To be able to develop games the game engine needs to be able to do at least a few things. For example: Display the game, simulate physics – which for example deals with what happens after 2 objects collide, play sound, save data, get input from player and support scripting. There are some criteria if a tool can be called game engine. Here's some of it:

  • Able to:
    • Display game
    • Simulate physics (gravity, collision detection …)
    • Play sound
    • Save data
    • Get input (keyboard, mouse …)
    • Support scripting

There are some of game engine, like:

Game Engines Comparisons

Here's some comparisons for help you pick the right game engine for you.

Comparisons Godot Unity Unreal Engine GameMaker Studio
Price Free Start from Free - 4,000$/mo Start from Free - 19$/mo + 5% of the game revenue Start from Free - 79.99$/mo
Hardware requirement
  • 2GB RAM (in theory), 4GB+ recommended
  • 100+ MB Storage
  • OpenGL 2+ Support)
  • 8GB RAM (in theory), 16GB at least recommended
  • 4GB+ Storage
  • X64 architecture with SSE2 instruction set support CPU
  • Graphic API with DX10, DX11, and DX12-capable GPUs
  • Hardware vendor officially supported drivers
  • 8GB RAM (in theory), 16GB at least recommended
  • 15GB+ Storage
  • Processor with Quad-core Intel or AMD, 2.5 GHz or faster
  • DirectX 11 or 12 compatible graphics card
  • Compatible DirectX 11 and 12 and Vulkan driver version
  • 2GB RAM (in theory), 4GB+ recommended
  • 3GB+ Storage
  • Processor with 64bit Intel compatible Dual Core CPU
  • OpenGL 4-compliant onboard graphics card
Programming Language GDScript, C, C++, C# (C Sharp), Visual scripting C# (C Sharp) UnrealScript, C++ GameMaker Language
Learning Time Under a week - two weeks One week - One month Up to three months Up to a week
  • Free and open source with fast development
  • Relatively easy for beginners
  • Using simple Python-like programming language.
  • Used widely around the world
  • Have better game performance
  • Have it's own supportive community
  • Fast and stable development
  • Unmatched and amazing graphic quality
  • Using C++ for it's programming language
  • Fast and simple
  • Easy to learn
  • Greatly optimized
  • Cons
  • Worser game performance than others
  • High client hardware-requirement
  • Lack of complicated features
  • A bit confusing for beginners
  • Slow, specially for the editor
  • Unsupported well on some OS, like Linux
  • Too complicated for a simple game or beginners
  • 5% of game revenue need to given to the engine
  • Can be bloated sometimes
  • Need a extra price for exporting games to some platforms
  • Bad history of ignoring critical bugs
  • Poor UI
  • Best used for
  • Making a small games, like minigames
  • Making game for game-jams or similar competitions
  • Learning game development
  • Making a long terms games
  • 3D Games
  • Making a profitable games
  • Making movie, videos, or anything that require a high-resolution images.
  • 2D Games
  • Learning game development
  • Side note: Data is taken at April, 17 2021. Data that shown here maybe change over the time.

    About Godot

    Godot is a game engine, in which you can make 2D and 3D games. It specializes in making 2D games, it’s one of the best 2D game engines out there. It’s not too far behind or it’s even as good as it’s competitors in making 3D games. The quality and speed of development of this relatively new game engine could be partially because it is open source, that mean this game engine is developed not by a person or company, but by the community. You also can contributing to build or improvise this engine by do some pull requests on their GitHub repository, here.

    Godot is newbie-friendly, that mean you can use it even without years of coding experience. Since it use a Python-like language that called GDScript, it's easy to learn it's syntax. Godot also a good choice for an early step into the game development world.

    Where I Can Install Godot?

    You can install Godot at their official website, here.

    Basic Concept of Godot

    Godot using a system that called "node" for every game object of it. There are such types of nodes, but we can categorize some of it to:

    • 2D nodes. Types of nodes that used in 2D games.
    • 3D nodes. Types of nodes that used in 3D games.
    • Control nodes. Types of nodes that used for building UIs.
    • Utilities nodes. Types of nodes that used for doing some utilities stuffs, like sending a HTTP request.

    Godot also using a scene system, that contains many nodes with one of it as the parent node named "root".

    Original article written by AdanMez, Improved by manushifva.