Book description
Utilize proven solutions to solve common problems in game development
About This Book
- Untangle your game development workflow, make cleaner code, and create structurally solid games
- Implement key programming patterns that will enable you to make efficient AI and remove duplication
- Optimize your game using memory management techniques
Who This Book Is For
If you are a game developer who wants to solve commonly-encountered issues or have some way to communicate to other developers in a standardized format, then this book is for you. Knowledge of basic game programming principles and C++ programming is assumed.
What You Will Learn
- Learn what design patterns are and why you would want to use them
- Reduce the maintenance burden with well-tested, cleaner code
- Employ the singleton pattern effectively to reduce your compiler workload
- Use the factory pattern to help you create different objects with the same creation logic and reduce coding time
- Improve game performance with Object Pools
- Allow game play to interact with physics or graphics in an abstract way
- Refractor your code to remove common code smells
In Detail
You've learned how to program, and you've probably created some simple games at some point, but now you want to build larger projects and find out how to resolve your problems. So instead of a coder, you might now want to think like a game developer or software engineer. To organize your code well, you need certain tools to do so, and that's what this book is all about.
You will learn techniques to code quickly and correctly, while ensuring your code is modular and easily understandable.
To begin, we will start with the core game programming patterns, but not the usual way. We will take the use case strategy with this book. We will take an AAA standard game and show you the hurdles at multiple stages of development. Similarly, various use cases are used to showcase other patterns such as the adapter pattern, prototype pattern, flyweight pattern, and observer pattern. Lastly, we'll go over some tips and tricks on how to refactor your code to remove common code smells and make it easier for others to work with you. By the end of the book you will be proficient in using the most popular and frequently used patterns with the best practices.
Style and approach
This book takes a step-by-step real-life case studies approach. Every pattern is first explained using a bottleneck. We will show you a problem in your everyday workflow, and then introduce you to the pattern, and show you how the pattern will resolve the situation.
Table of contents
- Preface
- Introduction to Design Patterns
-
One Instance to Rule Them All - Singletons
- Chapter overview
- Your objective
- An overview on class access specifiers
- The static keyword
- Pros and cons of global variables
- What is a Singleton?
- Learning about templates
- Templatizing Singletons
- Advantages/disadvantages of using only one instance
- The Singleton in action - the Application class
- Summary
- Creating Flexibility with the Component Object Model
- Artificial Intelligence Using the State Pattern
- Decoupling Code via the Factory Method Pattern
- Creating Objects with the Prototype Pattern
- Improving Performance with Object Pools
- Controlling the UI via the Command Pattern
- Decoupling Gameplay via the Observer Pattern
- Sharing Objects with the Flyweight Pattern
- Understanding Graphics and Animation
- Best Practices
Product information
- Title: Game Development Patterns and Best Practices
- Author(s):
- Release date: April 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787127838
You might also like
book
Godot Engine Game Development Projects
A project based guides to learn animation, advanced shaders, environments, particle rendering, and networked games with …
book
Practical Game Design
Design accessible and creative games across genres, platforms, and development realities Key Features Implement the skills …
book
Procedural Content Generation for C++ Game Development
Get to know techniques and approaches to procedurally generate game content in C++ using Simple and …
book
SFML Game Development By Example
Create and develop exciting games from start to finish using SFML About This Book Familiarize yourself …