Discuss Scratch

MegaApuTurkUltra
Scratcher
1000+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

MartinBraendli2 wrote:

CodeLegend wrote:

jokebookservice1 wrote:

I think every run should be taken 3 times, not just the final
Definitely. (in certain circumstances, RunRunProtect has beaten STINGER!)
Yes, 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.

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)]++
}
}
Good idea. I didn't think performance was a concern

$(".box-head")[0].textContent = "committing AT crimes since $whenever"
MegaApuTurkUltra
Scratcher
1000+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

CodeLegend wrote:

@MATU

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.
I'll take a look but a console dump might be more useful

$(".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!

jokebookservice1 wrote:

I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
So you want a hack and smash with 30+ bots at once?
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!

MartinBraendli2 wrote:

jokebookservice1 wrote:

I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
So you want a hack and smash with 30+ bots at once?
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.
Can we have an elimination system, but at the beginning all bots play against each other
CodeLegend
Scratcher
500+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

MartinBraendli2 wrote:

jokebookservice1 wrote:

I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
So you want a hack and smash with 30+ bots at once?
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.
+1
Couldn't have said it better.
*won't :P
MartinBraendli2
Scratcher
100+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

jokebookservice1 wrote:

MartinBraendli2 wrote:

jokebookservice1 wrote:

I don't like the idea of a knockout as mentioned: Some bots require other specific bots to work optimally
So you want a hack and smash with 30+ bots at once?
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.
Can we have an elimination system, but at the beginning all bots play against each other
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).
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!

gtoal wrote:

MartinBraendli2 wrote:

My 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
Somehow. But not everyone will bring 3 bots into the tournament. But its still quite easy to make the groups. Quick demo in Scratch

iamunknown2
Scratcher
1000+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

IcyCoder wrote:

IcyCoder wrote:

IcyCoder wrote:

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
I found out that Revision 6 was problematic, so I reverted back to revision 5 and guess what:

| 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
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
CodeLegend
Scratcher
500+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

iamunknown2 wrote:

Better watch out, Stinger…
Tell me which bots and which versions and I'll tell you the results.

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!

iamunknown2 wrote:

Better watch out, Stinger…
have you played against runrunrun?
CodeLegend
Scratcher
500+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

jokebookservice1 wrote:

iamunknown2 wrote:

-snip-
have you played against runrunrun?
I've played against all submissions marked as competing, with the exception of the last version of infiniteloop because it crashed the program.
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
iamunknown2
Scratcher
1000+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

CodeLegend wrote:

@MATU

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.
Have you tried revision 6? I've changed it to something else…

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
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.

my latest extension: 2d vector math
TheMonsterOfTheDeep
Scratcher
1000+ posts

[ATC#3] So you say you're a "hacker"? Prove it!

Submission: Snipar
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
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%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!

TheMonsterOfTheDeep wrote:

Submission: Snipar
-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!
I am perfectly happy for derivatives if you want
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

Last edited by IcyCoder (July 14, 2016 12:56:15)


Because JS is the future (echos) future future futur futu fut fu f

Powered by DjangoBB