Mastering-Cpp-Game-Development - Code files for Mastering C++ Game Development, published by Packt

Overview

Mastering C++ Game Development

This is the code repository for Mastering C++ Game Development, published by Packt. It contains all the supporting project files necessary to work through the book from start to finish.

About the Book

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.

By the end of the book, you will have a good understanding of the structure of modern high-end games and have the tools to create them.

Instructions and Navigations

All of the code is organized into folders. Each folder starts with a number followed by the application name. For example, Chapter02.

The code will look like the following:

#include <BookEngine/IGame.h>
#include "App.h"

int main(int argc, char** argv)
{
	App app;
	app.Run();

	return 0;
}

Software and Hardware Requirements

To get the most out of the examples and development experience, it is recommended you to have a relatively newer development device with at least the following things:

  • CPU: 4 cores
  • Memory: 8 GB RAM
  • Disk space: 40 GB

The examples (with a few exceptions) have been designed to run on both macOS and Windows PC devices. To follow along you should have the following software installed:

  • PC: Visual Studio 2015 Community or better
  • macOS: XCode 8.x or better. Other software needed will be described as required.

Related Products

You might also like...
chap analyzes un-instrumented core files for leaks, memory growth, and corruption
chap analyzes un-instrumented core files for leaks, memory growth, and corruption

chap analyzes un-instrumented ELF core files for leaks, memory growth, and corruption. It is sufficiently reliable that it can be used in automation t

High performance library for creating, modiyfing and parsing PDF files in C++

Welcome to PDF-Writer. A Fast and Free C++ Library for Creating, Parsing an Manipulating PDF Files and Streams. Documentation is available here. Proje

Programming Language T#. Compiled language. In development.

Programming Language T# WARNING! THIS LANGUAGE IS A WORK IN PROGRESS! ANYTHING CAN CHANGE AT ANY MOMENT WITHOUT ANY NOTICE! $ make func main() {

This is an active mirror of the KiCad development branch, which is hosted at GitLab

This is an active mirror of the KiCad development branch, which is hosted at GitLab (updated every time something is pushed). Pull requests on GitHub are not accepted or watched.

T# Programming Language. Interpreted language. In development. I will make this compilable later.

The T# Programming Language WARNING! THIS LANGUAGE IS A WORK IN PROGRESS! ANYTHING CAN CHANGE AT ANY MOMENT WITHOUT ANY NOTICE! Install Install $ make

C code that make nice posters
C code that make nice posters

ProgrammingPosters C that that make nice posters of short C programs. This generates A2 300D DPI images of programs that implement intresting graphics

Code profiler based on Frida

Code Profiler Based on Frida This repository contains the code to profile LIEF functions with Frida. Get Started Make sure to download the right versi

An Repositery with Ghost eShop Homebrew Source Code
An Repositery with Ghost eShop Homebrew Source Code

Ghost-Eshop-Alternative-3DS An Alternative eShop for Nintendo 3DS This is a clone of Universal-Updater Download Requirement -Latest version available

Public Code Repository of the iRotate Active SLAM for Omnidirectional robots at the Max Planck Institute for Intelligent Systems, Tübingen
Public Code Repository of the iRotate Active SLAM for Omnidirectional robots at the Max Planck Institute for Intelligent Systems, Tübingen

iRotate: Active Visual SLAM for Omnidirectional Robots This repository contains the code of iRotate, an active V-SLAM method submitted to RA-L + IROS2

Owner
Packt
Providing books, eBooks, video tutorials, and articles for IT developers, administrators, and users.
Packt
A reliable and easy to use CPP program header file for simplifying, code writing in cpp

CPP Custom Header This header file main purpose is to implement most famous and most used algorithm that are easy to implement but quite lengthy and t

Jitesh Kumar 1 Dec 22, 2021
Homework repo of Modern Cpp for CV (2020Spring) at UniBonn

Modern C++ Course For CV (2020) source file can be found here. Homework Assignments Homework # Title Homework sheet Files and Data MyStatus Homework_1

Yujie He 25 Oct 8, 2022
cpp fundamentals and questions for beginners and intermediates

DSA 60 days Hi people! So we have started grasping dsa concepts and solving problems from 12 July. And we shall continue till September 10 Starting fr

Sushree Satarupa 211 Jan 5, 2023
An CPP Adaptation of esHTML. For better porpuses.

Keepy Keepy is a pseudo-language / HTML preprocessor that translates special syntax into HTML with the peculiarity of being a "compiled pseudo-languag

Alex 1 Jan 1, 2022
Cpp-semver - Semantic Versioning in C++

cpp-semver - Semantic Versioning in C++ Features header-only C++11 parses semver string inspired by Semantic Versioning and npm-semver API handling st

Cas Perl 26 Oct 11, 2022
A project uses for beginners, who wants to learn basic Cpp.

Learning Basic Cpp The basic project for who wants to learn Cpp. Notes: All the files are coded using Microsoft Visual Studio 2019. If you want to cod

null 1 Jan 28, 2022
C++ OpenGL 3D Game Tutorial Series - Learn to code an OpenGL 3D Game in C++ from scratch

C++ OpenGL 3D Game Tutorial Series is a YouTube Tutorial Series, whose purpose is to help all those who want to take their first steps in the game dev

 PardCode 118 Dec 22, 2022
Introducing to the world - Maze Game! A game with an easily accessible, user-friendly interface that will provide you the serotonin a game should!

Maze-Project Maze game by Maze™ ?? About Introducing to the world - Maze game! ⛏️ Used technologies C++ ✅ Features 3 levels of difficulty User-friendl

Yoana Agafonova 6 Jun 2, 2022
Welcome to my dungeon. Here, I keep all my configuration files in case I have a stroke and lose all my memory. You're very welcome to explore and use anything in this repository. Have fun!

Fr1nge's Dotfiles Welcome to my dungeon. Here, I keep all my configuration files in case I have a stroke an d lose all my memory. You're very welcome

Fr1nge 33 Oct 28, 2022
C++98 library that encapsulates memory-mapped-files for POSIX or Windows

Memory-Mapped File C++ Library Tutorial and Reference Purpose This is a library, for the C++98 language and its successive versions, to handle files a

Carlo Milanesi 84 Dec 28, 2022