Author: John Horton
Publisher: Packt Publishing Ltd
ISBN: 1838647651
Category : Computers
Languages : en
Pages : 746
Book Description
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019 Key Features Learn game development and C++ with a fun, example-driven approach Build clones of popular games such as Timberman, Zombie Survival Shooter, a co-op puzzle platformer, and Space Invaders Discover tips to expand your finished games by thinking critically, technically, and creatively Book Description The second edition of Beginning C++ Game Programming is updated and improved to include the latest features of Visual Studio 2019, SFML, and modern C++ programming techniques. With this book, you'll get a fun introduction to game programming by building five fully playable games of increasing complexity. You'll learn to build clones of popular games such as Timberman, Pong, a Zombie survival shooter, a coop puzzle platformer and Space Invaders. The book starts by covering the basics of programming. You'll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers, and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you'll also learn exciting game programming concepts such as particle effects, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. Finally, you'll explore game design patterns to enhance your C++ game programming skills. By the end of the book, you'll have gained the knowledge you need to build your own games with exciting features from scratch What you will learn Set up your game development project in Visual Studio 2019 and explore C++ libraries such as SFML Explore C++ OOP by building a Pong game Understand core game concepts such as game animation, game physics, collision detection, scorekeeping, and game sound Use classes, inheritance, and references to spawn and control thousands of enemies and shoot rapid-fire machine guns Add advanced features to your game using pointers, references, and the STL Scale and reuse your game code by learning modern game programming design patterns Who this book is for This book is perfect for you if you have no C++ programming knowledge, you need a beginner-level refresher course, or you want to learn how to build games or just use games as an engaging way to learn C++. Whether you aspire to publish a game (perhaps on Steam) or just want to impress friends with your creations, you'll find this book useful.
Beginning C++ Game Programming
Author: John Horton
Publisher: Packt Publishing Ltd
ISBN: 1838647651
Category : Computers
Languages : en
Pages : 746
Book Description
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019 Key Features Learn game development and C++ with a fun, example-driven approach Build clones of popular games such as Timberman, Zombie Survival Shooter, a co-op puzzle platformer, and Space Invaders Discover tips to expand your finished games by thinking critically, technically, and creatively Book Description The second edition of Beginning C++ Game Programming is updated and improved to include the latest features of Visual Studio 2019, SFML, and modern C++ programming techniques. With this book, you'll get a fun introduction to game programming by building five fully playable games of increasing complexity. You'll learn to build clones of popular games such as Timberman, Pong, a Zombie survival shooter, a coop puzzle platformer and Space Invaders. The book starts by covering the basics of programming. You'll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers, and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you'll also learn exciting game programming concepts such as particle effects, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. Finally, you'll explore game design patterns to enhance your C++ game programming skills. By the end of the book, you'll have gained the knowledge you need to build your own games with exciting features from scratch What you will learn Set up your game development project in Visual Studio 2019 and explore C++ libraries such as SFML Explore C++ OOP by building a Pong game Understand core game concepts such as game animation, game physics, collision detection, scorekeeping, and game sound Use classes, inheritance, and references to spawn and control thousands of enemies and shoot rapid-fire machine guns Add advanced features to your game using pointers, references, and the STL Scale and reuse your game code by learning modern game programming design patterns Who this book is for This book is perfect for you if you have no C++ programming knowledge, you need a beginner-level refresher course, or you want to learn how to build games or just use games as an engaging way to learn C++. Whether you aspire to publish a game (perhaps on Steam) or just want to impress friends with your creations, you'll find this book useful.
Publisher: Packt Publishing Ltd
ISBN: 1838647651
Category : Computers
Languages : en
Pages : 746
Book Description
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019 Key Features Learn game development and C++ with a fun, example-driven approach Build clones of popular games such as Timberman, Zombie Survival Shooter, a co-op puzzle platformer, and Space Invaders Discover tips to expand your finished games by thinking critically, technically, and creatively Book Description The second edition of Beginning C++ Game Programming is updated and improved to include the latest features of Visual Studio 2019, SFML, and modern C++ programming techniques. With this book, you'll get a fun introduction to game programming by building five fully playable games of increasing complexity. You'll learn to build clones of popular games such as Timberman, Pong, a Zombie survival shooter, a coop puzzle platformer and Space Invaders. The book starts by covering the basics of programming. You'll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers, and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you'll also learn exciting game programming concepts such as particle effects, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. Finally, you'll explore game design patterns to enhance your C++ game programming skills. By the end of the book, you'll have gained the knowledge you need to build your own games with exciting features from scratch What you will learn Set up your game development project in Visual Studio 2019 and explore C++ libraries such as SFML Explore C++ OOP by building a Pong game Understand core game concepts such as game animation, game physics, collision detection, scorekeeping, and game sound Use classes, inheritance, and references to spawn and control thousands of enemies and shoot rapid-fire machine guns Add advanced features to your game using pointers, references, and the STL Scale and reuse your game code by learning modern game programming design patterns Who this book is for This book is perfect for you if you have no C++ programming knowledge, you need a beginner-level refresher course, or you want to learn how to build games or just use games as an engaging way to learn C++. Whether you aspire to publish a game (perhaps on Steam) or just want to impress friends with your creations, you'll find this book useful.
The Fundamentals of C/C++ Game Programming
Author: Brian Beuken
Publisher: CRC Press
ISBN: 135164288X
Category : Computers
Languages : en
Pages : 706
Book Description
This book is aimed at giving novice coders an understanding of the methods and techniques used in professional games development. Designed to help develop and strengthen problem solving and basic C/C++ skills, it also will help to develop familiarity targeting and using fixed/restricted hardware, which are key skills in console development. It allows the reader to increase their confidence as game programmers by walking them through increasingly involved game concepts, while maintaining the understanding that despite the increased complexity, the core methods remain consistent with the advancement of the technology; the technology only enhances the gaming experience. It also demonstrates underlying principles of game coding in practical step by step ways to increase exposure and confidence in game coding concepts. Key Features: Increases the confidence of new coders by demonstrating how to get things done. Introduces evolving projects to reinforce concepts, both directly and indirectly that the reader will use to produce and then enhance the project. Provides tutorials on Graphics API’s that can be easily understood by a novice. Demystifies hardware used to gain new effects without blinding the user to the technical wizardry going on under the system. Gives a sense of achievement to the reader and pushes them toward improvement.
Publisher: CRC Press
ISBN: 135164288X
Category : Computers
Languages : en
Pages : 706
Book Description
This book is aimed at giving novice coders an understanding of the methods and techniques used in professional games development. Designed to help develop and strengthen problem solving and basic C/C++ skills, it also will help to develop familiarity targeting and using fixed/restricted hardware, which are key skills in console development. It allows the reader to increase their confidence as game programmers by walking them through increasingly involved game concepts, while maintaining the understanding that despite the increased complexity, the core methods remain consistent with the advancement of the technology; the technology only enhances the gaming experience. It also demonstrates underlying principles of game coding in practical step by step ways to increase exposure and confidence in game coding concepts. Key Features: Increases the confidence of new coders by demonstrating how to get things done. Introduces evolving projects to reinforce concepts, both directly and indirectly that the reader will use to produce and then enhance the project. Provides tutorials on Graphics API’s that can be easily understood by a novice. Demystifies hardware used to gain new effects without blinding the user to the technical wizardry going on under the system. Gives a sense of achievement to the reader and pushes them toward improvement.
Beginning C++ Through Game Programming
Author: Michael Dawson
Publisher: Cengage Learning Ptr
ISBN: 9781435457423
Category : Computers
Languages : en
Pages : 410
Book Description
Describes the basics of computer game programming with C++, covering such topics as variables, loops, arrays, references, pointers, and polymorphism.
Publisher: Cengage Learning Ptr
ISBN: 9781435457423
Category : Computers
Languages : en
Pages : 410
Book Description
Describes the basics of computer game programming with C++, covering such topics as variables, loops, arrays, references, pointers, and polymorphism.
Game Programming in C++
Author: Sanjay Madhav
Publisher: Addison-Wesley Professional
ISBN: 0134597311
Category : Computers
Languages : en
Pages : 1268
Book Description
Program 3D Games in C++: The #1 Language at Top Game Studios Worldwide C++ remains the key language at many leading game development studios. Since it’s used throughout their enormous code bases, studios use it to maintain and improve their games, and look for it constantly when hiring new developers. Game Programming in C++ is a practical, hands-on approach to programming 3D video games in C++. Modeled on Sanjay Madhav’s game programming courses at USC, it’s fun, easy, practical, hands-on, and complete. Step by step, you’ll learn to use C++ in all facets of real-world game programming, including 2D and 3D graphics, physics, AI, audio, user interfaces, and much more. You’ll hone real-world skills through practical exercises, and deepen your expertise through start-to-finish projects that grow in complexity as you build your skills. Throughout, Madhav pays special attention to demystifying the math that all professional game developers need to know. Set up your C++ development tools quickly, and get started Implement basic 2D graphics, game updates, vectors, and game physics Build more intelligent games with widely used AI algorithms Implement 3D graphics with OpenGL, shaders, matrices, and transformations Integrate and mix audio, including 3D positional audio Detect collisions of objects in a 3D environment Efficiently respond to player input Build user interfaces, including Head-Up Displays (HUDs) Improve graphics quality with anisotropic filtering and deferred shading Load and save levels and binary game data Whether you’re a working developer or a student with prior knowledge of C++ and data structures, Game Programming in C++ will prepare you to solve real problems with C++ in roles throughout the game development lifecycle. You’ll master the language that top studios are hiring for—and that’s a proven route to success.
Publisher: Addison-Wesley Professional
ISBN: 0134597311
Category : Computers
Languages : en
Pages : 1268
Book Description
Program 3D Games in C++: The #1 Language at Top Game Studios Worldwide C++ remains the key language at many leading game development studios. Since it’s used throughout their enormous code bases, studios use it to maintain and improve their games, and look for it constantly when hiring new developers. Game Programming in C++ is a practical, hands-on approach to programming 3D video games in C++. Modeled on Sanjay Madhav’s game programming courses at USC, it’s fun, easy, practical, hands-on, and complete. Step by step, you’ll learn to use C++ in all facets of real-world game programming, including 2D and 3D graphics, physics, AI, audio, user interfaces, and much more. You’ll hone real-world skills through practical exercises, and deepen your expertise through start-to-finish projects that grow in complexity as you build your skills. Throughout, Madhav pays special attention to demystifying the math that all professional game developers need to know. Set up your C++ development tools quickly, and get started Implement basic 2D graphics, game updates, vectors, and game physics Build more intelligent games with widely used AI algorithms Implement 3D graphics with OpenGL, shaders, matrices, and transformations Integrate and mix audio, including 3D positional audio Detect collisions of objects in a 3D environment Efficiently respond to player input Build user interfaces, including Head-Up Displays (HUDs) Improve graphics quality with anisotropic filtering and deferred shading Load and save levels and binary game data Whether you’re a working developer or a student with prior knowledge of C++ and data structures, Game Programming in C++ will prepare you to solve real problems with C++ in roles throughout the game development lifecycle. You’ll master the language that top studios are hiring for—and that’s a proven route to success.
Game Programming Patterns
Author: Robert Nystrom
Publisher: Genever Benning
ISBN: 0990582914
Category : Computers
Languages : en
Pages : 353
Book Description
The biggest challenge facing many game programmers is completing their game. Most game projects fizzle out, overwhelmed by the complexity of their own code. Game Programming Patterns tackles that exact problem. Based on years of experience in shipped AAA titles, this book collects proven patterns to untangle and optimize your game, organized as independent recipes so you can pick just the patterns you need. You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.
Publisher: Genever Benning
ISBN: 0990582914
Category : Computers
Languages : en
Pages : 353
Book Description
The biggest challenge facing many game programmers is completing their game. Most game projects fizzle out, overwhelmed by the complexity of their own code. Game Programming Patterns tackles that exact problem. Based on years of experience in shipped AAA titles, this book collects proven patterns to untangle and optimize your game, organized as independent recipes so you can pick just the patterns you need. You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.
Learning C# by Programming Games
Author: Wouter van Toll
Publisher: Springer Nature
ISBN: 3662592525
Category : Computers
Languages : en
Pages : 518
Book Description
Developing computer games is a perfect way to learn how to program in modern programming languages. This book teaches how to program in C# through the creation of computer games – and without requiring any previous programming experience. Contrary to most programming books, van Toll, Egges, and Fokker do not organize the presentation according to programming language constructs, but instead use the structure and elements of computer games as a framework. For instance, there are chapters on dealing with player input, game objects, game worlds, game states, levels, animation, physics, and intelligence. The reader will be guided through the development of four games showing the various aspects of game development. Starting with a simple shooting game, the authors move on to puzzle games consisting of multiple levels, and conclude the book by developing a full-fledged platform game with animation, game physics, and intelligent enemies. They show a number of commonly used techniques in games, such as drawing layers of sprites, rotating, scaling and animating sprites, dealing with physics, handling interaction between game objects, and creating pleasing visual effects. At the same time, they provide a thorough introduction to C# and object-oriented programming, introducing step by step important programming concepts such as loops, methods, classes, collections, and exception handling. This second edition includes a few notable updates. First of all, the book and all example programs are now based on the library MonoGame 3.6, instead of the obsolete XNA Game Studio. Second, instead of explaining how the example programs work, the text now invites readers to write these programs themselves, with clearly marked reference points throughout the text. Third, the book now makes a clearer distinction between general (C#) programming concepts and concepts that are specific to game development. Fourth, the most important programming concepts are now summarized in convenient “Quick Reference” boxes, which replace the syntax diagrams of the first edition. Finally, the updated exercises are now grouped per chapter and can be found at the end of each chapter, allowing readers to test their knowledge more directly. The book is also designed to be used as a basis for a game-oriented programming course. Supplementary materials for organizing such a course are available on an accompanying web site, which also includes all example programs, game sprites, sounds, and the solutions to all exercises.
Publisher: Springer Nature
ISBN: 3662592525
Category : Computers
Languages : en
Pages : 518
Book Description
Developing computer games is a perfect way to learn how to program in modern programming languages. This book teaches how to program in C# through the creation of computer games – and without requiring any previous programming experience. Contrary to most programming books, van Toll, Egges, and Fokker do not organize the presentation according to programming language constructs, but instead use the structure and elements of computer games as a framework. For instance, there are chapters on dealing with player input, game objects, game worlds, game states, levels, animation, physics, and intelligence. The reader will be guided through the development of four games showing the various aspects of game development. Starting with a simple shooting game, the authors move on to puzzle games consisting of multiple levels, and conclude the book by developing a full-fledged platform game with animation, game physics, and intelligent enemies. They show a number of commonly used techniques in games, such as drawing layers of sprites, rotating, scaling and animating sprites, dealing with physics, handling interaction between game objects, and creating pleasing visual effects. At the same time, they provide a thorough introduction to C# and object-oriented programming, introducing step by step important programming concepts such as loops, methods, classes, collections, and exception handling. This second edition includes a few notable updates. First of all, the book and all example programs are now based on the library MonoGame 3.6, instead of the obsolete XNA Game Studio. Second, instead of explaining how the example programs work, the text now invites readers to write these programs themselves, with clearly marked reference points throughout the text. Third, the book now makes a clearer distinction between general (C#) programming concepts and concepts that are specific to game development. Fourth, the most important programming concepts are now summarized in convenient “Quick Reference” boxes, which replace the syntax diagrams of the first edition. Finally, the updated exercises are now grouped per chapter and can be found at the end of each chapter, allowing readers to test their knowledge more directly. The book is also designed to be used as a basis for a game-oriented programming course. Supplementary materials for organizing such a course are available on an accompanying web site, which also includes all example programs, game sprites, sounds, and the solutions to all exercises.
Hands-On C++ Game Animation Programming
Author: Gabor Szauer
Publisher: Packt Publishing Ltd
ISBN: 1800207964
Category : Computers
Languages : en
Pages : 368
Book Description
Learn animation programming from first principles and implement modern animation techniques that can be integrated into any game development workflow Key Features Build a functional and production-ready modern animation system with complete features using C++ Learn basic, advanced, and skinned animation programming with this step-by-step guide Discover the math required to implement cutting edge animation techniques such as inverse kinematics and dual quaternions Book DescriptionAnimation is one of the most important parts of any game. Modern animation systems work directly with track-driven animation and provide support for advanced techniques such as inverse kinematics (IK), blend trees, and dual quaternion skinning. This book will walk you through everything you need to get an optimized, production-ready animation system up and running, and contains all the code required to build the animation system. You’ll start by learning the basic principles, and then delve into the core topics of animation programming by building a curve-based skinned animation system. You’ll implement different skinning techniques and explore advanced animation topics such as IK, animation blending, dual quaternion skinning, and crowd rendering. The animation system you will build following this book can be easily integrated into your next game development project. The book is intended to be read from start to finish, although each chapter is self-contained and can be read independently as well. By the end of this book, you’ll have implemented a modern animation system and got to grips with optimization concepts and advanced animation techniques.What you will learn Get the hang of 3D vectors, matrices, and transforms, and their use in game development Discover various techniques to smoothly blend animations Get to grips with GLTF file format and its design decisions and data structures Design an animation system by using animation tracks and implementing skinning Optimize various aspects of animation systems such as skinned meshes, clip sampling, and pose palettes Implement the IK technique for your game characters using CCD and FABRIK solvers Understand dual quaternion skinning and how to render large instanced crowds Who this book is for This book is for professional, independent, and hobbyist developers interested in building a robust animation system from the ground up. Some knowledge of the C++ programming language will be helpful.
Publisher: Packt Publishing Ltd
ISBN: 1800207964
Category : Computers
Languages : en
Pages : 368
Book Description
Learn animation programming from first principles and implement modern animation techniques that can be integrated into any game development workflow Key Features Build a functional and production-ready modern animation system with complete features using C++ Learn basic, advanced, and skinned animation programming with this step-by-step guide Discover the math required to implement cutting edge animation techniques such as inverse kinematics and dual quaternions Book DescriptionAnimation is one of the most important parts of any game. Modern animation systems work directly with track-driven animation and provide support for advanced techniques such as inverse kinematics (IK), blend trees, and dual quaternion skinning. This book will walk you through everything you need to get an optimized, production-ready animation system up and running, and contains all the code required to build the animation system. You’ll start by learning the basic principles, and then delve into the core topics of animation programming by building a curve-based skinned animation system. You’ll implement different skinning techniques and explore advanced animation topics such as IK, animation blending, dual quaternion skinning, and crowd rendering. The animation system you will build following this book can be easily integrated into your next game development project. The book is intended to be read from start to finish, although each chapter is self-contained and can be read independently as well. By the end of this book, you’ll have implemented a modern animation system and got to grips with optimization concepts and advanced animation techniques.What you will learn Get the hang of 3D vectors, matrices, and transforms, and their use in game development Discover various techniques to smoothly blend animations Get to grips with GLTF file format and its design decisions and data structures Design an animation system by using animation tracks and implementing skinning Optimize various aspects of animation systems such as skinned meshes, clip sampling, and pose palettes Implement the IK technique for your game characters using CCD and FABRIK solvers Understand dual quaternion skinning and how to render large instanced crowds Who this book is for This book is for professional, independent, and hobbyist developers interested in building a robust animation system from the ground up. Some knowledge of the C++ programming language will be helpful.
Beginning C
Author: Ivor Horton
Publisher: Apress
ISBN: 1430202432
Category : Computers
Languages : en
Pages : 624
Book Description
C is the programming language of choice when speed and reliability are required. It is used for many low-level tasks, such as device drivers and operating-system programming. For example, much of Windows and Linux is based on C programming. The updated 4th edition of Beginning C builds on the strengths of its predecessors to offer an essential guide for anyone who wants to learn C or desires a ‘brush-up’ in this compact, fundamental language. This classic from author, lecturer and respected academic Ivor Horton is the essential guide for anyone looking to learn the C language from the ground up.
Publisher: Apress
ISBN: 1430202432
Category : Computers
Languages : en
Pages : 624
Book Description
C is the programming language of choice when speed and reliability are required. It is used for many low-level tasks, such as device drivers and operating-system programming. For example, much of Windows and Linux is based on C programming. The updated 4th edition of Beginning C builds on the strengths of its predecessors to offer an essential guide for anyone who wants to learn C or desires a ‘brush-up’ in this compact, fundamental language. This classic from author, lecturer and respected academic Ivor Horton is the essential guide for anyone looking to learn the C language from the ground up.
3D Game Programming All in One
Author: Kenneth C. Finney
Publisher: Muska/Lipman
ISBN: 9781598632668
Category : Games
Languages : en
Pages : 1085
Book Description
Are you an aspiring game developer with a great idea, but no practical knowledge for turning that idea into reality? 3D Game Programming All in One is the comprehensive guide you need! This new edition updates the original coverage with the latest version of Torque from GarageGames, and provides the very best tools available to the Indie game maker. This hands-on book not only teaches the technical skills behind 3D game programming, but also provides you with the practical experience you need to create your own games. As you create a first-person shooter, you'll cover the techniques behind the programming, textures, and models that go into successful game creation. You'll also cover the Torque Engine and will learn how to integrate sound and music into your game. 3D Game Programming All in One provides you with the training, experience, and tools you need to turn your dreams of game creation into reality!
Publisher: Muska/Lipman
ISBN: 9781598632668
Category : Games
Languages : en
Pages : 1085
Book Description
Are you an aspiring game developer with a great idea, but no practical knowledge for turning that idea into reality? 3D Game Programming All in One is the comprehensive guide you need! This new edition updates the original coverage with the latest version of Torque from GarageGames, and provides the very best tools available to the Indie game maker. This hands-on book not only teaches the technical skills behind 3D game programming, but also provides you with the practical experience you need to create your own games. As you create a first-person shooter, you'll cover the techniques behind the programming, textures, and models that go into successful game creation. You'll also cover the Torque Engine and will learn how to integrate sound and music into your game. 3D Game Programming All in One provides you with the training, experience, and tools you need to turn your dreams of game creation into reality!
Learn C++ by Making Games
Author: Erik Yuzwa
Publisher:
ISBN: 9781584504559
Category : C++ (Computer program language).
Languages : en
Pages : 0
Book Description
Learn C++ by Making Games teaches the fundamentals of C++ from a unique and fun perspective. Using game specific code and examples, the book helps anyone wanting to learn C++ progress from the basics to more advanced topics. As you learn C++, you'll be putting the code and techniques into practice by programming a game project in each part of the book. The book begins with an introduction to the fundamentals of the C++ language, including the basic data types of the language. It then progresses further into creating and defining variables, basic mathematical operators, and the various loop structures at your disposal. Next, you'll learn how to use functions to make code more readable and maintainable, along with techniques for breaking up source code into several files for readability. From there you'll move to data structures and explore concepts such as using collections to store multiple copies of a data type. With these foundations of C++ firmly applied, you'll be ready to learn the basics of pointers that you'll need for all of your C++ programming. Next comes an introduction to object-oriented programming (OOP) concepts, including classes, objects, inheritance, virtual methods, and polymorphism. From there, reading and writing data files (serialization) are covered. The book concludes with an exploration of how to use the Simple DirectMedia Layer to display graphics and handle basic input, sound, linked lists, templates, along with a variety of more advanced topics, including using SDL to create a simple demo. This book is ideal for an introductory C++ course, or for anyone wanting to teach themselves C++ through the creation of game projects!
Publisher:
ISBN: 9781584504559
Category : C++ (Computer program language).
Languages : en
Pages : 0
Book Description
Learn C++ by Making Games teaches the fundamentals of C++ from a unique and fun perspective. Using game specific code and examples, the book helps anyone wanting to learn C++ progress from the basics to more advanced topics. As you learn C++, you'll be putting the code and techniques into practice by programming a game project in each part of the book. The book begins with an introduction to the fundamentals of the C++ language, including the basic data types of the language. It then progresses further into creating and defining variables, basic mathematical operators, and the various loop structures at your disposal. Next, you'll learn how to use functions to make code more readable and maintainable, along with techniques for breaking up source code into several files for readability. From there you'll move to data structures and explore concepts such as using collections to store multiple copies of a data type. With these foundations of C++ firmly applied, you'll be ready to learn the basics of pointers that you'll need for all of your C++ programming. Next comes an introduction to object-oriented programming (OOP) concepts, including classes, objects, inheritance, virtual methods, and polymorphism. From there, reading and writing data files (serialization) are covered. The book concludes with an exploration of how to use the Simple DirectMedia Layer to display graphics and handle basic input, sound, linked lists, templates, along with a variety of more advanced topics, including using SDL to create a simple demo. This book is ideal for an introductory C++ course, or for anyone wanting to teach themselves C++ through the creation of game projects!