Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » [ATC#3] So you say you're a "hacker"? Prove it!
- MegaApuTurkUltra
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
Good idea. I didn't think performance was a concernYes, I agree. You don't even have to take the average of the ranks, the sum of ranks (the lower the better) does the same trick with less math.Definitely. (in certain circumstances, RunRunProtect has beaten STINGER!) I think every run should be taken 3 times, not just the final
Also, I'm happy to hear that STINGER can be beaten. RunRunProtect is IMO currently the best public bot.
@MATU
Why do you store the protections in a list? I think the look up is quite expensive. Why don't you use arrays? This would also make it easier to analyse, what lines/variables of a bot are protected.Pseudocode:
protect(var){
if (var is a number){
protection[var]++
} else {
protect[getIndex(var)]++
}
}
$(".box-head")[0].textContent = "committing AT crimes since $whenever"
- MegaApuTurkUltra
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
@MATUI'll take a look but a console dump might be more useful
I tried to test my bot against all of the ones competing so far, and it glitched out on me… I downloaded the page and put it on google drive:
https://drive.google.com/open?id=0B-LI96qMKG3bdUVzVlVOeWRFVmM
EDIT: I added them in one at a time, and it crashed when I added InfiniteLoop.
$(".box-head")[0].textContent = "committing AT crimes since $whenever"
- jokebookservice1
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
- MartinBraendli2
- Scratcher
100+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
So you want a hack and smash with 30+ bots at once? I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
If there are a lot of bots around, there will be a lot of weak bots around. The winner then wont be, who performs best against good bots, but who performs best against victim bots. This is contrary to all forms of competition I know. The chess world champion is not determined, by who can beat a 4 year old boy in the least amount of rounds, but by who can beat other world class chess players (hope you get my analogy). To avoid such a thing, you have to eliminate weak bots.
- jokebookservice1
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
Can we have an elimination system, but at the beginning all bots play against each otherSo you want a hack and smash with 30+ bots at once? I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
If there are a lot of bots around, there will be a lot of weak bots around. The winner then wont be, who performs best against good bots, but who performs best against victim bots. This is contrary to all forms of competition I know. The chess world champion is not determined, by who can beat a 4 year old boy in the least amount of rounds, but by who can beat other world class chess players (hope you get my analogy). To avoid such a thing, you have to eliminate weak bots.
- CodeLegend
- Scratcher
500+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
+1So you want a hack and smash with 30+ bots at once? I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
If there are a lot of bots around, there will be a lot of weak bots around. The winner then wont be, who performs best against good bots, but who performs best against victim bots. This is contrary to all forms of competition I know. The chess world champion is not determined, by who can beat a 4 year old boy in the least amount of rounds, but by who can beat other world class chess players (hope you get my analogy). To avoid such a thing, you have to eliminate weak bots.
Couldn't have said it better.
*won't :P
- MartinBraendli2
- Scratcher
100+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
I don't see the point. Either those bots your bot needs, are good bots, and then you will see them in the final anyway (in my proposed mode), or those are weak bots, and you would have to fight the final without them (in your proposed mode).Can we have an elimination system, but at the beginning all bots play against each otherSo you want a hack and smash with 30+ bots at once? I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
If there are a lot of bots around, there will be a lot of weak bots around. The winner then wont be, who performs best against good bots, but who performs best against victim bots. This is contrary to all forms of competition I know. The chess world champion is not determined, by who can beat a 4 year old boy in the least amount of rounds, but by who can beat other world class chess players (hope you get my analogy). To avoid such a thing, you have to eliminate weak bots.
Also, I don't think, that bots should rely on other bots. Like I said, i could create one good bot, and two wing men. My good bot for example has the same code on line 3 and 7. Wing man 1 only walks around and flips lines 3 and 7 of enemy bots. This wont hurt my good bot, but would harm all others, giving my good bot an advantage. Wing man 2 could be a repair bot, who injects lines of the good bot into enemy bots. My good bot wont be hurt by that (might even get repaired), why all other bots suffer from this code injection.
Whether this “wing man” is designed as a wing man, or is just a weak bot of a competitor doesn't even matter IMO. All bots should be able to fight for themselves, without support.
- MartinBraendli2
- Scratcher
100+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
Somehow. But not everyone will bring 3 bots into the tournament. But its still quite easy to make the groups. Quick demo in ScratchMy propositon:
- All bots are randomly distributed on 4 groups (A,B,C,D), so that no 2 bots of the same creator are in the same group.
Isn't this verging into Kirkman's School Girl Problem territory?
G
- iamunknown2
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
I found out that Revision 6 was problematic, so I reverted back to revision 5 and guess what:Submission: TTAIB (the totally awesome icy bot)SET DIRECTION RANDOM
MOVE
IF *@RANDOM%2 EQUALS 5 5 3
SET *@5 @4
TAG
SET EXECUTION_POINTER 1
Version 2:SET DIRECTION RANDOM
MOVE
IF *@RANDOM%2 EQUALS 5 5 3
SET *@4 @5
TAG v2
SET EXECUTION_POINTER 1
Version 3:PROTECT EXECUTION_POINTER
SET DIRECTION RANDOM
MOVE
IF *@RANDOM%2 EQUALS 6 6 4
SET *@4 @6
TAG IcyBot
SET EXECUTION_POINTER 1
SET DIRECTION RANDOM
MOVE
IF *@RANDOM%2 EQUALS 6 12 10
SET *@4 @12
TAG IcyBot
SET EXECUTION_POINTER 8
SET DIRECTION RANDOM
MOVE
IF *@RANDOM%2 EQUALS 6 18 16
SET *@4 @18
TAG IcyBot
SET EXECUTION_POINTER 14
SET DIRECTION RANDOM
MOVE
IF *@RANDOM%2 EQUALS 6 24 22
SET *@4 @24
TAG IcyBot
SET EXECUTION_POINTER 20
SET DIRECTION RANDOM
MOVE
IF *@RANDOM%2 EQUALS 6 30 28
SET *@4 @30
TAG IcyBot
SET EXECUTION_POINTER 26
SET EXECUTION_POINTER RANDOM
Credit:
@iamunknown2 for help
@gtoal for his edit of mine
@jokebookservice for a line of his bot
My bot beat everyone but SPRAYnPRAY and CopyBot (CopyBot won) but v3 will be better
| My website | Using Geany | A Christian | Running Ubuntu MATE 14.04 with Flash 18.0 (release 0) | Search this with quotation marks on Google to view my posts: “ellipsepostpianolizard” (some posts may not show up) |
Moving on from Scratch? Learn Python/a scripting language (e.g Perl, JavaScript), then move on to a C derivative
Moving on from Scratch? Learn Python/a scripting language (e.g Perl, JavaScript), then move on to a C derivative
- iamunknown2
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
Better watch out, Stinger…
| My website | Using Geany | A Christian | Running Ubuntu MATE 14.04 with Flash 18.0 (release 0) | Search this with quotation marks on Google to view my posts: “ellipsepostpianolizard” (some posts may not show up) |
Moving on from Scratch? Learn Python/a scripting language (e.g Perl, JavaScript), then move on to a C derivative
Moving on from Scratch? Learn Python/a scripting language (e.g Perl, JavaScript), then move on to a C derivative
- CodeLegend
- Scratcher
500+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
Tell me which bots and which versions and I'll tell you the results. Better watch out, Stinger…
EDIT: *STINGER
Last edited by CodeLegend (July 14, 2016 00:41:03)
- jokebookservice1
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
have you played against runrunrun? Better watch out, Stinger…
- CodeLegend
- Scratcher
500+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
I've played against all submissions marked as competing, with the exception of the last version of infiniteloop because it crashed the program.have you played against runrunrun? -snip-
So yes, I've played against RunRunRun and RunRunProtect 1v1 and in settings with other bots. I've won every time except for one instance with RunRunRun, RunRunProtect and CopyBot where RunRunProtect won.
- jokebookservice1
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
Could you try:
PROTECT EXECUTION_POINTER
MOVE
IF *EXECUTION_POINTER EQUALS -1 1 4
SET *@RANDOM @8
PROTECT @(RANDOM%8+1)
PROTECT @RANDOM
SET EXECUTION_POINTER 1
TAG RunRunProtect
and have another go with the similar
PROTECT EXECUTION_POINTER
MOVE
IF *EXECUTION_POINTER EQUALS -1 1 4
SET *@RANDOM @8
PROTECT @(RANDOM%8+1)
SET @(RANDOM%24+9) @8
SET EXECUTION_POINTER 1
TAG RunRunProtect
PROTECT EXECUTION_POINTER
MOVE
IF *EXECUTION_POINTER EQUALS -1 1 4
SET *@RANDOM @8
PROTECT @(RANDOM%8+1)
PROTECT @RANDOM
SET EXECUTION_POINTER 1
TAG RunRunProtect
and have another go with the similar
PROTECT EXECUTION_POINTER
MOVE
IF *EXECUTION_POINTER EQUALS -1 1 4
SET *@RANDOM @8
PROTECT @(RANDOM%8+1)
SET @(RANDOM%24+9) @8
SET EXECUTION_POINTER 1
TAG RunRunProtect
- iamunknown2
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
@MATUHave you tried revision 6? I've changed it to something else…
I tried to test my bot against all of the ones competing so far, and it glitched out on me… I downloaded the page and put it on google drive:
https://drive.google.com/open?id=0B-LI96qMKG3bdUVzVlVOeWRFVmM
EDIT: I added them in one at a time, and it crashed when I added InfiniteLoop.
Last edited by iamunknown2 (July 14, 2016 03:52:24)
| My website | Using Geany | A Christian | Running Ubuntu MATE 14.04 with Flash 18.0 (release 0) | Search this with quotation marks on Google to view my posts: “ellipsepostpianolizard” (some posts may not show up) |
Moving on from Scratch? Learn Python/a scripting language (e.g Perl, JavaScript), then move on to a C derivative
Moving on from Scratch? Learn Python/a scripting language (e.g Perl, JavaScript), then move on to a C derivative
- TheMonsterOfTheDeep
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
I think the controller is broken…
I've been trying to write a somewhat competitive bot, and I'm testing it against RunRunProtect. However, it seems RunRunProtect is doing things it shouldn't be able to…
Observe:
All the RunRunProtects (green squares) are moving up, the entire time - the version I'm using has no set direction commands, and all of them started moving up at the beginning of the game. The blue squares only have a single TAG command, so there is no way they could affect the instruction set of the RunRunProtects. Even so, a RunRunProtect somehow manages to attack a robot to the side of it!
This is really annoying, because I now have no idea how good my bot is.
I've been trying to write a somewhat competitive bot, and I'm testing it against RunRunProtect. However, it seems RunRunProtect is doing things it shouldn't be able to…
Observe:
All the RunRunProtects (green squares) are moving up, the entire time - the version I'm using has no set direction commands, and all of them started moving up at the beginning of the game. The blue squares only have a single TAG command, so there is no way they could affect the instruction set of the RunRunProtects. Even so, a RunRunProtect somehow manages to attack a robot to the side of it!
This is really annoying, because I now have no idea how good my bot is.
my latest extension: 2d vector math
- TheMonsterOfTheDeep
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
Submission: Snipar
I'm not sure if this submission is valid, because it sort of really builds off of RunRunRun and RunRunProtect (i.e. protecting all its code ). I can mark it as non-competitive if you guys want.
As it were, this isn't even the real bot - I lost the real bot because I only had its code stored in the controller and I deleted it. Remember kids to never assume your work is saved!
Revision 1
PROTECT @RANDOM%7+1
SET DIRECTION RANDOM
IF *DIRECTION EQUALS -1 6 4
SET *@RANDOM @7
SET *DIRECTION (DIRECTION+1)%4
SET EXECUTION_POINTER 1
TAG Snipar
As it were, this isn't even the real bot - I lost the real bot because I only had its code stored in the controller and I deleted it. Remember kids to never assume your work is saved!
Revision 1
PROTECT @RANDOM%20+12
PROTECT @RANDOM%11+1
PROTECT EXECUTION_POINTER
PROTECT @RANDOM%11+1
SET DIRECTION RANDOM
IF *DIRECTION EQUALS -1 10 7
SET *@RANDOM @12
SET *DIRECTION (DIRECTION+1)%4
SET EXECUTION_POINTER 1
SET EXECUTION_POINTER 3
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
TAG Snipar
Last edited by TheMonsterOfTheDeep (July 15, 2016 00:14:26)
my latest extension: 2d vector math
- jokebookservice1
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
Submission: SniparI am perfectly happy for derivatives if you want
-snip-
I'm not sure if this submission is valid, because it sort of really builds off of RunRunRun and RunRunProtect (i.e. protecting all its code ). I can mark it as non-competitive if you guys want.
As it were, this isn't even the real bot - I lost the real bot because I only had its code stored in the controller and I deleted it. Remember kids to never assume your work is saved!
- IcyCoder
- Scratcher
1000+ posts
[ATC#3] So you say you're a "hacker"? Prove it!
I tested IcyBot a lot and I found out with a lot of bots it is playing with (GREATERTHAN 5) it is a high scorer other than that it is a low scorer… So if it is 1 on 1 IcyBot will probably not want if it is a lot of bots it may or may not win
I will attempt to make v4
I will attempt to make v4
Last edited by IcyCoder (July 14, 2016 12:56:15)
Because JS is the future (echos) future future futur futu fut fu f