E-Book, Englisch, 378 Seiten
Vanhove Learning GDScript by Developing a Game with Godot 4
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.
Autoren/Hrsg.
Fachgebiete
- Mathematik | Informatik EDV | Informatik Professionelle Anwendung Multimedia
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Programmier- und Skriptsprachen
- Mathematik | Informatik EDV | Informatik Programmierung | Softwareentwicklung Spiele-Programmierung, Rendering, Animation
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 += amountWhen 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...