A Minimalist RTS Begins


I decided to pick my next game project by public poll, as an experiment. The voters decided that I should make a Minimalist RTS!

What exactly does "Minimalist RTS" mean? Part of the fun of the idea is that I get to figure that out. I know there are probably a few other attempts at this, certainly ones better than I'll accomplish in a single month, which is the current goal. But, I want to see what I'll build with a clean slate. I'll be looking at other examples to compare after, and possibly following up with an expanded version if this month's version goes well!

Tonight was the first bit of development and already with some basic progress. I had a seed of an idea in my head already, so I just started putting down what was there.

I'm starting with a base assumption that to accomplish something in a month and satisfy the spirit of the theme I need to keep the design to a few constraints:

  • Everything needs to be tile based. This simplifies the placement and interaction of all entities.
  • The entire map should fit in a single screen. No pan. No zoom. This forces me to condense the gameplay.
  • The interactions have to be very simple.

So I got to work and started up a fresh Love2D project folder. One of my favorite things about working with Love2D is that a new project starts with nothing more than a single empty text file. Nothing else. It feels fresh and invigorating and motivating every single time! I started by rendering a simple grid. Once it was rendered I added a hover effect for the mouse over each tile, and then the ability to click and select a current "active" tile.

There are no graphics yet, of course, so I created a map for the tiles that simply identifies the type with a letter drawn in the top left corner. With tile types, I could start to implement actions. First, the map was all Grass (G) tiles. I added a House (H) in the middle. The first action implemented was clicking on a Grass tile to grow a Forest (F) there. Next, dragging the House onto a Forest chopped down the wood, turning them into a Lumberyard (L) and a Grass tile. The Lumberyard can continue to harvest more forests.

The very beginnings of a very small RTS were already taking shape! Of course, this isn't much yet... but its a start.

Of course, this isn't fulfilling the "Real Time" part of "Real Time Strategy" so there are some high priority things to implement as soon as possible:

  • Actions will take some amount of time, with a progress indicator on the tile
  • Instead of manually growing forests, they'll grow at intervals adjacent to existing forest tiles

And, if there's time in the next session of coding, the Lumber yard will keep count of how much wood has been collected. Further down the road, that lumber will (somehow) be used to build more houses. Houses will gain the ability to convert into more than Lumberyards, such as Farms by turning adjacent grass tiles into fields, at which point the Farm would be able to gather a new resource, Food.

Beyond that I really don't know where its headed, but I'm certainly excited to find out.

Leave a comment

Log in with itch.io to leave a comment.