Building a To-Be-Titled 2D Real-Time-Strategy Game in Unity3D

Three of my favorite game titles are Warcraft 2, Lux and the Civilization series.

Being that I have countless hours logged in those games and many more in board games such as Risk, I decided to take a stab at building a strategy game of my own.

My primary objective with this project is to learn something new, share my progress with the internet and build a working RTS worth playing.

To achieve those goals I am building an MVP that will encapsulate the bare mechanics needed for an RTS. The features I have added thus far are listed below. The next step will be to add battle mechanics before I start playing around with a few concepts I have in mind.

Progress to date

The basic mechanics of what I currently have are similar to those of Warcraft 2 minus the battle system. Graphics have not been considered at this point and are extremely rudimentary. Most of the work put into the game has revolved around the tiling, editing, pathfinding and action queuing systems.

Everything has been written by myself from scratch for this project in C# and HLSL for Unity3D. It should be noted that this is the first RTS I have attempted to build.

Current features and mechanics

  • Basic in-game tile / level editor with several features:
    • Tile painting
    • Unit / structure / etc. placement
    • Support for multiple layers
    • Pen, eraser, flood fill, flood select tools
    • Group delete after flood select
  • Ability to save / load levels
  • Pathfinding algorithm
    • Custom implementation of A* algorithm
    • Action queuing / running system
      • Chain a group of IAction classes
      • Chain queues of IAction groups and distribute to one or many units
  • Tiles which are rendered on a mesh (rather than individual game objects)
    • Single shader takes care of all ground tiles
    • No need for collision detection
  • Ability to add any number of tile sets
  • Ability to harvest, accumulate and spend resources
  • Ability to assign repeatable actions to units
  • Ability to buy + spawn new units
  • Ability to build structures
  • Select individual or groups of units
  • Assign unit groups to hot keys

There is much work yet to be done. I will share my progress and some of the more technical details surrounding the game's features and mechanics in my upcoming posts.

Leave a comment

Log in with to leave a comment.