R100K Software Challenge

EtienneK

Expert Member
Joined
Mar 22, 2007
Messages
3,985
I do not think it is worth paying too much attention to the shape, just to the valid moves and how they get limited by the two bots. I also think a cylinder is probably the closest match, since there is effectively just one position at the top and bottom and the rest are all the same length round.

It is pretty important since it'll influence your heuristics.
 

flowgearcoder

New Member
Joined
Jul 27, 2012
Messages
3
@Tim good to hear about the official harness, I look forward to seeing it! I figured my harness would be useful anyway because you can step through your code in VS which won't be possible in your hosted harness.
 

gkm

Expert Member
Joined
May 10, 2005
Messages
1,519
It is pretty important since it'll influence your heuristics.

Yes, I guess it can influence your strategy. For my program, in the beginning I tried to exploit the shape, but had more luck with pure heuristics. It is very hard to "own space", because the other player can just go round the back. So, for the moment, until I maybe have some good idea, the weird shape at the poles just slow down my heuristics calculations, because of all the extra for loops and if's needed to handle that.

I am dying to see if somebody else finds a good way to exploit the shape, but I have not found any way yet. The fact that the shape "breaks" some of the standard heuristics do make the challenge more interesting I guess.
 

gkm

Expert Member
Joined
May 10, 2005
Messages
1,519
I am curious, what is everybody using to develop their bot. I considered both C# and Java, but because it is running on Windows, I settled on C#.

Anybody else maybe please want to share which language are they using? Maybe even something more unusual than C# or Java?

And how big is your program? Mine ends up in a 13KB zip file and the compiled exe is 17KB. And at least half of that is just test code not used in the running bot. It worries me a bit that it is so small.
 

pookfuzz

Senior Member
Joined
Feb 9, 2004
Messages
571
Yes, I guess it can influence your strategy. For my program, in the beginning I tried to exploit the shape, but had more luck with pure heuristics. It is very hard to "own space", because the other player can just go round the back. So, for the moment, until I maybe have some good idea, the weird shape at the poles just slow down my heuristics calculations, because of all the extra for loops and if's needed to handle that.

I am dying to see if somebody else finds a good way to exploit the shape, but I have not found any way yet. The fact that the shape "breaks" some of the standard heuristics do make the challenge more interesting I guess.

Based on my initial tests using a smaller board sizes and fully exploring all possible game results the poles are important, if a player can reach a pole first they almost always can win. Also the distance between the starting locations of the players seems to impact who can win depending on who gets to move first as well as if the board is even or odd sized. I can only assume the poles give an advantage because they offer more move choices.

I am starting to think the winning bot will be the one with the most interesting evaluation functions, Ive tried the standard heuristics usually used in tron such as battlefronts/voronoi spaces rooms with chokepoints, monte carlo, annealing, zobrist(this not a heuristic, just a speedup method) and they just seem really expensive and don't seem to help that much. Of course the winning bot could also be the one that managed to implement a long term strategy which has a payoff late in the game (beyond the calc depth of the opponent).

I had initially thought this writing a tron bot would be bit dull, but its actually been quite fun so far. Getting to dredge the memory for things almost forgotten and also learning a few new interesting things so far. I doubt my bot will get anywhere but its been worth the effort just to re-learn a whole bunch of stuff.
 
Last edited:

Mr.Jax

Expert Member
Joined
Sep 22, 2009
Messages
1,461
Also giving this a bash.

@pookfuzz, I agree with you that the poles (and the way they work) are important. The fact that you get to a pole first (or second *nudge* nudge* *wink* *wink*) will be a game changer :D

Damn...I think I just gave a strategy away ;)
 

Lazy

Senior Member
Joined
Feb 28, 2008
Messages
915
Is there something wrong the the online test harness? I am a late arrival and can't get my LC to work, it's just a blank screen. Maybe I'm being silly but I doubt it.
 

gkm

Expert Member
Joined
May 10, 2005
Messages
1,519
I know one guy had that problem when running from Linux. Is that maybe what you are using?
 

Lazy

Senior Member
Joined
Feb 28, 2008
Messages
915
Nope, if I refresh a bunch of times I sometimes get a view that works, but then their own bot times out, lol. It doesn't seem to be working...
 

Lazy

Senior Member
Joined
Feb 28, 2008
Messages
915
...at best I get "ThelmaBot ran out of time". I never see my game....

This is frustrating as I'm digging and digging. It would have really helped if there was some output available to assist...

As it stands now I'm ripping most of my AI out to simply see if I can get the thing to work. I might have to enter "blindly".
 

pookfuzz

Senior Member
Joined
Feb 9, 2004
Messages
571
Nope, if I refresh a bunch of times I sometimes get a view that works, but then their own bot times out, lol. It doesn't seem to be working...

Thelmabot seems a bit broken at the moment. I also get blank screens or it claims my bot takes too long ( which is only possible if their timing measuring routines are crap).

Fortunately I had tested an earlier version a week ago and everything seemed to run ok. My guess is the test system is under quite a lot of strain at the moment with people trying to test last minute changes.

Anyway, good luck to all those who entered. Sadly the fun part is now over and its now into the crappy waiting to see how we did part.
 

Lazy

Senior Member
Joined
Feb 28, 2008
Messages
915
Thelmabot seems a bit broken at the moment. I also get blank screens or it claims my bot takes too long ( which is only possible if their timing measuring routines are crap).

Fortunately I had tested an earlier version a week ago and everything seemed to run ok. My guess is the test system is under quite a lot of strain at the moment with people trying to test last minute changes.

Anyway, good luck to all those who entered. Sadly the fun part is now over and its now into the crappy waiting to see how we did part.

Thanks mate, I just decided to blindly enter. I started early with the competition but then life forced my attention elsewhere. So now to try to test it, I stripped out all my pruning, removed my attack algo and I'm not sure it's saving data correctly. So I'm stuck with a basic defensive AI, that has at least a good wall hugging ability. Heck I don't even know if it works.

Alas, at least I entered :)

Best of luck to you too!
 

pookfuzz

Senior Member
Joined
Feb 9, 2004
Messages
571
Thanks mate, I just decided to blindly enter. I started early with the competition but then life forced my attention elsewhere. So now to try to test it, I stripped out all my pruning, removed my attack algo and I'm not sure it's saving data correctly. So I'm stuck with a basic defensive AI, that has at least a good wall hugging ability. Heck I don't even know if it works.

Alas, at least I entered :)

Best of luck to you too!

You should perhaps just play your bot against itself, if its doing anything wrong its usually pretty obvious to spot. You don't need to use a harness, you can just swop the board around after each run.


The below python code swops the board file.

Code:
import sys

f = open(sys.argv[1])
lines = f.readlines()
lines=''.join(lines)

lines=lines.replace('YourWall','zWall')
lines=lines.replace('You','zyou')
lines=lines.replace('OpponentWall','YourWall')
lines=lines.replace('Opponent','You')
lines=lines.replace('zWall','OpponentWall')
lines=lines.replace('zyou','Opponent')

f = open(sys.argv[1], 'w')
f.write(lines)
f.close()

Its how I did 99% of my testing, plus if you keep older versions of your bot you can get them to play against each other to see which is better.
 

Lazy

Senior Member
Joined
Feb 28, 2008
Messages
915
You should perhaps just play your bot against itself, if its doing anything wrong its usually pretty obvious to spot. You don't need to use a harness, you can just swop the board around after each run.


The below python code swops the board file.

Code:
import sys

f = open(sys.argv[1])
lines = f.readlines()
lines=''.join(lines)

lines=lines.replace('YourWall','zWall')
lines=lines.replace('You','zyou')
lines=lines.replace('OpponentWall','YourWall')
lines=lines.replace('Opponent','You')
lines=lines.replace('zWall','OpponentWall')
lines=lines.replace('zyou','Opponent')

f = open(sys.argv[1], 'w')
f.write(lines)
f.close()

Its how I did 99% of my testing, plus if you keep older versions of your bot you can get them to play against each other to see which is better.

Agreed, it is the best way to do it. I have been playing my LC against itself since yesterday, but the inability to test it on their server is concerning, especially since it gives you no indication as to what is wrong or why it isn't working.

I have checked and re-checked it and even created a [new] separate harness which completely mimics what I expect their referee would do, so that I don't bargain on my original harness to be correct. So since it works on my system and passes all unit tests I have to assume it will work. I hate that assumption, I know better :)
 

gkm

Expert Member
Joined
May 10, 2005
Messages
1,519
Entelect just sent out an e-mail saying their test site is overloaded, so I guess testing it yourself is your only option for the moment. And the competition closes in 40 minutes.
 

Lazy

Senior Member
Joined
Feb 28, 2008
Messages
915
Entelect just sent out an e-mail saying their test site is overloaded, so I guess testing it yourself is your only option for the moment. And the competition closes in 40 minutes.

I've made my call, stopped development and entered what I have. It's a 50/50 whether it will work or not I recon.

gkm & pookfuzz, thank you for the genuine effort to help and provide meaningful information. I really appreciate it :)
 

gkm

Expert Member
Joined
May 10, 2005
Messages
1,519
The submission time has just been extended to tomorrow morning 8am. (I just received an e-mail.)
 

pookfuzz

Senior Member
Joined
Feb 9, 2004
Messages
571
Did Entelect post the ranking/results of the first round like they promised? I can't seem to find anything anywhere.
 

gkm

Expert Member
Joined
May 10, 2005
Messages
1,519
It has just been posted on the challenge web page.
 
Top