« first day (3 days earlier)      last day (28 days later) » 

2:57 AM
I don't know what blue needs - I guess I'm going to work on some generic code and see what red comes up with : P
 
@BMac Are you on blue?
 
Yes
 
We need a protector for SphiNotPi3000
Basically, a third bot that can come in and assist kills.
 
What does that entail? It seems pretty capable of taking care of itself : P
 
SphiBot is actually quite liable to get into deadlocks and stalemates.
 
3:02 AM
I'll check it out
Do you have any notes or anything?
 
I don't have written notes, but I can help with anything you want.
I've already modified some code to accomplishes the task, but it's pretty bloated.
How much do you know about how Sphi works?
(It's kinda convoluted)
 
I only know that it's two bots that team up
 
Well, the basic idea is that two bots adjacent to each other protect each other.
And so, we want them to constantly stay in that formation.
Each turn, the bot makes the decision "Am I in the formation?"
To answer this, they use the data stored in the partner's message as to where it should be.
If it's not in formation, then it's goal is clear: move in the direction to get in formation (towards the target square)
 
So the basic idea is that two adjacent pixels is a strong formation?
 
If the bot is in formation, and has determined itself to be the leader for that turn (the bots store the move # in their message, so the bot can tell whether or not it is the leader or follower for the turn), then it makes the decision of where the formation should go. The other bot, in its code to get into formation, naturally follows.
Yes, it is a very strong formation.
XXX
XOX
XOX
XXX
The Os are the bots, the Xs are where it can attack.
 
3:13 AM
(interrupting) yeah, Blue team needs a "stalemate breaker" who can find nearby allies, identify if they're in a stalemate (not moving at all, or in a 'toggle' state) and get close enough to actually DO something about it. SphiNot3000 is a great hunter, and flawr and I made 'distractors', but we need a middle ground where it doesn't hunt directly, but actively supports. Like Hit's bot with a little more 'courage'.
 
This game has some advanced maneuvering strategies involved.
 
Oh, I understand the formation now
 
If the opponent is generally above or below Sphi (delta-y greater than delta-x) then a kill can be forced.
But, if the opponent is on either side, then a kill cannot be forced without a second bot capable of "going around" to the correct spot to make an attack.
Let's say that the situation looks like this:
....
....
B.R.
B...
====
Blue can't do anything to capture red.
This simply not forcible.
Which is why we need a third bot to do something like this:
B-|.
..V.
B.R.
B...
====
that's supposed to be an arrow
 
Forcing a kill vertically still requires a map edge or teammate currently, right?
 
Yes
I wonder how what it would take to make a look-ahead bot.
Something that was capable of making much more advanced strategy decisions.
That might be needed to break up stalemates.
 
3:25 AM
That was my generic idea
I don't know how bad the branching will be
Shouldn't be hard to try out
 
I think the main concern is actually timing out.
 
Hopefully, I can look far enough ahead that I don't even need to understand the strategy : P
Surely the computer can figure it out better than me
That's my motto
 
You can probably put bounding boxes on the area of simulation.
 
How easy is to to predict what Sphi will do?
 
Very easy.
With my explanation, at least.
 
3:28 AM
If I just tag along with them and predict what they will do, that reduces the complexity a lot I bet
 
Depending on the relative location of the opponent, it picks one of many possible pref[] lists, which represent the preferred moves. It goes through them in order and picks the first safe one.
 
Does tNear include me?
 
I don't think so.
It shouldn't.
 
Ok
 
3:47 AM
@BMac Are you still here?
 
4:22 AM
Yeah
Haha
@PhiNotPi
 
I modified some code to make a helper bot.
You can test it out by using the TEST_ENTRY thing.
There' a lot of unused code in there, and you can create your own decision thing. I recommend trying the look-ahead.
 
Nice
 
Have you tried it out?
 
I will see what I can incorporate from there
Yeah
Aww, it doesn't go for the kill in this situation:
RB

 B
 B
Wait, nevermind
B
R
B
B
That one
 
There are some things that can be done better:
1) Remove all the garbage code that's not needed because it's not SphiBot
2) Do a better job of keeping the correct distance (don't stand on top of friends).
3) Be willing to sacrifice itself if that leads to victory
 
4:35 AM
Ignore my post above
I started writing some stuff already so I think my current plan is to just grab the bits I need from your sample and fit them in there
 
sounds good
 
 
1 hour later…
6:03 AM
Man, 15ms is not much, and the branching factor is real bad (7^N)
I've got a basic lookaheader using minimax that seems to be doing the right things, but it times out and dies whenever two or more enemies get in its window
 
6:20 AM
0
A: Red vs. Blue - Pixel Team Battlebots [sandbox]

BMacBlue Team - Blueberry3000 var DEBUG = true; var MAXDEPTH = 3; var WINDOW = 5; var IGNORE_ALLIES = true; //Optimization. Ignore all allies except SphiNotPi3000 var ME = 32671; if (DEBUG) var start = new Date().getTime(); var min = [0,0]; var max = [127,127]; var teamMoves = [[0,0],[0,1],[0,-1]...

 
 
13 hours later…
7:06 PM
I've set an official end date: April 19, 2015 (around 11pm UTC)
3
 
 
4 hours later…
11:28 PM
Here's a 100-round run on April 6th at about 7:20 PM:
 
Test
This works!
Don't I need 20 rep on Meta Stack Exchange to write here?
Apparently not
Considering rewriting my bot to get the vector of the most successful bot currently alive, move 10 pixels in front of it and engage when it can see both an enemy and the targetted friend.
 
You still have like 4 hours left to edit it.
Actually 6.
 
Ok, I'll give it a shot. The functions I wrote make nice reusable blocks
 
11:44 PM
It's going to be hard to measure progress though, since it's already doing so well.
 
What do you mean my measure progress?
 
Determine whether or not your changes improve the bot.
Although... it probably won't be that hard. Just watch the kill counter.
 
That's why I was confused. It seemed like a very simple to do
 
yeah, nvm
 

« first day (3 days earlier)      last day (28 days later) »