Eyes of the Dragon Tutorial Series

This page is for my XNA 4.0 RPG Tutorials series. On this page you will find the tutorials in PDF format as well as the project at the end of each tutorial. Starting with tutorial 14 I will be including the data I create during the tutorials in a ZIP file as well.

If you find an error in a tutorial, have a request for future tutorials in the series, you can post them on my forum. If you are posting errors please give the class and region the error is in. This will make it much easier for me to find the problem.

Part 1 – Getting Stated
This first tutorial is about getting started with the role playing game, Eyes of the Dragon. I create the
basic project, two class libraries, and some components that will be used through out the rest of the
tutorials

Part 1 – Getting Started
Project

Part 2 – More Core Components
In the second tutorial I add in support for Xbox 360 controllers to the input handler. I also add in some
GUI controls and a class to manage them. I add in another screen to the game and show how to move between
game states

Part 2 – More Core Components
Project

Part 3 – Even More Core Components
In this third tutorial I added in a new GUI control, a PictureBox. I also added in another game screen, the playing
screen. I also filled out the starting menu screen

Part 3 – Even More Core Components
Project

Part 4 – Tile Engine
The forth tutorial is about adding in a tile engine for the game. The tile engine is what you will use to draw the
maps the player will use to explore your world. In the next tutorial I will add in more to the tile engine

Part 4 – Tile Engine
Project

Part 5 – Tile Engine Part 2
I continued on with the tile engine in this tutorial. It includes adding in a 2D camera to control scrolling the
map and having maps with multiple layers and multiple tile sets

Part 5 – Tile Engine Part 2
Project


Part 6 – Character Generator
This tutorial covers adding a new control to be used with the control manager and adding in a screen for the player to
create their character

Part 6 – Character Generator
Project

Part 7 – Animated Sprite
In this tutorial I added in an animated sprite for the player to control. I also added two modes for the camera. In
the one mode the camera follows the sprite and in the other the camera moves independently of the sprite

Part 7 – Animated Sprite
Project

Part 8 – Character Generator and Tile Engine
This tutorial improves the character generator by showing a preview of the player’s character selection. I also added
in zooming in and out to the tile engine as well as using a transformation matrix in the drawing code so you no longer
always need to subtract the camera’s position

Part 8 – Character Generator and Tile Engine
Project

Part 9 – Item Classes
This adds in some basic classes for items in the game and a class to manage them. The class for managing them isn’t
meant for invenroty, that will be added later on down the road

Part 9 – Item Classes
Project

Part 10 – Character Classes
This adds in some basic classes for characters in the game and a class to represent the world the game takes
place in.
Part 10 – Character Classes
Project


Part 11A – Game Editor
In this tutorial I add in an editor for the game and move from a static character class system to a dynamic character
class system. This is part one of a three part tutorial

Part 11A – Game Editor
Project

Part 11B – Game Editor
In this second part of tutorial 11. In this tutorial I continue on with adding in editors for the game

Part 11B – Game Editor
Project

Part 11C – Game Editor
In this third part of tutorial 11. In this tutorial I continue on with adding in editors for the game

Part 11C – Game Editor
Project

Part 12 – Updating Game
This tutorial upgrades a few things in the game. I expand on the World class and make the tile engine a little more
efficient

Part 12 – Updating Game
Project

Part 13 – List Box and Load Game Screen
I cover adding in a List Box control and adding in a new screen to load games from. I also updated a couple screens
to make it easier to load games and start new games

Part 13 – List Box and Load Game Screen
Project

Part 14A & 14B – More Game Editors
In this 2 part tutorial I do a little work on the editors and actual create some data that can be read into our
game

Part 14A – Game Editor
Part 14B – Game Editor
Project – 14A
Project – 14B
Game Data

Part 15 – Skills, Spells, and Talents
This tutorial covers adding in some basic classes that will be needed down the road for skills, spells, and
talents

Part 15 – Skills, Spells, and Talents
Project


Part 16 – Quests and Conversations
This tutorial covers adding in some basic classes that will be needed down the road for conversations and quests. It
also updates the game to use the classes from the past two tutorials

Part 16 – Quests and Conversations
Project

Part 17 – Finding Loot
This tutorial covers the basics of placing chests for the player to interact with. They are just being drawn at the
moment but picking them up will come eventually. I also added in a couple place holder classes for traps

Part 17 – Finding Loot
Project

Part 18A & 18B – Finding Loot Part 2
In this 2 part tutorial I do a little work on the the player being able to find loot. I added chests and keys to the
game editor and read in a chest at run time!
Part 18A – Finding Loot Part 2
Part 18B – Finding Loot Part 2
Project – 18
Game Data

Part 19 – Skills Continued
This tutorial expands on skills and adding skills to the editor. Soon I will cover reading in skills at run time and
assigning points to skills

Part 19 – Skills Continued
Project
Game Data

Part 20 – More On Skills
I add a new control to the game and a screen for distributing skill points

Part 20 – Skills Continued
Project


Part 21 – Basic Inventory
This tutorial covers the basics of inventory in the game opposed to the data we have been working with up to now

Part 21 – Basic Inventory
Project

Part 22 – Reading Data
This tutorial covers reading in the data made in the editor and updating the Player class

Part 22 – Reading Data
Project

Part 23 – Level Editor
This tutorial covers creating a basic level editor that you can create levels and draw the map

Part 23A – Level Editor
Part 23B – Level Editor
Project

Part 24 – Level Editor Part 2
I continue on with the level editor in this tutorial adding in some nice enhancements and being able to
write out and read in levels

Part 24 – Level Editor Part 2
Project

Part 25 – Level Editor Part 3
I continue on with the level editor in this tutorial adding in some more features and making the drawing a little
more responsive

Part 25 – Level Editor Part 3
Project


Part 26 – More on Skills
This tutorial covers adding in more about skills to the game. I also updated the game state manager to have a short
transition time between screens

Part 26 – More On Skills
Project

Part 27 – Updates and More on Talents
This tutorial covers adding in more about talents to the game and updating a few components

Part 27 – Updates and More on Talents
Project

Part 28 – More on Spells and Effects
This tutorial covers adding in more about talents to the game and updating a few components

Part 28 – More on Spells and Effects
Project

Part 29 – Weaknesses and Resistances
This tutorial covers adding in weakness and resistances to damage effects

Part 29 – Weaknesses and Resistances
Project

Part 30 – Updating Weapons
This tutorial covers updating weapons to use damage effects

Part 30 – Updating Weapons
Project


Part 31 – Tile Engine Update
This tutorial covers making an update to the tile engine

Part 31 – Tile Engine Update
Project

Part 32 – Tile Engine Update
This tutorial covers adding player to tile collision detection to prevent the player from walking through solid objects.

Part 32 – Tile Engine Update
Project

Part 33 – Conversation Update
This tutorial adds in the plumbing/scaffolding required for the player to have conversations with non-player characters in the game..

Part 33 – Conversation Update
Project

Part 34 – Non-Player Character Sprites
This tutorial continues on where the last one left off by adding a non-player character sprite onto the map. It also implements collision detection with the sprite and the player being close enough to the sprite to start a converstaion.

Part 34 – Non-Player Character Sprites
Project

Part 35 – Conversations
This tutorial covers assigning a conversation to an NPC and transitions from one node of the conversation to another node of the conversation.

Part 35 – Conversations
Project


Part 36 – Animated Tiles
I cover adding animated tiles to the game in this tutorial.

Part 36 – Animated Tiles
Project

Part 37 – Map Editor Revisted
In this tutorial I return to the map editor where I add placing aniamted tiles and placing collisions.

Part 37 – Map Editor Revisted
Project


Good luck in your XNA Game Programming Adventures!
Cynthia McMahon