My thinking is if you can consistently keep the exit to the maze blocked off then send emps to the other side(Maybe some pings as well), so long as your defences on both sides are decent their attacking units will leave the maze much earlier, only to be countered by your defences.
Of course, this is only theoretical, but I have before written a semi-decent hole detection program that detects where the enemy has left gaps in their defences, it would just be a matter of adding some more conditions so it only looks for one hole near the left/right.
The trouble I’ve had responding to mazes is that it is difficult to detect them with sufficient confidence until it’s too late. One of my attempts tried to guess as early as turn 3 whether it was a maze, but since I haven’t found a strategy that’s good against mazes and other leaderboard varieties (e.g. corner-gun) , the penalty for guessing wrong is usually death.
Hilariously, I found one of my early models from the days when none of the maze algos were adaptive, and my condition for whether I was facing a maze was “is my side of the board completely blown out? 'tis probs a maze, time for plan B”
I agree, and the problem with predicting to soon leaves you extremely vulnerable to ping rush attacks. The crux of this issue is getting accurate predictions with minimal information.
I totally agree about the penalty for guessing wrong, @KauffK - and I think that’s related to something you pointed out earlier about adaptive algos being in their infancy. Maze algos, ping rushes, and any dedicated strat has the benefit of never “wasting” cores investing in abandoned plans. We could just as easily be talking about a corner gun meta as a maze meta - one of those dedicated strats was going to get to define the early meta.
I’ve tried to shift my thinking when it comes to countering mazes in the past few days. At their basic level, their strength lies in making the most of the EMP unit. So the clues my adaptive algo is starting to look for now has less to do with figuring out if the opponent is building a “maze” and instead if they are relying on heavy EMP play by using strategic walls to strafe my territory. Maze or not, that’s something that needs to be countered.
“Is my side of the board completely blown out?” Very interesting. Did you manage to turn a match around where the damage to your own side was large enough to notice and the opposing algo was indeed a maze? I’m assuming a properly programmed maze is unbeatable once a large part of the structure is there, so I have mainly been trying to directly attack the maze structure so it can’t take form.
Back when I wrote that, the recovery plan didn’t actually turn anything around, but since I found that old condition I’ve been messing around in Play mode to see if there is any way to come back from that. So far the initial results suggest that it is possible, but only against static mazes that don’t do anything smart like switch to firing pings.
Early detection and anti-emp tactics are probably the safest thing to dedicate research efforts to, but I found this plan so funny that I couldn’t resist exploring it.
That is seriously funny . I think I actually lost a decent amount of times to your algorithms due to a local weakness to ping rushes. I believe one of your “truth of cthaeh” algorithms beat my gamma_14 that way, and this algorithm somehow still can’t get out of top 10. I can never tell your algo’s apart though because they all have the same name -.-’
Anyway, that would prove that a well timed ping rush attack truly does have some potential against some of the stronger EMP based algorithms. Good luck exploring that idea!
Haha, I’m gonna be infamous for that forever now aren’t I
I took down all the other Truth’s a while ago since their performance was pretty similar and it was just confusing. My new generation is all Voice_of_Cthaeh, but with the recent addition of… *drumroll* …version numbers!
Excellent news :"D. All my new algorithms are now called KeKroepes_x.x and they should prove to be a very decent improvement over my gamma and EMP^ERROR algorithms. That is if I didn’t overthink things again, and introduced a lot of specific vulnerabilities…
I am looking forward to encountering some unique voices then. I’m interested to see how adaptive your algorithms have become.
I really appreciate all of you providing your insights on this thread and others; It’s been really educational and between what I’ve read on the forum here, some python tutorials, and an AI textbook, I’ve managed to break into the low 1600’s. Not quiet the top ten, yet, but I’ll take it. Thank you guys for being open with your ideas and for the help I’ve gotten from many of you by reading your replies to others!
For the sake of commenting on my elo range; One of the major problem I had was that I tried to make a algo that was to much of a generalist, and it lost to just about everyone with a dedicated plan. Starting with a static strategy and working to slowly make that more adaptive seems to be working a lot better. Got me out of 1500, anyway. Any tips to get to 1700?
I would like to add static algorithms can get you pretty far. I wrote champion 0.62, a very static algorithm, which was in the top 8 of Code bullet’s challenge, and though it has dropped in ELO the last few days, its still ranked pretty high. Since Terminal is the first time using python, I don’t really know how to do much adaptive stuff, so I’ve stuck to just finding strong strategies. Doormaker, for improving your algorithms, because you only get 4 cores per round, I would advise developing an attack strategy that allows you to destroy as many enemy buildings in one round to stagnate your opponent’s growth. I think that is one of the biggest things that have helped my algorithms do pretty well. I personally send as many EMPs as possible when my bits are at least 9, so I send at least 3 at a time, most rounds, but every few rotations I send a ping rush of around 10. The EMPs slide from left to right, dealing large damage to the opponent’s defenses, yet I don’t have to wait too long to get all of them like you would if you were to wait for 4 EMPs. The PINGs allow me to deal high damage after I have put a decent hole in the enemy defense. See if you can find something like that that will fit your liking.
I finally encountered a “VOICE_OF_CTHAEH…” no idea what version number it has . The cthaeh meme continues. Maybe call it Vo_CTHAEH_x.x or something? Or maybe the terminal team can implement a feature that allows us to view long names?
[edit] if the terminal team is reading this anyway, how about seeing the author of the opposing algorithm in a match?
If you select the name and paste it somewhere else, you can see long names, for some reason. I agree that the author should be visible, as well as maybe how old it is (1500 Elo and an hour old is very different than 1500 Elo and two weeks old!)
That actually works! Thanks for the suggestion. It turned out to be Voice_of_Cthaeh_3.7. In that case, @KauffK you don’t need to change anything, as there is a work around.
That one is even better. Thanks! I guess I no longer have issues with this, although I feel like there could be an elegant solution here (like displaying the full name of the algorithm and the author when hovering over the name or something)
Another observation: against many mazes, the first 4 or so turns are extremely important. I’ve seen so many algos get locked down by emps as early as turn 3 to 5 and just never have the cores to recover. The best plays during these turns if you know beforehand that your opponent is a maze seem to be get an emp wall closer than theirs, and just make sure their wall has enough holes in it that they have to waste their cores patching it up. Of course, your own cores will be tied up patching your own wall, so this creates a bit of a standoff.
An alternative opening play might be to set up a guide wall and lots of encryption, out of range of their emps, and try to race them down before they finish the setup. This method seems much riskier.
But the main thing I notice about either of these is that they don’t leave much room to be adaptive. You basically have to make base-design and firing decisions with only 2 or 3 turns worth of info to go off of. The performance of my adaptives, annoyingly, improved against mazes when I disabled the adaptations until after turn 5 or 10.
Mazes are definitely the kings of pre-planned base layouts, whether it’s fully static or used as a starting point to adapt from.
I strongly agree with this and have experienced it constantly with my own algos. A strategy I have found that can work well is winning by time. If you can get some ping rush attacks in at the beginning of the match and then if you recognize that you have more health than the enemy, they are using a static (important it’s not changing sides - or find a way to recognize the pattern) maze with emps. Then the strategy that has been discussed of using scramblers every turn works quite well.
The challenge here isn’t really countering the maze strategy, it’s recognizing it soon enough to be able to counter it. Most of the time it is just too late to defeat by the time you can reliably see that it is maze.