This tutorial will introduce you to game development on Windows 8 by using the MonoGame open source library, and Visual Studio 2012.
During the course of this tutorial, you will build a 2D game by using MonoGame while becoming familiar with the key concepts of game development.
The focus of this tutorial is writing a game that has multiple elements on screen at the same time. Since the game must keep track of the elements by rendering them, updating them and tracking the ways in which they interact with each other, this will present a challenge from both a logical and performance perspective.
This tutorial is an adaptation of the Honeycomb Rush Hand-On-Lab originally published on the XNA Creators Club (located at http://xbox.create.msdn.com/en-US/education/catalog/lab/honeycomb_rush).
For this tutorial, Michael Cummings (http://michaelcummings.net) and I have taken the original lab and code and updated it to work with MonoGame and Windows 8 instead of previous XNA implementation within XNA Game Studio. Since MonoGame is a native cross-platform game framework, additional platforms like Windows Phone 8, Mac OSX, iPhone, iPad and Android Phones & Tablets will be covered in an additional series.
As an added bonus, we will use the Buddy API (http://buddy.com) to implement the high scores screen. By using the Buddy API, you can enable your games to be more social and drive interest in your game.
This tutorial was originally presented in two parts at MonkeySpace 2013 in Chicago, IL USA. You can find both sets of presentations here.
By the end of this tutorial you will have:
A high-level understanding of the MonoGame application model within the Windows 8 operating system
Learned how to use Content & Resources (images, fonts, et cetera) in your game
Learned how to add Game logic
Learned about 2D rendering in MonoGame
Learned how to use Touch and Gesture input to control your game
Learned how to write a performance intensive game
Learned how to call an external Web API to save and load information
Learned how to start to make your game cross-platform
The following is required to complete this hands-on lab:
Visual Studio 2012 or Visual C# Express 2012 for Windows 8
Windows Phone 8 SDK or Windows Phone Developer Tools
The delivery of this tutorial is broken down into smaller bite-sized chunks that can be completed in a short period of time. At the end of each chapter you will have added more functionality to your game. This tutorial is separated into two exercises; Tasks in Exercise/Part 1 can be found here on my blog and Tasks in Exercise/Part 2 can be found on Michael Cumming’s blog.
For my blog, the following tasks will be completed:
Create game project
Basic game rendering
For Michael’s blog, the following tasks will be completed:
Polishing the game – Adding sound
Polishing the game – Adding animation
Creation of additional screens and menus
The following table lists all of the tasks that will be completed in this tutorial with links to them for easier access.
Table of Tasks
Exercise 1: Create Basic XNA Framework Game with MonoGame
(Found on this blog)
Task 1 – Create MonoGame Game Project
Task 2 – Adding Assets (Content Pipeline)
Task 3 – Creating the Gameplay Screen
Task 4 – Adding Helper Classes
Task 5 – Base Classes
Task 6 – Beehive Component
Task 7 – Bee Component
Task 8 – Worker and Soldier Bee Components
Task 9 – BeeKeeper Component
Task 10 – ScoreBar Component
Task 10 – HoneyJar Component
Task 12 – Vat Component
Task 13 – SmokePuff Component
You will find the following chapters at Michael Cumming’s blog:
Exercise 2: Game Polish and Menus
(Found on Michael’s blog)
Task 1 – Background Screen
Task 2 – Main Menu Screen
Task 3 – Loading and Instructions Screen
Task 4 – Pause Screen
Task 5 – LevelOverScreen
Task 6 – Putting It Together
Task 7 – Adding Sounds
Task 8 – Integrating Components with Countdown Stage
Task 9 – HighScoreScreen and Logic
Task 10 – Integrating the High-Score Screen
Excited Yet? Well I am! So on your Mark, Get Set, Ready to Code.