Honeycomb Rush Tutorial for Windows 8 (Presentation/Code from MonkeySpace Conference)

Overview

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.

Objectives

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

Prerequisites

The following is required to complete this hands-on lab:

  • MonoGame :
    http://monogame.net
  • 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:

  1. Create game project
  2. Basic game rendering
  3. Game logic

For Michael’s blog, the following tasks will be completed:

  1. Polishing the game – Adding sound
  2. Polishing the game – Adding animation
  3. 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.