« first day (5 days earlier)      last day (17 days later) » 

12:27 AM
updated my gist with the combined controller lgoic
*runs dz's controller, watches SerialKiller go after KA on 590, complete and perfect stalemate for 470 turns (at which point KA knows that it will live until the end and goes back to farming)
But on 567, KA did not assist in a 8000 gold kill
 
12:51 AM
Barbarian Man, my next bot, seems to be around 7th place
VM24:1485 Kill Assist: 33800.607
VM24:1485 The Accountant: 29105.542
VM24:1485 Kill Stealer: 23851.133
VM24:1485 Unkillable: 12863.069
VM24:1485 Captain Farmer: 11494.11
VM24:1485 Switzerland: 11472.519
VM24:1485 Barbarian Man: 9917.718
(1000 rounds)
 
heh
 
VM138:1485 Kill Assist: 36567.733
VM138:1485 The Accountant: 30432.795
VM138:1485 Kill Stealer: 23483.009
VM138:1485 Unkillable: 12830.685
VM138:1485 Captain Farmer: 12580.299
VM138:1485 Switzerland: 11964.486
VM138:1485 Serial Killer: 8566.782
VM138:1485 Mort: 8342.502
VM138:1485 ScaredBot: 7235.642
VM138:1485 Barbarian Man: 6754.731
Although now, he seems to be in 10th place...
I'm updating the controller so that it's more intuitive when you copy/paste the results from the competitions
There's the new controller output. Easy to copy/paste with numbers
1. Kill Assist: 36465.7
2. The Accountant: 29147.4
3. Kill Stealer: 23130.775
4. Unkillable: 13763.46
5. Captain Farmer: 10669.92
6. Switzerland: 10642.97
7. Mort: 8415.555
8. Serial Killer: 7258.13
9. ScavengerBot (V2): 6438.245
10. ScaredBot: 6129.265
11. CampBot: 5495.815
12. Bandit: 4441.59
13. Kill Bot: 3799.59
14. Friendly bot: 3256.85
15. Indestructible: 2693.155
(Example numbers, may not accurately represent bots)
 
1:12 AM
Beautiful
 
It drove me crazy having to count by hand to determine what place my bot's in (though that may not be an issue for you)
 
1:37 AM
My new bot, AntiRepublican, seeks to destroy the middle class of bots
 
lolwhat
 
It uses a patent-pending combination of stuns and attacks to crush its competition, which it selects based on the median bot based on a variety of factors
 
@Draco18s serialKiller isnt even supposed to be good
im too lazy to actually make it better
im just improving switzerland
 
@SuperStormer its mostly only so good because no one targets it in the same way
 
2:25 AM
Results:
1. Kill Assist: 34443.17
2. The Accountant: 29929.99
3. Kill Stealer: 21930.97
4. Captain Farmer: 13725.57
5. Unkillable: 12823.5
6. Serial Killer: 11341.93
7. Switzerland: 10106.07
8. Barbarian Man: 7518.94
9. Mort: 7392.26
10. ScaredBot: 6967.08
11. ScavengerBot (V2): 5655.96
12. CampBot: 4358.78
13. Kill Bot: 3177.88
14. Bandit: 3160.56
15. Friendly bot: 2820.24
16. Rando: 2572.18
17. Indestructible: 2511.79
18. AntiRepublican: 2136.37
Looks like my new bot isn't the best, but it wasn't meant to be
Tripled the score with a three-line tweak
Results:
1. Kill Assist: 36406.72
2. Kill Stealer: 32647.16
3. The Accountant: 32423.49
4. Switzerland: 27720.49
5. Unkillable: 24592.51
6. ScaredBot: 18443.63
7. Captain Farmer: 8274.39
8. Mort: 7896.78
9. AntiRepublican: 7727.34
It seems AntiRepublican causes some changes:
Results:
1. Kill Assist: 37666.99008919723
2. Kill Stealer: 33976.75817641229
3. The Accountant: 32858.501486620415
4. Switzerland: 29760.217046580772
5. Unkillable: 24261.26263627354
6. ScaredBot: 19440.597621407334
7. AntiRepublican: 11317.872150644202
8. Captain Farmer: 8145.860257680873
9. Mort: 7175.94846382557
10. Bandit: 5709.351833498514
11. CampBot: 5169.600594648166
12. Barbarian Man: 4895.300297324084
 
nice
 
I actually don't think I'll post AntiRepublican since it hurts my bots' placement, but I'll put the source code here in case anyone wants to build off of it
function antiRepublican(me, others, storage) {
var weak = others.find(el => el.hp < me.levels.attack * 1.25 + Math.max(...others.map(el => el.attack)) * 1.75 + 10 && Math.ceil(el.worth / 2) >= 5);
if (weak)
return attack(weak.uid);
if (!me.levels.heal)
return upgrade("heal");
if (!me.levels.attack)
return upgrade("attack");
if (me.gold >= cost(me.levels.shield))
return upgrade("shield");
if (me.levels.attack == 1 && me.gold >= 15)
return upgrade("attack");
if (me.levels.shield < 2 || me.levels.attack < 2) {
 
3:37 AM
SEVEN bots went for the kill
 
 
10 hours later…
1:17 PM
A few bugs:
- In debug level 1, the last bot's information will be shown when a bot is stunned
- In debug level 1 for the first bot, undefined undefined {} will be shown when a bot is stunned
- In debug level 2, there's probably also some bugs
 
2:03 PM
200k games overnight (could've been way more but didn't want to find it still running in the morning):
https://tio.run/##vVjBbhy5Eb3nK3jMXhqsIotFXhZYb@IECIxdRJtrgLY0sScrjZTRyI50CnLOIQcf9iN89Bftjzivit0tzWgMOytgjQHVw2E3H1@9elXt03HzZrz@@DF88t/45lW/eLveXIfwNf1oX76m6H/DxfjPadVv315ud6//yl/hK8Xd6xDYx@Rj9lF8LD6qj9XHZuPVanu62uzW56vf/PzuPz@/@9cTPu9/6bL3X/y090/Y94m3/Mqf/yIe/z6QxcXts8sdphNJkiFLiSngq7aogr/Ucm7RLmpqmm1hiUxsMyTSJFGJ/Uk2lamWwLlECVyFI0SjNrJKCylrSyFpFIxNJYaMKXv4Hq4/rc/PwzfX1@trw8WtpDpIziy2Q2GS6rgkluy48DyDwyxckuOKFLkR8z0uSk0CZW4xUEvKAYtbDYkU6JMwaUg1Vg2ZskjIRbnt4frh9Sp8c3p6ebPZjRvHVTnRUFSz85VJ
 
Barbarian Man has been upgraded to kill any bots trying to kill him!
 
2:40 PM
Made some updates to Kill Assist this morning
had a game result in KA ending up with almost 94,000 gold (!)
2nd place (kill stealer) had ~86,000
 
Just completely rewrote Barbarian Man's lowHP mode, time to test it
 
I'm trying to figure out another attack-things-lots bot. Namely, I'm trying to figure out if I can find a way to coordinate with another bot (that is, identify each other and pick the same targets)
 
@Draco18s i don't know whether that'd fall under "Bots should not be designed to target a specific bot, but can be designed to take advantage of common strategies"
 
One way to do that might be a specific pattern with farm and heal for the first ~10 turns
I'd say that's not targeting a bot, though
Just working with it
 
"target specific bot" would be "this bot finds Thanos and kills him"
 
2:47 PM
ah okay, let me post a 100-bot army to kill everyone
 
@dzaima Good luck finding 100 good bots that are unique enough to be considered different
 
@RedwolfPrograms i don't think there's a differenceness requirement
 
I'm not looking to create a Tim Army either. I'm specifically thinking more like Tweedle-Dee and Tweedle-Dum
 
I'm pretty sure it's a standard loophole to copy a bot
 
The problem with creating a coordinating pair is that there's no ability to...well, coordinate
 
2:50 PM
i have actually thought of ideas for pair or triplet bots and would've made one once this is over, but i definitely thought that rule would (and should) cover that
 
Communication could be done by a pattern of farming or stunning the other bot
 
@Draco18s it's quite easy as every bot gets equal inputs always, worst-case scenario would be to run the other bots code for every current bot and see which matches expected
 
I'd say teaming is allowed, due to the difficulty of doing so (it makes the challenge more interesting anyway)
 
@RedwolfPrograms i'd say it's definitely not difficult
aka imma start making one now, and we'll see how long it takes me
 
@dzaima Maybe not difficult, but not an easy winning strategy either
 
2:57 PM
damn you kill assist
https://tio.run/##xVhNbxvJEb3nV/QxuQy6qrurui8B1kmcBQJjF9HmGmBMcW3GFKXww450CnLOIQcf9kfkmF@0f8R5VT0kRYoCBPiwAlUY9Qyn37x69apGs3H1cdx8@RKe@xk/vkP8tFhtwm/pA37jh3Az/mM69etPt@vt@7/yb/Anxe37ENhj8pg9Fo/iUT1Wj83i3Xw9m6@2i@X8Vz9//vfPn//5FZ//vvjsS45feNuvufgX@fwHRP/rkN4/LZbL8M1ms9hssZyUtQ6ZyI5zQ2waLYqtECnnYgfCklKVmuwWtqAt5cBSUgzJzoVUKOMYX0BsNXPI3JhCllpLKLkmu9EJlP5zc//q1qFIbWlobLdPDqipWizJNqyVKDoUqjG1HOsEhYlLDFxVK1SoQgBUKwOQUg6pppyhyyYAlCvFUBI3OoHyw/t5@GY2u92ttuPKoSSRMmgS308cinND2VYiIPmpHDlVPHfZs0IRmzG1KgAEyCFRLCWklA2WaOeGWsipxoZCoZLPWbn6tNg@zNfLcXVtt2xNy5Aa2yWFHUpFFPIVjcLGSgArVamSDO
 
tee hee
I'm also wondering if I could train a neural net to play this game
but I am not that familiar with writing such things
 
@Draco18s you probably could, but pretty sure it'd develop strategies to get around specific bots
 
its a concern, for sure
oooh. new bot idea isn't terribad.
`8. NewBot: 12095.091`
 
3:16 PM
Do you guys prefer team-based or individual KoTHs?
 
I never participated in any [multiple users] team KOTH, not by choice
so I have no opinion
 
3:30 PM
"difficult"
https://tio.run/##ZZLLbtQwFIb3PIWXsDnyPXZ2HWBaCVVFDDyAJ3GLS@IExylKXn5wMgOKZ6Rk4/9cv/NXxr@Z4XQKo783rX1PMMYf3r24IcLrUAqG2mnXRVoipogQgKnYit9/WnRXVd3oo/GxRIRxokBKuQ06/HFxtqExvk4RWEkNQuURlQm2Tn1KpJTQwLbiR9P2Z0kIDkKrrThU5s36FxvOEZxg4LTYRvzwv1zTmGNjSyQVKwCLTP@SVHQ3DOklBTBKgAm6DTiakD5n/KPxJeJcYSCCbCP2wVlfNxM6LkNwmsaUNFuwMn3cm9DasOg4IdIZx68mphLxEIOJdnlf12ESS2BcZ6hsGqVZp16KMXEbskug3ZJOOIWCZrweu7AqWAPnGYfR19NCae1MdcGBFBmH@9GE2i0MqGYapLo2wlPfp@qjX0lSJdU1BedrO8QwVtGt56AKY9Dq9hznGWhBQOekv6XVuiQRXoDk5ManJBlMCgL01qaff4@mcfMCjQgmARcZtOU6D9ZceqvVadc1HkzzvPwlEgkAy320d/O8G@c5HVhRoFjnycZ3w1qaCwxY8vw
40 minutes, i'm disappointed in myself
it also attacks itself sometimes even though it's identified the other bot
 
@RedwolfPrograms I'm in the same situation as Draco.
 
^ too
 
@dzaima Well, I guess I underestimated teaming.
 
stunning is very powerful if used correctly
 
@RedwolfPrograms is the auto-updating controller broken?
 
3:35 PM
@B0RDERS Oh, the link changed to redwolfprograms.com/koth
There's only one unified controller now
 
Depending on the teaming format (and the gameplay of course), I could see a team-based KotH being fun.
 
I once tried to make one, but the rules were pretty complex and nobody really participated. It got deleted. Since then, I've realized simpler KoTHs are typically more popular
I was approaching them from a game designer's perspective, rather than a programming challenge perspective
 
I think the key to a successful KotH isn't its simplicity, but rather its barrier to entry.
 
That's mostly what I mean when I say simplicity, though a shorter documentation would make it seem like it takes less effort to participate since you don;t have to deal with so many rules/read so much
 
And of course its "skill ceiling".
 
3:40 PM
What's that?
 
How far bots can be taken by dedicated enough participants.
 
Formic Functions had both a high skill ceiling and a low barrier to entry
 
Oh, makes sense. I think that's almost been reached here, since most bots are now just one-upping each other with tiny improvements in order to get in first place (though the teaming strategy might add some more interesting developments)
 
yeah
 
In a sense FF not only had both of those, but also a vibrant middle-ground, and an established following from its eternal stay in the sandbox.
 
3:43 PM
@RedwolfPrograms, what JS console do you use?
 
I use the Chrome developer tools to run the controller
 
@Alion oh definitely
right up until the Green Goo happened
 
What was the green goo?
 
Green Goo is still getting its behind whooped by SlM.
@RedwolfPrograms My entry, which consistently consumed the entire map.
Well, as long as SlM wasn't around.
 
@RedwolfPrograms, can you edit code easily on chrome developer tools? it seems like you have to re-paste the entire function
 
3:47 PM
@B0RDERS more or less, that
 
I copy and paste the controller into the console, then copy any bots I'm testing into it, and then enter them into botData with botData.push()
I'll add a few features soon to make that easier, using the url to store parameters
 
@B0RDERS my controller reloads a bot.js file if downloaded & run locally
 
i see. seems a lot more simple to use vs or a REPL, but they are all so much slower than chrome dev tools
 
TeacherBot posted. It bullies the bullies.
 
I'm going to add a few features, like injecting the controller into JS
 
3:50 PM
@dzaima, is your controller public?
 
you meant his one? dzaima.github.io/goldBattle
 
thanks
 
its starred, but there's so many starred messages from Redwolf that it got burried
and the "show more" doesn't scroll
 
I've tried unstarring them, but it doesn't work
 
3:52 PM
oof
 
was it only mods that could clear stars?
 
I don;t know, they say they're unpinned when I click the menu, but they're still there. I can click the stars by them, but then they say "you can;t star your own messages"
 
anyone else also starred those messages?
 
Maybe
My controller now loads the controller as JavaScript too, so you can just type runGame(?rounds, ?log) in the console of the AutoKoTH page to run a game with the latest controller
 
4:10 PM
There are now two functions, loadBot and queryBot, for debugging and testing
 
nice
 
The loadBot function should be really useful
And I guess queryBot might be handy for checking UIDs
 
@dzaima Might want to update the widget to dump out a gist with the updated controller code
 
XD I just ran loadBot("ConcatBot", 1, Array.prototype.concat); runGame();
[1] Broken:
Self: {"uid":53,"hp":100,"gold":25,"shield":0,"levels":{"heal":0,"attack":0,"shield":0,"farm":0}}
Others: [{"uid":64,"hp":100,"worth":0,"attack":0},{"uid":89,"hp":100,"worth":0,"attack":0},{"uid":77,"hp":100,"worth":0,"attack":0},{"uid":97,"hp":100,"worth":0,"attack":0},{"uid":46,"hp":100,"worth":0,"attack":0},{"uid":70,"hp":100,"worth":0,"attack":0},{"uid":35,"hp":100,"worth":0,"attack":0},{"uid":94,"hp":100,"worth":0,"attack":0},{"uid":66,"hp":100,"worth":0,"attack":0},{"uid":11,"hp":100,"worth":0,"attack":0},{"uid":98,"hp":100,"worth":0,"attack":0},{"uid":32,"hp":100,"worth":
 
@Draco18s what's to update about it?
 
4:17 PM
uh, well at the moment your controller is flat broken, it only loads the two test bots :P (it was fine a minute ago)
 
@Draco18s yeah, i didn't test with custom bot disabled, and forgot to push the fix i made quickly :p
 
@dzaima but after that, the current official controller takes 2 parameters to runGame
oh and leave the //Copy and paste bot functions here: comment at the very top
 
and what's the issue with that being the case?
 
right now it shows up after the botData array
@dzaima the gist-dump lacks the logging updates
 
@Draco18s it should just copy the gist 1-to-1 (except the botData array)
 
4:22 PM
What does @dzaima's widget do?
 
I was going to double-check what the current dump was, but as the page is broken right now... :P
 
@Draco18s how is the page broken now?
 
If I published a pair of bots that targeted the winning bot, one stunning and one attacking, would that be cheating?
 
@B0RDERS that's exactly what my pair of bots i was playing around with was doing
 
Just what I said earlier, it doesn't load any bots
 
4:24 PM
@Draco18s i pushed a fix for that
blame cache
 
@B0RDERS It's technically not, but it would definitely be a little OP
 
@RedwolfPrograms *is
 
ah there it goes should I blame caching?
 
i dont think either bot would win. it would just change the leaderboard a lot
 
@B0RDERS again, my pair of bots did win, and by 3x
 
4:25 PM
I think if someone posted a bot like that, other people would post more to stop them
They'd mess things up for a little while, but I expect it would balance out
 
ok, just did a gist dump, we're good :)
 
@dzaima, are you going to post yours or should I start working on mine?
 
Does anyone here use my AutoKoTH program?
 
@B0RDERS I've still got a lot i want to add to it
 
@RedwolfPrograms haven't had a chance to poke at it. Cognitive inertia
 
4:27 PM
will the autoKoTH detect the bots if I post them in one answer, or should I put them in separate answers?
 
All bots should be in separate answers
 
thnks
 
@Draco18s Not really much to poke at; you just go to the site, open the console, and you can immediately run games or load bots
It also writes the source code to the page, but you don't need to copy/paste it since it's already loaded as Javascript
 
I mean that I end up alt-tabbing to notepad++ instead of copying a controller from somewhere :P
 
AutoKoTH isn't a copy/paste controller, it's just a program on my site's backend that gets an updated copy of the official controller and combines it with updated copies of the bots. You can then either copy that to somewhere else, or use the console on the page as the controller.
 
4:35 PM
I am aware. that's why I referred to it as cognitive inertia
 
Oh yeah.
 
wanted to add a non-very-basic&stupid other finding mechanism, but currently it's success rate is 1896/2000, so idk if it's worth it
 
4:58 PM
Night2's new bot seems pretty good:
1. Kill Assist: 46194.27
2. The Accountant: 37744.4875
3. Switzerland: 30607.6375
4. Kill Stealer: 28079.95
5. The Bot That Farms, Attacks, Shields, And Even Heals But Never Stuns: 25755.34
(400 rounds)
 
5:15 PM
I'm about to test 729 sets of weighted values for a bot, to determine the best way of determining which bots to target
 
5:37 PM
poor bot 1
https://tio.run/##vVjLblvJEd3nK3qZbBpd1e9NgHESZ4DAmEE02Qa4pjg2Y4pSKMqOtQqyziILL/IRWeaL5kecc6ovSYmiEQEGhqBaV/fVp6vOOVWtxbR5P91@/uy@9Jnev8H4YbW5db@Wd/gJ75y7mv42Lv3yw/V29/bP@ivnJOzeOuUQObhkY7ax2FhtbDa6zl83y@1iudmt1stf/PTpnz99@vtXfP/z7KvPOX7ma7/m5p/5@y@E@B@Pc3v18cX1TnE6txazb7nhuCTB2KXyuBaMUqW0yNti1hJLj8qneUVFnaacXakSOEhytaZcXUs5BNclNnG9xlJBkJwrX3ME8sPbpftmsbi@2@ymzQ6n8b5SfSsEgkcJxB4pKdmZLsI/XcsqJbeefDMgOXPi1KvrmjhV0@REexInpcToVJtkF4EAD6ReWnsEBJ@LD6vd/XK7njaXnKqlIADCl7s8gAQCMVBYXendLuVWQqit@2JAElbpCq66Vjh56AFwYk4NQHpAtDSUBolUDdRIbeEUyDE1TISk1KMvwWZzBkGKjYwIXqRB7CBlhL@HNgNxWKw7Dshh7A7h
 
Does Bot 2 attack and Bot 1 stun?
 
@RedwolfPrograms yep
 
I'm trying to come up with good ways to counter them now...
I guess the skill ceiling hasn't been reached yet
I think I'll name my anti-team bot "Tweedledoom"
 
@RedwolfPrograms it's been pretty much reached for single-player bots, but i'd guess it'll never be reached for multi as you can always add in another bot
 
But I expect single bots could take out multi-bot groups if they can target the right one
(Not by targeting the bot, but by hoping they hit the right one)
 
5:43 PM
@RedwolfPrograms which is hard, as there's no real way to tell which bot is doing what
and if i had 2 attacking bots, your one just couldn't do anything at all
 
The attacker bot is usually in first place. I don't know your heal/shield/farm configuration yet, but it shouldn't be to invulnerable to attacks
And two attacking bots could be weakened to one, which most bots can already counter fairly well
 
@RedwolfPrograms currently it most definitely is not, but for a good while KS or any other killer bot could be in 1st place
@RedwolfPrograms i meant that as 2 attacking and 1 stunning bot
 
Oh, though stunning the stunner would allow the bot to defend itself at least slightly
My Barbarian bot often ends up with over 15 levels of shield, and other top bots would likely be able to counter even multiple attackers
Unless, of course, the attackers spend a lot of time preparing
But then, they're vulnerable during farming and upgrading
 
@RedwolfPrograms half the bots are dead by t==100
 
And half the bots aren't serious competitors
Or at least aren't up-to-date with strategies
 
5:47 PM
@RedwolfPrograms ok, the top half with the most worth gained
 
In most cases, they'll be attacked by 4 or 5 bots like Serial Killer
That's why my Captain Farmer bot goes into low HP mode at 80
Also, two attacking bots would have to be sufficiently different
I'm going to add a section for teaming rules
 
another stat: from 1000 games, in 570 all bots except mine died at some point. the average time until everyone else was dead is 330 turns
 
And I'd guess that there were an average of 4-5 bots attacking each bot that died from the moment it was below 80 HP
 
6:04 PM
Ah, nothing like 58KB of raw data
 
6:34 PM
lol
 
And it turns out it's all useless, my bot just sucks.
 
double-lol
 
As they say in the field,
OOF
 
yes, whereas I just ran a 1000 round game...and there's a script error
 
should probably make a thing that calculates which bot started attacking mine to know what things i should defend against
and in general, more things that look at statistics outside of just a single game
 
6:36 PM
Oh, like a log of when your bot is attacked, and by who?
 
@RedwolfPrograms in a format where i can analyze that over 1-10k rounds
 
I'll do the single-turn thing first, and then start on some multi-round stats
 
and doesn't report bots which just hit mine once at a random point, and also ones that joined in late to the kill party
 
changed to which to attack metric from max worth to max attack, and wow
https://tio.run/##xVg9bxzJEc39Kzq0k0FXV1V/JAZOtuUDDOEO5jk1MCL3pLWWS3q5lCxGhmMHDhTcj3DoX3R/RH5V3ftFrgACCo5Y1g5ne7bfvHr1qoaX8/r9fPf5c/jSz/z@DeKH5fou/Jbe4Te@C@F6/kf/6Ncfbjbbt39Nv8GfFLdvQ0ge2aN4VI/ZY/EYan9r9na72Fwu1tvlavGrnz/9@@dP//yK13@f/elzjp/5tV@z@Bd8/Qd0/@s019cfX9xsE07XyFGnmtWOqSG2LBajfZoilRZxUApVilprtatxgmIqBUlWTaG0JjFU5ZpDbdokNK6UQ6tSC8QirBSIkjLhyhMwf1quVuGbu7vl3da2K6I0SWVb4vu26pHtDGnjlP2j1pQK1zRxB0OaWyCNEfvgjigkYgBI2LmGVLWkwEy1Qa61AEwQ3JaegPnh7SJ8c3l5c7/ezmsHk1LhKadiS3zfViwWNWYocSxGVyiSciyqZUoOJuRSFMKvpeKmqWkgSS0FKpk
 
6:46 PM
dang
 
7:10 PM
@dzaima Are you gonna submit that?
Oh, it's the pair of bots.
 
7:22 PM
Debugging tip:
Setting a bot's return value to [null, "info"] will cause its move to be No Action [info].
Or, setting it to [null, "info", {a: 5, b: 6}] will be No Action [info: {"a":5,"b":6}]
Just useful if you need to see the contents of a variable or something, but don't want to console.log it
The second element can be any string
Not just "info"
The first element being falsy will trigger the No Action output, and is what is used for tracking stunned bots, unknown upgrades, and nonexistent attacks/stuns
 
as a side-note to that, with the exception of attack & stun, a .concat("something") to a return value makes it show up in my controllers table. i could make that an actual feature though, maybe by setting a specific thing in the storage?
 
7:38 PM
The new bot, Persistent Blue Shell, might be an issue
Actually, never mind. It seems to die out quick enough that it's not an issue
 
looking at that bots code, i now realize my "attacked" detector is wrong an completely excludes shields :|
 
Also, I've added the "who attacked who" thing to the controller, I'll do the game-wide stats soon
 
@dzaima oh ya, I fixed it in KA yesterdayish
 
I'm going to add a debug level 3, which will take a JSON formatted set of instructions to create a custom output
Or just revamp the entire logging system, one or the other
Maybe both
What do y'all think?
 
new bot hurt a bit, but luckily it sucks at staying alive
https://tio.run/##vVhNbxvJEb3nV/QxuQy6qrv64xJglcRZIDDWiDbXAGNq1mJMUQpJ2ZFOQc455ODD/ogc84v2jzivqpscWqQSAQaWkNuD4Wj6zav3XtVoMa4/jNvPn91zn/HDO/3v43K9db@m9/jn3zt3M/6tfffLj7eb3fWf@VfOkd9dO9bFBVujrWJrsjXbWmytut5Nm8W03i1X0y9@@vTPnz79/et@/v3ib19y/MLbfs3FP/PPv8DyP54U@Obh4nbHOB9LrH5IRXAs4rEWO852TBJDJRyEnFIouVDQ39b7pZhdDlEcheirY6qJHa4JgtOZyeXCsbgSE0VX2bPe7wjJ99eT@2axuL1f78b1DueZYw1DlKTX1Iq1Rl2zb2dKyXZQiCPuRmFgQxJrwmYpFWiRsBdxKVhT5uQY@wqEGXE@FK7ZxVxD@hIJPpcfl7vHabMa11f61DUVHiIrP8TBkBg/pTQAgaJRkBOQCNNAhiRQTk6kCDQfBegqCAIeBj@UJAXHxefgQpaaXJT6lBN8/
 
8:08 PM
it feels really weird to watch KA miss out on a 20k+ worth kill (the prediction is that the low-hp bot won't be dying), try and put in some additional logic to jump on things early if they're worth a lot, only to find that...bot performance goes down
 
@Draco18s the stun-to-attack ratio is very important
that's that 1.5→2→1.5 thing i talked about before
 
summarize for me, I'm not sure I was following
 
Actually, logging is fine how it is
 
@Draco18s I was tweaking the point at which KS decides to switch from stunning a possible attacker to attacking the bot about to die, that number being the multiplier to the max attack value used in equations for that
 
ah, gotcha
 
8:12 PM
My bots keep getting stunned the turn after a bot dies, that could be an issue with KA or KS
Though it may have already been fixed
 
both of us are doing that same sort of logic, yes. I've used different math than you, but the idea is the same
But the logic I'm working on now takes place after that
if no attack and no stun are getting thrown out, check to see if its worth attacking anyway just because the target is worth SO much (we'd rather make the extra attack and have it wasted than not attack and miss a kill)
 
@RedwolfPrograms the dying turn, meaning that you don't get to attack the dying bot at all, or after the bot's dead and you could've easily attacked?
 
Both the dying turn and the one after (probably KS for one and KA for the other)
 
@RedwolfPrograms you sure? to me it seemed rare that my KS stunned at the turn it should attack & kill
(or maybe that's about my new KS not old, idk)
 
It could have easily been fixed already (maybe accidentally), but I'll go check and see if it still happens
 
8:17 PM
this is more what I'm looking at trying to fix
notice that Kill Steal and another bot attacked, but Kill Assist didn't (and no stuns were thrown about)
debugging that exact turn shows that KA calculated the 85 hp bot taking the best attack and surviving with 21 hp
too high to make an attack (don't remember where the stun-someone math got whacked out to)
so Kill Assist ended up doing a non-action (shield in this case, but because turn() % 10 == 9, otherwise it would have farmed)
 
Just saw a hilarious game where bullybot targeted justfarm, so justfarm died 176 turns into the game
Took me a lot of thinking to figure out how he survived that long
 
it happens
oh @dzaima your controller vomits errors to the console when you mouse over cells.
 
@Draco18s doesn't for me, both in github and local
 
huh, maybe I accidentally broke something
 
8:32 PM
but i'm rewriting the hover logic right now, as the table's getting too wide to see the last couple column hovers
still laggy as all hell though
 
oh, also, can you make the header row sticky so it's locked at the top of the page?
 
@Draco18s i have no idea how to
oh, having the devtools open is what makes hovering so incredibly laggy
 
@RedwolfPrograms your auto-updating controller returns this at the end
if(Math.random() < 0.5){
return attack(others[0].uid);
}
else{
it just ends halfway through the bots
and has a "..." at the end
 
step 1: make the table itself have position:relative;top:150px
step 2: give the first tr have position: fixed; top: 0px; background-color: black; padding-right: 20px;
step 3: fix the header td widths somehow
 
@Draco18s Somehow™
 
8:46 PM
Figured it out. td.rotate > div has a width property of 30, make it 34
(I was having trouble because that value was driving things)
maybe 33 or something in between. whatever looks right
Re: why can't I make this work
Results:
1. The Accountant: 38594.066
2. Kill Assist: 30555.455
Score without the new logic? 46,000
 
@Draco18s that's how this KotH seems to work.. change anything, and your score gets a random ±3000
 
yep
 
can you stun yourself?
@RedwolfPrograms
 
no
actually. you might be able to
@dzaima keeping in mind that I set the threshold for this at "the bot I'm thinking of attacking has to be worth MINIMUM 20000 gold"
 
this is for IDing teammates
 
8:52 PM
@SuperStormer how'd that help with that
 
one bot stuns themselves;the other watches for another bot that is stunned turn 1, but not turn 2
bullybot stuns all the time
on turn 3, they switch stunning and watching
 
@SuperStormer AFAIK you can't test if a bot is stunned or not
 
oh right
 
9:14 PM
@Draco18s i seem to have made it work somewhat, but i doubt that'll stand
 
oof, yeah, it doesn't work with horizontal scrolling
otherwise its pretty ok
This was a sad game:
runGame(1,false)
VM211:1711 Results:
  1. Kill Assist: 22047
  2. Switzerland: 21988
  3. The Accountant: 21953
  4. Unkillable: 10906
  5. ScaredBot: 8816
  6. Mort: 8186
  7. barbarianMan: 8087
  8. Kill Stealer: 7610
Or this game, where Undyable somehow won
runGame(1,false)
VM282:1708 Results:
  1. undyableBot: 41281
  2. CampBot: 40498
  3. Friendly bot: 34352
  4. Switzerland: 33215
  5. Kill Assist: 33021
 
9:52 PM
woo github pages broke
 
lol
 
horizontal is what i wanted to show
when github pages come back, that should be available here
 
...
[997] teambot-attack:
   Self: {"uid":29,"hp":98,"gold":5,"shield":529,"levels":{"heal":0,"attack":0,"shield":2,"farm":0}}
   ...
[998] teambot-attack:
   Self: {"uid":74,"hp":98,"gold":5,"shield":498.75,"levels":{"heal":0,"attack":2,"shield":0,"farm":0}}
...
how did it switch uids
 
@dzaima huh, other things are fine
 
did u just ping yourself
 
9:58 PM
@SuperStormer yeah. 's simple - get permalink to message (middle click on arrow works), copy number of url, :number, done
and yes i did get a ping notification from myself
 
i see
 
10:09 PM
@dzaima pushed to that and it broke too yay
 
https://repl.it/@SuperStormer/Gold-Battle-KotH-Blank-v2
simple wrapper around Redwolf's auto-updating controller
allows you to:
- not need to check if it was updated
- test bots easier
- *run tests in the background*
 
@dzaima looks good
 
@dzaima works now, environments till 500
 
10:57 PM
@RedwolfPrograms can you add a debug mode with only the move,nothing else?
 

« first day (5 days earlier)      last day (17 days later) »