Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright and Credits
Mastering C++ Game Development
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
C++ for Game Development
The conventions used in the book
An overview of advanced C++ concepts
Working with namespaces
Inheritance and polymorphism
Pointers and referencing
unique_ptr and shared_ptr
const correctness
Memory management
Dealing with errors
Working with types and containers
STL generic containers
Vector
List
Map
Templating
Class templates
Function templates
Variable templates
Type inference and when to use it
Game programming patterns
Working with loops
State machines
Event listeners
Summary
Understanding Libraries
Why do we use libraries?
Library build types
Statically linked libraries
On Windows
On macOS X
Dynamically linked libraries
Compiling and linking dynamic libraries on Windows
Compiling and linking dynamic libraries On macOS X
Header only or source libraries
Building a custom shareable library
Setup and structure
Creating a new project on Windows
Creating a new project on macOS X
Creating source files on Windows
Creating source files on macOS X
Building a custom library
On Windows
On macOS X
Building dynamic library on Windows using .def file
Using only .def file
Setting linker options
Sharing and consuming libraries
Summary
Building a Strong Foundation
Building helper classes
Encapsulation with managers
Creating interfaces
Summary
Building the Asset Pipeline
What is an asset pipeline?
Handling audio
Working with textures
Resource manager
Texture and TextureCache
The ImageLoader class
Importing models – meshes
Summary
Building Gameplay Systems
Understanding states
Working with cameras
Working with physics
Point in AABB
AABB to AABB
Sphere to sphere
Implementing the Bullet physics library.
Summary
Creating a Graphical User Interface
Coordinate systems and positioning
Adding control logic
Rendering the GUI
Summary
Advanced Rendering
Introduction to shaders
Shader languages
Building a shader program infrastructure
Working with shader data
Lighting effects
Per-vertex diffuse
Per-vertex ambient, diffuse, and specular
Per-fragment Phong interpolation
Using Shaders to create effects
Discarding fragments
Generating particles
Summary
Advanced Gameplay Systems
Implementing a scripting language
Why a scripting language
Introducing LUA
Implementing LUA
Building a dialog system
Constructing the C++ infrastructure
Creating a dialog tree script
Scripting quests
In engine support
Engine/script bridge
Script-based system
Summary
Artificial Intelligence
What is game AI?
Defining game AI
Conversations
Competitive opponents
Motion and pathfinding
What game AI is not
Making decisions
AI state machines
Decision trees
Feedback loops
Motion and pathfinding techniques
Motion algorithms and techniques
Steering behaviors
Seek
Flee
Pursuit
Evasion
Wandering
Search algorithms and pathfinding techniques
Breadth first
Dijkstra's algorithm
A*
Summary
Multiplayer
Introduction to multiplayer in games
Local multiplayer
Single-screen multiplayer
Local area network
Online multiplayer
Network design and protocol development
Network topology
Peer-to-peer
Client/server
Understanding the protocols
TCP/IP model
UDP – User Datagram Protocol
TCP – Transmission Control Protocol
Introducing sockets
Stream sockets
Datagram sockets
Creating a simple TCP server
Windows
macOS
Summary
Virtual Reality
Quick VR overview
Current VR hardware
Oculus Rift CV1
HTC Vive
Open Source Virtual Reality (OSVR) development kit
Sony PlayStation VR
Windows Mixed Reality headsets
VR rendering concepts
Working with frusta
Increasing rendering performance
Headset SDKs
Implementing VR support
Verifying HMD
Rendering
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
← Prev
Back
Next →
← Prev
Back
Next →