Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Learning GDScript by Developing a Game with Godot 4
Learning GDScript by Developing a Game with Godot 4

Learning GDScript by Developing a Game with Godot 4: A fun introduction to programming in GDScript 2.0 and game development using the Godot Engine

eBook
€8.99 €26.99
Paperback
€33.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Colour book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Learning GDScript by Developing a Game with Godot 4

Setting Up the Environment

Game development is becoming more accessible as game engines become more powerful. Tools and pipelines that were only available to big companies and wealthy individuals are now freely available to everyone with a computer. Anyone can feel the satisfaction of creating their own game and having others play it.

This is exactly what we are going to achieve in this book. We will go from knowing absolutely nothing about programming or developing games to creating our very first game and even a little beyond.

During the first part of this book, we will learn all about setting up Godot and programming. This might be a little more abstract, but I’ll try to give clear examples and keep you engaged with exercises and experiments you can do for yourself.

The second part of this book will be way more practical as we will dive neck-deep into creating our very own video game! We’ll learn how to use the Godot editor to create interesting game scenes and scenarios.

In the last part of this book, we’ll take our programming skills to the next level and learn all about advanced topics, such as more powerful concepts, programming patterns, the filesystem, and much more.

But before we get there, nothing is more satisfying than starting a new project! It represents a blank slate with endless possibilities. By the end of this chapter, we’ll have created our very own blank slate and written our first lines of code. But first, I’d like to take some time to introduce the Godot game engine and open-source software in general.

In this chapter, we’re going to cover the following main topics:

  • Godot Engine and open-source software
  • Downloading the engine from the official website
  • Creating our first project
  • How to join the community

Technical requirements

As this book aims to get you from knowing nothing about programming and game development to an intermediate level, there are no technical requirements. So, instead, I’ll guide you through all (or at least most) of the steps required for creating games.

Example project and code

You can find the example project and code for this book in this book’s GitHub repository: https://github.com/PacktPublishing/Learning-GDScript-by-Developing-a-Game-with-Godot-4/tree/main/chapter01.

Godot game engine and open-source software

We’ll be using the Godot game engine, which I presume you already know exists as this is a book specifically about that engine. But let me give you some more insight into its history and what open-source means.

Some background on the engine

Godot Engine is a piece of open-source software that lets people from all experience levels and walks of life create games. The project was started in 2007 by Juan Linietsky and Ariel Manzur as an in-house engine for several Argentinian game studios. In late 2014, the engine got open-sourced, giving everyone free access to the code. Since then, it has gained lots of traction and is currently one of the most used game engines on the market. Many commercial games have been released or are under development using the engine. Examples of released games are Brotato, Dome Keeper, Case of the Golden Idol, and Cassette Beasts.

For those of you wondering, yes, the engine is named after the theatrical piece Waiting for Godot, by Samuel Beckett. This choice of name is because people will always be waiting for the next version or new feature, resulting in an endless cycle of waiting.

While on the topic of the engine’s name, let’s also get the pronunciation out of the way. In short, there is no standard way of pronouncing Godot. Because of the association with the play’s title, which is written in French, some people say it should be “go-do,” without emphasis on any syllable. But most English speakers would say “GOH-doh” and stress the first syllable. Then, there is the stream of people that pronounce it “go-DOT,” mainly because it sounds similar to the word “robot” and the engine’s logo is a blue robot. But I notice that I say Godot differently each time. So, to cut a long story short, pronounce it however you like. Just use roughly the same letters.

What is open-source software?

As mentioned earlier, Godot is open-source, meaning the engine’s source code is freely available. Because everyone has access, people can alter this code to their liking. Once they have tweaked enough parameters or developed a new feature, they can ask the creator of the software to include these tweaks or features in the original project. The creator will then review what the other person has done, alter it a bit if needed, and then add it to the code of the original software. This process creates a virtuous circle that results in a win-win situation for everyone:

  • The software’s creator can grow the code faster because everyone chips in
  • People with technical knowledge can add the features they miss, making it fit their needs
  • The end user gets a much better and more stable end product

But not every open-source project is created equal. Each free open-source software (FOSS) comes with its respective license. This license dictates how you can or should use the software. Some of these are pretty restrictive, but in the case of Godot Engine, we are in luck: we can do anything without significant restrictions. We only have to attribute the creators on the credit page of our games.

Alright – we know what Godot Engine is, how to pronounce its name (or not), and why FOSS is so awesome. Let’s dive right into preparing our development environment!

Getting and preparing Godot

Before we can do any programming, we’ll need to set up the development environment. That is what we will do in this section, beginning with downloading the engine and creating a new project.

Downloading the engine

Getting the engine is relatively easy and only requires a few steps:

  1. First, we’ll need to download a copy of the software. We can do this at https://godotengine.org/download.
Figure 1.1 – The download page of Godot Engine 4.0 for the Windows platform

Figure 1.1 – The download page of Godot Engine 4.0 for the Windows platform

  1. Usually, the page will automatically direct you to the download page of the operating system you are using to browse the website and you can press the big blue button in the middle of the page to download the engine. If it doesn’t, you’ll need to select your computer’s platform (Windows, macOS, Linux, and so on) when scrolling down the page.
Figure 1.2 – Select your computer’s platform if the download page was not able to detect it

Figure 1.2 – Select your computer’s platform if the download page was not able to detect it

  1. The download page should also detect whether you’re using a 64- or 32-bit system. If it did not do this correctly, then you can find the other versions under the All downloads section:
Figure 1.3 – The All Downloads section, where you can find different versions of the engine

Figure 1.3 – The All Downloads section, where you can find different versions of the engine

  1. What we downloaded is a ZIP file. So, unzip it to get to the actual engine.
    • On Windows: Right-click the zip file and select Extract All.... Now follow the prompt that pops up to choose a location.
    • On macOS: Double-click the zip file, the file will be unzipped into a new folder.
    • On Linux: Run the following command in the terminal:
      unzip Godot_v4.2.1-stable_linux.x86_64.zip -d Godot
  2. Put the extracted files somewhere on your computer where it will be safe, such as the desktop, applications, or any other location besides the Downloads folder. Otherwise, if you are anything like me, you might accidentally remove it in a clean-up spree of the Downloads folder.

For this book, we will be using version 4.0.0, as it just came out. But any version with a 4 at the beginning should work fine. Unfortunately, this is not a guarantee. We’ll do our best to keep this book’s content up to date, but open-source software can move quickly.

The download size of Godot Engine is tiny, about 30 to 100 MB, depending on your platform. This small package is all we need to create awesome games. Compare this to Unity’s 10 GB and Unreal Engine’s whopping 34 GB! Of course, these all come without any assets, such as visuals or audio.

That’s it for getting the engine. You don’t need to install anything else to use it.

Other versions of the engine

Because Godot Engine is open-source, there are also a lot of complete game projects that are open-source too. If you ever want to run one of those game projects on your machine, make sure you use the correct version of Godot; otherwise, the game could crash and weird things might happen. You can find and download all official versions of Godot from https://godotengine.org/download/.

Creating a new project

Now, let’s go ahead and create our first Godot Engine project, hopefully with many others to come in the future!

  1. First, open the engine by double-clicking the file we downloaded in the Downloading the engine section. A screen like this will greet you:
Figure 1.4 – Creating a new project by pressing the New button

Figure 1.4 – Creating a new project by pressing the New button

  1. Choose + New; a new window will pop up:
Figure 1.5 – Setting up the new project

Figure 1.5 – Setting up the new project

  1. Call the project Hello World.
  2. Select a Project Path area to put the project. Create a new folder by using the Create Folder button or use an existing one but note that this folder should preferably be empty. Although the folder you select can contain files already, starting from a clean directory will keep everything we do more organized.
  3. Select Compatibility under the Renderer category. The compatibility renderer is made to make sure that our game can run on a wide variety of hardware and supports older graphics cards and web exports. The Forward+ renderer is used for cutting-edge graphics but demands a better graphics card, while the mobile renderer is optimized for mobile devices. For what we are doing, the compatibility renderer is more than capable enough and it makes sure that we can export to the biggest amount of platforms possible.
  4. Finally, press Create & Edit!

Godot will now set up the basic structure of our project within the selected folder and, after a few seconds, show us the editor:

Figure 1.6 – The Godot Engine 4.0 editor

Figure 1.6 – The Godot Engine 4.0 editor

At first sight, this may look quite daunting – little windows everywhere, multiple controls here and there, and a giant 3D space in the middle. Don’t worry. By the end of this book, you’ll know the ins and outs of almost everything that lies before you. You’re in good hands.

Fun fact

The Godot developers used Godot Engine to create the editor itself. Try to wrap your brain around that! They did this to easily extend and maintain the editor.

Light mode

Because of the limitations of printed media, dark screenshots might look grainy and unsharp. That is why, from this point on, we’ll switch to the light version of Godot. There is no difference but the appearance of the editor.

If you also want to follow along in light mode, perform these optional steps:

  1. Go to Editor | Editor Settings… at the top of the screen:
Figure 1.7 – The Editor Settings… option in the Editor menu

Figure 1.7 – The Editor Settings… option in the Editor menu

  1. Find the Theme settings.
  2. Select the Light theme within the Preset dropdown:
Figure 1.8 – Selecting the Light theme preset in the Theme settings

Figure 1.8 – Selecting the Light theme preset in the Theme settings

Now, the editor will look like what’s shown in Figure 1.9:

Figure 1.9 – The Godot Engine editor with the Light theme applied

Figure 1.9 – The Godot Engine editor with the Light theme applied

With that out of the way, let’s get back to creating a game by learning how to create a scene.

Creating the main scene

Let’s continue by setting up our first scene:

  1. In the leftmost panel of Figure 1.10, which shows the Scene panel, select 2D Scene. This button will set up the scene for a 2D game, as shown here:
Figure 1.10 – Selecting 2D Scene in the left panel

Figure 1.10 – Selecting 2D Scene in the left panel

You’ll see that there is one node in the Scene panel called Node2D and that the 3D space in the middle window got replaced with a 2D plane.

  1. Right-click the node called Node2D and rename it Main. This node will be our main node to work with for now:
Figure 1.11 – Renaming the Node2D node to Main

Figure 1.11 – Renaming the Node2D node to Main

  1. Save the scene by going to Scene | Save Scene or by pressing Ctrl/Cmd + S:
Figure 1.12 – Saving the scene

Figure 1.12 – Saving the scene

  1. We’ll be asked where we wish to save the scene. Choose the project’s root folder and name the file main.tscn:
Figure 1.13 – Selecting the root folder to save the scene and naming it main.tscn

Figure 1.13 – Selecting the root folder to save the scene and naming it main.tscn

That’s all for creating our first scene. What we just added is a node. These nodes represent everything in Godot. Images, sounds, menus, special effects – everything is a node. You can think of them as game objects, each having a separate function in the game. The player could be a node, just like enemies or coins.

On the other hand, scenes are collections of nodes or collections of game objects. For now, you can think of scenes as levels. For a level, you need a player node, some enemy nodes, and a bunch of coin nodes; the collection of these is a scene. It’s like nodes are the paint and scenes are our canvases.

We’ll come back to nodes and scenes throughout this book.

A brief UI overview

Now would be a great time to review some of the more prominent features of the editor’s UI. As we saw earlier, it looks something like this:

Figure 1.14 – An overview of the editor

Figure 1.14 – An overview of the editor

The prominent elements of the editor are as follows:

  1. The Scene Tree area shows all the nodes in the current scene. For now, there is only one.
  2. The FileSystem area provides access to the files within the project folder.
  3. The middle window is the currently active main editor. For now, we can see the 2D editor, which will allow us to place nodes in 2D space within the scene.
  4. The Inspector area can be found entirely to the right and shows the properties for the currently selected node. If you open some accordion menus, such as the Transform section, you will find multiple settings associated with the selected node.

Nodes by themselves don’t do much. They provide us with specific functionalities, such as showing an image, playing a sound, and more, but they still need some higher logic to bind them into the actual game. That’s why we can extend their functionality and behavior with scripts.

Writing our first script

A script is a piece of code that adds logic to a node, such as moving an image or deciding when to play that sound.

We’ll create our first script now. Right-click the Main node again and choose Attach Script:

Figure 1.15 – Attaching a script to the Main node

Figure 1.15 – Attaching a script to the Main node

A pop-up window will appear. Keep everything as-is. The important thing to note is that the selected language is GDScript, the programming language we’ll learn throughout this book. The rest is not very important for now. It even pre-filled the script’s name after the node’s name, which will attach this script. Press Create:

Figure 1.16 – Pressing Create to create the script

Figure 1.16 – Pressing Create to create the script

The middle panel, where the 2D plane used to be, is replaced with a new window:

Figure 1.17 – A fresh script

Figure 1.17 – A fresh script

This is the Script editor. We will spend most of our time here learning how to program during the first part of this book.

As you may have noticed, the middle window is context-dependent. It can be a 2D, 3D, or Script editor:

Figure 1.18 – The different main windows

Figure 1.18 – The different main windows

To switch between these different editors, use the buttons at the top of the screen.

AssetLib

The last tab, AssetLib, is useful for getting pre-made assets from the Asset Library of Godot. This library can provide custom nodes, scripts, or any other assets for your project directly from within Godot Editor. We won’t cover the 3D editor or AssetLib, but it is good to know they are there.

All of the assets on AssetLib are open-source and thus completely free to use! Hurray for FOSS!

If you have tried to change to the different editors, return to the Script editor so that we can create our first script and ensure everything is ready. The code within the script looks like this for the moment:

extends Node2D
# Called when the node enters the scene tree for the first time.
func _ready():
   pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
   pass

Again, don’t worry about all the different commands and specific syntax here. We will cover everything in due time. For now, it’s enough to know that this is a script written in GDScript, the scripting language of Godot.

To create the classic “Hello, World” program, which is a staple for beginner programmers, all we must do is change the line containing pass # Replace with function body. to the following:

   print("Hello, World")

This line of code will show the text "Hello, World;" it will not use a printer to print out anything. We can also throw away a bunch of the code we don’t need. The whole script should now look like this:

extends Node2D
func _ready():
   print("Hello, World")

Notice that there must be a tab in front of the print statement we added. We add this tab because it shows that the line of code belongs to the _ready function. We call the practice of adding tabs in front of lines indentation.

Important note

Throughout this book, we haven’t used tabs in the text due to editorial reasons. We will use three spaces to represent one tab. This is why you’re better off not copying and pasting code from this book into the editor. The complete code for this book can be accessed and copied from this book’s GitHub repository (link in the Technical requirements section).

All the lines within the _ready function will run when the node is ready, we’ll see what this means in more detail later. For now, it suffices to know that this function gets executed when the node is ready to be used.

Figure 1.19 – A function contains a code block

Figure 1.19 – A function contains a code block

Functions are small groups of code a computer can execute. A function is always introduced by the func keyword, followed by the name of the function.

You can see that the pre-filled script also provided us with a _process function, which we will not use for now, so we deleted it. We’ll return to functions in Chapter 4. Remember that every line of code within the _ready function will execute from the moment our game runs and that a tab must precede these lines.

Use the Tab key to insert these tabs. The symbol on your keyboard looks like this:

The last line of interest in the script says extends Node2D. This simply says that we are using Node2D, the type of node we added to the scene, as a base for the script to start from. Everything in the script is an extension of the functionality that Node2D completes. We’ll learn more about extending scripts and classes in Chapter 4.

Now, press the play button in the top right to run our project:

Figure 1.20 – The play button is used to run the project

Figure 1.20 – The play button is used to run the project

A popup will ask us which scene we want to use as the main scene. Choose Select Current to set the current scene as the main one:

Figure 1.21 – Godot Editor will ask us to define a main scene. We can just select the current one

Figure 1.21 – Godot Editor will ask us to define a main scene. We can just select the current one

An empty, gray screen will pop up. We did not add anything visually to our game yet. Later, there will be a sprawling and exciting game here. But this gray screen is what we should expect for now:

Figure 1.22 – An empty game window

Figure 1.22 – An empty game window

The actual exciting part is happening in the editor window itself. You’ll see a new little window unfolding from the bottom where the text Hello, World is printed out:

Figure 1.23 – The output of the game shows Hello, World

Figure 1.23 – The output of the game shows Hello, World

Success! We wrote our first script!

As an experiment, try changing the text within the double quotes of step 4 and rerun the program. You should see the new text printed in the output window:

Figure 1.24 – The output of the game after changing the printed text

Figure 1.24 – The output of the game after changing the printed text

Those were our first steps in creating a scene and script within the Godot game engine. Throughout this book, we’ll learn everything we need to know to create a whole game from scratch, but we’ll leave it here for now. Next, we’ll take a quick look at joining the game development community.

The Godot Engine Documentation

If you ever feel lost, there is also the official Godot Engine Documentation. This is a very exhaustive source of information on all the different classes and nodes and contains manuals on all the different subsystems related to the engine.

You can access the documentation here: https://docs.godotengine.org/.

Whenever you are searching how to use a certain part of the engine or something in the book is not 100% clear, you could consult the documentation.

Join our community!

As the last part of this chapter, I invite you to join our community! If you need any help, encounter a bug, or just want to chat with other game developers, come and find us on any of the platforms mentioned at https://godotengine.org/community.

I also encourage you to post your progress on 𝕏, Facebook, Instagram, Mastodon, or any other social media platform. Getting feedback and extra eyes on your projects is always fun! If you decide to do so, don’t forget to use these hashtags: #GodotEngine, #indiedev, and #gamedev.

Want to reach out to me personally? Check out my site for the most up-to-date contact information: www.sandervanhove.com.

In the last part of this book, I’ll go into more detail about the community and how you can join and maybe even help. But for now, let’s focus on learning the trade ourselves!

Summary

In this chapter, we learned about Godot Engine, which is a FOSS. Then, we downloaded the engine for ourselves and created our first project. Lastly, we saw that the built-in programming language is GDScript and made our first "Hello, World" script.

In the next chapter, we’ll start our journey of learning how to program. See you there!

Quiz time

  • What does the acronym FOSS mean and where is it used?
  • Is the Godot engine an open-source project?
  • What line of code did we add to show “Hello, World” in the Output? Why did we add a tab at the beginning of this line?
  • What are nodes in Godot Engine and how do they relate to scenes?
Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Learn the fundamentals of programming as you write GDScript 2.0
  • Explore the world of GDScript 2.0 with this comprehensive introduction to the language
  • Work with Godot 4’s robust features and built-in tools to create captivating 2D and 3D games, simulations, and interactive applications
  • Purchase of the print or Kindle book includes a free PDF eBook

Description

In the digital landscape driven by interactive experiences, the demand for creative individuals with the skills to create captivating games has never been higher. Written by Sander Vanhove, a seasoned game developer with over 20 games to his credit, this book will serve as your entry point into game development, showing you how to leverage the powerful features of the open-source, versatile GDScript 2.0 to develop your ideas, from simple platformers to complex RPGs. Whether you're an aspiring game developer, a hobbyist seeking a creative outlet, or simply someone intrigued by the world of game programming, this book will guide you through the intricacies of the Godot 4 game engine. Starting with a primer on the fundamentals of programming, you’ll cover everything from data to logic, while familiarizing yourself with Godot’s built-in tools such as the physics engine, navigation, and cameras. As you progress, you’ll unlock deeper insights into more advanced tools that will take your programming to the next level. Aided by easy-to-follow step-by-step tutorials, examples, exercises, and experiments, you’ll seamlessly integrate this newfound knowledge to create a Vampire Survivor-like game from scratch. By the end of this book, you’ll have become proficient in leveraging the Godot 4 game engine to bring your gaming visions to life.

Who is this book for?

This book is for programmers, game designers, game developers, and game artists who want to start creating games in Godot 4. If you’re new to coding or game development, looking for a new creative outlet, and want to give Godot 4 and GDScript 2.0 a try, this book is for you. While no prior knowledge of programming or Godot is required, this book gradually introduces more complex concepts as you advance through the chapters.

What you will learn

  • Develop your GDScript 2.0 programming skills from basic to advanced, emphasizing code cleanliness
  • Harness Godot 4's integrated physics engine to control and manipulate in-game objects
  • Design a vibrant and immersive game world by seamlessly integrating a diverse array of assets
  • Master the art of processing input from various sources for enhanced interactivity
  • Extend the reach of your game by learning how to export it to multiple platforms
  • Incorporate simple multiplayer functionality for a dynamic gaming experience
Estimated delivery fee Deliver to Portugal

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : May 17, 2024
Length: 378 pages
Edition : 1st
Language : English
ISBN-13 : 9781804616987
Languages :
Concepts :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Colour book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Portugal

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Publication date : May 17, 2024
Length: 378 pages
Edition : 1st
Language : English
ISBN-13 : 9781804616987
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 105.97
Godot 4 Game Development Projects
€33.99
The Essential Guide to Creating Multiplayer Games with Godot 4.0
€37.99
Learning GDScript by Developing a Game with Godot 4
€33.99
Total 105.97 Stars icon
Banner background image

Table of Contents

21 Chapters
Part 1:Learning How to Program Chevron down icon Chevron up icon
Chapter 1: Setting Up the Environment Chevron down icon Chevron up icon
Chapter 2: Getting Familiar with Variables and Control Flow Chevron down icon Chevron up icon
Chapter 3: Grouping Information in Arrays, Loops, and Dictionaries Chevron down icon Chevron up icon
Chapter 4: Bringing Structure with Methods and Classes Chevron down icon Chevron up icon
Chapter 5: How and Why to Keep Your Code Clean Chevron down icon Chevron up icon
Part 2: Making a Game in Godot Engine Chevron down icon Chevron up icon
Chapter 6: Creating a World of Your Own in Godot Chevron down icon Chevron up icon
Chapter 7: Making the Character Move Chevron down icon Chevron up icon
Chapter 8: Splitting and Reusing Scenes Chevron down icon Chevron up icon
Chapter 9: Cameras, Collisions, and Collectibles Chevron down icon Chevron up icon
Chapter 10: Creating Menus, Making Enemies, and Using Autoloads Chevron down icon Chevron up icon
Chapter 11: Playing Together with Multiplayer Chevron down icon Chevron up icon
Part 3: Deepening Our Knowledge Chevron down icon Chevron up icon
Chapter 12: Exporting to Multiple Platforms Chevron down icon Chevron up icon
Chapter 13: OOP Continued and Advanced Topics Chevron down icon Chevron up icon
Chapter 14: Advanced Programming Patterns Chevron down icon Chevron up icon
Chapter 15: Using the File System Chevron down icon Chevron up icon
Chapter 16: What Next? Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.9
(9 Ratings)
5 star 88.9%
4 star 11.1%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Jair Jul 03, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great introduction to refresh the basic of GDscript, where can i find the answer for the quiz?
Subscriber review Packt
Wolfgang Hendrix May 28, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Learning GDScript with Godot 4" is an invaluable resource for both beginners and those looking to solidify their understanding of Godot's scripting language. This comprehensive guide takes you from the very basics to creating portfolio-worthy projects, making it a perfect starting point for aspiring game developers.One of the book's standout features is its in-depth approach. It covers the fundamentals thoroughly, ensuring that readers build a strong foundation in GDScript. The inclusion of numerous code examples is particularly beneficial, providing practical insights into how to implement various features and mechanics within Godot 4.Visual learners will appreciate the thoughtfully placed pictures throughout the book. While not overly abundant, these visuals effectively complement the text, helping to clarify complex concepts and enhance understanding.Despite Godot's increasing support for C#, the focus on GDScript in this book is well-justified. GDScript is tightly integrated with Godot, making it an excellent choice for rapid development and learning. The book's code-centric approach ensures that readers gain hands-on experience, which is crucial for mastering any programming language.Overall, "Learning GDScript with Godot 4" is an excellent resource for anyone looking to learn or deepen their knowledge of GDScript and Godot 4. Its thorough coverage, practical examples, and supportive visuals make it a must-have for your game development library. Whether you're a complete beginner or looking to fill in gaps in your knowledge, this book will guide you every step of the way.
Amazon Verified review Amazon
chad Jun 10, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I highly recommend this book if you are getting into Godot and want something tangible to sift through. the Book does an excellent job of explaining and curating a good foundation by explaining and stepping you through the Nodes and their purposes and potential usage. it touches on multiplayer(client synchronization, etc), and other fantastic aspects like object pools and a brief intro into state machines that reflect a professional environment that respects your intelligence but still graceful enough for beginners to digest, understand and grow their own creative projects from these roots.
Amazon Verified review Amazon
Justin Horner May 19, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
You’ll get up and going quickly with an overview of Godot and then jump straight into GDScript by learning about variables, control flow, collections, loops, object-oriented programming, and concepts like DRY, KISS, etc. Then the fun begins by building game mechanics while learning specifics of Godot such as the node/scene system, reusing scenes, cameras, collision detection, creating user interfaces, and more.It also covers local multiplayer where you'll learn the basics of computer networking followed by learning about built-in multiplayer nodes provided by Godot. The final chapters cover some advanced programming patterns like event bus, object pooling, and state machines. By the end, you’ll have a fully playable single/local multiplayer game in the style of Vampire Survivors!I thoroughly enjoyed my time with this book and highly recommend it for anyone who wants to get started on their journey to learn programming and even for experienced game programmers who want to learn Godot and GDScript.
Amazon Verified review Amazon
Peter May 20, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is a great book for anyone that's looking to learn Godot and start making games. It covers basic programming concepts like variables, arrays, and loops. Then it works it's way up into more advanced concepts like managing file systems, saving player data, and networking. The book also provides a solid thorough overview of Godot's interface. I love that it even teaches you to make your game multiplayer!
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela