𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

MonoGame Mastery: Build a Multi-Platform 2D Game and Reusable Game Engine

✍ Scribed by Jarred Capellman; Louis Salin


Publisher
Apress
Year
2020
Tongue
English
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Master the art of game creation with MonoGameβ€”the cross-platform framework of choice for independent developers. Learn the various aspects needed to create your next game by covering MonoGame framework specifics, engine creation, graphics, patterns, and more. The MonoGame framework provides an incredible canvas for the programmer to create their next 2D game, and this book teaches you to make the most of it. You will start from the ground up, beginning with the basics of what MonoGame is, the pipeline, and then how to build a reusable game engine on top of the framework. You will deep dive into various components of each aspect of a game, including graphics, input, audio, and artificial intelligence. The importance of game tooling is also covered. By the end, you will have a mastery level of understanding of how to create a 2D game using MonoGame. With a fully functional 2D game, aspiring developers will have the ideal blueprint to tackle their next fully featured game. The material covered is applicable for almost any 2D game project ranging from side scrolling adventures to fighting games.

What You Will Learn
- To build a game with the MonoGame framework.
- Understand game engine architecture and how to build an engine onto the MonoGame framework.
- Grasp common design patterns used in game development and in fully featured engines, such as Unity.

Who This Book Is For

Beginner to advanced MonoGame programmer would find this book helpful. The audience is expected to have a working knowledge of C#.

✦ Table of Contents


Table of Contents
About the Authors
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: Introduction
Who This Book Is For?
What This Book Is Not
Reader Assumptions
What Is MonoGame
MonoGame Compared to Engines
Game Types Best Suited for MonoGame
Vertical Shooters
Horizontal Shooters
Side Scrollers
Role Playing
Puzzle
Strategy
Organization of This Book
Code Samples
Summary
Chapter 2: Configuring the Dev Environment
Development Environment Configuration
Platform Agnostic
Set Up Your Windows Development Environment
Set Up Your macOS Development Environment
Set Up Your Linux Development Environment
Additional Tooling
Tools
Source Control Tools
GitHub (Windows, macOS, Linux)
TortoiseGit (Windows Only)
Graphics Tools
Blender (Windows, macOS, Linux)
Gimp (Windows, macOS, Linux)
Visual Studio Extensions
Live Share (2019 and Code)
Visual Studio Spell Checker (2019)
Visual Studio IntelliCode (2019 and Code)
Summary
Chapter 3: MonoGame Architecture
MonoGame Architecture
Pipeline App
Game Class
Your First Rendered Pixels
Creating the Solution and Project
Diving into the Project
Diving into MainGame.cs
Execution Order
Summary
Chapter 4: Planning Your Game Engine
Game Engine Design
Player Input
Artificial Intelligence (AI)
Event Triggers
Graphical Rendering
Sound Rendering
Physics
State Management
Implementing the Architecture of the Engine
Creating the Project
Creating the State Classes
Creating the Scaler and Window Management
Window Scaling
Full-Screen Support
Event System
Summary
Chapter 5: Asset Pipeline
MonoGame Asset Pipeline
ContentManager Class
T LoadLocalized(string assetName)
T Load(string assetName)
void Unload()
MonoGame Pipeline Tool
Integrate the Asset Pipeline into the Engine
BaseGameState
MainGame
Add a Player Sprite to the Game
Reviewing the New Assets
Adding the New Assets to Our Content
Game Code Changes
SplashState
GameplayState
Running the Application
Summary
Chapter 6: Input
Discussing the Various Input Mechanisms
Keyboard State
Mouse State
Gamepad State
Scrolling Background
Creating a Generic Input Manager
Shooting Bullets
Summary
Chapter 7: Audio
Refactoring the Engine
Code Organization
Audio
Playing a Soundtrack
Sound Effects
Summary
Chapter 8: Particles
Anatomy of a Particle
Learning with an Online Particle Editor
Different Shapes of Particle Emitters
Adding a Particle System to Our Game
Particle
EmitterParticleState
IEmitterType
ConeEmitterType
Emitter
Adding a Missile and Smoke Trail to Our Game
Creating a Dev Game State to Play With
Adding the Missile Game Object to Our Game
Summary
Chapter 9: Collision Detection
Techniques
AABB (Axis Aligned Bounding Box)
OBB (Oriented Bounding Box)
Spheres
Uniform Grids
Quadtrees
Other Techniques
Adding Enemies to Our Game
Rotating Our Chopper
Spinning Blades
Making the Choppers Move
Adding an Explosion Particle Engine
Adding Collision Detection
Bounding Boxes
AABB Collision Detection
Summary
Chapter 10: Animations and Text
A Bit of Refactoring
Animations
Sprite Sheets
Texture Atlas
Animation Downsides
State Machines
Animation Engine
Animating Our Fighter Plane
Text
Fonts
Adding Fonts to the Content Pipeline
Fonts As Game Objects
Tracking Lives
Game Over
Summary
Chapter 11: Level Design
Level Editors
What Is a Level?
Level Events
Level Readers, Levels, and Our Gameplay State
Adding Turrets
Game Art and Origins
Turret Bullets
Collision Detection
Cleaning Up
Adding Text
Reviewing Our Level Design
Improving the Gameplay
Summary
Index


πŸ“œ SIMILAR VOLUMES


MonoGame Mastery: Build a Multi-Platform
✍ Jarred Capellman, Louis Salin πŸ“‚ Library πŸ“… 2020 πŸ› Apress 🌐 English

<p><p>Master the art of game creation with MonoGameβ€”the cross-platform framework of choice for independent developers. Learn the various aspects needed to create your next game by covering MonoGame framework specifics, engine creation, graphics, patterns, and more.</p> The MonoGame framework provide

Game Development with MonoGame: Build a
✍ Louis Salin, Rami Morrar πŸ“‚ Library πŸ“… 2021 πŸ› Apress 🌐 English

<span><p>Create a polished game that includes many levels and fights using MonoGame. This book will show you how to add AI agents and 2D physics into your game, while improving the performance of the game engine. By the end of <i>Game Development with MonoGame</i>, you will have created a game worth

Game Development with MonoGame: Build a
✍ Louis Salin, Rami Morrar πŸ“‚ Library πŸ“… 2021 πŸ› Apress 🌐 English

<span><p>Create a polished game that includes many levels and fights using MonoGame. This book will show you how to add AI agents and 2D physics into your game, while improving the performance of the game engine. By the end of <i>Game Development with MonoGame</i>, you will have created a game worth

Godot Engine Game Development Projects:
✍ Chris Bradfield [Chris Bradfield] πŸ“‚ Library πŸ“… 2018 πŸ› Packt Publishing 🌐 English

<p><strong>A project based guides to learn animation, advanced shaders, environments, particle rendering, and networked games with Godot 3.0</strong></p> <h4>Key Features</h4> <ul> <li>Learn the art of developing cross-platform games</li> <li>Leverage Godot’s node and scene system to design robu

Godot Engine Game Development Projects:
✍ Chris Bradfield [Chris Bradfield] πŸ“‚ Library πŸ“… 2018 πŸ› Packt Publishing Ltd 🌐 English

A project based guides to learn animation, advanced shaders, environments, particle rendering, and networked games with Godot 3.0Key FeaturesLearn the art of developing cross-platform gamesLeverage Godot’s node and scene system to design robust, reusable game objectsIntegrate Blender easily and effi