Game Development Patterns and Best Practices

Game Development Patterns and Best Practices

RM 83.00

ISBN:

9781787126961

Categories:

Engineering & IT

File Size

3.94 MB

Format

epub

Language

English

Release Year

2017
Favorite (0)

Synopsis

Key FeaturesUntangle your game development workflow, make cleaner code, and create structurally solid gamesImplement key programming patterns that will enable you to make efficient AI and remove duplicationOptimize your game using memory management techniquesBook DescriptionYouve learned how to program, and youve 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 thats 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, well 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.What you will learnImplement key data interaction techniques to enable seamless online gamingReduce the maintenance burden with well-tested, cleaner codeEmploy the singleton pattern effectively to reduce your compiler workloadUse the factory pattern to help you create different objects with the same creation logic and reduce coding timeImprove game performance with Object PoolsAllow game play to interact with physics or graphics in an abstract wayRefractor your code to remove common code smellsAbout the AuthorJohn P. Doran is a technical game designer who has been creating games for over 10 years. He has worked on an assortment of games in teams consisting of just himself to over 70 people in student, mod, and professional projects in different roles, from game designer to lead UI programmer. He previously worked at LucasArts on Star Wars: 1313 as a game designer. He later graduated from DigiPen Institute of Technology in Redmond, WA, with a Bachelor of Science in game design.John is currently a part of DigiPens research and development branch in Singapore in addition to DigiPen Game Studios. He is also the lead instructor of the DigiPen-Ubisoft Campus Game Programming Program, instructing graduate-level students in an intensive, advanced-level game programming curriculum. In addition to that, he also tutors and assists students in various subjects and gives lectures on C#, C++, Unreal, Unity, game design, and more.He is the author of Unreal Engine Game Development Cookbook, Building an FPS Game in Unity, Unity Game Development Blueprints, Getting Started with UDK, UDK Game Development, and Mastering UDK Game Development, and he co-wrote UDK iOS Game Development Beginners Guide, all available from Packt. More information about him can be found at johnpdoran.com.Matt Casanova has been programming indie games in C++, as well as mobile games and applications in Java and Objective C, for over ten years. For the last seven years he has assumed the role of technical director for his students. He specializes in 2D game engines and tools.Matt was an instructor for two years at Digipen Institute of Technologys Singapore campus, where he taught The Advanced Certification in 2D Game Development. This was a six month graduate-level course that specialized in creating 2D game engines. He then spent five years teaching undergraduate courses such as C++, data structures, and game engine architecture for Digipens degree in Real Time Interactive Simulation in South Korea. He has helped dozens of student teams make successful game projects and avoid the pitfalls of bad code. He currently works as lead mobile developer at a software company in Las Vegas.Table of ContentsIntroduction to Design PatternsOne Instance to Rule Them All - SingletonsCreating Flexibility with the Component Object ModelArtificial Intelligence Using the State PatternDecoupling Code via the Factory Method PatternCreating Objects with the Prototype PatternImproving Performance with Object PoolsControlling the UI via the Command PatternDecoupling Gameplay via the Observer PatternSharing Objects with the Flyweight PatternUnderstanding Graphics and AnimationBest Practices