http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd
build a 2D game using your own reusable and performant game engine
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 Game Development with MonoGame, you will have created a game worthy of being published. Over the course of this book, you will be exposed to advanced game development concepts such as scripting and AI as you improve the performance of the game engine with better memory management. You will learn how to create a level editor that you will use to build game levels. You will also pick up tips and tricks for adding polish to your game project by adding a camera system, layers, menus, and improving the game's graphics using pixel shaders and better particle effects. Upon completing this book, you will have a clear understanding of the steps required to build a game from start to finish and what it takes to create a 2D game that could ultimately be published. What You Will Learn Write a performant 2D game engine Script the behavior of game objects Build and use a level editor for your game Add a UI to your game Who Is This Book For Intermediate to advanced C# developers with knowledge of MonoGame. Basic knowledge of how to install and use the 2D capabilities of MonoGame is required, along with knowledge on how to use the content pipeline tool.
Intro -- Table of Contents -- About the Authors -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Chapter 1: Game Performance -- Measuring Game Performance -- Inspecting the Game Performance -- The GameTime Class -- Controlling the Game's FPS Settings -- Using Object Pools -- Conclusion -- Chapter 2: The Content Pipeline Tool -- The Content Pipeline Tool -- The Content Importer -- The Content Processor -- The Content Writer -- The Content Reader -- Extending the Content Pipeline Tool -- Creating a Pipeline Extension -- Adding Logic to Your Extension
Loading and Saving Assets -- Adding Animations to the Content Pipeline -- Creating the XML Template -- Creating the TurnLeft Animation Asset -- Internationalizing Game Text -- Conclusion -- Chapter 3: Cameras and Layers -- Cameras -- How Cameras Work -- Adding a Camera to Your Game -- Making the Camera Travel Up with the Player -- Conclusion -- Chapter 4: Level Editor -- MonoGame. Forms -- How the Editor Works -- Creating the GameEditor Project -- Installing MonoGame. Forms -- Creating the MonoGame Control -- Asset Management -- Using a Better Set of Tiles and Game Objects
The MonoGameControl Class -- Building Your Editor -- Setting the Stage -- Adding a Camera -- Using an Atlas for Your Ground Tiles -- Adding, Moving, and Removing Objects from Levels -- Drawing Items on the Screen -- Adding Game Events -- Conclusion -- Chapter 5: Scripting -- What Is Scripting? -- Sprite Animation and Sound -- What Is a Shader? -- Pausing the Game -- Circle Struct -- Displaying Health -- Setting Up For Debugging -- Conclusion -- Chapter 6: Enemy AI and Algorithms -- Essential Mathematics for Game Movement Logic -- Sine -- Circular Motions Using Sine and Cosine
Using The Distance Formula To Enable Behavior -- Other Non-Linear Motion -- Interactions with the Player -- Bosses and Patterns -- Conclusion -- Chapter 7: Game State and Gamepad Input -- Gamepad Detection -- Game States -- Conclusion -- Chapter 8: Packaging The Game with Bells and Whistles -- Loading in Music and Sound Effects -- Making a Particle Emitter -- Lists and What They Do -- Actual Physics and the Amount of Particles Swaying -- Packaging The Game -- Conclusion -- Chapter 9: Tying It All Together -- Websites For Collaboration and Assets -- Itch.io -- GamedevMarket.net -- OpenGameArt