Game Dev Artisan Logo
We’ll cover an introduction to Godot. How to download and install. Go over the interface and the sections we’ll want to be familiar with, and the main concepts of working in Godot: Scenes, Nodes, the Scene Tree and Signals. By the end of this video you will have what you need to know to start your own project and understand where to begin inside the Godot Engine.
Tutorials

Getting Started with Godot in 2023: Godot Fundamentals

In Series: Godot Fundamentals

Author Avatar
2023-05-31
11 min read

Table of Contents

Introduction 

We’ll cover an introduction to Godot . How to download and install . Go over the interface and the sections we’ll want to be familiar with, and the main concepts of working in Godot: Scenes, Nodes, the Scene Tree and Signals. By the end of this article you will have what you need to know to start your own project and understand where to begin inside the Godot Engine.

Video 

You can watch the video covering this topic, or go at your own pace following this post.

What is Godot? 

The Godot game engine  is a great free and open-source software that enables Game Developers to create 2D and 3D games as well as applications. It provies a user-friendly editor interface and a robust set of tools that enable developers to create games that target multiple platforms, including desktop, mobile, and web.

Key Features of Godot  include:

  • Scene-based game design: Godot uses a scene-based game design approach, which allows developers to easily create and manage different scenes, such as levels, menus, and dialogues. Scenes can be composed of multiple nodes, which can be customized and programmed to create complex game interactions.

  • 2D and 3D rendering: Godot supports both 2D and 3D game development, providing a wide range of rendering features, including shaders, lighting, and particle effects. This allows developers to create visually stunning games with a variety of different styles and aesthetics.

  • Physics engine: Godot has a built-in physics engine that allows developers to create realistic physics simulations for their games. This includes support for rigid body dynamics, collisions, and kinematic motion, making it easier to create games that respond to user input in a realistic and predictable way.

  • Animation system: Godot provides a powerful animation system that allows developers to create complex animations for their games. This includes support for skeletal animations, blend trees, and inverse kinematics, making it possible to create lifelike character animations and special effects.

  • Scripting support: Godot supports multiple scripting languages, including GDScript (a Python-like language) and C#, allowing developers to create custom scripts to control game behavior. It also provides support for visual scripting, which allows developers to create logic flows using a drag-and-drop interface.

  • Multiplatform support: Godot supports multiple platforms, including Windows, macOS, Linux, Android, iOS, and HTML5, making it easy to create games that can be played on a wide range of devices.

Download and Installation 

Head over to Godot's Download page  to start downloading Godot. As of this post, Godot's latest version is 4.0.3 and LTS 3.5.2.

Godot's download page

Once you've downloaded Godot, you'll need to extract it from the archive to a location of your choosing. On MacOS, you can drag the application into your Applications folder, on Windows/Linux, extract to a folder you'll remember. For me on Windows, I have a F:\Godot folder I have different versions in. On Mac I rename the binary for the version and drag it into the Applicaitons folder.

Fire up Godot once you've got everything extracted and you'll be met with Godot's Project Manager.

Project Manager 

Godot's Project Manager

Here you can see all the projects you have local to your system. You can filter projects with text entry. Sort by last edited, name or path. Create, import, scan, edit, run, rename and remove a project by using the actions on the right. For now let's start with a new project, ours will be called Getting Started with Godot - Godot Fundamentals.

Create Project

Once you've created your project, you'll enter the Godot editor in the 3D main screen.

Fresh Project Overview

The main screens can be changed from the top center icons. The screens consist of 2D, 3D, Script Editor, and Asset Library. For now, let's focus on the 2D main screen.

Main Screen Icons

On the left and right sides we have Docks for Scene, Import, FileSystem, Inspector, Node, and History. Let's briefly discuss each Dock:

Scene Dock 

Default empty scene dock

The Scene dock on the left is the place you will manage your current Scene's SceneTree. The SceneTree is a hiearchical structure of Nodes and their parent-child relationship.

This is how our Scene Dock will look for the Scene we are creating in this post. We'll cover Nodes, Scenes, and SceneTrees in more detail in a later post.

World Scene

Import Dock 

Import Dock

The Import dock also on the left is your settings for importing assets in Godot. If we select the default icon.svg in our FileSystem dock, we can see the Import dock is populated with a variety of Texture settings for importing different textures. This is where you want to modify based on your asset type and the desired result you are looking for. For example 2D Pixel art texture benefits from certain import settings.

FileSystem Dock 

FileSystem Dock

The FileSystem dock is where you can manage and organize your assets, scenes, resources and scripts. Create folders to assist in logically grouping your files and help to keep an organized project.

Inspector Dock 

Inspector dock

The Inspector dock on the right side shows you properties of the current selected Node within the SceneTree. These properties are organized by where they within the Node's inheritence stack. Each layer of inheritence can be seen by going to the Documentation for the Node. You can modify properies within the Inspector dock and clicking and dragging things like resources and assets from the FileSystem dock is supported.

Node Dock 

Node Dock

The Node dock contains a tab for Signals and Groups. The Signals tab shows all signals that may be emitted by the current selected Node. We'll cover Signals in more detail later.

The Groups tab is where you can assign and unassign which Group a Node will belong to, this can be used with methods to identify a list of Nodes based on predfined categories.

History Dock 

History Dock

As you make changes to a Node or Scene you'll see those changes appear on a stack here. They can be selected to undo/redo changes that you may have made by mistake.

Bottom Dock 

Bottom Dock

Lastly we have the Bottom dock that contains the Output log, Debugger, Audio, Animation, and Shader Editor. The panels here may change based on the context of the current selected Node. For example when dealing with Tileset Resources.

Create A Scene 

In our current Scene Dock, let's move beyond the default and create a Root Node by selecting the 2D Scene under the Create Root Node: section. This will create a Node2D as our Scene's root.

We'll select this Node and rename this World. From here we can either right click and Add Child or select the + icon in the Scene dock. This will pop up with the Create New Node dialogue and we can search through the Nodes available to us in Godot.

We'll cover more Nodes in the future.

For now let's search for Sprite2D and click Create. We should now see the Sprite2D node as a child to our World root node in the SceneTree. With that selected, we'll see properties in the inspector for our Sprite2D instance.

We can now drag the icon.svg from our Filesystem dock into the texture property of our Sprite2D. This will set the sprite's texture to the Godot icon that is default in our project.

We can then drag our node around in the 2D main screen to place where we want relative to the world.

Move Node in 2D Screen

To test our project, let's save this scene. Either CMD+S/CTRL+S to save, or right click the tab on your 2D main screen editor and click save. We'll keep this in the root of our res:// path.

All resources are contained within the relative path of res:// which is the root of your project folder. We'll save this Scene as world.tscn best practice is use lowercase in filenames for maximum support accross operating systems.

Once we've saved our Scene we can attempt to run our project using the Project Launch tools in the top right of the editor. If we just click the play icon, we'll be prompted to select our Main Scene.

This is the Scene that Godot will use as it's root level SceneTree. All of Godot is composed of SceneTree and other Scenes composite into this tree. For now we can choose Select Current and that will launch our project.

Our Project up and running

Looks like we are up and running!

Signals 

Now that we have a running project, let's briefly talk about Node communication using Signals. A Signal is a type of event that can be emitted by a Node and provide data via that event. We can see the list of built in Signals by viewing the Node dock on our current selected Node.

They are organized again by the object that defines the signal. For example our Sprite2D node has a hidden() signal it inherits from CanvasItem that can be emited when the node becomes hidden.

This would allow our parent to listen for those events to occur then take the corresponding action, and decouples our children from needing to know when to inform a parent when this event occurs, or what to do on the parents behalf.

We'll cover Signals in more detail in the future.

Recap 

We've successfully created our starter project and have a high level understand of the different sections within the Editor. As always there is always more information to cover and the best place to review is direction in the documentation .

You can also head over to the Github page  for this project to follow along in the progress.

Stay tuned for our next post where we dive into more detail on Nodes, Scenes, and SceneTrees.

Happy Coding.

Want to support our work?Support us via Ko-fi