Minimum Viable Product - ChillChiliStudio/Order227 GitHub Wiki
Main Index
- Introduction
- Vertical Slice Milestone
- Troops Control
- Game Background Functionality
- Map & Terrain Functionality
- User Interface
Introduction
This document describes the minimum characteristics that the game Order 227: Not A Step Back for the version v0.1 or Vertical Slice, that has the deadline on April 21st, 2019.
As such, the elements describe in the next sections must be treated as a priority before those that are only described in the Game Design Document. In relation of the artistic part, it can be pretty simple, ignoring not important animations (such as building’s animations), doing basic maps...
Vertical Slice Milestone
The Milestone for the Vertical Slice deliver, following the Milestones section of the Production Plan, must contain the next features:
- Basic Map with working Base and Terrain without Fog of War
- Basic Infantry Divisions (Allied & Enemies) & Basic Control - Basic Infantry, Bazooka, Machine Gun, Sniper, Cows and Dogs - Attack, Move and Hold
- Basic Hordes System (5 easy waves)
- Win & Lose Condition with current waves quantity
- Basic AI Behaviour - Objective Fixing, Pathfinding and attack
- Economic System (money gathering and expenditure)
- Primarly Strategic Point Control System (basic rewards)
- Basic UI (Main Menu, Game, Pause and Win/Lose Basic Screens)
- Basic key controls (orders giving, camera move, hordes' in-between time jump and pause)
In the next sections of this documents, these features will be described in detail, but for now we will divide them into four categories (Troops Control, Map & Terrain Functionality, Game Background Functionality and User Interface) in order to make the explanation easier. Inside each category, there will be a priority hierarchy, meaning that the ones with a higher priority must be done before the others in order to ensure the Milestone functionality and structure. That priority will be a number classification from 1 to 3 in which 1 represents the higher priority, 2 the mid one and 3 the lower priority. Still, and as told above, all tasks detailed in this document are more important than others only described in Game Design Document, meaning that they have to be done before keep going with GDD features additions not described here.
Troops Control
Troops Control category includes the following features.
Basic Infantry Divisions & Basic Control
Task Priority: 1
This task requires to have in the prototype the main infantry troops, it’s behaviours, cost, production and characteristics. The troops required are (in parenthesis the faction to which belong the unit referred):
- Basic Infantry Division (Both)
- Machine Gun Infantry Division (Both)
- Sniper Unit (Both)
- Cow Unit (Allied)
- Melee Attack Dogs Division (Allied)
- Bazooka Infantry Division (Both)
The troops above are ordered by importance, meaning that the first that has to be done is the Basic Infantry Division and the last one the Bazooka Infantry Division.
For the Allied faction, the basic behaviour of the AI must be done (explained downwards) and for the Soviet faction (controlled by player), the basic control and order’s flow (see Artificial Intelligence section in Technical Design Document) must be done: troops selection and orders for moving, holding and attacking.
More complex orders like Moving & Attack or Patrol can be ignored for this version.
Of course, the player’s troops will be created in base (and must have its correspondant production time).
Basic Hordes System
Task Priority: 2
Five waves with a basic Hordes System of enemies spawning from 4 points. Each enemy troop must have a thread value and each spawning point must have a thread threshold. These thread threshold must be filled with enemy units picked randomly and spawning in the map. The thread threshold for each spawning point will be:
- Round 1: 1 Active Spawn Point with threat threshold 10
- Rounds 2 - 3: 2 Active Spawn Points, 20 threat threshold for each
- Rounds 4 - 5: 3 Active Spawn Points, 40 threat threshold for each
Thread value of each unit is the same than stated in GDD:
- Basic Infantry Division - 1
- Machine Gun Infantry Division - 2
- Sniper Unit - 5
- Cow Unit - 1
- Melee Attack Dogs Division - 5
- Bazooka Infantry Division - 5
If this feature gets complicated, as an safe measure, the Game Designer can decide to change the method of hordes system for the Vertical Slice delivery, and therefore, determine in a more “manual” way, which troops will appear in each round and at each spawning points.
Basic AI Behaviour
Task Priority: 2
The enemy’s Artificial Intelligence must follow basic guidelines and build, partially the enemy AI loop described in the Technical Design Document. The troops must set an objective (Strategic Point or Base decision will be fully as the TDD describe), walk towards it and, if a player’s troop appears in its vision range, set it as a new objective and attack it. When arriving to a Strategic Point, they must stay there 10 seconds and then go to the base and attack it until base is destroyed.
Game Background Functionality
Game Background Functionality category includes the following features.
Win & Lose Condition
Task Priority: 1
This is very important since the game loop fully depends on it. The win and lose conditions will be the same than in the Game Design Document: player loses if its base is destroyed and wins if the 5 hordes are cleared of enemies.
Economic System
Task Priority: 1
This feature is also important since troops depend on it. The main base must give the money quantity described in Game Design Document (remember that can be subject to changes) and the troops’ production must have a cost in money (also described in Game Design Document).
Console With Main Debug Settings
Task Priority: 3
This task is important in terms of easing the development and testing of the game, but has not importance for the build itself, that’s the reason why it has a lower priority. A console must be done with main debug settings, they are:
- Walkability Map showing
- Adding money to the player
- Build a selected troop automatically (no production time and no cost)
- Make a selected enemy troop appear
- Unactive current horde (kill all enemies automatically) and active a selected horde with its characteristics
- Selected Strategic point is controlled/uncontrolled
- Kill all enemies spawned
Basic Key Controls
Task Priority: 2
The key controls that must be added in this build are:
- Camera Move with WASD (also by moving the mouse to screen limits)
- Selecting and enqueuing with Left Button of Mouse
- Move orders or dequeuing with Right Button of Mouse
- ESC to Pause
- R to skip hordes’ in-between time
Map & Terrain Functionality
Map & Terrain Functionality category includes the following features.
Basic Map and Terrain
Priority: 1
Basic map and terrain must be done and it has to have a working base, 6 differentiable strategic points, no Fog of War and walkability map. The high priority is because is a must in what we want to achieve in the Vertical Slice build.
Primarily Strategic Point Control System
Priority: 3
The Strategic Points must have 4 enemies (the ones stated in the GDD) in case that the player does not control it (or stops controlling it, exceptuating the moment in which the player has activated the control time), and the site itself must be controllable by the player if it leaves no enemies and has troops in there. Of course, the enemy must be able to “unconquer” the site. All Strategic Buildings must ONLY give the money bonifications shown in the Static Buildings section of the Game Design Document.
Low priority is because, even though is an important mechanic of the game, is not the most important, so we can ignore them in case that something in the development goes wrong and we have no time.
User Interface
This is a whole same task with Priority: 1 (since we need a simple UI working for this prototype).
The User Interface for the Vertical Slice build must be as simple but as functional (and effective) as possible, just ensuring the main flow between screens and only the necessary one. The requirements are:
- Main Menu with:
- New Game button (saving/loading in this build won’t be allowed) that leads to a new game
- Credits button leading to a simple credits screen
- Exit button that leaves the game
- Credits Screen showing each teammate’s name, github and responsibility
- In-Game HUD with:
- UI bar at the bottom with the Production panel (the squares to select the units production, which will have only the units enabled to produce in this prototype), Troops Information (showing the troops/buildings selected, the quantity of troops selected, and the life and income if any), and the available orders to give in the right part (no need of showing a minimap)
- Selection mark over a troop/building selected showing its life bar
- Pause screen stopping the game with the Resume button (that resumes the game) and the Exit one (to leave to main menu, no confirmation alert needed)
- Basic Win/Lose screen just showing if the player has lost or won and how many hordes he survived (as well as total money gathered)