« first day (225 days earlier)      last day (512 days later) » 

1:48 AM
@trichoplax heh. True. Still, I'll be updating to effect SlM
 
 
3 hours later…
4:46 AM
Needing to tweak Vampire to handle Highway in a tournament (matching was a little too permissive, other issues). And Vampire might be overtaxed at this point.
 
The four queens of the apocalypse: Sliding Miners, Windmill, Highway, and Wildfire
They can sweep an entire board of its other nests no problem
Also, does Vampire try to raid Firefly?
 
Currently, yes
I will probably turn that off
 
Probably for the better, Firefly's own workers frequently get permanently stuck trying to navigate back to their own nest
 
Mhm
Originally Vampire was anti-ziggurat, then it gained some anti-blackhole, I updated it to target MoaR, Windmill, and Firefly, and now Highway
Blackhole is no longer a good target, Zig and Firefly are becoming more and more a distraction
(Wow, langdon's ant murdered Highway...)
 
 
3 hours later…
7:59 AM
@Alion since it sometimes steals all the food on the board, maybe "The Highway Ant"...
@eaglgenes101 Yes I'm seeing high memory usage with the ongoing cache. For now I've made the cache per game only, so no memory is kept between games. In Chromium this keeps long term RAM usage down to about half a GB but Firefox still uses over 5GB given time, so I need to find a way to fix that. Longer term I'd like to find a way to make between game caching work too, as it's slightly slower dropping the cache every game
 
8:21 AM
@eaglgenes101 The cache as such cannot leak memory - it has a fixed maximum size, whether or not parts of it are being recycled. Some JavaScript runtime engines, on the other hand, seem to be prone to memory fragmentation and inefficient garbage collections under this kind of heap-usage pattern...
(And if anything, the recycling of sizeable objects would make fragmentation worse in the long term.)
Plus I have a sneaking suspicion that GCs are even less effective when there's a tournament running - since the JS runtime never finds a moment where it knows that the page is currently idle.- @trichoplax Making the young cache generation much smaller (I'm currently using 8*750 instead of 8*5000) seems to help a bit (resulting in less, or much slower, heap fragmentation - at least on my Safari).
 
 
3 hours later…
11:34 AM
@trichoplax How's the new tournament doing?
 
11:52 AM
Hmm, I feel like Firefly should be more resilient than it is... I've ran some tests and it seems to just collapse at the drop of a hat.
Then again, it only sees 2 colors when it moves - that's super easy to confuse...
 
12:29 PM
I'm trying to find a way for Highway to start even faster right now. It mass produces workers in stage 2, but then completely leaves them for up to 1250 moves (because the Queen does a 180 when she finds her Partner, leaving 30-120 workers to wander across the entire map).
I'm not having any luck finding a solution for that, though...
 
 
4 hours later…
4:34 PM
I've pieced together a half-lightspeed straightening routine that makes it so all formation ants are adjacent to two other formation ants at any one time
This should remove the need to have one-neighbor recovery routines that could risk deadlocking in saboteur scenarios
 
5:09 PM
@Alion Highway's likely winning. :P In my tourney with the modified Vampire, I turned off Sliding Miners (as I haven't updated miner code yet) and Vampire is keeping the Highway and Windmill suppressed (although its own score took a 3 point beating: before Highway, Vampire was up to 10.10 leaderboard points).
 
@Draco18s No way Highway can win in it's current state. SlM is king for now. When the 2 collide, SlM usually comes out on top.
 
Ah
That's a fair assessment!
I haven't been looking at SlM myself yet ;)
 
The main bug that's haunting Highway right now is the fact that a laden worker can shift the main rail if a part of it was erased and and the worker approached it an unfortunate angle... After I fix that, the only reason for a new main rail to appear is going to be a very unfortunate color pattern.
 
@Draco18s Vampire of late seems to have a bit of a hard time even finding the Windmill rails after Highway has overpainted them :P
 
@GNiklasch I'd expect it to be worth less then too though, as the miners can't get to their queen :p
 
5:43 PM
@GNiklasch Yep. This is very true.
 
6:01 PM
Highway has shaken things up way more than I initially expected (mostly because my expectations were skewed towards the harmless side because of testing older versions which did not fare as well).
Besides, as a developer, I'm more interested in going through the failure cases - I have yet to see a game where Highway gets >400 food... I should probably go do that :)
And of course, the game I found was one where it somehow spawned 7 partners...
 
Or the game where vampire found Highway before she spawned anything but her partner...
M.A.D.
 
Rampant green polygamous slime!
 
@GNiklasch Don't ever stop cracking me up
The code that makes the Queen run whenever she sees an enemy worker is causing way more issues than I expected. I'll need to do something with this. I should create a git repo to track all of the issues this thing has (inspired by Windmill).
 
6:21 PM
hehe
 
Good idea.
 
I don't like how close LS and Glider are :(
 
For now all I have is a messy TODO embedded into the highway.js as a bunch of comments, with details stored in my head. This is not a good long-term plan.
@Draco18s If I'm not mistaken, the presence of masses of workers negatively affects Glider more than Lightspeed.
 
You're probably not mistaken
 
Well, it borderline doesn't affect Lightspeed at all, to be precise (aside from reducing overall food available and super-rare deadlocks). Glider can get its wings clipped (although it had a lot of improvements in that departament recently, AFAIK).
 
6:30 PM
yes, there has been much improvement in preventing wing clippage.
It didn't solve running into enemy workers, but turned deadlocks int clippage, and other clippage into food collection
pretty much the clippage that's left is unavoidable
 
Hmm... Could we somehow store replays of games? Since ants don't have access to data from previous turns, one could reliably create a snapshot of any given arena state. Things that would have to be stored: color, food and occupant of all cells, ant data (in the spawning order), frame #, how many times the random function was called. We should be golden then, right?
 
I went in once to display the "seed" for random games to replay them and...it was a different random system and I could not extract a sensible seed from it ;_;
 
@Alion That's been on my list of mistakes in my life to try to attempt for Daves controller for a while now :p
 
But in theory you are correct.
 
Yeah, I haven't looked at the source code of any of those controllers for more than 15 seconds, so I wouldn't know how plausible it is, anyway.
 
6:44 PM
@Alion I can't even begin to think how and where could the states be stored in a way accessible from where required :p
 
@dzaima I was thinking about the reference controller. At first glance, tricho's code was fairly readable. Dave's is arcane, though.
 
@Alion yeah, on the reference controller it should be quite easy (comparatively, at least)
 
Wot
 
Simpler idea - button to save a full-size picture of the arena.
@Draco18s And what exactly happened here? Do they not move?
 
Certainly possible. Though I'd probably encode it as a link that opens the current arena in a new tab as a data object
@Alion No freaking clue. And it recovered (!??!?) sometime later before the Highway queen showed up
And no, they don't move
Not even a little
 
7:10 PM
Oh wow, it actually looks really scary on the real arena when it works fine. It just slowly devours the place, with pockets of attempted independence created by opponents getting repeatedly shut down and cleaned up, occasionally for good. I understand why you guys are calling it "rampant green slime" and "apocalypse by checkerboard" now...
 
yes
And I won't let you experiement with the vampire code until later >:3
 
@Draco18s I don't care about that, to be honest. First, I want to get the "Highway" to be stable against particularly intrusive entries (mainly SlM). Besides, I've already managed to build a theoretically-working vampire against a defense system significantly more sophisticated than the "null" one that's currently online. I'll have to experiment with different approaches to defense, namely confusion, to successfully counter the Vampire. If ya can't find it, ya can't drain it.
Theoretically, I could also bunker the Queen when she's got enough food, but that's going to be a last resort.
 
Heh
 
And do keep in mind that if I were to publish a defense system that I know I can counter, I would also push an update to Vampire ;)
 
:P
Speaking of, if you want to do the update for Sliding Miners, feel free.
 
7:19 PM
That's why I'm going to try and find something that lessens the impact the Vampire has - making Queen movement more clunky than it already is is going to turn disastrous quite quickly.
 
Should just require an update to the pattern
@Alion that's totally fair
Speaking of, I want to see if @GNiklasch can counter the Garlicked vampire.
Whiiiich...I haven't published ;v;
Curse you and your highway
Sigh, I'll publish what I have now....
anti-highway code is just barely functional, but good enough for the moment, let me take a dive into SlM
 
@Draco18s just keep in mind that at some point after my tons of schoolwork has finished that I'll be replacing it with the new one
 
7:35 PM
Interesting behavior: fake main rails have a sort of critical mass, where they only become destructive after a sufficient amount of workers deem it real. This critical mass, however, is fairly random.
Source: observed a fake main rail getting erased.
 
ha
@dzaima Pattern updates are cheap
that said, the initial "snag onto the rail" code may also need an update for SlM
Ah, of course, I forgot to update the color band.
 
8:38 PM
@Draco18s How did you make the animations for Glider post?
 
By hand
with GIMP
I took a snip of glider in the standard formation, the same for a blob of food.
Then I cut the glider into pieces and moved them around, copied the result to a separate image as a new player (ctrl-shift-C, alt-tab, ctrl-V)
 
Mhm. Okay. I thought you somehow automated the process. It would be nice to have a follow ant thingy (not only for the purpose of animations)...
 
nod
That's also why my animations don't have the green cell (its an artifact of the queen thinking "oh I should return foreverAlone() and it never broke anything
 
nod
 
There's actually code in there now for one of the two guide ants (3,4) to spend their NOP move coloring the queen's cell to avoid explosions
And not because of the foreverAlone code, though it came up
And why the food moves in a way that isn't possible (purely for the benefit of resetting the animation, but it's timed such that each of the ants is just taking a NOP during those frames)
 
8:49 PM
@Draco18s That's slightly misleading, by the way. When I saw the food-circling animation for the first time I thought "oh lol so that was a funny bug, huh?"
 
I'd fix it, but making the animation longer is a right PITA
(I mean, what should I do? fade the food out?)
 
Oh man, now that animation will forever trip me out.
@Draco18s I would make it like this: Glider with empty map, Glider moving towards food, Glider turning towards food, Glider grabbing food, repeat 90°, 180°, 270°.
 
yeah, but that's so many frames ;v;
 
You can reuse the turning animation, though, right?
Oh shoot, you can't copy-rotate the whole thing 3 times because of the ant orientation.
 
Nope, because of the little worker # indicator bars
 
8:59 PM
You could simplify life by just using different colored pixels, lol.
Though that might be more confusing than a running piece of food, now that I think about it.
 
mmm
 
I don't care since I already know how Glider works. Not My Problemâ„¢
This question isn't gathering much traffic anymore anyway, AFAIK.
 
#JustUs
And I think I'm happy with Vampire for the time being. I tweaked it for SlM, tossed SlM into the tournament I'm running, and after 9 instances of SlM being "in" it has a score of... 12.33
 
@Draco18s R.I.P., another man down.
 
I am the Vampire King, Gliding my way to victroy
Windmill, SlM, Highway are all very powerful entries.
 
9:11 PM
Holy crap, that's so sad. Just killing off all competition with a community wiki Vampire... I could probably almost make a case for violating the "don't team up" rule, but not really.
Hopefully that didn't sound rude, by the way. I'm just kinda... feeling weird about this whole situation. Glider is king because he's immune to Vampire, like, really? That feels wrong...
 
its a community wiki because Dave saw that my edits were good and that he couldn't maintain it himself. It's also not really a team-up. The rule is "Provided each answer is working solely towards its own victory" which they are. Its just that vampire's attempts at winning cause other entries to fall
 
But rules are rules, I'm not gonna question them.
 
And no, its all in good fun :)
Glider isn't actually immune to Vampire, it they meet (the right way), Vampre can totally leech food from Glider. It's just that there's no way to intentionally make this happen
If I could, though, I absolutely would code in a Glider targeting method. Its just that...there's no trail to follow
 
@Draco18s Yea, that's exactly the point I was trying to make. It's a gray line - Vampire, due to His selfishness, is causing the entire ecosystem to shift. Same could be said about Highway, or any entry for that matter, just in a lesser scale.
 
Mhm
 
9:15 PM
dammit now that I finally decided to think about an anti-vampire system I'm realizing it's more impossible than anticipated without losing efficiency :/
 
If I never edited Vampire to target MoaR, Vampire would have fallen into obscurity, as Ziggurat, Black Hole, and Firefly were all self-defeating strategies, making it hard to impossible to leech food from them
@dzaima Yep, that's the problem. Anything that keeps Vampire out will also wreck your efficiency
Windmill almost defeated m̶e̶ Vampire
Almost...almost...
 
@Draco18s By the way, Firefly is self-defeating because of a bug. An unladen worker that steps for food orthogonally (so steps off the structure) will promptly erase one cell. Firefly dies when the cell erased is behind an unladen worker.
 
@Alion Heh, that's fair.
 
Shame it's not worked on anymore, would probably be easy to fix.
 
Still, it can get distracted and corrupted due to other things as well
 
9:18 PM
@Draco18s Of course, I just mentioned the reason it falls apart on an empty map.
 
sure, sure
 
I'm starting to think that the OG Firefly was better (had way more cells to work with).
 
What shifted the balance (with Windmill) was that by sacrificing the "bounce out" code, I gained a greater maneuverability with Vampire queen's positioning. And because the position arrived at allowed all three rails to continue working, it became more valuable to stick around than bounce out anyway.
The current code actually will block one rail arm, but even so
Windmill's "spawn a worker next to an enemy queen" and "workers never move away from an enemy queen" meant that Vampire could NEVER have queens adjacent and worker-number-advantage, so the ability to read her food levels and bounce out was what had to be sacrificed.
(Gods, I want to add highway-banditry to Glider now...)
oh. vampire name update.
Banditry
 
I want a simple solution for Vamp so badly... It ain't happening, though. And any solution I come up with is either a) nearly immediately counter, b) sluggish/paranoid/inefficient enough to be usable, c) doesn't always work.
 
Heh
 
9:23 PM
I'm going to settle on a combination of solutions from the third category, unfortunately.
 
*`Body is limited to 65536 characters; you entered 68875.`*
....damn it
 
Hmm? Is that a Vamp minification I smell?
 
going to convert spaces to tabs first :V
"all 7429 instances replaced"
 
Does it still work? Lol.
 
making sure
should, its unlikely that <space><space> is used for anything other than code indentation
 
9:28 PM
Ooh, you can do that? I always Ctrl+A Tab Tab in N++ before submitting code...
 
You could always do a find+replace to turn long variable names into shorter ones
 
Vampire was originally written with spaces-not-tabs (and two spaces to my typical four).
But yes, ctrl-a, tab before submitting
But replacing 7000 instances of "two spaces" with "one tab" saves 7000 characters
 
nod
 
(Vampire is 1800 lines long)
Vampire Mk.6 (Garlicked Highway Banditry)
 
@Draco18s Isn't that too long? 28 chars or it's cut off, if my memory serves me right.
Wait, where the hell did I read that, again?
No, sorry, 40 characters.
Too long :/ Will get truncated in the reference controller.
 
9:37 PM
que?
 
"[name] will be truncated to a maximum of 40 characters in the controller tables"
 
oh
Its 41.
`Vampire Mk.6(Garlicked Highway Banditry)`
done :p
 
I think the best thing the queen can do about vampire is to bunker herself in (halting production) or running away from the rail :/
 
It's fine that unmatched parentheses don't cause parsing problems for humans (like this
 
/me crashes with an unexpected EOF
 
9:39 PM
@dzaima Or create fake rails in hopes of getting the Vampire stuck on one of them...
 
@Alion that's a very expensive thing to do though
 
SlM creates fake rails on occasion. But they also have a nasty habit of abducting its workers, too
(from what I've seen)
 
@dzaima Meh, with a dedicated worker type you can reasonable maintain one rail with one worker...
 
@Alion but then other workers will stick to it
 
I think he meant "expensive" in the sense that other workers will also think it is the main rail when it is not
 
9:41 PM
^
the current miner spawning routine is making it hard to think of a way to efficiently bunker the queen too :/
 
Rotated 90 degrees? Surely that wouldn't stick...
 
@Alion it'd lead right to the real main rail though
 
No no, you should have edited your message to be a predictive carrot
(the meme for which I went to go find, then could not)
 
@dzaima Oh yeah... There goes my entire defense plan.
 
haha
to be fair, at the moment, vampire does not trace the highway main rail, it just sits there.
reasons of "I didn't have enough development time and it worked"
 
9:45 PM
@Alion heh, maybe making warning miners around it could work (which would move out to hide traces of it being a fake rail)
 
@Draco18s Lol, and my workers will just dodge it like the sheep they are.
@dzaima I'm not sure I understand what you mean...
 
@Alion have that fake main rail there, and on the intersection point have workers that tell the miners that ahead of them there's a piece of a fake main rail that they should not repair. Though when an enemy comes near, they dissapear leading them to think they're still on the real rail
 
Oh, I get it now. Though then the investment grows... That could work, though.
 
I'm more thinking of having workers constantly around the queen looking out for enemies for SlM though
 
@dzaima I arrived to a similar conclusion. What do you do when there are enemies, though? Auto-bunker would be paranoid - ants passing by can be misidentified as threats.
 
9:53 PM
@Alion well, they are threats
and, sadly there's no difference from an enemy and and vampire
 
/me is already thinking of a hilarious Highway attack vector
@Alion yup! And what eventually happens is Vampire moves off the rail, one of its workers is sitting on the rail, and the highway queen gets up on top of them and gets stuck (too far off the rail)
 
They might be threats, but they're usually not enough to justify shutting down.
 
@Alion but maybe getting into a high-alert more restrictive state
 
#TooLazyToMakeThatMemeHighway
@trichoplax Oh, by the way, Vampire got its updates. Friendly name is very long, just at the character limit :P
 
9:57 PM
@dzaima Some ants are just too persistent. When do you come out? When the threat goes away? That might as well never happen...
 
@Alion I'd guess never..
 
And I could easily make vampire utilize it in her attack anyway. The "hilarious idea" I had was to spawn thieves, which would run the rail in the same direction as Highway's own laden workers, the queen running the same direction as the highway queen. Each loop of a thief would steal food from Highway and return it to Vampire
Highway's queen would never see more than one enemy worker!
 
@Draco18s Haha, that's insane! Yeah, I can't protect against that and not be paranoid...
 
Vampire would spawn a lot of workers, but if it's carefully managed (sitting on a given color, can't see any of her own workers, plus-minus some random...) it'd be a net-positive for vampire
 
I think I can get away with 3 workers - 2 ants as antennas in front of the queen and one behind it. An attack cannot come from the front (only 1 empty space for workers), the back (the worker can easily notify the queen that it's in danger with colors), or the sides (unknown if by queen until it's too late)
 
10:04 PM
That doesn't really counter my hilarious idea.
 
@Draco18s If I did go for the paranoid approach, though, I could fight even against that.
 
@Draco18s spawn a 4th worker if there's an enemy detected in the empty space in front
 
@Alion But the paranoid approach causes a huge loss in efficiency though, doesn't it?
 
Bunker the Queen when threshold reached, one moving guard acting as a valve for workers coming in.
 
@dzaima The enemy worker has already stolen food, moves to the unoccupied fourth side, then leaves. It later returns, empty
 
10:07 PM
@Draco18s Yeah, it would make the Queen static.
 
@Alion ooh, highway can get away with making the queen static
 
@dzaima Yeah, it wouldn't matter much in the late game anyway. Travel time between the sides and the main is insane at that point.
 
massive, massive efficiency loss: all of the unladen workers are sent back out in the same place, making the highway excessively wide at that point
 
@Draco18s Oh shit, good catch.
 
plus, the loss of repairing erased rail
well, any erasure. there'd be no workers returning at other points to clean up the places that laden ants can't (and get stuck on)
 
10:10 PM
@Draco18s If someone was active near the main rail at that point I'd be surprised.
 
and! Vampire can still get in, due to the fact that the food exchange takes 3 turns.
@Alion less main rail and more "any damage"
 
Though the fattening is enough to kill this idea...
 
@Draco18s well, the queen would just not let enemies in if noone would go to go in seeing vampire
 
@dzaima laden worker moves next to bunker. bunker opens. ALL OTHER ANTS MOVE
 
@Draco18s The guard wouldn't let friends in if foes are nearby, and friends wouldn't leave if there were foes nearby.
 
10:12 PM
@Draco18s the laden worker could notice vampire though
 
in that case:
laden worker arrives, bunker doens't open because there's a vampire worker, highway never gets more food
 
@Draco18s Slightly better, I guess...
 
@Draco18s I think that's a fair compromise over losing all food :p
(that's what I'm hoping to get working too)
 
Point is: there's always a downside to adding garlic
if you wait for a food threshold before enabling your bunker, then vampire needs to act early
 
@Draco18s I mean, that's obvious, but it's better than nothing
 
10:14 PM
if the threshold is too low, you handicap yourself
 
But due to the fattening, unless I want to simply shut Highway down at some arbitrary point, I can't use the bunker idea at all...
 
exactly
You'd reach the kill bot kill counter
 
my idea is to shut my bot down while anyone responsible sees an enemy queen
while trying hard playing with the colors to get the queen away
 
@dzaima Couldn't the Queen be careful not to show herself to SlM?
 
Same as I could with Windmill, although it means that Vampire can't bounce out
 
10:18 PM
@Alion anyone responsible sees an enemy queen
 
I don't know what that means :D
that said, SlM behavior when the vampire comes knocking is pretty funny
 
if none of the protector ants see the vampire nor a bunch of enemy workers, it's probably bot vampire
 
all the laden workers move past their queen and build a rail to nowhere.
"see a bunch of enemy workers" can be as small as 1 in the right configuration
the SlM vampire code is pretty brute force at the moment
 
@Draco18s well then the gains would be very slow and I don't see an easy uninterruptible way for the queen to stay far away from the queen while the queen moves forwards
 
1 food every 2 turns is still sufficient to drain an enemy queen.
and following is easy: both ants follow the rail 1 cell. Code they're already acting on in order to find their target anyway
mostly, probably
 
10:31 PM
I managed to think of a moving bunker. But then it hit me - that bunker requires that some time has already passed, and Vampire can just prevent the Queen from ever getting to that food threshold...
 
also, a moving bunker requires more than one game-step in order to move
which creates (or can be made to create) gaps
 
Nah, I managed to handle all of that. But you can't get to the point where nobody else than Vampire can attack you, because Vampire's already attacked you...
 
also very true
 
Argh, this is messing with my head... If I could somehow make the bunker dodge, I could spawn it immediately, but... How do you synchronize a formation of 10 ants?!
 
enjoy!
 
10:39 PM
I also have to make it not make any holes WHILE DODGING!
If I somehow figure this out, I'll have to visit an insane asylum...
 
tee hee
 
The only way I see this working is a shape-shifting 5x5 box. No. It's time to stop.
 
haha
Yeah, as the size of your coordinated ant structure grows, the more fragile it is
 
@Draco18s I mean it would be sHaPsHiFtInG, so it woulD be FiNE.
 
until it ran into something
 
10:48 PM
No it would shapeshift around that something. I guess.
 
how do you prevent ants from breaking off?
 
@Draco18s I mean, there's certainly a way, though I'm not going to find it.
When the formation's size is double-digit, it's really time to stop, usually.
I could theoretically hope that I won't need to dodge anything, and then that 3x4 thing could work...
 
mhm
agreed
 
What do I do when the Vampire comes early, though? I can't shutdown the Highway at 50 food, for example...
Currently ignoring all the other problems this approach has...
I mean, I guess it'd be better than 0 food, but still.
I'll go and sleep on this (literally) - maybe I'll figure something out...
 
rest well
 

« first day (225 days earlier)      last day (512 days later) »