Mastering C++ Game Development: Create professional and realistic 3D games using C++ 17
Book information
Description
High-end game development with advanced C++ 17 programming techniques Key FeaturesMake the best use of object-oriented capabilities of C++ to develop high-end gamesCreate reusable C++ libraries and editor tools for your gameSeries of example projects demonstrating advanced techniques to build games of any genreBook Description Although many languages are now being used to develop games, C++ remains the standard for professional development. The majority of professional libraries and toolchains are still built using C++. The primary goal of this book is to teach you how to harness the power of the language and provide you with the ability to build high-quality games. To begin, you will be presented with, an overview of popular development methodologies, and a short guide to updated features of the C++ 17 standard. You will learn how to leverage existing libraries such as OpenGL and the STL (standard library) to build complex systems. Throughout the journey, you will also build a set of C++ 17 compatible libraries that can be reused in your own development projects. In the last half of the book, you will work with demos designed to introduce you to advanced rendering techniques, interactive physics, advanced AI techniques, and even multiplayer game concerns with modern networks. What you will learnWork and communicate effectively in the modern games industryDevelop simple and advanced gameplay systemsHow to leverage the standard core C++ librariesUse modern real-time rendering techniques to achieve immersive 3D visualsAchieve a narrative-driven game experience using a variety of data management techniquesImplement scripting using LUALearn AI algorithms and concepts for handling motion, behavior, and decision makingImplementation of the OpenGL, Bullet Physics, GLM, SteamVR and other common librariesWho This Book Is For This book is intended for aspiring game developers who are proficient in C++ 17 programming and are interested in developing professional games with C++.17 Table of ContentsC++ for game developmentCore Library CreationAsset Pipeline ManagementBuilding gameplay systemsDeveloping ToolchainAdvanced RenderingAdvacned gameplay systemsArtificial IntelligenceNetworkingMultiplayerVirtual Reality Cover Title Page Copyright and Credits Packt Upsell Contributors Table of Contents Preface Chapter 1: 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 Chapter 2: 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 Chapter 3: Building a Strong Foundation Building helper classes Encapsulation with managers Creating interfaces Summary Chapter 4: 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 Chapter 5: 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 Chapter 6: Creating a Graphical User Interface Coordinate systems and positioning Adding control logic Rendering the GUI Summary Chapter 7: 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 Chapter 8: 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 Chapter 9: 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 Chapter 10: 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 Chapter 11: 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 Index
Similar books
Mastering C++ Game Development
2018 · PDF
Mastering C++ Game Development
2018 · EPUB
MySQL® Notes for Professionals book
2018 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36
2010 · PDF
THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.
1858 · PDF
Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.
2022 · PDF