Found a bug in the Sliding Miners vampire code, particularly the rail reparation. Also, it now gets distracted by fake main rails less often (it never followed them for long)
Also found I was over-detecting on Highway, still ongoing to reduce the excess matching
My basic termites koth idea is to have players gather dead matter (including dead friendly/enemy termites), strategically farm fungus which can kill plants and feed off of dead matter, and create structures to guard their nests
The idea is to try to have a balance between different means of growth, limited by the limited state of state machine workers and simultaneous movement
@Draco18s I cannot praise you enough for your wonderful debug tools, including the Test buttons, the Show On Map checkboxes - and the ever creative Vampire bringing to light the forgotten cases in my conditionals. :-d
It kinda bothers me that Highway has a sort of thin spot in the early stages of the game, especially when it starts horizontally... Though I don't think there is a solution to that :/
@Draco18s Isn't the entire rail blocked by Vamp's workers? SlM's workers won't willingly step off their rail, AFAIK.
Going through my code, remembered about this gem: const repairTravel = (o, i, d, x, g, c, f, y, z) => { ... }. It'll take me 15 minutes to decipher this... Why did I do this to myself?
I think if I made all workers actively try to destroy enemy queens at all costs possible (including erasing the main rail or anything else), Vampire would have no real place to hide from the bot
also, as the queen is the last in line to execute from a bots ants (AFAIK) with nothing betweem them, a single worker could always move away from the queen if required and the queen could spawn one back immediately before any enemy ant
If your queen is encased in friendly workers, a worker could change its own colour as a request for leave of absence, then the queen can change that worker's colour to grant leave
That's one of the things I did in my attack on Windmill. I ran into a particular case where vampire went from leeching to net-zero and it was caused by the spawn of a new worker in an unfortunate place. So I started messing with the windmill time counting system
really all that the coloring can be used for is notifying the queen to do a single action if there's a reserved worker always spawned first to clear it at the start of the bots execution. It would probably be best used for "were dead, abort everything"
The sabotage option I'm leaning towards is to turn Glider into a semi-vampire in Highway space. And I say "semi vampire" because the queen won't be involved unless she invokes ForeverAlone (as the forever alone code can't extricate her from Highway, due to the use of green)
@dzaima I wanted this to be a very limited information game, but 4 worker types was a fairly arbitrary number. It would probably be a very different game with more. I'd love to see what differences it would lead to but I doubt we ever will...
@dzaima My goal isn't to merge the two behaviors, honestly. It's just that if I look at the situation where "glider queen is alone and inside Highway, what can I do?"
And if I look at that scenario objectively, the answer is "find the highway queen and be a parasite." Because any other option is objectively terrible.
@trichoplax Haha! I'm not sure making Vampire turn more often would actually be in its benefit...I mean...maybe?
Instead of boxing a queen in for defence, what about keeping the box of workers the same width (3) but extending the height of the box. So the queen is protected behind two walls of workers, but can run up and down the length of the thin box collecting any food from workers that happened to have a queen stumble into them
Probably more expensive than just boxing in unless it's very early in the game though
Yeah. I guess you might have to make it a hollow branching perimeter so the workers can grow around any obstacles without risk of ever letting anyone in or out
@trichoplax It would've been fun if you could put, say, any string as a worker type. You could just number your workers. "LEFT_WORKER_139". Would simplify and improve hoarding mechanisms.
Hmm, would this challenge + ant memory + hexagonal grid + explicit food pickup/steal and place/give be considered a duplicate? I'd love to participate in such a challenge. After I'm done with this one, that is.
You'd have to define how food theft would work. e.g. if queens can steal from enemy workers and workers can steal from enemy queens, how do you keep them from fighting over a piece of food?
@Draco18s Hmm, I kinda get where you're coming from. Though my life has literally been Formic the past 2 months, so I'm stuck in a box when thinking up challenges.
I'm not sure whether its even worth it attempting adding protectors to SlM as pretty much any setup can be abused and then easily fixed by an edit, making a never ending edit war
IMO if it would devolve to a never-ending simple edit war, let the aggressor (in this case Vampire) win out. I had a similar situation between Black Hole and Trail Eraser
Eventually Eraser found a way that I couldn't counter, but the two of us knew that there was a simple edit on both sides that would just cause an edit war and I basically said (as the defender), "I won't participate"
I will admit there's a limited amount of effort I'm willing to go to to defeat various vampiric garlic. But as work is between projects at the moment...I've got time...
The termite game I'm designing is slightly higher information, but the mechanics are such that a termite can't reliably know enough about its environment to know whether what it's doing is a good idea
It has to guess
And maybe collaborate with other termites and help refine their guesses
Random thought: What if ants could move and color cells at the same time...but doing so would require moving *onto* the cell colored? My next thought was "what if that always happened?"
@dzaima Then again, that's literally how my main rail works right now. The three new colors can (and already have) confused my queen for a couple turns.
That was a fun experiment, no other interesting things to report. Most of the ants would either just outright fail in a mess of color or be largely unaffected.
@dzaima If you wanted to be 100% certain, you can theoretically 1. map out your surroundings, 2. go towards either way, 3. compare surroundings, 4. profit.
@dzaima You can remember that you had blue, red, orange (yellow?), move onto question mark, move again (towards one of the two sensible options), compare surroundings.
If you moved forward, surroundings would be different. If you moved backwards, surroundings would be the same.
@dzaima if you want this modified controller for yourself, its easy. Download the official (or mine). Find function processCurrentAnt() { and add this to the if(response.color)
`if (response.cell !== 4) { var destinationCell = arena[x + y*arenaWidth] if (!destinationCell.ant) { moveAnt(x, y, currentAnt, rotatedView, response) } }`
Don't need it? Kill it next to a queen and get the food back. Damn, that's nice. Shame we can't really know when ants should commit suicide to effectively regain food.