From: JBM Date: Tue, 25 Aug 2020 17:53:32 +0000 (+0200) Subject: Update statement to stabilize rule changes X-Git-Url: https://troll.desast.re/troll.git/commitdiff_plain/1c62a29cdf79f170e5c8375f5a657cac085000b4 Update statement to stabilize rule changes --- diff --git a/config/statement_en.html b/config/statement_en.html index 45659a2..38b390f 100644 --- a/config/statement_en.html +++ b/config/statement_en.html @@ -27,56 +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. + +

@@ -110,49 +98,40 @@
Map Input
-

- This section's HTML gets messed up somewhere in the SDK - pipeline. I reported it there; and there - you'll be able to find a readable representation of this - block. Sorry about the inconvenience… -

Your first line of input contains five space-separated parameters: - roadLength initialStones - gameSeed gameSide - reserved

-
roadLength
+
roadLength
distance between both castles, between 6 and 14.
-
initialStones
+
initialStones
number of stones a castle starts the day with, between 0 and 50.
-
gameSeed
+
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
+
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 mecessarily draw + (reproducible) random that doesn't necessarily draw when it plays against itself.
-
reserved
+
reserved
- reserved for future use, ignore for now + reserved for future use, ignore for now.
@@ -163,20 +142,17 @@

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

-
trollDistance
+
trollDistance
distance between the troll and your castle
-
stones
+
stones
number of stones you have left
-
opponentStones
+
opponentStones
number of stones your opponent has left
@@ -205,9 +181,9 @@
Timing Considerations

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

@@ -218,29 +194,33 @@   Proper RNG seeding examples - + +
- - + + - - + - - + - - + +
Language FamilySampleLanguage FamilyInspiration
JVM + JVM long mySecretSalt = 0x4242424242424242L;
Random random = new Random(gameSeed ^ gameSide ^ mySecretSalt);
C, C++, Perl… + C, C++, Perl… srand(gameSeed ^ gameSide ^ 0xdeadb33f);
std::srand(gameSeed ^ gameSide ^ 12345);
srand( $gameSeed ^ $gameSide ^ 0xCAFE_BABE );
OtherUnachievable until proven otherwiseOtherUnachievable until proven otherwise
@@ -251,35 +231,45 @@

- In the lower leagues, 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 lengthStonesRoad lengthStones
615615
630630
14301430
14501450

- You can also override them via game + 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. @@ -301,7 +291,7 @@

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