C++ Game Development Cookbook
图书信息
| 作者 | Druhin Mukherjee |
| 出版社 | Packt Publishing |
| ISBN | 9781785882432 |
| 出版时间 | 2016-05-30 |
| 字数 | 129.3万 |
| 分类 | 进口书,外文原版书,电脑,网络 |
读书简介
Over 90 recipes to get you creating modern, fast, and high-quality games with C++About This Book·Level up your game programming skills with insightful recipes on building games in C++·Analyze the less commonly discussed problems with C++ applications to develop the best games·Improve the performance of your games with the new multi-threading and networking features of C++11Who This Book Is ForThis book is ideal for aspiring game developers who are proficient in C++ programming and are interested in developing games with C++. Some basic knowledge of game programming will be useful but is not necessary.What You Will Learn·Explore the basics of game development to build great and effective features for your game·Develop your first text-based game using the various concepts of object-oriented programming·Use algorithms when developing games with various sorting and searching techniques·Exploit data structures in a game's development for data storage·Create your first 2D game using GDI library and sprite sheet.·Build your first advanced 2D game of space invaders using patterns such as observer, fly-weight, abstract factory, command, state, and moreIn DetailC++ is one of the preferred languages for game development as it supports a variety of coding styles that provides low-level access to the system. C++ is still used as a preferred game programming language by many as it gives game programmers control of the entire architecture, including memory patterns and usage. However, there is little information available on how to harness the advanced features of C++ to build robust games.This book will teach you techniques to develop logic and game code using C++. The primary goal of this book is to teach you to create high-quality games using C++ game programming scripts and techniques, regardless of the library or game engine you use. It will show you how to make use of the object-oriented capabilities of C++ so you can write well-structured and powerful games of any genre. The book also explores important areas such as physics programming and audio programming, and gives you other useful tips and tricks to improve your code.By the end of this book, you will be competent in game programming using C++, and will be able to develop your own games in C++.Style and approachEvery recipe of this guide covers a task that will help you build different aspects of a game, such as taking player input and displaying the output, using control flow to implement decision making, and so on. Each recipe begins with gentle introduction and key concepts, has illustrated examples of use, and ends with a detailed but informative description of the inner workings.
目录
C++ Game Development Cookbook
C++ Game Development Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
eBooks, discount offers, and more
Why Subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Sections
Getting ready
How to do it…
How it works…
There's more…
See also
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Game Development Basics
Introduction
Installing an IDE on Windows
Getting ready
How to do it…
How it works…
Choosing the right source control tool
Getting ready
How to do it…
How it works…
Using call stacks for memory storage
Getting ready
How to do it...
How it works…
Using recursions cautiously
Getting ready
How to do it…
How it works…
There's more…
Using pointers to store memory addresses
Getting ready
How to do it…
How it works…
There's more…
Casting between different datatypes
Getting ready
How to do it…
How it works…
Managing memory more effectively using dynamic allocation
Getting ready
How to do it…
How it works…
There's more…
Understanding the error messages
Using bitwise operations for advanced checks and optimization
Getting ready
How to do it…
How it works…
2. Object-Oriented Approach and Design in Games
Introduction
Using classes for data encapsulation and abstraction
Getting ready
How to do it…
How it works…
Using polymorphism to reuse code
Getting ready
How to do it…
How it works…
Using copy constructors
Getting ready
How to do it…
How it works…
Use operator overloading to reuse operators
Getting ready
How to do it…
How it works…
Use function overloading to reuse functions
Getting ready
How to do it…
How it works…
Using files for input and output
Getting ready
How to do it…
How it works…
Creating your first simple game
Getting ready
How to do it…
How it works…
Templates – when to use them
Getting ready
How to do it…
How it works…
3. Data Structures in Game Development
Introduction
Using more advanced data structures
Getting ready
How to do it…
How it works…
Using linked lists to store data
Getting ready
How to do it…
How it works…
Using stacks to store data
Getting ready
How to do it…
How it works…
Using queues to store data
Getting ready
How to do it…
How it works…
Using trees to store data
Getting ready
How to do it…
How it works…
Using graphs to store data
Getting ready
How to do it…
How it works…
Using STL lists to store data
Getting ready
How to do it…
How it works…
Using STL maps to store data
Getting ready
How to do it…
How it works…
Using STL hash tables to store data
Getting ready
How to do it…
How it works…
4. Algorithms for Game Development
Introduction
Using sorting techniques to arrange items
Getting ready
How to do it…
How it works…
Using searching techniques to look for an item
Getting ready
How to do it…
How it works…
Finding the complexity of an algorithm
Getting ready
How to do it…
How it works…
Finding the endian-ness of a device
Getting ready
How to do it…
How it works…
Using dynamic programming to break down a complex problem
Getting ready
How to do it…
How it works…
Using greedy algorithms to solve problems
Getting ready
How to do it…
How it works…
Using divide and conquer algorithms to solve problems
Getting ready
How to do it…
How it works…
5. Event-Driven Programming – Making Your First 2D Game
Introduction
Starting to make a Windows game
Getting ready
How to do it…
How it works…
Using Windows classes and handles
Getting ready
How to do it…
How it works…
Creating your first window
Getting ready
How to do it…
How it works…
Adding keyboard and mouse controls with text output
Getting ready
How to do it…
How it works…
Using Windows resources with GDI
Getting ready
How to do it…
How it works…
Using dialogs and controls
Getting ready
How to do it…
How it works…
Using sprites
Getting ready
How to do it…
How it works…
Using animated sprites
Getting ready
How to do it…
How it works…
6. Design Patterns for Game Development
Introduction
Using the singleton design pattern
Getting ready
How to do it…
How it works…
Using the factory method
Getting ready
How to do it…
How it works…
Using the abstract factory method
Getting ready
How to do it…
How it works…
Using the observer pattern
Getting ready
How to do it…
How it works…
Using the flyweight pattern
Getting ready
How to do it…
How it works…
Using the strategy pattern
Getting ready
How to do it…
How it works…
Using the command design pattern
Getting ready
How to do it…
How it works…
Creating an advanced game using design patterns
Getting ready
How to do it…
How it works…
7. Organizing and Backing Up
Introduction
Versions of source control
Getting ready
How to do it...
How it works...
Installing a versioning client
Getting ready
How to do it...
How it works...
Selecting a host to save your data
Getting ready
How to do it...
How it works...
Adding source control – committing and updating your code
Getting ready
How to do it...
How it works...
Resolving conflicts
Getting ready
How to do it...
How it works...
Creating a branch
Getting ready
How to do it...
How it works...
8. AI in Game Development
Introduction
Adding artificial intelligence to a game
Getting ready
How to do it…
How it works…
Using heuristics in a game
Getting ready
How to do it…
How it works…
Using a Binary Space Partition Tree
Getting ready
How to do it…
How it works…
Creating a decision making AI
Getting ready
How to do it...
How it works…
Adding behavioral movements
Getting ready
How to do it…
How it works…
Using neural network
Getting ready
How to do it…
How it works…
Using genetic algorithms
Getting ready
How to do it…
How it works…
Step 1 (Initial Population)
Step 2 (Fitness function)
Step 3 Cross-over
Step 4 Mutate
Using other waypoint systems
Getting ready
How to do it…
How it works…
9. Physics in Game Development
Introduction
Using physics rules in your game
Getting ready
How to do it…
How it works…
Making things collide
Getting ready
How to do it…
How it works…
Installing and integrating Box2D
Getting ready
How to do it…
How it works…
Making a basic 2D game
Getting ready
How to do it…
How it works…
Making a 3D game
Getting ready
How to do it…
How it works…
Creating a particle system
Getting ready
How to do it…
How it works…
Using ragdoll in your game
Getting ready
How to do it…
How it works…
10. Multithreading in Game Development
Introduction
Concurrency in games – creating a thread
Getting ready
How to do it…
How it works…
Joining and detaching a thread
Getting ready
How to do it…
How it works…
Passing arguments to a thread
Getting ready
How to do it…
How it works…
Avoiding deadlocks
Getting ready
How to do it…
How it works…
Data race and mutex
Getting ready
How to do it…
How it works…
Writing a thread-safe class
Getting ready
How to do it…
How it works…
11. Networking in Game Development
Introduction
Understanding the different layers
Getting ready
How to do it…
How it works…
Selecting the appropriate protocol
Getting ready
How to do it…
How it works…
Serializing the packets
Getting ready
How to do it…
How it works…
Using socket programming in games
Getting ready
How to do it…
How it works…
Sending the data
Getting ready
How to do it…
How it works…
Receiving the data
Getting ready
How to do it…
How it works…
Dealing with lag
Getting ready
How to do it…
How it works…
Using synchronized simulation
Getting ready
How to do it…
How it works…
Using area of interest filtering
Getting ready
How to do it…
How it works…
Using local perception filter
Getting ready
How to do it…
How it works…
12. Audio in Game Development
Introduction
Installing FMOD
Getting ready
How to do it…
How it works…
Adding background music
Getting ready
How to do it…
How it works…
Adding sound effects
Getting ready
How to do it…
How it works…
Creating a sound effect manager
Getting ready
How to do it…
How it works…
Dealing with multiple sound file names
Getting ready
How to do it…
How it works…
13. Tips and Tricks
Introduction
Effectively commenting your code
Getting ready
How to do it…
How it works…
Using bit fields in a struct
Getting ready
How to do it…
How it works…
Writing a sound technical design document
Getting ready
How to do it…
How it works…
Using the const keyword to optimize your code
Getting ready
How to do it…
How it works…
Using bit shift operators in an enum
Getting ready
How to do it…
How it works…
Using the new lambda function of C++ 11
Getting ready
How to do it…
How it works…
Index
- 四季筵(清辰)
- PHP入门很轻松(微课超值版)(云尚科技)
- SEO深度解析:全面挖掘搜索引擎优化的核心秘密(痞子瑞)
- 未解之谜(下)(百读)
- 有趣的语文:一个语文教师的“另类”行走(凌宗伟)
- 谦逊的问讯:以询问开启良好关系的艺术(原书第2版)((美)埃德加·沙因,(美)彼得·沙因)
- 赢在思维——初中化学拉分题专项集训300题(9年级+中考)(彭嘉全)
- 漫画素描技法5:分镜头篇(CG动漫社)
