Vanhove | Learning GDScript by Developing a Game with Godot 4 | E-Book | www.sack.de
E-Book

E-Book, Englisch, 378 Seiten

Vanhove 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
1. Auflage 2024
ISBN: 978-1-80181-249-8
Verlag: De Gruyter
Format: EPUB
Kopierschutz: 0 - No protection

A fun introduction to programming in GDScript 2.0 and game development using the Godot Engine

E-Book, Englisch, 378 Seiten

ISBN: 978-1-80181-249-8
Verlag: De Gruyter
Format: EPUB
Kopierschutz: 0 - No protection



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.

Vanhove Learning GDScript by Developing a Game with Godot 4 jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


Table of Contents - Setting Up the Environment

- Getting Familiar with Variables and Control Flow
- Grouping Information in Arrays, Loops, and Dictionaries
- Bringing Structure with Methods and Classes
- How and Why to Keep Your Code Clean
- Creating a World of Your Own in Godot
- Making the Character Move
- Splitting and Reusing Scenes
- Cameras, Collisions, and Collectibles

- Creating Menus, Making Enemies, and Using Autoloads
- Playing Together with Multiplayer
- Exporting to Multiple Platforms
- OOP Continued and Advanced Topics
- Advanced Programming Patterns
- Using the File System
- What Next?


Preface


Godot Engine is the most popular free open-source game engine on the market. With the advent of Godot 4.0 and the release of many hit games made in Godot, such as , , and , this popularity only grew. There is no better time to learn how to use this wonderful game development tool than now.

Learning how to program and use a new game engine can be a daunting task. However, this book will guide you step by step through all the aspects of creating your own game from scratch, from the basics of writing our first scripts in GDScript to more advanced topics.

We’ll learn how to program in GDScript, the custom language of the Godot Engine, which is easy to learn yet very capable and performant for game development. Then, we’ll go over all the ins and outs of the engine’s intuitive graphical interface and discover everything about its flexible node-based approach to game development.

Who this book is 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 this book covers


, , starts off the book by setting up everything we need to create games in the Godot Engine and gives a brief overview of the engine and how to write scripts.

, , explains the major concepts of what variables are and how we can store data within them. From here, we go over different control flows that help us make decisions during the execution of our game.

, , teaches about two new data types: arrays and dictionaries. These will help us group data in a more structured format. Along the way, we will learn about the two different kinds of loops with which we can loop over different sets of data.

, , delves into writing reusable pieces of code using methods and how to structure variables and methods into classes.

, , introduces many concepts around writing clean code, which will help us create code that is reusable and understandable by others as well as ourselves.

, , will kick off our own game project. We’ll start by defining what kind of game we will be making and progress to making the base of a player character and the environment in which they will be moving around.

, , offers a refresher on vector math, which is integral to moving entities around in two-dimensional space. Then, we’ll write the physics code to make our layer character move and go into debugging the game while it is running.

, , shows how we can easily split up our game into multiple smaller scenes that are easier to manage and maintain, followed by how we can organize all the scene and script files in tidy folders within the project.

, , starts by making a smooth camera that will follow the player character without making the real-life player nauseous. After this, we’ll move on to handling collisions with the terrain and creating collectible items.

, , finishes up our single-player game by teaching us about the menu system of the Godot Engine, followed by the creation of enemies that can navigate through the world and projectiles with which the player can shoot these enemies. We conclude this chapter with an introduction to autoloads, with which we can store the high score.

converts our single-player experience into a multiplayer one. We start with a crash course in computer networking. After this, we will learn about MultiplayerSpawner and MultiplayerSynchronizer to be able to play our game with others over a network.

, , shows how we can export the game for different platforms such as Windows, macOS, Linux, and even the web. We will conclude the chapter by uploading our game to Itch.io, a popular platform for indie games.

, , introduces the more advanced object-oriented programming (OOP) topics such as the super keyword, static variables, enumerations, lambda functions, the different ways of passing values to methods, and the tool keyword.

, , gives us a basis for programming patterns and explores the Event Bus, Object Pool, and State Machine patterns so that we can use them in our next project.

, , introduces the file system of the Godot Engine and shows us how we can save and load data in our game.

, , leaves us with some last techniques and resources to start the next game project as well as introduce the game development community we can be part of.

To get the most out of this book


You don’t need any prior knowledge about programming or game development. The only prerequisite is that you are open to learning and willing to improve. During the book, I propose multiple experiments you could do and have included quizzes to test your knowledge. It’s important that you take the time to do these so that the knowledge gets cemented in your brain.

We’ll cover how to download and set up the Godot Engine in the first chapter of this book but you could already download Godot 4.2.1 or later if you’re feeling impatient. All the examples in the book were tested on Godot 4.2.1 but should work in future versions too.

Software/hardware covered in the book

Operating system requirements

Godot 4.2.1

Windows, macOS, or Linux

GDScript 2.0

The Godot Engine is a very light piece of software that easily runs on older, outdated hardware but it doesn’t hurt to check out the minimum specifications and make sure your computer is able to meet them: https://docs.godotengine.org/en/stable/about/system_requirements.html.

If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

Download the example code files


You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/Learning-GDScript-by-Developing-a-Game-with-Godot-4. If there’s an update to the code, it will be updated in the GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used


There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: “In , we learned to write code with the _ready method of a node.”

A block of code is set as follows:

func deal_damage(amount: float) -> void:    player_health -= amount func heal(amount: float) -> void:    player_health += amount

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

func minimum(number1, number2):    if...


Vanhove Sander:

Sander Vanhove has been creating games with the Godot Game Engine for over five years, releasing over 20 games on multiple platforms. However, his interest in games started long before that, taking him from engine to engine before finally settling. This enthusiasm, along with his master's in computer science, gave him a broad knowledge of programming and AI, which he now applies in his day job as a lead game developer and technical artist of a studio that uses the Godot Engine. You can always find him working on that next project, learning new game development techniques, or trying to teach people how to use Godot.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.