98
42
Most Recent Leaderboard @ 2014-08-02 12:00
| Pos # | Author | Name | Language | Score | Win | Draw | Loss | Avg. Dec. Time |
+-------+----------------------+-------------------------+------------+-------+-------+-------+-------+----------------+
| 1st | Emil | Pony | Python2 | 064 | 064 | 000 | 005 | 0026.87 ms |
| 2nd | Roy van Rijn | Gazzr | Java | 062 | 062 | 001 | 006 | 0067.30 ms |
| 2nd | Emil | Dienstag | Python2 | 062 | 062 | 001 | 006 | 0022.19 ms |
| 4th | ovenror | TobiasFuenke | Python2 | 061 | 061 | 001 | 007 | 0026.89 ms |
| 5th | PhiNotPi | BayesianBot | Perl | 060 | 060 | 000 | 009 | 0009.27 ms |
| 6th | Claudiu | SuperMarkov | Python2 | 058 | 058 | 001 | 010 | 0026.77 ms |
| 7th | histocrat | Alternator | Ruby | 057 | 057 | 001 | 011 | 0038.53 ms |
| 8th | histocrat | LeonardShelby | Ruby | 053 | 053 | 000 | 016 | 0038.55 ms |
| 9th | Stretch Maniac | SmarterBot | Java | 051 | 051 | 002 | 016 | 0070.02 ms |
| 9th | Martin Büttner | Markov | Ruby | 051 | 051 | 003 | 015 | 0038.45 ms |
| 11th | histocrat | BartBot | Ruby | 049 | 049 | 001 | 019 | 0038.54 ms |
| 11th | kaine | ExcitingishBot | Java | 049 | 049 | 001 | 019 | 0065.87 ms |
| 13th | Thaylon | UniformBot | Ruby | 047 | 047 | 001 | 021 | 0038.61 ms |
| 14th | Carlos Martinez | EasyGame | Java | 046 | 046 | 002 | 021 | 0066.44 ms |
| 15th | Stretch Maniac | SmartBot | Java | 045 | 045 | 001 | 023 | 0068.65 ms |
| 16th | Docopoper | RoboticOboeBotOboeTuner | Python2 | 044 | 044 | 000 | 025 | 0156.55 ms |
| 17th | Qwix | Analyst | Java | 043 | 043 | 001 | 025 | 0069.06 ms |
| 18th | histocrat | Analogizer | Ruby | 042 | 042 | 000 | 027 | 0038.58 ms |
| 18th | Thaylon | Naan | Ruby | 042 | 042 | 004 | 023 | 0038.48 ms |
| 20th | Thaylon | NitPicker | Ruby | 041 | 041 | 000 | 028 | 0046.21 ms |
| 20th | bitpwner | AlgorithmBot | Python2 | 041 | 041 | 001 | 027 | 0025.34 ms |
| 22nd | histocrat | WereVulcan | Ruby | 040 | 040 | 003 | 026 | 0038.41 ms |
| 22nd | Ourous | QQ | Cobra | 040 | 040 | 003 | 026 | 0089.33 ms |
| 24th | Stranjyr | RelaxedBot | Python2 | 039 | 039 | 001 | 029 | 0025.40 ms |
| 25th | JoshDM | SelfLoathingBot | Java | 038 | 038 | 001 | 030 | 0068.75 ms |
| 25th | Ourous | Q | Cobra | 038 | 038 | 001 | 030 | 0094.04 ms |
| 25th | Ourous | DejaQ | Cobra | 038 | 038 | 001 | 030 | 0078.31 ms |
| 28th | Luis Mars | Botzinga | Java | 037 | 037 | 002 | 030 | 0066.36 ms |
| 29th | kaine | BoringBot | Java | 035 | 035 | 000 | 034 | 0066.16 ms |
| 29th | Docopoper | OboeBeater | Python2 | 035 | 035 | 002 | 032 | 0021.92 ms |
| 29th | Thaylon | NaanViolence | Ruby | 035 | 035 | 003 | 031 | 0038.46 ms |
| 32nd | Martin Büttner | SlowLizard | Ruby | 034 | 034 | 004 | 031 | 0038.32 ms |
| 33rd | Kyle Kanos | ViolentBot | Python3 | 033 | 033 | 001 | 035 | 0032.42 ms |
| 34th | HuddleWolf | HuddleWolfTheConqueror | .NET | 032 | 032 | 001 | 036 | 0029.86 ms |
| 34th | Milo | DogeBotv2 | Java | 032 | 032 | 000 | 037 | 0066.74 ms |
| 34th | Timmy | DynamicBot | Python3 | 032 | 032 | 001 | 036 | 0036.81 ms |
| 34th | mccannf | YAARBot | JS | 032 | 032 | 002 | 035 | 0100.12 ms |
| 38th | Stranjyr | ToddlerProof | Java | 031 | 031 | 010 | 028 | 0066.10 ms |
| 38th | NonFunctional User2..| IHaveNoIdeaWhatImDoing | Lisp | 031 | 031 | 002 | 036 | 0036.26 ms |
| 38th | john smith | RAMBOBot | PHP | 031 | 031 | 002 | 036 | 0014.53 ms |
| 41st | EoinC | SimpleRandomBot | .NET | 030 | 030 | 005 | 034 | 0015.68 ms |
| 41st | Martin Büttner | FairBot | Ruby | 030 | 030 | 006 | 033 | 0038.23 ms |
| 41st | Docopoper | OboeOboeBeater | Python2 | 030 | 030 | 006 | 033 | 0021.93 ms |
| 44th | undergroundmonorail | TheGamblersBrother | Python2 | 029 | 029 | 000 | 040 | 0025.55 ms |
| 45th | DrJPepper | MonadBot | Haskel | 028 | 028 | 002 | 039 | 0008.23 ms |
| 46th | Josef E. | OneBehind | Java | 027 | 027 | 007 | 035 | 0065.87 ms |
| 47th | Ourous | GitGudBot | Cobra | 025 | 025 | 001 | 043 | 0053.35 ms |
| 48th | ProgramFOX | Echo | .NET | 024 | 024 | 004 | 041 | 0014.81 ms |
| 48th | JoshDM | SelfHatingBot | Java | 024 | 024 | 005 | 040 | 0068.88 ms |
| 48th | Trimsty | Herpetologist | Python3 | 024 | 024 | 002 | 043 | 0036.93 ms |
| 51st | Milo | DogeBot | Java | 022 | 022 | 001 | 046 | 0067.86 ms |
| 51st | William Barbosa | StarWarsFan | Ruby | 022 | 022 | 002 | 045 | 0038.48 ms |
| 51st | Martin Büttner | ConservativeBot | Ruby | 022 | 022 | 001 | 046 | 0038.25 ms |
| 51st | killmous | MAWBRBot | Perl | 022 | 022 | 000 | 047 | 0016.30 ms |
| 55th | Mikey Mouse | LizardsRule | .NET | 020 | 020 | 007 | 042 | 0015.10 ms |
| 55th | ja72 | BlindForesight | .NET | 020 | 020 | 001 | 048 | 0024.05 ms |
| 57th | robotik | Evolver | Lua | 019 | 019 | 001 | 049 | 0008.19 ms |
| 58th | Kyle Kanos | LexicographicBot | Python3 | 018 | 018 | 003 | 048 | 0036.93 ms |
| 58th | William Barbosa | BarneyStinson | Lua | 018 | 018 | 005 | 046 | 0005.11 ms |
| 60th | Dr R Dizzle | BartSimpson | Ruby | 017 | 017 | 001 | 051 | 0038.22 ms |
| 60th | jmite | IocainePowder | Ruby | 017 | 017 | 003 | 049 | 0038.50 ms |
| 60th | ArcticanAudio | SpockOrRock | PHP | 017 | 017 | 001 | 051 | 0014.19 ms |
| 60th | Dr R Dizzle | BetterLisaSimpson | Ruby | 017 | 017 | 000 | 052 | 0038.23 ms |
| 64th | Dr R Dizzle | LisaSimpson | Ruby | 016 | 016 | 002 | 051 | 0038.29 ms |
| 65th | Martin Büttner | Vulcan | Ruby | 015 | 015 | 001 | 053 | 0038.26 ms |
| 65th | Dr R Dizzle | Khaleesi | Ruby | 015 | 015 | 005 | 049 | 0038.29 ms |
| 67th | Dr R Dizzle | EdwardScissorHands | Ruby | 014 | 014 | 002 | 053 | 0038.21 ms |
| 67th | undergroundmonorail | TheGambler | Python2 | 014 | 014 | 002 | 053 | 0025.47 ms |
| 69th | cipher | LemmingBot | Python2 | 011 | 011 | 002 | 056 | 0025.29 ms |
| 70th | Docopoper | ConcessionBot | Python2 | 007 | 007 | 000 | 062 | 0141.31 ms |
+-------+----------------------+-------------------------+------------+-------+-------+-------+-------+----------------+
Total Players: 70
Total Matches Completed: 2415
Total Tourney Time: 06:00:51.6877573
Tourney Notes
- WOO HOO 70 BOTS
- Emil is still KOTH with
Pony
and his new botDienstag
takes 3rd place - Congrats to Roy for jumping into 2nd place with his
Gazzr
bot - William Barbosa wins the Quick Draw award for his bot
BarneyStinson
And Slow Poke award goes to Docopoper for his bots
R.O.B.O.T
andConcessionbot
who were both >140ms per handLogs available @ https://github.com/eoincampbell/big-bang-game/blob/master/tourneys/Tournament-2014-08-01-23-24-00.zip?raw=true
Excluded Bots
- BashRocksBot - still no joy with .net execing cygwin bash scripts
- CounterPreferenceBot - awaiting bug fix
- RandomlyWeighted - awaiting bug fix
- CasinoShakespeare - excluded because it requires an active internet connection
Original Posted Question
You've swung around to your friends house for the most epic showdown Battle ever of Rock, Paper, Scissors, Lizard, Spock. In true BigBang nerd-tastic style, none of the players are playing themselves but have created console bots to play on their behalf. You whip out your USB key and hand it over to the Sheldor the Conqueror for inclusion in the showdown. Penny swoons. Or perhaps Howard swoons. We don't judge here at Leonard's apartment.
Rules
Standard Rock, Paper, Scissors, Lizard, Spock rules apply.
- Scissors cut Paper
- Paper covers Rock
- Rock crushes Lizard
- Lizard poisons Spock
- Spock smashes Scissors
- Scissors decapitate Lizard
- Lizard eats Paper
- Paper disproves Spock
- Spock vaporizes Rock
- Rock crushes Scissors
Each player's bot will play one Match against each other bot in the tournament.
Each Match will consist of 100 iterations of an RPSLV game.
After each match, the winner is the player who has won the most number of games/hands out of 100.
If you win a match, you will be assigned 1 point in the league table. In the result of a draw-match, neither player will gain a point.
Bot Requirements
Your bot must be runnable from the command line.
Sheldor's *nix box has died, so we're running it off his windows 8 Gaming Laptop so make sure your provided solution can run on windows. Sheldor has graciously offered to install any required runtimes (within reason) to be able to run your solution. (.NET, Java, Php, Python, Ruby, Powershell ...)
Inputs
In the first game of each match no arguments are supplied to your bot. In each subsequent game of each match: - Arg1 will contain the history of your bots hands/decisions in this match. - Arg2 will contain the history of your opponents hands/decisions in this match.
History will be represented by a sequence of single capital letters representing the possible hands you can play.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
E.g.
- Game 1: MyBot.exe
- Game 2: MyBot.exe S V
- Game 3: MyBot.exe SS VL
- Game 4: MyBot.exe SSR VLS
Output
Your bot must write a single character response representing his "hand" for each game. The result should be written to STDOUT and the bot should then exit. Valid single capital letters are below.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
In the case where your bot does not return a valid hand (i.e. 1 of the above 5 single capital letters, then you automatically forfeit that hand and the match continues.
In the case where both bots do not return a valid hand, then the game is considered a draw and the match continues.
Match Format
Each submitted bot will play one match against each other bot in the tournament.
Each match will last exactly 100 games.
Matches will be played anonymously, you will not have an advanced knowledge of the specific bot you are playing against, however you may use any and all information you can garner from his decision making during the history of the current match to alter your strategy against your opponent. You may also track history of your previous games to build up patterns/heuristics etc... (See rules below)
During a single game, the orchestration engine will run your bot and your opponents bot 100 milliseconds apart and then compare the results in order to avoid any PRNG collisions in the same language/runtime. (this actually happened me during testing).
Judging & Constraints
Dr. Sheldon Cooper in the guise of Sheldor the Conqueror has kindly offered to oversee the running of the tournament. Sheldor the Conqueror is a fair and just overseer (mostly). All decisions by Sheldor are final.
Gaming will be conducted in a fair and proper manner:
- Your bot script/program will be stored in the orchestration engine under a subfolder
Players\[YourBotName]\
- You may use the subfolder
Players\[YourBotName]\data
to log any data or game history from the current tournament as it proceeds. Data directories will be purged at the start of each tournament run. - You may not access the Player directory of another player in the tournament
- Your bot cannot have specific code which targets another specific bots behavior
- Each player may submit more than one bot to play so long as they do not interact or assist one another.
Edit - Additional Constraints
- Regarding forfeits, they won't be supported. Your bot must play one of the 5 valid hands. I'll test each bot outside of the tournament with some random data to make sure that they behave. Any bots that throw errors (i.e. forfeits errors) will be excluded from the tourney til they're bug fixed.
- Bots may be derivative so long as they are succinctly different in their behaviour. Bots (including in other languages) that perform exactly the same behaviour as an existing bot will be disqualified
- There are already spam bots for the following so please don't resubmit
- Rock - BartSimpson
- Paper - LisaSimpson
- Scissor - EdwardScissorhands
- Spock - Vulcan
- Lizard - Khaleesi
- Pseudo Random - SimpleRandomBot & FairBot
- Psuedo Random RPS - ConservativeBot
- Psuedo Random LV - Barney Stinson
- Bots may not call out to 3rd party services or web resources (or anything else which significantly slows down the speed/decision making time of the matches).
CasinoShakespeare
is the only exception as that bot was submitted prior to this constraint being added.
Sheldor will update this question as often as he can with Tournament results, as more bots are submitted.
Orchestration / Control Program
The orchestration program, along with source code for each bot is available on github.
https://github.com/eoincampbell/big-bang-game
Submission Details
Your submission should include
- Your Bot's name
- Your Code
- A command to
- execute your bot from the shell e.g.
- ruby myBot.rb
- python3 myBot.py
- OR
- first compile your both and then execute it. e.g.
- csc.exe MyBot.cs
- MyBot.exe
Sample Submission
BotName: SimpleRandomBot
Compile: "C:\Program Files (x86)\MSBuild\12.0\Bin\csc.exe" SimpleRandomBot.cs
Run: SimpleRandomBot [Arg1] [Arg2]
Code:
using System;
public class SimpleRandomBot
{
public static void Main(string[] args)
{
var s = new[] { "R", "P", "S", "L", "V" };
if (args.Length == 0)
{
Console.WriteLine("V"); //always start with spock
return;
}
char[] myPreviousPlays = args[0].ToCharArray();
char[] oppPreviousPlays = args[1].ToCharArray();
Random r = new Random();
int next = r.Next(0, 5);
Console.WriteLine(s[next]);
}
}
Clarification
Any questions, ask in the comments below.
I see everyone else has a small description of how theirs works, is this necessary or optional? – ASCIIThenANSI – 2015-04-06T19:16:34.387
1Also, how often do you add new bots? I made my bot, and I was curious to how long it takes to get added. – ASCIIThenANSI – 2015-04-06T19:46:59.570
7What does the history look like when a player has forfeited a hand? – histocrat – 2014-07-25T17:41:25.210
1I was going to go all-out with an analytic approach, but most of the bots here are stupid enough to defeat smart AI. – fluffy – 2014-07-25T21:23:34.280
@histocrat - good question, I hadn't considered a 6th character to represent an error/forfeited hand. let me think about this and I'll update tomorrow. – Eoin Campbell – 2014-07-25T21:27:31.600
1Just because I *never* am in the lead for any KotH challenge I've competed in, I've taken a screenshot as a memento. – Kyle Kanos – 2014-07-26T02:55:08.760
1pics or it didn't happen. amirite – Eoin Campbell – 2014-07-26T08:16:44.690
*NB* Regarding forfeits, they won't be supported. Your bot must play one of the 5 valid hands. I'll test each bot outside of the tournament with some random data to make sure that they behave. Any bots that throw errors (i.e. forfeits errors) will be excluded from the tourney til they're bug fixed. – Eoin Campbell – 2014-07-26T11:48:45.517
Deleted Deadpool due to this slight rule change. – histocrat – 2014-07-26T13:36:14.677
Can't we just use the bots from http://www.rpscontest.com/ and modify them to 5 instead of 3 outcomes? I think at least this site should be mentioned! And please let the participants explain the ideas of their algorithms!
– flawr – 2014-07-26T14:21:29.567Can we modify the bot once we post it, or do we have to post a new one? And how do we let you know it has been modified? – Claudiu – 2014-07-26T18:03:51.933
@flawr. sure I don't see why not. and participants are free to explain their bots. in fact I'd recommend it. Most of the results I'm seeing from bots which run on pure PRNG decisions are get v. mixed results anyway. – Eoin Campbell – 2014-07-26T19:34:44.907
@claudiu... if you want to refine your bot, that's ok. HuddleWolf has done this already. just post a comment here at the top so I don't miss the mod. – Eoin Campbell – 2014-07-26T19:35:37.700
The lack of forfeits should probably be mentioned in the question itself, not just here in the comments. Right now, the question as stated not only allows for them but specifically mentions how they are handled. – trlkly – 2014-07-27T11:03:24.617
@trlkly agreed & noted – Eoin Campbell – 2014-07-27T19:17:20.703
*NB* the control program is now posted on github. needs a bit of work to parallelize the matches due to the number of games now being played. – Eoin Campbell – 2014-07-27T21:56:37.510
2014 07 27 Tourney Result are updated... MarkovBot gets the 'W' – Eoin Campbell – 2014-07-28T01:21:14.913
@EoinCampbell are the raw results available somewhere? I want to know who beat my bot. :) – Emil – 2014-07-28T07:26:06.167
3I'll run another tourney tonight and post the full match results on pastebin... next batch will have about 450 games but should be a bit quicker to run as I've implemented some parallelization stuff in the control prog – Eoin Campbell – 2014-07-28T07:55:18.707
@EoinCampbell just to let you know, I made a small change to my code (Pony). Would be great if you could include that in one of the next runs. Thanks. – Emil – 2014-07-28T20:58:50.120
Just in the nick of time... just about to kick off a run in 5 :-) – Eoin Campbell – 2014-07-28T21:26:55.940
Ok. Next tourney just starting. 38 Players. 703 Games. 140,600 hands. Est. 90 minute run time. Lots of statistics and log outputs coming as well – Eoin Campbell – 2014-07-28T21:44:14.277
3If I'm not mistaken, there seems to be a serious bug in the orchestration script: The histories of player 1 and 2 are always passed to the bots as first and second argument respectively, while according to the rules the bots should always get their own history first. Now player 2 is effectively trying to beat itself. (I got a bit suspicious because my bot won every single match where it was player 1 while losing half of the other matches.) – Emil – 2014-07-29T07:07:49.833
1you could be very well be correct... I was hacking away at it the last 2 evenings to try and improve the processing speed since I can't really parallelize things. Quite possible I messed it up while refactoring the ARGS builder to support java/executable/scripts. – Eoin Campbell – 2014-07-29T07:31:39.243
@Emil very well spotted dude. looks like I introduced that bug on Sunday night before I committed the code to github while doing some refactoring. I'll fix tonight and do another run. – Eoin Campbell – 2014-07-29T07:34:17.013
That's definitely the case. Markov (btw, there was a never a Bot in the name :P) should be playing perfectly against Vulcan but isn't. Also in general it tends to lose or play very close matches if it's the second player, and wins almost all matches (some of them perfectly) if it's the first player. – Martin Ender – 2014-07-29T07:34:37.373
Feels like a dope sorry guys... note taken to fix it. My bad :-( https://github.com/eoincampbell/big-bang-game/commit/fc8a1548f435ec5d36f548d61078c9582b7f3725#commitcomment-7183979 – Eoin Campbell – 2014-07-29T07:35:50.297
LOOKING FOR FEEDBACK - Should I consider setting a final submission date to cap the number of players. The last tournment involved 38 Players (703 matches) and took 90 minutes to run. Extrapolating. 50 players ~= 1250 games ~= 2.5 hrs. 60 players ~= 1800 games ~= 4 hrs. 70 players ~= 2500 games ~5.5hrs. - Only down side of more players is I might have to start running over night tourneys so I'd update every 2nd or 3rd day – Eoin Campbell – 2014-07-29T08:13:57.097
@EoinCampbell I'd cap it at the end of the week, or restrict each person to only one bot. – Οurous – 2014-07-29T08:32:58.760
@Ourous noted :-) – Eoin Campbell – 2014-07-29T10:37:35.457
@EoinCampbell If you don't mind running them over night every other day, I'd prefer not setting a submission deadline. You will probably get fewer and fewer submissions anyway at some point, so that running it once a week should then be enough. And if you don't get another submission for a week you can still decide to close it. I think the Wolf KotH is technically still open today, just that no one has posted a submission in a while. – Martin Ender – 2014-07-29T11:44:28.230
@MartinBüttner - ok. won't lock it down for now. thanks guys. – Eoin Campbell – 2014-07-29T12:50:53.323
@EoinCampbell Are you regularly updating submissions? I notice that my bot is still labeled as HuddleWolfHatesBigBangTheory and since changing the name to HuddleWolfTheConqueror, I've made a handful of logic improvements. – HuddleWolf – 2014-07-29T12:51:11.753
I've been updating code. but didn't update the bot names. I'm going to clean these up in the next run as I ended up calling a number of them
NameBot
where it was just calledName
– Eoin Campbell – 2014-07-29T13:18:12.5701CasinoShakespeare didn't managed into your tournament without any info. – Daniel Kmak – 2014-07-29T16:23:49.593
1hmmm... missed that one. Sorry @Daniel will look at it now. – Eoin Campbell – 2014-07-29T17:00:04.693
Same with IocainePowder, it wasn't included... just checking, since I'd posted it yesterday before the new results were posted. – jmite – 2014-07-29T17:54:57.663
New run coming with a bunch of new bots incl. you guys. – Eoin Campbell – 2014-07-29T18:11:57.563
1Okay, just checking. Thanks for the great work! – jmite – 2014-07-29T18:14:50.820
1just kicked it off... in a 1 hand per game dry run, it took 115 seconds for 1,326 games incl. 52 players. So guessing this run will take 3.5 hours. will update again later tonight (if my wife hasn't divorced me at that stage) – Eoin Campbell – 2014-07-29T18:52:51.297
Damn! I thought mine was good! I was in fifth place last time. Oh well. – Milo – 2014-07-30T04:52:51.880
@EoinCampbell I submitted a PR with parallelisation. Hope it helps. – Andrew Vermie – 2014-07-30T07:57:05.833
@AndrewVermie yep. got it man. really appreciate it. you cracked that data access concurrency problem that I was avoiding. I'll do some 3-hand dry runs tonight to test it and and if all is good, I'll run the next tournament using it. quad core laptop so should help. Thanks again. – Eoin Campbell – 2014-07-30T08:20:26.270
I never liked Scissors Paper Stone game, as it's impossible to be better than randomly pick any move, if we're fighting an opponent taking random moves. The best method, then, depends on the number of people submitting non-random move. =D – justhalf – 2014-07-30T09:32:02.113
which there are now a significant number of. top 5 are all good algos. Winner was a submission used for a previous RPS game. In any sample space, the guys picking pure randoms should be mid table, and the guys spamming should be at the bottom. which would seem to be the case. – Eoin Campbell – 2014-07-30T11:14:28.947
updated rambo_bot – john Smith – 2014-07-30T23:30:04.733
when will be the next tournament ? – john Smith – 2014-07-31T09:09:37.480
It's running at home at the minute. Will post results tonight. Just FYI, I've updated the log file mechanism, I'll be posting the full touney log as before, but now, each player gets their own dump file of all matches they participated in so that they can see results. – Eoin Campbell – 2014-07-31T09:48:25.337
New Tournament results are up now... Congrats to @Emil on another win. the linked zip file contains per-player logfiles now so it should be easier to find out how your bot performed. Next tournament will probably be Sunday Night, results monday morning. ~E – Eoin Campbell – 2014-08-01T07:37:11.463
you forgot to add rambo_bot :( – john Smith – 2014-08-01T08:50:51.377
Crap! sorry man. not sure how that happened. cos I wasn't +1'ing answers until I had added them to the control prog. will make sure it's in the next run. I'll kick off another run tonight so you don't have to wait til Monday. – Eoin Campbell – 2014-08-01T08:56:17.433
I can't tell, are you still updating code for each new tournament if we edit our program? I wouldn't blame you if you didn't (that's a lot of work) but I'm just curious if my edits are accomplishing anything. – Qwix – 2014-08-01T13:46:42.640
1
yes. I track the answer list below by "active" and scroll back through submissions to update code before each run. if you're worried I've missed an update, check out https://github.com/eoincampbell/big-bang-game/tree/synchronous/BigBang.Orchestrator/Players/Analyst to see if Iv'e got your latest code.
– Eoin Campbell – 2014-08-01T13:52:43.527I'd like to ask why all this kind of "king of the hill game" use argument passing as input? If we use stdin instead, then we don't need to start the interpreters(which will cost about 0.1s) every round and that would be a lot faster. One may finish a size 70 tournament in several minutes. I'm not asking to change the rule of this game. I just want to know why. – Ray – 2014-08-01T15:29:47.567
shrugs from my POV I've writing the controller prog in .net. All processes, be they exe's or script languages are exec'd from a System.Diagnostic Process... it's just handy to pass the params as args. That's just how I happened to bang the controller program together though. – Eoin Campbell – 2014-08-01T16:16:26.053
1
@Ray There have been KotHs and code challenges before which have used persistent pipes instead, e.g. this, this and this. Often it just depends on what the OP finds easier or more practical. The appeal of ARGV is also that it's a bit easier for players to write their bots if they don't need to include some form of communication loop.
– Martin Ender – 2014-08-01T23:53:25.230@MartinBüttner Thanks for the examples. Yes it can help the players strip a loop, but it cost us much more time. – Ray – 2014-08-02T02:10:03.000
new tourney results are up – Eoin Campbell – 2014-08-02T11:56:39.753