Book Image

Game Development Patterns and Best Practices

By : John P. Doran, Matt Casanova
Book Image

Game Development Patterns and Best Practices

By: John P. Doran, Matt Casanova

Overview of this book

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.
Table of Contents (19 chapters)
Title Page
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface
4
Artificial Intelligence Using the State Pattern

About the Reviewers

Francesco Sapio obtained his Computer Science and Control Engineering degree from Sapienza University of Rome, Italy, a couple of semesters in advance, scoring summa cum laude. He is currently studying a Master of Science in Engineering in Artificial Intelligence and Robotics at the same university.

He is a Unity3D and Unreal expert, a skilled game designer, and an experienced user of the major graphics programs. He developed Game@School (Sapienza University of Rome), an educational game for high school students to learn the concepts of physics, and Sticker Book (series) (Dataware Games), a cross-platform series of games for kids. In addition, he worked as consultant for the (successfully funded by Kickstarter) game Prosperity – Italy 1434 (Entertainment Game Apps, Inc), and for the open online collaborative ideation system titled Innovoice (Sapienza University of Rome). Moreover, he has been involved in different research projects such as Belief-Driven-Pathfinding (Sapienza University of Rome), a new technique of pathfinding in videogames that was presented as a paper at the DiGRA-FDG Conference 2016; and perfekt.ID (Royal Melbourne Institute of Technology), which included developing a recommendation system for games.

He is an active writer on the topic of game development. Recently, he authored the book Getting Started with Unity 5.x 2D Game Development (Packt Publishing), which takes your hand and guide you through the amazing journey of game development; the successful Unity UI Cookbook (Packt Publishing), which has been translated into other languages, and which teaches readers how to develop exciting and practical user interfaces for games within Unity; and a short e-guide What do you need to know about Unity (Packt Publishing). In addition, he co-authored the book Unity 5.x 2D Game Development Blueprints (Packt Publishing). Furthermore, he has also been a reviewer for the following books: Game Physics Cookbook (Packt Publishing), Mastering Unity 5.x (Packt Publishing), Unity 5.x by Example (Packt Publishing), and Unity Game Development Scripting (Packt Publishing).

Francesco is also a musician and a composer, especially of soundtracks for short films and video games. For several years, he worked as an actor and dancer, where he was a guest of honor at the Brancaccio theater in Rome. In addition, he is a very active person, having volunteered as a children's entertainer at the Associazione Culturale Torraccia in Rome.

Finally, Francesco loves math, philosophy, logic, and puzzle solving, but most of all, creating video games—thanks to his passion for game designing and programming.

You can find him at www.francescosapio.com.

I'm deeply thankful to my parents for their infinite patience, enthusiasm, and support throughout my life. Moreover, I'm thankful to the rest of my family, in particular to my grandparents, since they have always encouraged me to do better in my life with the Latin expressions "Ad maiora" and "Per aspera ad astra."

Finally, a huge thanks to all the special people around me whom I love, in particular to my girlfriend; I'm grateful for all of your help in everything. I do love you.

At work Josh Wittner is currently applying a decade's worth of experience developing real-time simulations in the video game industry to mixing virtual with actual reality through holographic applications. At home, he's the father of a wonderful daughter and the husband to a wonderful wife.

I'd like to thank my wife and daughter for helping me stay focused.