Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Game Development Patterns with Godot 4

You're reading from   Game Development Patterns with Godot 4 Create resilient game systems using industry-standard solutions in Godot

Arrow left icon
Product type Paperback
Published in Jan 2025
Publisher Packt
ISBN-13 9781835880289
Length 304 pages
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Henrique Campos Henrique Campos
Author Profile Icon Henrique Campos
Henrique Campos
Arrow right icon
View More author details
Toc

Table of Contents (19) Chapters Close

Preface 1. Part 1: Object-Oriented Design Principles
2. Chapter 1: Understanding Object-Oriented Design FREE CHAPTER 3. Chapter 2: Learning the Four Fundamental Pillars 4. Chapter 3: Creating SOLID Design Solutions 5. Chapter 4: Favoring Composition Over Inheritance 6. Part 2: Basic Design Patterns
7. Chapter 5: Maintaining Global States with the Singleton Pattern 8. Chapter 6: Decoupling Objects with the Observer Pattern 9. Chapter 7: Spawning Game Objects with the Factory Pattern 10. Chapter 8: Changing Object Behavior with the State Pattern 11. Chapter 9: Designing Actors with the Command Pattern 12. Part 3: Advanced Design Patterns
13. Chapter 10: Implementing AI with the Strategy Pattern 14. Chapter 11: Creating a Power-Up System with the Decorator Pattern 15. Chapter 12: Cross-Fading Transitions with the Service Locator Pattern 16. Chapter 13: Improving Game Feel with the Event Queue Pattern 17. Index 18. Other Books You May Enjoy

What this book covers

Chapter 1, Understanding Object-Oriented Design, explains the philosophy behind writing programs from an object-oriented perspective.

Chapter 2, Learning the Four Fundamental Pillars, discusses the tools object-oriented programming provides to write object-oriented code.

Chapter 3, Creating SOLID Design Solutions, guides you through five core principles of writing good, reusable, and scalable object-oriented code.

Chapter 4, Favoring Composition Over Inheritance, explains that inheritance is a powerful but dangerous tool in object-oriented programming, so we must use it responsibly. In this chapter, you will explore the issues behind inheritance and the composition alternative to achieve code reusability.

Chapter 5, Maintaining Global States with the Singleton Pattern, begins implementing the Singleton pattern for a common issue in game development: global data that multiple objects should have access to.

Chapter 6, Decoupling Objects with the Observer Pattern, discusses coupling, which is a major issue in programming, but it’s unavoidable. But with the Observer pattern, we can make objects communicate without coupling them by using a notification system.

Chapter 7, Spawning Game Objects with the Factory Pattern, covers creating new objects in the game world, which is a skill every game developer needs to master. Using the Factory Pattern can help you do that in a reliable and reusable fashion.

Chapter 8, Changing Object Behavior with the State Pattern, discusses handling object states, which can lead to a chaotic monolith code base that handles state machines and multiple states in a single class. The State pattern is a way to extract this code from the context class with the double benefit of encapsulating each state as an independent object.

Chapter 9, Designing Actors with the Command Pattern, explains that a method, or function, doesn’t leave footprints when called, and this can be an issue. By turning requests into objects, we can store them in memory, store their parameters, pass them around, delay their execution, queue them, execute them in a specific order, and even undo them, and all that is possible using the Command pattern.

Chapter 10, Implementing AI with the Strategy Pattern, explains that using conditional statements to alter the behavior of your code based on specific parameters may not be scalable. The Strategy pattern proposes that, instead, we use objects called strategies that perform different behaviors and adapt the context in real time by passing these objects.

Chapter 11, Creating a Power-Up System with the Decorator Pattern, explores wrapping objects within objects, which is a common practice in programming. The Decorator pattern proposes that we can wrap objects within objects of the same type, allowing us to add new functionalities to them in real time. With this in mind, we create an interesting power-up system for our project, wrapping objects with power-ups.

Chapter 12, Cross-Fading Transitions with the Service Locator Pattern, discusses one way to protect our code from coupling, which is by using a mediator object as an interface to interact with other parts of the game. The Service Locator pattern allows us to perform procedures, such as changing the game music, without leaking implementation and maintenance details on user classes.

Chapter 13, Improving Game Feel with the Event Queue Pattern, explores situations when we need to store events such as keystrokes to be handled in the future. An example is checking whether the player has jumped while in mid-air in the last few milliseconds so that the character performs a jump when they land on the ground. We can achieve this kind of functionality with the Event Queue Pattern.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime