Shinto Showdown was a game developed by a group of five students at RIT for a 2D Graphics Programming course. I served as lead engine developer for the game.
Shinto Showdown was made in C++ using the DirectX 9 API. We used existing code to serve as a base to use DirectX / Windows functions so that the team could focus on actual game development.
The game is a combination of real time and turned based strategy that takes place in two separate “states”. The first plays in real time where the player is free to move around an isometric tile-based overworld. Each non-invisible tile represents one of 5 affinities: Earth, Water, Fire, Wind and Wasteland. The first 4 grant power to the player in battle while Wasteland is effectively empty space. The player is able change the affinity of any tile to any they wish. Additionally, the player is able to grow special features on 4 elemental affinity tiles. These add an additional point of power for that respective element. This power has a limited number of uses, currently known as “world energy”, which increase with every enemy the player defeats.
Battle is initiated when an enemy comes into contact with the player. Each battlefield is generated based on the player’s location. First, every tile 3 tiles away from the player’s 4 tiles on the overworld are taken. This is done algorithmically so as to handle edge cases and be done in O(n) time, where n is the total number of tiles in the battle. Once all the tiles are taken, a map is generated that is x times bigger than the original, keeping enemy positions Currently x is 1, but the algorithm does handle maps that are bigger while keeping relative positions and still working in O(n) time where n is the total number of tiles in the generated map. Initial playtesting found keeping a 1:1 ratio between overworld and battle tiles best, at least starting out.
In battle, the game becomes turn based where the player and enemies each can move in attack using a system not unlike those found in Disgaea, Fire Emblem or other popular turn based strategy games. Originally the design was for the elements to grant the player different abilities. Due to time constraints, we had to instead have elements grant different bonuses to stats – something we are revisiting for future development.
Overall I am exceptionally happy with how this project turned out. The separate mechanics of the overworld and battle managed to come together and be linked at the end of the course. The biggest problem we had with out game was easily the explanation of mechanics, as there were quite a bit.