X-Git-Url: https://troll.desast.re/troll.git/blobdiff_plain/a9282d24ea6494c71a002bf99d8f9a5bd516db35..1c62a29cdf79f170e5c8375f5a657cac085000b4:/config/statement_en.html diff --git a/config/statement_en.html b/config/statement_en.html index db798d1..38b390f 100644 --- a/config/statement_en.html +++ b/config/statement_en.html @@ -27,44 +27,44 @@ Rule Evolution
- The following ideas are still in flux, waiting for some - opinions. Please drop a word on the - - contribution's page - - or - - on the forum - - + +

+ For the WIP phase of this draft, I'll likely merge the last + two leagues into one because we need data on what makes the + games interesting. +

+

+ You're still welcome to discuss the game + + on the forum + + or report a bug + + on the contribution's page. + +

@@ -90,35 +90,189 @@ I/O Protocol
- Just read the sample code. You can figure this out. -
- You're currently allowed the default SDK timings. I think it's - one second for the first turn and 50 ms then, but don't - quote me on this. +

+ This place used to read: “Just read the sample code. You can + figure this out.” Here are the formalities for that + other part of the audience. +

+
+
Map Input
+
+

+ Your first line of input contains five space-separated + parameters: +

+
+
roadLength
+
+ distance between both castles, between 6 + and 14. +
+
initialStones
+
+ number of stones a castle starts the day with, + between 0 and 50. +
+
gameSeed
+
+ the game's seed. The game AIs use it to provide you + with reproducible matches even when they use stochastic + algorithms, and you're encouraged to do the same! See + examples section below for simple ways to achieve that. +
+
gameSide
+
+ which side you're on, as -1 + or 1. It's not supposed to make a + difference to how you handle the rest of the game, but + you can XOR it to your gameSeed to have a + (reproducible) random that doesn't necessarily draw + when it plays against itself. +
+
reserved
+
+ reserved for future use, ignore for now. +
+
+
+
+
+
Turn Input
+
+

+ At each turn, you are provided with the following three + space-separated values: +

+
+
trollDistance
+
+ distance between the troll and your castle +
+
stones
+
+ number of stones you have left +
+
opponentStones
+
+ number of stones your opponent has left +
+
+
+
+
+
Turn Output
+
+

+ After having received your turn input, you are to output + a single integer stones: the number of stones + you wish to throw at the troll. +

+

+ You may optionally provide a message you wish + your castle to yell at the troll or at your opponent. + Just append it to your output, being sure to separate it + with at least one space. + +

+
+
+
+
Timing Considerations
+
+

+ You're allowed the default SDK timings. I think it's one + second for the first turn and 50 ms then, but don't + quote me on this. +

+
+
+
+

+   + Proper RNG seeding examples +

+ + + + + + + + + + + + + + + + + + +
Language FamilyInspiration
JVM + long mySecretSalt = 0x4242424242424242L;
+ Random random = new Random(gameSeed ^ gameSide ^ mySecretSalt); +
C, C++, Perl… + srand(gameSeed ^ gameSide ^ 0xdeadb33f);
+ std::srand(gameSeed ^ gameSide ^ 12345);
+ srand( $gameSeed ^ $gameSide ^ 0xCAFE_BABE ); +
OtherUnachievable until proven otherwise
+

  - Maps + Expert rules

- The following maps are currently available and randomly yet - extremely fairly (you wouldn't believe the effort that went - into this) chosen uniformly at random among the following: + In the lower leagues, the following maps are available and + randomly yet extremely fairly (you wouldn't believe the + effort that went into this) chosen uniformly at random among + the following:

- - - - - - + +
Road lengthStones
615
630
1430
1450
+ + + + + + + + + + + + + + + + + + + +
Road lengthStones
615
630
1430
1450

- As with anything in this draft statement, this - is subject to change without notice. Why do - you think they're provided in the game input? + You may also override them via game + settings roadLength and initialStones, + so long as you remember you won't be choosing them for + ranking play.

@@ -132,12 +286,12 @@ game's source repository is now publicly available. I'll just make note of the single latest change, so you can know how far behind you - were lagging. + were lagging. Patches welcome, BTW.

This draft's last change is: - add some mountains. + not taking any more suggestions.

@@ -152,7 +306,7 @@ — J.R.R. Tolkien, The Hobbit -
+

Based on an involuntary suggestion by