A study about ping rushes

Hey guys,

I now spend way too much of my weekend figuring out how to counter ping rushes. I am the not proud owner of the winner of this game:


Note: the defense of this algo is me dragging my nose over my keyboard and fixing the compile errors, so it will lose to quick attackers, but not without taking a chunk of their health too.

Just to illustrate the ping rush strategy I am talking about. I want to be clear that this algo can be written in less than 200 lines of code. I used it to study how to deal with ping rushes, but it is very difficult to get a proper counter in. The advantage against ping rushes is that it is an incredibly static and noticeable strategy and I think dynamic algos should be able to deal with this.

So here are my findings: due to the corner piece, there is an intense pressure on the [0, 13] and [1, 13] squares. Either you block, or you dont. If you dont block, you at least need to put something at [0,13] and [1, 12], otherwise you are bleeding hard. The problem with blocking is that the opposing ping cannon can force a detonation of an advanced group by placing a firewall at [2, 14], thus blowing up your defensive plans, as this detonation will always also clear the [0, 13] spot. You can see this happen in the replay.

So if blocking isn’t an option, that means that [1, 13] needs to be cleared. That leaves the next problem, where if you send 8 or more PINGS down, the [0,13] wall will be destroyed, and the pings can still easily score. Ifyou put a destructor it takes slightly longer, but a destructor is very expensive.

My conclusion is that against proper ping cannons, you need DRASTIC actions to properly counter it, as algos develop I’m pretty sure you can’t simply outrush a pingrush without a pingrush of your own.

The problem is that there is very little space in the corner to work with. I can’t even use an EMP line to specifically destroy the firewall at the [2,14] spot to prevent the detonation. This is easilly countered by building more firewalls at the 1st row at [3:5, 14].

Now why did I share all of this: I hate this strategy :stuck_out_tongue:. I don’t want this to be the best strategy that remains. I’d like to see if you guys have any ideas on how to solve this pickle.

If this strategy remains completely working and there is no solution other than everybody ping rushes, I would have an alternative suggestion to introduce a new firewall unit: an insulator with double filter health and 3* the cost. This unit would literally only be useful on the corners. Otherwise not cost effective. However, I really don’t want to propose game changes. I’d rather solve this with tactics :").

I was expecting those pings corner attacks to develop way faster, since there are several way to weaken corner then ping-rush attack it, but unlike for maze algos there wasn’t too many people trying to make them good.

I suppose the best counter is to break their path to your corner. It is even better if you can destroy their encryptors.

There are also randomized / adaptative aggressive ping attacks that could at some point become a trend if fully adaptative defensive algo such as Aelgoo start to get too numerous (Aelgoo even sometime lose to L4_SPECTER)

I tried breaking line of sight too, but couldn’t get consistent results when the ping rusher simply only deploys firewalls when it only attacks. You are not at his side in time to break the line. I mean, I have an idea that almost works now, but damn… my code gets like a 3rd longer just addressing this, and then still I am worried about more sophisticated ping rush algos…

The problem of finding a counter is actually finding one that is not trivially countered by ping rushers. I am at the point of writing code to counter directly with a ping rush but “slightly better in a ping rush versus ping rush”

I’ve found that countering with a ping rush of your own is pretty effective.
Enemy ping rush cannons tend to be fairly static, and always commit to spawning pings/scramblers in the same location (haven’t seen too many adaptive ping cannons yet). Countering with a ping rush of your own can be effective, you don’t need to install a diagonal filter wall to guide the pings, since you would be aiming for the same opening as they are. Spend cores on beefing up that corner with destructors and place some encryptors further back, and it should be enough to counter their rushes.
Of course, this does have some drawbacks. You do really need a program that can effectively detect the ping cannon layout, as this tactic is hopeless against basically any other decent algo format. Also, if the enemy is adaptive, you are pretty much screwed since you haven’t installed any other defences. I’ve implemented this ping cannon counter system on one of my algos, and it works pretty well, except for one time some low level algo happened to trigger the ping cannon detection system when it wasn’t actually a ping cannon, and completely destroyed me in 5 turns.


I guess I’ll just make one to see how you guys counter it :stuck_out_tongue:

We will not be considering any adjustments to the game rules until after the Global Competition.

Well designed ping cannons are something I have been waiting to see. Cool to see this.

I was hoping my genetic algorithm thingies would develop cool strategies but they seem to all degenerate into mediocre ping cannons. Maybe there’s something primordial and fundamental about just smashing as hard as you can into the naturally weakest point of the map.


I have been playing around with ping guns as well, but I am far less bothered by them.
Against certain static or semi-static algos, especially emp-line strategies, yes they can yield frustratingly effective early wins.
But in general, they are very much glass cannons, and none of my ping guns, uploaded as sparring-partners for my mazes, have gotten too high on the leaderboard.

Having to commit cores to the “gun” structure leaves you wide open, and if your pings don’t score and refill your core supplies, the enemy is free to mow you down with no resistance.

Here is one example of my practice ping guns being hosed by an inability to score and refill cores:

1 Like

Does anyone think that an algorithm that hits corners hard with pings, while at the same time building a balanced defense first could work well? Most of these ping cannons have a diagonal line of filters along the side that are easily destroyed, but if you build a defense that covers the entire grid relatively evenly like most top level algos, and start building encryptors pretty early into the game, then you could have a similar working ping cannon that isn’t as easily destroyed. Also, when other people make their ping cannons, how many pings do you tend to send, the max each round, or do you tend to wait a round between to build up a bigger stack? I personally prefer to wait a round, so that it is easier to break through, even if you won’t win as quickly as possible.

What I did was cover my edges and sort of guide the pings down the chute, this means the will go through the entire chute instead of self-destructing at the corner

I just want to reflect on the just-completed Challenge C1Ryan challenge. The winner, ActorV6, started matches with a ton of encryptors, and a ping rush.

It first defeated Track-3.4, a maze algo, because it built minimal defences far back from the front, so they couldn’t be sniped from the maze structure. The defences build appeared to be dynamic, and placed right in the path of the EMPs without being sniped, and shut it down. The very encrypted pings, sometimes with over 11 encryptors, made it through the full maze at some points, and when it broke through early on, it did a lot of damage at once.

It then defeated my algo, Line_5.1, which is a pseudo-adaptive EMP line.

A quick note to C1Ryan and C1Junaid, who were commentating, because I was late to the stream and couldn’t say it then: My algo prioritized the Encryptors in its first match, rather than the EMP line, because it saw that its EMPs would have to destroy A4V1s EMPs, hence the “pseudo-adaptive”.

One thing that I noticed during this match is that because ActorV6 spent so many cores on building encryptors, it couldn’t spend much on defending them. At one point, Line_5.1 destroyed them all. However, it failed to capitalize on it, and Actor managed to rebuild. Even before it did, the volume of pings being sent meant that they still got through fairly frequently (a downfall of my algo, it actually loses to decent ping rushes strategies quite consistently, which I couldn’t fix before the competition).

In its last match, ActorV6 destroyed C1Junaid’s algo, a pseudo-adaptive EMP line. It was similar to the last match, with the line simply being inadequate at stopping the enrypted pings despite the encryptors being destroyed once at the beginning.

For how to counter this super-encrypted center ping rush strategy, we didn’t see ActorV6 lose (obviously), but at one point, 10 pings from MHuman_Top_23, encrypted by 3 encryptors, were absolutely shredded by 6 scramblers, with the pings only destroying one scrambler, and the pings barely even making it to the scramblers. It appears that scramblers are extremely effective at destroying even encrypted pings, so they may be able to be used to at least give algos some breathing room in dealing with gigantic ping rushes.


Great analysis, love this thread

1 Like