In this lesson we will finish implementing gym battles. This flow is a little different than the capture battle flow and contains its own new set of related states and view controllers for us to finish. Once we finish this step, a player will finally be able to earn badges, which will eventually be used to determine the winner of our game.
C#
Unofficial Pokemon Board Game – Gym Setup
You can catch, train, and manage a solid team of Pokemon, yet asside from the joy of the journey itself we are still lacking any real goal for the game. Much like the cartoon, the goal here is to earn gym badges. The first player to defeat all four gyms is the winner! In this lesson we will lay the ground work for this by creating and updating the models, factories, and systems necessary to support it.
Unofficial Pokemon Board Game – Team Management
Our game supports combat now, but with no way to restore lost hitpoints (outside of cheating in the inspector panel) you wont be able to fight for long. We need some ways to manage our team including healing them, training them and even evolving them. We will implement several new systems and screens to handle all of this.
Unofficial Pokemon Board Game – Capture Battle
With our battle setup complete, now it is time to implement it with various states and display it on various screens. In this lesson we will finish implementing the first type of battle that our game will support – the capture battle. If you are successful, then you will be able to capture the wild Pokemon you encounter and add it to your team.
Unofficial Pokemon Board Game – Battle Setup
If you’ve been playing the game much since the previous lesson, you may have encountered a few Pokemon that you really wanted to capture. In this game, I decided to make capturing a Pokemon harder than simply throwing a Pokeball at it. You actually have to fight with the wild Pokemon to weaken it before you can capture it. Implementing combat completely is pretty involved, so in this lesson we will just do some setup work by creating a few models, factories and systems we will want to use to complete a capture battle.
Unofficial Pokemon Board Game – Random Encounters
Now that we can move around the board, we should start adding the activities related to that journey. The first thing I want to include is the random encounter. This is where a player encounters a wild Pokemon, which can be potentially captured and used as an ally. In this first part, we will simply handle the systems necessary for spawning them and displaying a new screen when they appear.
Unofficial Pokemon Board Game – Board
It’s a little funny that we’ve come so far into a series on making a board game and still haven’t even looked at the game board. In this lesson we will fix that. In addition, we’ll make some pawns, and actually implement the ability to “roll” and move your pawn around the board on your turn.
Unofficial Pokemon Board Game – Transitions
The screens we have implemented so far appear and disappear immediately. That looks fine for some screens, but chances are good you will eventually want to add a bit more polish. In this lesson we will implement a couple more screens that animate onto and off of the screen. We will use a couple of different animations, and see how to continue in our flow after the animations complete.
Unofficial Pokemon Board Game – Setup Screens
Thanks to all the work we did creating our data models in the last lesson, we now have enough that we can continue on with the game flow into the setup screens. In this lesson we will implement two new screens. The first screen will determine the number of players, and the next screen is for configuring each player with a name and starter Pokemon.
Unofficial Pokemon Board Game – Data Models
There are several more models we will need to create before we can start even a basic game. Pokemon, Players, and the Game model itself are all a required part of the setup flow. Technically other data models will need to be created during setup as well, but at a minimum to get the game up and running we will need these three. In addition, each of these models will be provided with a factory class to help create and configure them.