last day (16 days later) » 

04:21
13
Q: King of the Hill: Bank Heist

quintopiaRules Clarification 4/8: All submissions will be competing in one giant free-for-all tournament consisting of as many matches as my computer can perform in 48 hours. Anyone who's spent any time watching streams on Twitch is aware of the prevalence of DeepBot, and is perhaps even familiar with it...

@user1502040 You could just edit your comment to add more mistakes you found.
@devRicher Too late. I'll delete the comments when the mistakes are fixed.
I haven't tested tournamentrunner.py at all yet, because it doesn't implement any game logic. If you want to run a single tournament, do "python bankheist.py 1000"
Can I "borrow" these rules to implement in my own chat bot? Kappa
It would be much faster to keep the bot programs running continuously and pass arguments to stdin. This would also make it possible to preserve state between rounds.
04:21
@user1502040 I realize this. Unfortunate that I have to sacrifice speed in order to prevent bots preserving state, but that's the challenge.
Was this in a sandbox? It's a cool idea but so very complicated. It feels like I'm reading a tax code, which I've done enough of in March.
@RobertFraser it sat in the sandbox for two weeks without comment. It is long, but thorough. If anything doesn't make sense, just ask, I'll try to reword.
Whenever I run the controller from IDLE, it asks for the number of rounds, then prints the number of rounds, then ends, and does nothing else. When run from the console, it tells me that competitors.txt doesn't exist.
@Magenta make sure you run as "python bankheist.py 1000" with the folder that contains competitors.txt as your CWD. I could change it to look in the folder bankheist.py is in instead of the CWD if that would help.
@quintopia what is CWD? And can I just run your program without calling it from the command line? Also, it IS in the folder with competitiors.txt, but it doesn't see it, but only when executed from the command line.
From previous comments, internal memory is not preserved. So is the bot run, shut down, then reactivated? Because If so, could I edit my own source file to add memory into the next round?
04:21
@Magenta CWD is the current working directory. I would suggest running it from the command line, as that's what I do. I think editing the source file would be going against the spirit of the challenge (the same reason I outlawed saving files). Out of curiosity, what exactly is the information you intended to save?
I don't know- I haven't made the program yet.
@quintopia Can you elaborate on how the tournament will be run? Will each match be all-against-all? Will all of your example programs play?
@quintopia so I tried to run it from the current directory, and it still says that competitors.txt doesn't exist. Since I'm assuming it works for you, exactly what are you doing to run it? -also, what version of python are you using, because my version doesn't like the print statement without braces.
@user1502040 yes, each match will be all against all. I will run some of the examples, or if you insist, all of them. However, some of them are really bad, so if there are a lot of good entries, I might leave out the worst of them. Lurker, for instance, cannot have any effect at all on the rest of the competitors.
@Magenta you need to run it with Python 2.7, or else go through and fix all the compatibility issues. I'm not doing anything special to run it. Just the command I said.
@quintopia luckily, there seems to be a very small number of compatibility issues- but I don't think those are my main issues. So i'm going to assume the problem is on my end, with the inability to run the program in the CWD. Could I run python [file path that i drag-dropped the file into] 1000?
04:21
@Magenta I wouldn't trust the Python runtime to point out the incompatibilities. Also, you need every fire in the repository in that folder for it to work
@quintopia Every file is in the folder- I downloaded your controller and attempted to run it in the folder when the errors popped up.
I found a bug: If you double-cross then it is possible for bankid = self.guardbribes.pop() to raise the exception IndexError: pop from empty list
@user1502040 thanks

  last day (16 days later) »