I'm in pre-production on a strategy game and am trying to determine if the core gameplay will be fun. A good technique to determine this is to strip the game down to its minimum viable product (MVP) and see if that is fun. If the MVP isn't fun, then no amount of extra content or features will make it fun.
I'm having difficulty determining the MVP for a strategy game as I'm a little too far into the weeds to see which of the many design features are core mechanics and which are unnecessary.
Purely as an example, lets just say StarCraft2 is the strategy game I want to make. What would be the MVP for SC2 to prove out that its core gameplay is fun?
Answer
Real-Time Strategy is a genre which actually combines multiple games in one. You have a management game (resource management and build orders), a puzzle game (building a base with a functional yet easy to defend layout), two different kinds of exploration games (exploring the map and exploring which units beat which other units), and a tactics game (controlling your units in battle). You obviously can't create all these five games at once, so you should just focus on one of them at first.
In this answer I am focusing on two of these games which I consider most essential to the genre: Unit controlling and base building.
- Create a player-controlled "tank" game object (represented as an untextured cube) on an empty plane which moves to a new position when the player clicks there.
- Add immobile AI targets (represented by a cube in a different color) which get deleted when their HP go below 0, and the ability for the tank to fire on the closest target to reduce its HP.
- Add the ability for the targets to shoot back when the player-tank is in range.
Now you have a playable strategy/puzzle game: Navigate your tank from target to target in a way that it doesn't fight more than one at a time and destroys them all before itself gets destroyed. This is basically how you attack a base with defensive turrets in an RTS game.
Next steps to pursue in no particular order:
- Add a simple AI to the opponents so they can move and not just shoot back
- Add multiple player units to control and the UI for selecting units
- Add buildings (see "Base Building MVP" for details)
- Add more types of units with different ranges, weapon strengths and hit points
- Add blocking terrain to the map and route finding to the unit AI so they can navigate around it.
- Replace the units with properly animated graphics
- Add win and lose conditions
- Create an empty plane and allow the player to place a building on that plane by clicking
- Add different kinds of buildings and an UI which allows the player to choose which building to build
- Add construction times and resource counters
- Add buildings which create resources in regular intervals (I wouldn't implement worker-units yet because they require too much AI programming to work) and a ruleset for when you can build which building ("can only build a factory when you have at least one finished barracks").
Now you've implemented the first few minutes of a Starcraft game: Figuring out the ideal build order to get the buildings you want as fast as possible.
In fact you could stay here and polish it, and you have a simple resource management game. But if you are still sure you want to create an RTS, then the next steps would be in no particular order:
- Add an AI which builds its own buildings
- Add terrain features which prevent buildings from being built (or are a requirement for placing certain buildings, like "farms can only be built on fertile terrain")
- Add mobile units (see "Unit Controlling MVP" for details) which can destroy enemy buildings
- Add construction jobs to individual buildings which can be started, take a certain time to complete and can be aborted by the player.
- Create building types which interact with each other in some way (in Starcraft, these would be Terran addons or Protoss pylons, for example)
I am looking forward to playing your game.
No comments:
Post a Comment