Log In  

Battle your computer opponent to the death. Build and upgrade your defences, attack enemy towers and explore the procedurally generated world. Win by defeating all enemy towers.

Your minions harvest wood. Use this to build new towers or upgrade existing ones.
Select your tower once warriors are present and target an enemy tower to attack.

A button/Z key - build or select
B button/X key - cancel command, or if on your own tower upgrade it.
A button - double click on tower - transfer warriors from one tower to another

Note once you've selected towers the cursor goes red, this means you must select either enemy towers to attack or your own towers to get more warriors involved or to transfer. Click the X key (B button) to cancel out, and be able to build again (notice cursor goes yellow).


To build a new tower - move the cursor using the D-Pad or arrow keys to the location you like- ideally near a forest and press the A button (z key). You can only build bases on green grass land. Note the grey fog of war will disappear revealing more of the map as you build out towers and as your minions roam further.

Two minions spawn per base and will chop down trees and bring it back to it's home tower. If this tower is destroyed, the minions die as well.

Each tower will produce 1 warrior per wood contained directly in the tower. Move your cursor over your tower to see it's statistics. When you first build a tower, it starts at level 1 and can house only 4 warriors. You can upgrade a tower (if you have enough wood - 4 to get to level 2, and then 8 to get to level 3) by moving the cursor to the tower and pressing the B button (X key). While upgrading you can't attack from the base and new warriors won't spawn. However upgraded towers can hold more wood, and spawn more warriors.

To attack the enemy, select a tower with the cursor and press the A button (Z key). The cursor will turn red. You may now select an enemy tower to send half your warriors. Press the button repeatedly to send more warriors - it will always leave 1 back at the home tower. Note you can select multiple towers to send minions from. So select your source towers first (where the warriors will come from), then select the single enemy target.

Also you can transfer warriors from one tower to another. To transfer, select one of your bases with lots of warriors then select a tower with room to spare for more warriors, and double click the A button (Z key) on the destination tower. This will transfer half- double click again to transfer more.

You win by defeating all enemy towers.

Updates Jan 5-2017

  1. Changed computer/AI opponent to also use fog of war rules.
  2. Adjusted AI logic to not build it's own towers so close together
  3. Adjusted AI to attack from multiple towers more often when it outnumbers you substantially. Less stalemate outcomes arise then.
  4. Made it visible which towers had been selected when transferring warriors or attacking.

Updates Jan 4-2017

  1. Fixed fog bug (was off by 4 pixels)

Updates Jan 2-2017

  1. Path finding (uses A* algorithm, so no more lost minions)
  2. Improved fog/visuals - thanks to Offler for the pretty fog
  3. Hard mode is much harder now
  4. Computer will attack in a wider radius if there is not activity for extended periods

Cart #35038 | 2017-01-06 | Code ▽ | Embed ▽ | No License

P#34537 2016-12-30 15:59 ( Edited 2017-03-13 12:43)

Excellent! It's very difficult even on the easiest setting though, and I couldn't figure out how to get my people to attack the enemy towers, and they kept killing all of mine.

P#34551 2016-12-30 18:56 ( Edited 2016-12-30 23:56)

This is cool...but yes, quite difficult - I find the iconography difficult. I don't know what's an attacking tower vs a spawner or whatever. Maybe "legend" screen that shows me what's what so I know what I can/should build.

I can see a lot of fun in here though...

P#34559 2016-12-30 22:06 ( Edited 2016-12-31 03:06)

Thanks. I made a few tweaks on difficulty. On easier settings the enemy towers won't attack unless your closer, and they upgrade less often.

Also I tweaked the controls, so you can multi-select your towers now, then select the enemy tower to attack. This sends all the warriors from the selected bases in one shot (well half of the warriors from each tower, per click- always leaves one behind no matter what for defense).

For now I quickly added some instructions in this post to give more game play instructions.

P#34573 2016-12-31 01:40 ( Edited 2016-12-31 06:40)

very cool

P#34575 2016-12-31 03:01 ( Edited 2016-12-31 08:01)

I love it!

With the instructions in this post it's easy to play. Without it I would have been lost.

The difficulty now is perhaps a bit low.

P#34586 2016-12-31 05:44 ( Edited 2016-12-31 10:44)

Thanks! - I'll work on the AI a bit more, especially on the hardest difficulty setting - make sure it's a proper challenge!

P#34592 2016-12-31 08:48 ( Edited 2016-12-31 13:48)

Just added a quick update. Two main changes:

  1. in the hardest difficulty, the computer starts with 4 wood in its home base - meaning it builds out quicker

  2. when the game drags, if last attack is too long ago by the computer, it expands its radius that it will attack from - should make the computer a bit more aggressive.
P#34599 2016-12-31 10:23 ( Edited 2016-12-31 15:23)
Runtime error
if ((game_ticks - last_attack) > 450) then
Line 1289: attempt to perform arithmetic on global 'last_attack' (a nil value)
in computer_move line 1289
in _update line 1372

How I can see in code, last_attack is not initialized, which can lead to problems under certain condition. Pico-8 has no warnings, so you should be very careful yourself.

P#34603 2016-12-31 11:46 ( Edited 2016-12-31 17:17)

oops. sloppy ;) Fixed now and reposted.

P#34608 2016-12-31 12:17 ( Edited 2016-12-31 17:17)

This is awesome! The enemies don't have fog of war, though, right? It feels a bit like an extra challenge the player has to deal with, but you basically just have to expend two wood to build a tower on the edge... Either way, it's still a lot of fun to play. You've made a really functional little RTS!

P#34626 2016-12-31 21:08 ( Edited 2017-01-01 02:08)

Cart #34764 | 2017-01-02 | Code ▽ | Embed ▽ | No License

I played with making the fog of war less square. It's not working 100%, there is a short delay before the fog turns pretty. I also made the instruction text scroll pixel wise, not character wise. The fog requires 16 sprites, they are easy to change the appearance of.

As I played this a bit more, here are a few comments:

  • The sounds are great. I played it muted the first few times, but it's so much better with sound.
  • The two buttons and double tap and so on makes it unintuitive to play. I don't really have any suggestions on changes yet, but I'll think about it.
  • When you select one or more towers it would be nice if they were shown as selected on the map.
  • The abbreviations and numbers on the top and bottom line are pretty difficult to decipher. Perhaps some symbols would make it easier?

That's it for now. I planned to add mouse support, but it seems my time is up for today!

Thanks for a great game!

P#34765 2017-01-02 16:59 ( Edited 2017-01-02 21:59)

That fog is really cool! Amazing what a difference a change like that makes- same with the minor tweak to the lakes.

I just posted a new version with improved path finding - I used the A* algorithm, so no more minions or warriors getting lost. Also fixed a few bugs with the controls.

I'll add something to show selected towers- that's a good thought, and I'll look through your code here and put the fog changes in place.

P#34811 2017-01-03 00:30 ( Edited 2017-01-03 05:30)

Great that you fixed the path finding, sometimes the warriors got confused before.

There are some problems with the fog. You need to draw them at a half a tile offset (4px up and 4px left). I also created a small fget (fog get) function you need to use in the logic to check for fog. I had an error earlier today with the current bbs cart that I think was because if that.

P#34838 2017-01-03 11:25 ( Edited 2017-01-03 16:25)

"I also created a small fget (fog get) function you need to use in the logic to check for fog."

I see that here:

function fget(x, y)
  return band(1,mget(x+32,y))

But wouldn't that mess with the built-in fget function of Pico-8 (the one used to get sprite flags)?

P#34839 2017-01-03 11:35 ( Edited 2017-01-03 16:35)

Thanks for the reminder @Scathe! I had completely forgot about the built in fget. I guess I would have named it fog_get if I had remembered.

P#34841 2017-01-03 11:49 ( Edited 2017-01-03 16:49)

Almost seems like the AI has some kind of wood bonus. They build up far quicker than should be possible, and don't seem to have any fog of war restrictions. Only time I could beat the easiest difficulty was when I found it immediately, and stopped it from building any new towers.

P#34981 2017-01-05 06:19 ( Edited 2017-01-05 11:19)

The AI on the most difficult setting does start with slightly more wood than you. I dropped that by one in the most recent build as it really made it near impossible I was finding. Also I just updated it to use fog of war for the AI as well, so I think it's more even now, at least on the first two difficulty settings.

P#35035 2017-01-05 20:36 ( Edited 2017-01-06 01:36)

@gfcarstensen I played a game that I thought went really well. Until I had removed all fog of war and found out that I didn't have an opponent! I can't figure out how that happened, maybe you can?

P#35245 2017-01-08 09:53 ( Edited 2017-01-08 14:53)

Well that shouldn't happen - ha! I'll have a look and see if I can recreate it!

P#35304 2017-01-08 22:07 ( Edited 2017-01-09 03:07)

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2023-02-08 08:08:51 | 0.021s | Q:41