TTP#1 - Tactical Terminal Puzzle - 5 EMP's

Hi everybody,

I thought of a (potentially) fun way to give you guys some ideas to think about formulating your own base designs, with the help of a few challenges. If you guys like it I can turn this into a series.

The first challenge is: let’s say the board is completely empty. The opponent launches a scary 5 EMP stacked attack from a spawn on 8th row (so somewhere in the middle). You are given unlimited cores and know exactly where the attack comes from. You are not allowed to spawn any units, and the opponent is not allowed to spawn any firewalls. What is the least amount of cores you have to spend to stop the 5 EMP’s from scoring at least 1 point? And what layout do you use?

Of course you can find the answer directly in the playground, but you won’t learn anything that way so I don’t recommend it. Maybe use pen and paper (that is what I did to answer the question). The most fun way would be to directly post your reasoning here without checking for the answer first. I’m interested what you guys come up with!

[edit] IMPORTANT: If you haven’t tried the problem yet, don’t read the discussion+solutions below!!!


Ok, so I haven’t checked this in the playground, but heres how I aproached the problem:
So first I checked how many destructors I would need to win the fight if both (emp and destructor) could reach eachother.
Heres my calculation for that:
number_of_destructors = 1 = nd
destructor_health = 75 = dh
destructor_damage = 4 = dd

number_of_emps = 5 = ne
emp_health = 5 = eh
emp_damage = 3 = ed

first frame:
dh = dh - (ne * ed) = 60
eh(1) = eh(1) - dd = 1 (nothing died yet)

second frame:
dh = dh - (ne * ed) = 45
eh(1) = eh(1) - dd = -3 (one emp died)
ne = 4

And so on, until I found out, that one emp would survive the battle and score.

So I figured I needed at least 2 destructors.
Now the problem is, that I just said that the destructors and emps could both reach eachother, but since the emps have a greater range than the destructors, I need to shield the destructors with filters, just enough, so that I could use the upper szenario.
Now the emps combined do 15 damage per frame and move every 4 frames, filters have 60 health and dont do damage. That means the emps kill one filter every 4 frames and need 8 frames to get to the destructors.
8/4 = 2
So I need an additional 2 filters to shield the destructors, until the emps come close enough.
In conclusion, I would put 2 filters on row 13 (right at the front), where the emps are going to move, and behind those, 2 destructors.

Thats the best I can come up with in 10 minutes, just wanted to give it a try :grin:

Just tried in the playground and it does not work :joy: :expressionless:
The best I can do in the playground is 3 filters and 3 destructors

1 Like

Very nice effort! I also like the naming convention you are using. I don’t want to spoil the answer or the method that I used yet (if others want to try), but I’ll hint that there is more to consider in this problem than is listed in your method :slight_smile:.


I had a hunch on how to do this and found a couple of interesting things.

5 EMPs will deal a filter’s worth of damage each location they occupy. The goal, then, is to minimize the number of spaces the EMPs are in range of firewalls before the destructors can attack them.

A couple of considerations:

  • Because of the range difference of 2 and the grid movements, the minimum number of filters you can buffer with before the EMPs start hitting destructors is 4.
  • You probably want to leave a gap in the middle, otherwise the EMPs will change path and focus down one side of your defenses over the other (bad).
  • There are only a couple of “sweet spots” where a destructor will be in range of the EMP on the 5th and 6th location, but these locations also make for good places to buffer with filters.

The answer I came up with was 8 cores: 5 filters and 1 destructor.

Edit: On attempt two (first image, second scenario when the filter denoted (5) is in place), I went through the attack heuristics incorrectly. The lower health target is always selected when the distances are equal, which is working correctly on both the live servers and the starterkit. This scenario does not work and will let 2 EMPs through.

The working solution I came up with (second image) just shuffles this 5th filter into a place that will work with the targeting heuristics. You are left with a filter with 6 stability and a destructor with 39 stability, which can be refunded for 0.83 cores (if you really want to min-max the puzzle).


Okay that answer was extremely impressive. The calculations are on point, the thought process is correct. I love the paper screenshot :). I am absolutely positive that this is the least amount of cores that are required to stop 5 EMP’s. However in the min max game, there actually exists a solution that results in more resources than in your proposed solution :upside_down_face:. [edit] without increasing the core investment.

So then a more open question for everybody: would you guys like me to make a series out of this? I personally think these types of puzzles are very entertaining, and feel like it is a good way to put the mathematical complexity of the game in the spotlight. But I am not sure how many people would enjoy this. Some feedback would be nice.


Hm. I tried a couple of things but can’t seem to minimize the cost with refunds any further. Using another destructor instead of a filter brings the core cost to 10, which would take nearly two full destructor refunds to beat 7.17 cores. Perhaps someone else can figure this out?

Anyways, I really liked the challenge and would be more than happy to see more.

1 Like

Yes, me to, I tried again(this time with a piece of paper and with some other considerations) and I got a similar result as @Ryan_Draves (I used one more filter, so a bit worse). But it was definitely fun.

Instead of using pen and paper, I gave the problem to Aelgoo to see what solutions it would come up with:
I told Aelgoo that the game board is empty, Aelgoo has N cores and 0 bits, opponent has 0 cores and 15 bits,
and opponent has already attacked 5 times during the match with 5 EMPs from [8,22].

The results are pretty bad…

When N >= 12, Aelgoo’s defense is:

While the main defense structure is very sensible (and cost 10 cores), there is already a brain fart with that isolated filter at [21,8].
I guess I will have to study this…

But things are way worse when N <= 11: Aelgoo simply spawn nothing. Aelgoo is unable to find any idea that would efficiently defend, so Aelgoo prefer saving cores.
I was expecting this to happen around N = 6, but clearly not at N = 11.
I was also expecting to see different defenses depending on the exact number of cores, even if the solution found at N = 12 was still in the cost range.
I guess that mean I should add more middle-sized structure for Aelgoo to work with, but there are probably also some important bugs in here.

Anyway thank @kkroep for this problem, I would also be happy to see more (especially if I am able to debug Aelgoo with them :laughing:).

Addition to my previous post:

Exaggerating the importance of scoring in Aelgoo logic, I was able to get solutions with N <= 11:

N = 11:

N = 10:

N = 9: Same than with N = 10, but removing the useless isolated filter

N = 8: (only stop 1 EMP)

N <= 7: Nothing

The base structure of all those solutions is the one shown with N=8. It was previously other-looked by Aelgoo because it was considered bad (sacrificing 8 cores for 1 health).

By the way the base structure when N >= 12 is:

1 Like

Interesting idea. I dont know how your algo works, but maybe you can place an army of encryptors at the end to incentivize aelgoo to really stop the attack.I would imagine that to be an interesting experiment

No spoilers from me (because I don’t have time to type it out right now), but a destructor with 45 hp is worth more core refund than a destructor with 39 and a filter with 6 :stuck_out_tongue:

1 Like

It has been about a week since the first puzzle, a second puzzle will be posted in the very near future. (One of) the optimal solutions is shown in the hidden tab below. Thanks for everybody participating and i hope to see you guys on the next puzzle :smiley:

Answer to the puzzle