« first day (1 day earlier)      last day (26 days later) » 

20:01
@N.P. Use setInterval() to repeatedly run
@Night2, a good catch, I tried to find the issue too, but this didn't occur to me at all.
Looks like if you want to do a KotH in JavaScript, then you really have to make sure that you have the scoping right.
Okay, let me change that and add the event log
@RedwolfPrograms you need to also add that after the filter function
@RedwolfPrograms so both second and third parameters of b.run(...) should be passed thru that
It will be JSON.parse(JSON.stringify(botSet.filter(........)) and JSON.parse(JSON.stringify(coinLocations))
Got it.
Let me work on the event log.
20:16
Oh, when I said that I meant I was going to work on one!
You're free to do it though :P
Why I started making one as well then? ...
My event log will beat ALL of yours!
Probably :—D.
KoTH Event Log
make a bot that makes the best event log
Interestingly, the performance of drunk seems inversely related to the performance of blindly
Similar to the relationship between TBT and PV
PV now seems to be beating TBT regularly, but it has some problems with Drunk...
20:25
Should I make an Easter Egg where Polite Near-Sighted Drunk slurs its speech in the event log? (This is a joke, I'm not going to do it)
(by the way, I feel a little bit inferior because PV's logic is only ~ 1/4 of logic of some street drunkard...)
(at least when measured by code size)
I'm not a code golfer, don't worry :P
Should the event log log when bots move?
Wait, no
I wouldn't, lol
That would be a long log
20:32
This game now has a few top bots and the result usually is about who gets more luck with coins on start
The one that gets stronger first, usually wins the game
I found a way to make drunk-bot get sober faster >:)
Because on 1:1 races to same coin, the one with more points is the winner
Yeah, the other will run away.
Potentionally Victorious got another update.
13
A: Gold Collector KoTH

RamilliesPotentially Victorious | JavaScript function (me, others, coins) { function U(x, y) { function distance(X, Y) { return Math.abs(X-x) + Math.abs(Y-y); } function gravitation(k, X, Y) { return - k / ( distance(X, Y) + .2 ); } function exponential(k, q, X, Y) { return - 5*k * ...

Maybe "Potentially Victorius" should be renamed "Victorius, and if not, make more adjustments"
21:01
This is only the second adjustment! That's not so bad I think.
I'm getting an error with PV, @Ramillies
Where?
Oh, sorry, it was the end of the dictionary
Whew.
I was sort of afraid of having to track down some mysterious bug.
By the way, I finished the event log.
Just a syntax error, my bad!
21:04
That's perfectly OK, I'm glad it wasn't anything more serious :--).
Finished Event Logging Auto-Starting FPS-Modifiable Graphic Output System!
Obviously, you beat me in the marketing! :—)
(By the way, I love how the controller is turning into a community-made spaghetti.)
LOL...Livin' on the Edge ate Not So Blindly...brilliant pathfinding algorithm vs circle = circle
This is the first time I'm using Polite Near-Sighted Drunk Bot
The best my Chromebook can get with 3 bots is 10fps
Note: Polite Near-Sighted Drunk Bot pollutes the event log with notes about botData updates, so I'm removing that part of the event log.
ATTENTION BOT MAKERS: Hunting is now more profitable! Gain 85% of opponents coins now!
D:<
21:19
To encourage faster rounds
Well, I guess it's time to make a GuardDogBot then
@RedwolfPrograms: Please edit the post (and ideally add a big bold notice that it has changed), so that the other people know it as well.
Already did (I bolded 85%)
Oh, sorry. Then please remove the sentence "The winning bot will gain 35% of opponents coins (Rounded up)." just before it :—).
(or edit it appropriately)
You edited only the sentence that talks about 3 or more bots clashing.
Yeah, that wouldn't have been good
thx
Event logger says Bot Bait Bot tired of this world, and jumped off its edge in turn 2
And my event logger says [10] 3rd Gen Algorithm has fled shamefully., which is something the 3rd Gen was not supposed to do...
(aah, I see it's a long-standing bug)
There're lots of "long standing bugs" that cause bots to "flee shamefully" apparently
Looks to me like Third Gen Learning Algorithm doesn't properly check for being on the Southern or Eastern edges of the map.
21:31
Yes, there is an off-by-one error. It's even described in a comment.
if (me.locationX < me.arenaLength) options.push('east'); needs to be if (me.locationX < me.arenaLength-1) options.push('east'); I think
Ah, yes, there it is right in the comment.
Yeah, that's exactly the bug.
Argggh, Cain won't fix the distanceTo() error
@Caiin PLEASE FIX IT
He has 5 days to do so, no need to be nervous :—).
He needs to update Bait Bot, it loses often
It always jumps off
21:37
Yeah, he will do it eventually.
Perhaps he isn't so hypnotized by the challenge like we are.
You are getting nerdy...
You are getting nerdy...
When I snap my fingers,
You will build a new bot
By the way, Damacy rocks:

[46] Damacy has eaten BEELINE for 5 coins.
[54] Damacy has eaten Katamari with Values for 8 coins.
[58] Damacy has eaten Drunkard for 4 coins.

(only after that)

[109] Potentially Victorious has eaten Damacy for 21 coins.
Oh no
You got me
Quantum Gnat Bot is ready
YAY
Potentially Victorious and Drunk are dancing (:
Dancing?
I had a good "dance" with That Bot ... Aggressive.
I was pursuing him northwards, then we both turned to the south, we went to the south, then we turned to the north etc. For 50 turns (and we would be probably doing that forever).
21:41
Does safety coin just beeline for coins the entire match?
No, he usually dies :)
I don't know but I may test it.
However, "just beelining for coins" most often means being eaten.
(I thought that SafetyCoin would just stand on one place until eaten, because with more bots there is no safe coin.)
It only goes for coins if it can't be eaten doing so. That also means that it just stands still otherwise :P
Is safety coin bug free?
I think it should be. The problems most of my bots were having was that I forgot to put Math. in front of abs or other math functions
21:45
It seems to be so.
Sadly, Safety Coin doesn't seem to be too safe:
`[12] Damacy has eaten Safety Coin for 2 coins.`
It doesn't consider the safety of its own location, only the safety of the coins
... but now it has won a match!
Odd. Let me add Safety Coin to my testing
Safety Coin 112, Potentially Victorious 86, Drunkard 69, That Bot ... 62.
21:49
If it gets coins early it can do well. Otherwise it just stops moving
Yeah. That's what he actually did.
Interestingly, in the next match I beat him, but PV had 96 coins and Safety Coin 93.
So he definitely can do well if he doesn't get eaten along the way. Probably because he has no sense of self-preservation.
As long as safety coin is trying to get coins he can't be eaten. It is when he stops moving that he gets eaten
Yeah.
Safety coin is a funny bot with straightforward (literally) mechanics
I might make it so that he moves in a random safe direction when there is no safe coin
That way it might actually survive until it gets something
21:53
He can do really well if not eaten right at the beginning, and I thought that would happen way more often than it does.
Yes, you can just have him run away randomly.
(however, with Damacy, all bets are off. Damacy eats everything (or dies trying).)
This map is starting to get pretty big...
My bot is similar to Safety Coin in that it only goes for safe coins, but it has some additional behaviors as well. If there aren't any safe coins it tries to position itself for the next coins to spawn. It also is forbidden from making any move that might result in its death.
What's your bot?
Oooh, I'll add it to my list
21:55
Weighted Motion is causing a syntax error due to an = sign
Because I'm an idiot
And forgot the brackets around the function
@MikeNichols Big King Little Hill seems to stop next to coins
Runs right up next to them then sits there
I can post a gif in a minute
haha I will investigate
Seems like an off-by-one error
Also, he keeps getting eaten by TBTAIWHDWA
21:59
Oh, I see the bug I think. I had actually fixed it in a version but must have somehow reverted.
Can someone find a problem with this code?
//Controller for Gold Collector KoTH by RedwolfPrograms, tested and (mostly) functional
//
//Use botSetup() to prepare, and runBots() to run one move.

var botData =
[
{
name: "Livin' on the Edge",
run: function(myself, others, coins) {
x = myself.locationX;
y = myself.locationY;
xymax = myself.arenaLength - 1;
if (x < xymax && y == 0) {
return 'east';
} else if (y < xymax && x == xymax) {
return 'south';
} else if (x > 0 && y == xymax) {
return 'west';
} else {
return 'north';
}
}
}, {
name: "Not So Blindly",
Uh
It says Unexpected Token ]
Okay, thank you
@N.P. I've edited my post with updated code that I think solves that problem. Mind testing it again for me?
22:12
This time he dive bombed off the edge after getting a coin
OK thanks, I'll look into it
Safety coin had more coins than anyone else in this round
Nice bot, redwolf
Your data storage part doesn't work, though
Adding botNotes. fixes it
Does coin magnet have any bugs?
Not that I'm aware of
Firebird is having issues turning around, it seems...
22:18
Oh yeah
.storeData("center"); doesn't include "pos"
How does wild goose chase do?
function firebird() {
var pos = botNotes.getData("pos");
alert(pos)
if (pos === null || pos === "up") {
botNotes.storeData("pos", "mid");
return "south";
} else if (pos === "mid") {
botNotes.storeData("pos", "down");
return "south";
} else if (pos === "down") {
botNotes.storeData("pos", "center");
return "north";
} else {
botNotes.storeData("pos", "up");
return "north";
}
}
Wild Goose Chase will never win, it just avoids losing
Oh
Any bugs (Sorry, I'm a bit repetitive)
Nah
I'm debugging quantum gnat, but I'll have it posted soon
22:21
I hate buggy bots, they cause quite a few little issues
No offense, half the bots on here (:
I've been putting them in one at a time so I can detect what the errors are
That's what I do, but they still annoy me
Your bot was buggy too :P
I'm gonna make KatamariWithVowels
And KatamariWithCalimari
WIld Goose Chase gets iignored
Thebots are smart enough to avoid him
Does the AntiCapitalist cause bugs?
22:38
Not on my end
OK @N.P. this time I think it's good.
Mine neither. I'm working on a bot called "Goose.Armageddon"
QUANTUM GNAT IS COMPLETE
Since it’s JavaScript and all, how hard would it be to put the controller on RedwolfPrograms.github.io ?
Or your own personal website
22:42
The [non-updated] controller is on github
But I mean an HTML page where you can go in, click a button and see it run without having to deal with any code
0
A: Gold Collector KoTH

N. P.Quantum Gnat Bot | JavaScript function quantumGnatBot(me, others, coins) { let quantumCoefficient = .2 let turn = botNotes.getData('turn') botNotes.storeData('turn', turn+1) botNotes.storeData('test', [2, 5, 7]) botNotes.getData('test') let dG = {'none': [0, 0, -2, -2], 'east': [1, 0...

Quantum Gnat Bot has been posted
Well, with my design, you just put one set of code in the console and it sets it up for you
You just do activateCanvas()
with 2 params: fps, and turn count
Modified safety coin to randomly move to a safe location if there is no safe coin.
it can end up swapping locations with other bots
Interesting
Is it bug-free (Not counting the gnat)
22:45
Heh
I think there's a bug in SafetyCoin, I'll verify...
@fəˈnɛtɪk I'm getting an issue with the line that calls distance(x,y,others[i])
It's nice now that we have more than 2 bots that survive
Is Big King Little Hill bugless?
Literally forgot to add the line which defined the function :P
fixed it by hardcoding the function into that
Little King is working fine on my end
As is Safety Coin
22:54
The Big Four:
1. Drunk
2. Potentially Victorious
3. TBTPTGCBCBA
4. Big King Little Hill
5. Safety Coin
Four?
He's #1 ;)
I changed the display on mine so that the top scorer(s) get a green halo
I write out the rankings, and the first three get a special color :--).
(Which shows the best that I don't have anything serious to do.)
I have 18 bots so far
I'm seeing 21
Wait, 20, one isn't published yet
23:02
Now, 19
There are 26 answers
@RedwolfPrograms Big King seems to be working in N.P.'s test but I'd like to do more independent testing before I declare it truly "bugless". I'll let you know.
I need B33-L1N3, there are 3 python/haskell bots. This leaves 3 more
@N.P. By the way, thanks for the help debugging.
@MikeNichols No, it's bugless
It compiles
23:04
I checked extensively
It is not bugless, I think
Ah, ok, if that's all you meant then yes.
It doesn't look like it is behaving as intended
Is it getting eaten N.P.? It should be very unlikely to be eaten unless it is surrounded by other bots.
FIREBIRD LIVES!
23:06
It should be pretty hard for safety coin to be eaten now.
If there is a bot which can eat it 2 squares away it doesn't go in that direction and if there is one immediately next to it it either moves away or tries to swap positions
Unexpected token [
No, {
I wonder: what does 20 safety coins look like?
What does 20 Potentially Victorius look like???
20 safety coins will probably have a bunch of random walks while a few head straight for coins
Yeah, 20 Big King Little Kills would be fun to see
20 protons would probably one of the most interesting to watch
probably be*
20 safety coins? 5 go for their coins and 15 watch them.
23:12
True
Safety coin does a safe random walk now when there is no safe coin
20 Potentially Victoriouses? ... I have no idea, but probably something quite similar.
Yeah. 20 BKLH is what I'm doing
No, 20 protons
SafetyCoin and BigKing are working pretty well right now
Uploading a gif of my last run for the day
No Proton bugs, right?
23:13
Proton didn't run for me
For me it works, but it gets into loops
@fəˈnɛtɪk Please remove the console.log
Safe random walk of Safety Coin ended badly on my first try:
[24] Katamari with Values has eaten Safety Coin for 2 coins.
user image
3
My last gif for the day (probably)
Changed the halo to black for contrast
I'll show a screenshot of what my screen looks like
(The small white bot is the gnat, btw)
I wonder how different this would be if it allowed diagonal movement
And not moving through enemies
23:18
@N.P. That's awesome. Thanks for the gif! Big King Little Hill seems to be performing as expected.
And floating point positions...
Oh, thanks!
I just realized that as points get higher, the bots which hunt seem to stop increasing as fast because they value other bots more than coins
Also safety coin seems to stick to the edges for the most part
Yeah, coins are the best way to go
@N.P. How are you making those gifs?
ScreenToGif
I searched "record screen to gif" and found a product I liked
23:21
Hmm, I see.
So it will be ffmpeg for me I guess :).
The hunting bots take over the game early on though and safety coin doesnt seem to be able to catch up
20 protons = boring
It catches up quite well I think.
What are the latest numbers for victories out of 10,000 games?
Does katamari w/ values have a chance of non motion when hunting?
23:23
Okay, gtg
Because if it does that is how the safe random walk killed safety coin
Also what bot is the black one. I can't read the name
It certainly can stop.
I don't know if it stops "outside the hunting mode" only, or if it can stop while hunting too.
My safe random walk only considers bots that are exactly 2 distance away to be threats :P
This is required though otherwise it safety coin will corner itself running away from the hunter
23:41
Swapping locations with a threat allows safety coin to see new coins as safe to get
I hit about 100fps on the graphic program with log
I can do 1000 turns in 10s
Without graphics and log, probably twice as good
The way I see it, BKLH is getting ready for 100 reputation
2 minutes for 20k, with graphics

« first day (1 day earlier)      last day (26 days later) »