The MULE version, used as a basis for this document, is a dump of the game for Atari 800 system in ATR format whose checksum is F76D2896.
1 jiffy is the time elapsed between two VBL (Vertical Blank Line). The event processor of MULE is called each 4 jiffy. This is the Base Time Unit (BTU). According to the system in which the game runs (PAL or NTSC), a jiffy hasn't the same duration because there isn't the same amount of VBL each second and so the time between 2 VBL is different.
The duration of 1 BTU for each system is:
System | Frequency | 1 jiffy | 1 BTU (= 4 jiffy) |
---|---|---|---|
PAL | 50 Hz | 1/50s | 1/12.5s = 0.08s |
NTSC | 60 Hz | 1/60s | 1/15s = 0.067s |
That means that a PAL game runs more slowly than a NTSC game (if the game uses the VBL to synchronize motion).
In this whole document, the reference system is NTSC. The following value will thus be used:
1 BTU = 1/15s = 0.067s
The BTU is used in the game for:
The Player Time Unit (PTU) determines the rate of the time flow during the humans players turn. 1 pixel of the bar time lasts 1 PTU. It thus decreases of 1 pixel each PTU. The smaller the PTU is, the faster the time decreases.
Initialy, the value of a PTU is equal to 7 BTU and modified by the following conditions:
1 PTU = 7 BTU + modifiers
The race modifiers are:
Race | Modifier |
---|---|
Flapper | +2 BTU |
Human | -2 BTU |
Others | None |
The level modifiers are:
Level | Modifier |
---|---|
Beginner | +2 BTU |
Standard | None |
Tournament | None |
Some examples of PTU for race and level choice:
Description | PTU (in BTU) | PTU (in second) |
---|---|---|
Beginner with Flapper | 11 BTU | 0.73s |
Standard or Tournament with Flapper | 9 BTU | 0.6s |
Standard or Tournament with any race but Flapper or Human | 7 BTU | 0.47s |
Standard or Tournament with Human | 5 BTU | 0.33s |
In the whole document, a default value of 1 PTU = 7 BTU = 7/15s = 0.47s is used when no value for the PTU is specified. This gives an indicative information in seconds for the examples.
The PTU is used in the game for:
Similarly to the PTU, the Auction Time Unit (ATU) determines the rate of time flow during the auctions. 1 pixel of the bar time lasts 1 ATU. It thus decreases of 1 pixel each ATU. The smaller the ATU is, the faster the time decreases.
The value of the ATU is based on the BTU and only dependent of the level:
Level | ATU (in BTU) | ATU (in second) | ATU/4 (in second) |
---|---|---|---|
Beginner (*) | 50 BTU | 3.33s | 0.83s |
Standard | 30 BTU | 2s | 0.5s |
Tournament | 25 BTU | 1.67s | 0.42s |
(*) At Beginner level, the value of the ATU is doubled for first round (100 BTU).
When no player moves, the value of the ATU is temporarily divided by 4, until a player moves again.
Similarly to the PTU, the Cursor Time Unit (CTU) determines the rate of time flow during the land grant. The cursor moves to the next land at each CTU. The smaller the CTU is, the faster the cursor moves.
The value of the CTU is based on the BTU and only dependent of the level:
Level | CTU (in BTU) | CTU (in second) |
---|---|---|
Beginner | 8 BTU | 0.53s |
Standard | 4 BTU | 0.27s |
Tournament | 3 BTU | 0.2s |
Type de calcul | Signification | Phase |
---|---|---|
A: réel | On ne simule rien. On possède la parcelle et l'exploitation. | Production, Price |
B: simulé | On possède la parcelle et on y simule la présence de l'exploitation donnée. | Player Turn |
C: simulé | On ne possède pas la parcelle. On simule la présence de la parcelle et de l'exploitation. | Grant Land Land Auction |
The number of rounds at each level is:
Beginner | 6 |
---|---|
Standard | 12 |
Tournament | 12 |
Before the first round starts (at the first status summary when the ship lands), the round number is #0. It's incremented at the beginning of the round.
The map is divided in 5 rows of 9 columns. There's 44 lands (30 plains, 10 with at least 1 moutain, 4 rivers) and 1 Store in the middle. The location of the mountains and the Crystite deposits are randomly chosen (see algorithms Mountains setup andCrystite deposits setup).
This algorithm divides each row in 4 quarter (4 small rows). The map having 5 rows, there's a total of 20 quarters.
The picture bellow shows this division:
The following rules are always applied for the mountains distribution:
The distribution of the mountains on each row is as follows:
The Crystite is ignored in these enumerations.
To compute the number of distinct maps, without taking into account the configurations of a land which are visually different but having the same production (for example one mountain at each quarter give the same production), the configurations are enumerated for 1 row:
That's 16+16+16=48 configurations for 1 row and a total of 48^5 = 254 803 968 configurations for the 5 rows of the map (each configuration hasn't the same probability to occur).
The number of distinct maps, taking into account the configurations of a land which are visually different but giving the same production, are:
That's 64+96+64=224 configurations for 1 row and a total of 224^5 = 563 949 338 624 configurations for the 5 rows of the map (each configuration hasn't the same probability to occur).
4 Crystite deposits of quality 3 (High) are randomly put on 4 lands among the 44 lands and the Store. A deposit can thus be located on a plain, a moutain, a river or the Store.
Each deposit (in black) is then expanded like a star shape:
. . L . . . L M L . L M H M L . L M L . . . L . .
If a deposit expansion overlaps another one, the highest qualities are kept:
. . L . . . . L M L L . L M H M M L . L M M H M L . . . L L M L . . . . . . L . . .
A Crystite deposit of quality 4 (Very high) appears only after a meteorite strike (and no expansion is done).
All the players begin with an equal quantity of goods, which depends of the level:
Level | Food | Energy | Smithore & Crystite |
---|---|---|---|
Beginner | 8 | 4 | 0 |
Standard | 4 | 2 | 0 |
Tournament | 4 | 2 | 0 |
Human players begin with an amount of money depending of their race:
Race | Money |
---|---|
Flapper | 1600$ |
Human | 600$ |
Others | 1000$ |
Computer players begin with an amount of money depending of the level:
Level | Money |
---|---|
Beginner | 1000$ |
Standard | 1000$ |
Tournament | 1200$ |
The Store initial quantities are depending of the level:
Level | Beginner | Standard & Tournament |
---|---|---|
Food | 16 | 8 |
Energy | 16 | 8 |
Smithore | 0 | 8 |
Crystite | 0 | 0 |
Mule | 25 | 14 |
The Store initial prices are depending of the level:
Food | 30$ |
---|---|
Energy | 25$ |
Smithore | 50$ |
Crystite | 100$ |
Mule | 100$ |
At the beginning of each round, the following actions are done:
At the Beginner level, the Store initializes:
That's why the Smithore price is constant at 50$ for this level (no Shortage).
The cursor is moving at a speed of 1 land each CTU. When a land is selected by a player, a pause of 4 CTU is done.
Each computer use its own map of lands rating to determin the land he'll select during the land grant.
The map contains the rating of the available lands, taking into accounts the exploitations owned (the economic bonuses raise the rating) and the distance to the Store. The map doesn't specify for which types of exploitation the ratings are given.
The stages of the algorithm, for 1 computer map, are:
Good | Probability |
---|---|
Food | 50% |
Energy | 25% |
Smithore | 25% |
Crystite | 0% |
for each land of the map, its rating is computed:
To select the best land during the land auction, the computers analyse their map of lands rating:
At the beginning of the land grant, the computers think of the land they will select. Each one:
If 2 computers have chosen the same land and there's at least 4 available lands, the computer having the better rank select another one. This is repeated until all computers have chosen a different land.
During the land selection, the computers simulate a button click as soon as the cursor attains the land they've chosen. If several players simultaneously click, the one having the worst rank wins the land and all the concerned computers choose another best land among their map from the next cursor position.
At the Beginning level, there's no land auctions.
The number of colony land auctions is limited by the number of lands still available and equal to the normal distribution of 1 with an amplitude of:
This gives the following probabilities:
Plots for sale | Standard | Tournament |
---|---|---|
0 | 16.168% | 31.126% |
1 | 67.664% | 37.748% |
2 | 16.063% | 24.303% |
3 | 0.105% | 6.248% |
4 | 0% | 0.562% |
5 | 0% | 0.013% |
At a land auction, each computer computes his rating of the land for sale in the following way:
Good | Rating |
---|---|
Food | 3 |
Energy | 2 |
Smithore | 6 |
Crystite | 12.5+round/2 |
There's two kinds of land auction set, that occur in the following order:
The scheme is the same in both cases:
TODO
The player Food requirement for the current and the next round is:
Round | Food requirement (for current round) | Next Food requirement (for next round) |
---|---|---|
1 | 3 | 3 |
2 | 3 | 3 |
3 | 3 | 3 |
4 | 3 | 4 |
5 | 4 | 4 |
6 | 4 | 4 |
7 | 4 | 4 |
8 | 4 | 5 |
9 | 5 | 5 |
10 | 5 | 5 |
11 | 5 | 5 |
12 | 5 | 0 |
The players take their turn in the order of their rank. If there's 7 or less mules in the Store, the order is reversed to help last ranked players.
At the beginning of each player turn, there's a 27.5% probability an event appends. In this case, one among the 22 is randomly chosen until it complies to the following rules:
If none of the events complies to the rules, nothing happens.
The event is automatically changed to the first of the list if:
The following variables are used in the player event effect chart:
The price multiplicative factor m is equal to 25$*(round/4+1):
Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
m | 25 | 25 | 25 | 50 | 50 | 50 | 50 | 75 | 75 | 75 | 75 | 100 |
Player event effect chart:
Type | x | Condition | Event | |
---|---|---|---|---|
Good | YOU JUST RECEIVED A PACKAGE FROM YOUR HOME-WORLD RELATIVES CONTAINING 3 FOOD AND 2 ENERGY UNITS. The player wins 3 Food units and 2 Energy units. | |||
A WANDERING SPACE TRAVELER REPAID YOUR HOSPITALITY BY LEAVING TWO BARS OF SMITHORE. The player wins 2 Smithore units. | ||||
A | 2 | At least 1 exploitation | YOUR MULE WAS JUDGED "BEST BUILT" AT THE COLONY FAIR. YOU WON $?. The player wins 2*m $. | |
A | 4 | At least 1 exploitation | YOUR MULE WON THE COLONY TAP-DANCING CONTEST. YOU COLLECTED $?. The player wins 4*m $. | |
B | 2 | At least 1 exploitation of Food | THE COLONY COUNCIL FOR AGRICULTURE AWARDED YOU $? FOR EACH FOOD PLOT YOU HAVE DEVELOPED. THE TOTAL GRANT IS $?. The player wins 2*m*y $. | |
A | 4 | THE COLONY AWARDED YOU $? FOR STOPPING THE WART WORM INFESTATION. The player wins 4*m $. | ||
A | 8 | THE MUSEUM BOUGHT YOUR ANTIQUE PERSONAL COMPUTER FOR $?. The player wins 8*m $. | ||
A | 2 | YOU WON THE COLONY SWAMP EEL EATING CONTEST AND COLLECTED $?. (YUCK!) The player wins 2*m $. | ||
A | 3 | A CHARITY FROM YOUR HOME-WORLD TOOK PITY ON YOU AND SENT $?. The player wins 3*m $. | ||
A | 6 | YOUR OFFWORLD INVESTMENTS IN ARTIFICIAL DUMBNESS PAID $? IN DIVIDENDS. The player wins 6*m $. | ||
A | 4 | A DISTANT RELATIVE DIED AND LEFT YOU A VAST FORTUNE. BUT AFTER TAXES YOU ONLY GOT $?. The player wins 4*m $. | ||
A | 2 | YOU FOUND A DEAD MOOSE RAT AND SOLD THE HIDE FOR $?. The player wins 2*m $. | ||
At least 1 available land | YOU RECEIVED AN EXTRA PLOT OF LAND TO ENCOURAGE COLONY DEVELOPMENT. The player wins a random free land. | |||
Bad | MISCHIEVOUS GLAC-ELVES BROKE INTO YOUR STORAGE SHED AND STOLE HALF YOUR FOOD. The player loses half his Food units. | |||
A | 3 | At least 1 exploitation | ONE OF YOUR MULES LOST A BOLT. REPAIRS COST YOU $?. The player loses 3*m $. | |
B | 2 | At least 1 exploitation of Smithore or Crystite | YOUR MINING MULES HAVE DETERIORATED FROM HEAVY USE AND COST $? EACH TO REPAIR. THE TOTAL COST IS $?. The player loses 2*m*y $. | |
B | 1 | At least 1 exploitation of Energy | THE SOLAR COLLECTORS ON YOUR ENERGY MULES ARE DIRTY. CLEANING COST YOU $? EACH FOR A TOTAL OF $?. The player loses 1*m*y $. | |
A | 6 | YOUR SPACE GYPSY INLAWS MADE A MESS OF THE TOWN. IT COST YOU $? TO CLEAN IT UP. The player loses 6*m $. | ||
A | 4 | FLYING CAT-BUGS ATE THE ROOF OFF YOUR HOUSE. REPAIRS COST $?. The player loses 4*m $. | ||
A | 4 | YOU LOST $? BETTING ON THE TWO-LEGGED KAZINGA RACES. The player loses 4*m $. | ||
A | 4 | YOUR CHILD WAS BITTEN BY A BAT LIZARD AND THE HOSPITAL BILL COST YOU $?. The player loses 4*m $. | ||
At least 1 plot | YOU LOST A PLOT OF LAND BECAUSE THE CLAIM WAS NOT RECORDED. The player loses his last land from the map. |
The exact formula which gives the amount won or lost is:
For the type A events:
x * 25 * (round/4 + 1) = x * m
For the type B events:
x * 25 * (round/4 + 1) * y = x * m * y
The available time for the turn depends of the quantity of Food the player has compared to the round requirement.
The formula is: 10 PTU (4.67s) + 91 PTU (42.47s) * ratio
The ratio is: Food units owned by the player divided by Food units required for the round (maximum of 100%)
This gives the following cases:
Case | Time limits |
---|---|
No shortage | 101 PTU (47.13s) |
Partial shortage | 10 + 91*ratio PTU ]4.67s; 47.13s[ |
Total shortage | 10 PTU (4.67s) |
The outfit prices are:
Food | 25$ |
---|---|
Energy | 50$ |
Smithore | 75$ |
Crystite | 100$ |
To interact with a land (Assay, to install a mule, ...), the player must be located inside a zone smaller than the land:
if we consider the whole Player Missile:
if we consider the visible part of the Player Missile (example for the Bonzoid):
The mule position during the interaction doesn't have any importance. Only the position of the player does matter.
TODO:
mise en vente -> temps arrêté, continuera dès retour ou après 250 BTU
The Wampus is a mysterious creature hidden into the mountains.
It appears on the screen as a colored point on one of the 20 mountains.
This color depends of the game level:
Level | Beginner | Standard | Tournament |
---|---|---|---|
Wampus Color | ![]() | ![]() | ![]() |
The Wampus is only catchable when:
The exact player position (the green pixel) must be the following, according to the Wampus position (between red lines):
The vertical Wampus position is located 4 pixels below the vertical player position:
According to the horizontal Wampus position, two cases can happen. In both, the horizontal Wampus position is on the left of the player:
The Wampus is:
The Wampus only appears after an initial delay Tw (in PTU). This delay is proportional to Ta (in BTU), which is the waited time before the player press the button to play is turn (event included). The maximum value of Ta is 255 BTU (17s).
For example, if the player waits 10s before clicking:
Ta = 10s = 10/(1/15) BTU = 150 BTU (10s)
If a player event occurs, Ta is deduced by 100 BTU (6.7s). Thus, the maximum value of Ta is 155 BTU (10.3s).
The delay Tw (in PTU), before the Wampus appears, is equal to Ta divided by 4.
Example 1:
Example 2:
We can see the Wampus appears after the same initial delay. This can seem strange at first glance because the Flapper waits lesser than the Human, but it's in fact completely normal:
To sum up:
To have the maximum time to catch the Wampus (and therefore it appears as soon as possible), the player must click quickly at the beginning of his turn. If an event occurs, the player has 6.7 free seconds to read it.
After the initial delay, the Wampus behavior switch over 2 states:
a visible state:
It lasts between 1 to 4 PTU (0.47s to 1.87s).
a hidden state which can randomly have 2 behavior (50% probability each):
Thus, if the Wampus isn't appeared again at 2 PTU (0.93s), it won't move (case 1).
Be aware, if the player stays on any mountain (in collision), when the Wampus is switching to the visible state, it will hide again instantaneously and switch to the hidden state.
if the player succeeds to catch the Wampus, he wins a sum of money equal to 100$ * (round+4)/4:
Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cash | 100 | 100 | 100 | 200 | 200 | 200 | 200 | 300 | 300 | 300 | 300 | 400 |
At the end of his turn, the player can go to the Pub for Gambling and wins some cash. The quantity is equal to the round gambling bonus added by a value between 0$ and two times the amount of time left (in PTU):
Cash = round bonus + random value [0; temps restant*2[
The round bonus is:
Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cash | 50 | 50 | 50 | 100 | 100 | 100 | 100 | 150 | 150 | 150 | 150 | 200 |
Some typical values for remaining time
Time left | Maximum amount |
---|---|
Full (100 PTU) | 200$ |
75% (75 PTU) | 150$ |
50% (50 PTU) | 100$ |
25% (25 PTU) | 50$ |
Shortage (10 PTU) | 20$ |
The final amount has a maximum of 250$.
Example:
Round #3, 30% remaining time (30 PTU), the Gambling value will be between 50$ and 110$ (50$ + random (101*30/100*2).
The computer turn AI is splitted in 3 chronological parts:
The Development phase loops through the following algorithm:
Comparison of the time used to put an exploitation between a human controlled player and a computer:
Observations:
The Assay phase is splitted in 2 stages:
Stage 1: its own lands
for each land of the player (from the end, other than the river)
Stage 2: free plots
This stage is equivalent to the first, but the free plots are covered instead of the lands owned.
Comparison of the time used to assay between a human controlled player and a computer:
Observations:
If the remaining time is inferior to 3 PTU (1.4s), the computer runs out of time. If not, he goes to the Pub for Gambling.
Each Food, Smithore or Crystite exploitation needs one Energy unit to be able to produce. If an exploitation has no Energy unit, it produces 0 units. An Energy exploitation doesn't need any Energy unit to produce.
The exploitation base production capacity (EBPC) is used as a basis to compute the EPC.
For Food, Energy and Smithore, the EBPC depends of the terrain type on which it is located:
Food | Energy | Smithore | Crystite | |
---|---|---|---|---|
Plain | 2 | 3 | 1 | Variable |
River | 4 | 2 | Not allowed | Not allowed |
1 Mountain | 1 | 1 | 2 | Variable |
2 Mountains | 1 | 1 | 3 | Variable |
3 Mountains | 1 | 1 | 4 | Variable |
Food | Energy | Smithore | Crystite | |
---|---|---|---|---|
Plain | ![]() | ![]() | ![]() | ![]() |
River | ![]() | ![]() | ![]() | ![]() |
1 Mountain | ![]() | ![]() | ![]() | ![]() |
2 Mountains | ![]() | ![]() | ![]() | ![]() |
3 Mountains | ![]() | ![]() | ![]() | ![]() |
For Crystite exploitation, the production relies on the deposit quality of the land:
None | 0 |
---|---|
Low | 1 |
Medium | 2 |
High | 3 |
Very High | 4 |
The EBPC is shown at the bottom right of the exploitation with points. It's updated at the beginning of the production phase.
The exploitation production capacity (EPC) is computed for a player land and an exploitation type. It's used as a basis for the EP.
There's 2 kinds of EPC:
The real EPC is given by adding the 3 following values:
the EBPC
the 1st economic bonus ("The learning curve theory"): 1 EPC is added for each 3 exploitations of the same type
the 2nd economic bonus ("The economies of scale theory"): 1 EPC is added if at least 1 exploitation of the same type is adjacent
The simulated EPC is similar but the economic bonuses are slightly different, taking into account if the exploitation (eventually the land) isn't already owned. It's given by adding the 3 following values:
the EBPC (or the known Crystite for a Crystite exploitation)
the 1st economic bonus ("The learning curve theory"):
the 2nd economic bonus ("The economies of scale theory"):
The exploitation production (EP) is the number of units produced at the production phase (before the turn event occurs).
There's 2 kinds of EP:
The steps to compute the production of all the exploitation are:
for each exploitation:
variation of the real EPC with normal distribution, the amplitude depends of the level:
Level | Amplitude |
---|---|
Beginner | 0 (No variation) |
Standard | 1 |
Tournament | 2 |
wich gives the following variations for each level:
Probability | |||
---|---|---|---|
Variation | Beginner | Standard | Tournament |
-3 | 0.6% | ||
-2 | 0.1% | 6.2% | |
-1 | 16.1% | 24.3% | |
0 | 100.000% | 67.6% | 37.8% |
+1 | 16.1% | 24.3% | |
+2 | 0.1% | 6.2% | |
+3 | 0.6% |
eventually, Energy penalty for each player:
A random event always occurs after the production phase (even if visually, the event appears before the production like the Acid Rain Storm, Sunspot Activity and Earthquake).
At the last game round, the event is the return of the colonial ship. Otherwise, a random event is chosen.
Each event can occur only a limited number of time per game:
Event | Max per game |
---|---|
Pest Attack | 3 |
Pirate Ship | 2 |
Acid Rain Storm | 3 |
Planetquake | 3 |
Sunspot Activity | 3 |
Meteorite Strike | 2 |
Radiation | 2 |
Fire in Store | 2 |
The probability of an event is equal to the number of time it can still happen divided by the total number of possibilities.
Example 1: round #1
Event | # of time the event may occur until the end of the game | Probability | Percent |
---|---|---|---|
Pest Attack | 3 | 3/20 | 15% |
Pirate Ship | 2 | 2/20 | 10% |
Acid Rain Storm | 3 | 3/20 | 15% |
Planetquake | 3 | 3/20 | 15% |
Sunspot Activity | 3 | 3/20 | 15% |
Meteorite Strike | 2 | 2/20 | 10% |
Radiation | 2 | 2/20 | 10% |
Fire in Store | 2 | 2/20 | 10% |
Total | 20 | 20/20 | 100% |
Exemple 2: Round #3 (event Acid Rain Storm and Meteorite Strike already occured)
Event | # of time the event may occur until the end of the game | Probability | Percent |
---|---|---|---|
Pest Attack | 3 | 3/18 | 16.67% |
Pirate Ship | 2 | 2/18 | 11.11% |
Acid Rain Storm | 2 | 2/18 | 11.11% |
Planetquake | 3 | 3/18 | 16.67% |
Sunspot Activity | 3 | 3/18 | 16.67% |
Meteorite Strike | 1 | 1/18 | 5.55% |
Radiation | 2 | 2/18 | 11.11% |
Fire in Store | 2 | 2/18 | 11.11% |
Total | 18 | 18/18 | 100% |
By enumerating the possibilities, the following exact probabilities can be computed:
Event | Never occurs | Occurs 1x | Occurs 2x | Occurs 3x | Occurs at least 1x |
---|---|---|---|---|---|
Pest Attack, Acid Rain Storm, Planetquake, Sunspot Activity | 7.37% | 34.74% | 43.42% | 14.47% | 92.63% |
Pirate Ship, Meteorite Strike, Radiation, Fire in Store | 18.95% | 52.10% | 28.95% | 0% | 81.05% |
The effects of the round events are the following:
Event | Description |
---|---|
Pest Attack | A random Food exploitation owned by one of the two first players and having produced at least 1 unit of Food lose all its production. |
Pirate Ship |
If the level is Beginner or Standard:
If the level is Tournament:
|
Acid Rain Storm |
The storm passes through a random row. For each exploitation in the row:
For each exploitation outside the row:
The production is limited by a minimum of 0 unit and a maximum of 8 units. |
Planetquake |
This event has 2 consequences:
|
Sunspot Activity | All the Energy exploitations gain 3 units, with a maximum of 8 production units. |
Meteorite Strike | A meteor strike a random plot (other than the river and the Store) and wich the Crystite deposit is None, Low or Medium (the meteor never strikes a High or Very High deposit). The plot Crystite deposit becomes Very High and the known Crystite is updated. If an exploitation is located on the plot, it's lost with its production.. |
Radiation | A random exploitation owned by one of the two first players is lost with its production. |
Fire in Store | The Store loses all its Food, Energy and Smithore units. |
Ces algorithmes sont utilisés pour calculer:
Le prix réel des biens est mis à jour en effectuant:
Entrées:
Sorties:
Le ratio de l'offre et la demande est calculé en divisant la quantité totale en jeu par la quantité totale requise. Un ratio supérieur à 1 indique que l'offre est insuffisante pour la demande. Un ratio inférieur à 1 indique que l'offre est supérieure à la demande.
Dans le cas du Smithore/Mule, le ratio est borné par ]0.25; 3.0].
Le nouveau prix est alors calculé avec la formule suivante:
prix = 25% * prix + 75% * (prix * ratio)
ou encore
prix *= 0.25 + 0.75 * ratio
Finalement, le prix est borné en fonction du bien et de la raison du calcul du prix (réel ou simulé pour l'AI):
Good | Reason | Minimum |
---|---|---|
Food | Real | 30 |
Energy | Real | 25 |
Smithore | Real | 50 |
Food | Simulated (AI) | 10 |
Energy | Simulated (AI) | 10 |
Smithore | Simulated (AI) | 50 |
La quantité théorique de mules requise est calculée en sommant:
La valeur est bornée par [0; 8]
Entrées:
Sorties:
La quantité totale initiale en jeu est égale:
Dans un premier temps, on calcul le nombre d'unité totale qu'il y aura à la fin du round possédé par chaque joueur. On applique les 3 phases (Usage, Spoilage et Production):
La quantité totale finale en jeu est alors calculée en sommant la quantité totale initiale en jeu et la quantité possédée par chaque joueur après les 3 phases.
Ensuite on calcul la quantité totale requise pour le round suivant (égale à la quantité requise pour le round suivant multiplié par 4)
Finalement, on calcul le nouveau prix en appliquant la théorie de l'offre et de la demande avec comme paramètres:
La variation du prix du Food prend en compte le nombre d'unités possédées par les joueurs. Ainsi, tant que les joueurs en garderont une quantité suffisante, le prix du Food ne montera pas même si le store est en rupture.
Entrées:
Sorties:
L'algorithme est identique à celui pour le Food, avec les différences suivantes:
Entrées:
Sorties:
La quantité de mules potentiellement disponibles est égale:
La quantité de mules requise est égale:
On applique la théorie de l'offre et de la demande avec comme paramètres:
Ensuite on applique la variation naturelle du Smithore si le niveau n'est pas Beginner. Pour cela on calcul la binomiale avec une amplitude 2 pour la valeur 0. Le résultat est multiplié par 7 et ajouté au prix. Ainsi on obtient les variations suivantes:
Amplitude 2 (Factor 1) | |
---|---|
Variation | Probability |
-28 | 0.013% |
-21 | 0.562% |
-14 | 6.248% |
-7 | 24.303% |
0 | 37.748% |
+7 | 24.303% |
+14 | 6.248% |
+21 | 0.562% |
+28 | 0.013% |
Le prix est borné par 20.
Contrairement au prix du Food et de l'Energy, le prix du Smithore ne prend pas en compte les unités possédées par les joueurs, mais uniquement les unités dans le store et le nombre de mules disponibles. Ainsi, le prix grimpera dès que le store sera en rupture et/ou le nombre de mules sera insuffisant, et cela quelque soit le nombre d'unités possédées par les joueurs.
Le prix du Crystite est égal à 50 additionné à un nombre alétaoire entre 0 et 99 (bornes incluses).
Good | Buy price | Sell price | Increment (per pixel) |
---|---|---|---|
Smithore | Current price | Buy price + 35$ | 1$ |
Crystite | Current price (to bottom multiple of 4) | Buy price + 140$ | 4$ |
Food | Current price - 15$ | Buy price + 35$ | 1$ |
Energy | Current price - 15$ | Buy price + 35$ | 1$ |
L'enchère du Smithore et du Crystite a lieu s'il y a au moins 1 unité potentiellement disponible à la vente. C'est à dire si:
Phase | Description |
---|---|
Usage | Nombre d'unités consommées pour le round courant. |
Spoilage | Nombre d'unités gaspillées pour le round courant. |
Production | Nombre d'unités produites pour le round courant. |
Requirement | Nombre d'unités théoriques nécessaires pour le round suivant pour ne pas être pénalisé (Usage théorique du round suivant). |
Phase | Description |
---|---|
Usage | Aucune unité consommée. |
Spoilage | Toutes les unités au-delà de 50 sont perdues. |
Production | La production du round est ajoutée et le total plafonné à 255 unités. |
Requirement | Aucune unité nécessaire. |
50 unités de Smithore et de Crystite peuvent être gardées sans risque de Spoilage (mais attention au Pirate !).
Phase | Description |
---|---|
Usage | Le nombre d'unités pour le round courant est consommé. |
Spoilage | La moitié des unités (après Usage) est perdue (partie entière de la division). |
Production | La production du round est ajoutée et le total plafonné à 255 unités. |
Requirement | Le nombre d'unités nécessaires pour le round suivant (afin de ne pas être pénalisé en temps). |
Aucune unité n'est perdue par le Spoilage si:
Ainsi, on peut garder 1 unité au-delà du Requirement sans Spoilage au tour suivant.
Phase | Description |
---|---|
Usage | Le nombre calculé d'unités pour le round courant est consommé. |
Spoilage | Le quart des unités (après Usage) est perdu (partie entière de la division). |
Production | La production du round est ajoutée et le total plafonné à 255 unités. |
Requirement | Le nombre d'unités nécessaires pour le round suivant (afin ne pas être pénalisé en production) en comptant 1 exploitation supplémentaire. |
Aucune unité n'est perdue par le Spoilage si:
Le Requirement considère qu'au round suivant, il n'y aura qu'une exploitation supplémentaire. Or si le joueur achète une parcelle ou en gagne une, il manquera d'Energy pour les nouvelles exploitations. Il faut donc garder le maximum d'unités d'Energy pour les nouvelles exploitations du round suivant, tout en évitant de subir le Spoilage.
Le tableau suivant donne, pour le nombre d'unités d'Energy gardées en Surplus par rapport au Requirement, le nombre minimum (sans pénalité de production par manque d'Energy) et maximum (sans Spoilage) de nouvelles exploitations possibles (autre que d'Energy) pour le round suivant. Ne pas oublier qu'une unité d'Energy a déjà été ajoutée dans le Requirement pour 1 exploitation supplémentaire.
Surplus | Min Exp to put without Spoilage | Max Exp to put without Penalty |
---|---|---|
0 | 0 | 1 |
1 (**) | 0 | 2 |
2 | 0 | 3 |
3 (*) | 1 | 4 |
4 | 2 | 5 |
5 | 3 | 6 |
(*) Ce choix est le plus judicieux car il permet de garder un maximum d'unités d'Energy et de poser de 1 à 4 nouvelles exploitations sans Spoilage ni pénalité (sachant qu'en général, on pose 1 exploitation).
(**) C'est le choix fait par l'ordinateur
Le temps disponible pour choisir l'action Buy/Sell, est de 30 ATU.
Un joueur est automatiquement placé:
L'enchère du Food a lieu si:
Le joueur est automatiquement placé:
TODO
L'enchère a lieu si:
A la fin de chaque enchère, le prix du bien est mis à jour si au moins une unité a été vendue. Le nouveau prix est égal au prix moyen des unités vendues.
A la fin de l'enchère du Crystite, le nombre d'unités de Crystite dans le Store est mis à zéro.
Le temps disponible pour l'enchère est de 70 ATU.
TODO
Le Store contient un maximum de 14 mules. Le nombre de mules manquantes est donc égal à 14 moins le nombre de mules dans le Store.
Les mules manquantes sont construites à partir des unités de Smithore que le Store possède, sachant que chaque mule nécessite 2 unités de Smithore.
Si le Store n'a pas assez de Smithore pour construire la totalité des mules manquantes, alors il en construit le maximum possible avec le Smithore disponible.
Ensuite le nouveau prix des mules est calculé. Il est égal à 2 fois le prix du Smithore arrondi au multiple de 10 inférieur (Si le prix du Smithore est de 49$, alors le prix des mules sera de 90$). Le prix moyen du Smithore étant de 50$, le prix moyen des mules est donc de 100$.
Les points de chaque joueur sont divisés en 3 types:
Les points sont calculés ainsi:
Type | Entity | Point value |
---|---|---|
Money | each 1$ | 1 point |
Land | (each Plot) | (500 points + Outfit price) |
each Plot without Exploitation | 500 points | |
each Plot with a Food Exploitation | 525 points | |
each Plot with a Energy Exploitation | 550 points | |
each Plot with a Smithore Exploitation | 575 points | |
each Plot with a Crystite Exploitation | 600 points | |
Goods | each Mule | 35 points |
each Food unit | Current price | |
each Energy unit | Current price | |
each Smithore unit | Current price | |
each Crystite unit | Current price |
Les joueurs sont ordonnés selon la valeur décroissante de leur score. En cas d'égalité entre joueurs, leur position est déterminée aléatoirement entre eux.
Le nombre total d'unités de Food en jeu est calculé. Il est égal à la somme des unités de Food des joueurs et du Store.
Le nombre total d'unités de Smithore en jeu est calculé de la même manière.
Echec de la colonie:
Shortage de la colonie:
Le message est ensuite construit en fonction des différents Shortage de la colonie:
Le message final apparait à la fin du dernier round. Une note de 0 à 6 est attribuée à la colonie en fonction du score total final:
Rating = round ((totalScore - 10000) / 20000), borné par [0; 6]
Selon la note, un des messages suivant est affiché:
Rating | Colony Score | Message |
---|---|---|
0 | 0 to 19999 | Overall, the Colony failed... Dismally. The Federation debtors' prison is your next home! |
1 | 20000 to 39999 | Overall, the Colony failed... The Federation will no longer send trade ships. You are on your own! |
2 | 40000 to 59999 | Overall, the Colony survived... Barely. You will be living in tents. Few trading ships will come your way! |
3 | 60000 to 79999 | Overall, the Colony was a success. You have met the minimum standards set by the Federation, but your life will not be easy! |
4 | 80000 to 99999 | Overall, the Colony succeeded. The Federation is pleased by your efforts. You will live comfortably! |
5 | 100000 to 119999 | Overall, the Colony succeeded... Extremely well. You can now retire in elegant estates! |
6 | 120000 to +oo | Overall, the Colony delighted the Federation with your exceptional achievement. Your retirement will be luxuriou! |
La Federation décerne le titre de First Founder au premier joueur du classement si la Colonie est un succès, c'est à dire si le score est supérieur ou égal à 60000 (la note est au moins égale à 3).
L'ensemble des 45 cases de la carte du Crystite connu est initialisé à l'état inconnu "?":
????????? ????????? ????????? ????????? ?????????
Cela signifie que les ordinateurs ne connaissent pas la présence ou l'absence de Crystite sur les terres. La carte sera complétée au cours du jeu lors des différents événements (Assay, phase de production et chute de météorite) puis mise à jour avec des valeurs potentielles déduites à partir des valeurs déjà présentes (Déduction du Crystite).
Cette carte ne spécifie pas si la valeur est une valeur réelle donnée par un Assay ou une valeur théorique obtenue suite à une déduction.
La carte du Crystite connu par les ordinateurs est étendue par rapport à son contenu. Les déductions sont faites à partir des terres de qualité 2 (Medium) et 3 (High) de part la construction initiale des dépôts de Crystite en étoile au début du jeu:
1 121 12321 121 1
Ainsi les terres contigues aux terres de qualité 2 (Medium) sont forcément de qualité 1 (Low) au minimum, et les terres de qualité 3 (High) sont forcément entourées en étoile de terres de qualité 2 (Medium) et 1 (Low) au minimum. Aucune déduction n'est faite à partir des terres de qualité 4 (Very High) car elles proviennent uniquement des chutes de météorite et ne provoquent pas de dépôt en étoile (seule la terre touchée par le météorite est concernée).
Exemple de déduction:
Carte avant déduction
??1?????? ?????1??? ?1??????? 123?2???? ?1???????
Carte après déduction
??1?????? ??1??1??? ?1211???? 123221??? ?1211????
Si suite à un Assay, une terre de qualité 3 (High) est trouvée, alors la déduction suivante sera faite:
Carte avant déduction
??1?????? ??13?1??? ?1211???? 123221??? ?1211????
Carte après déduction
??121???? ?12321??? ?1221???? 123221??? ?1211????
La déduction du Crystite est effectuée:
Lorsqu'un joueur humain réalise un Assay, seule la terre analysée est mise à jour et aucune déduction n'est faite immédiatement autour de cette terre.
Lorsqu'un joueur ordinateur réalise un Assay, la terre analysée est mise à jour et une déduction est faite immédiatement autour de cette terre.
Entrées:
Sorties:
Cet algorithme calcul la variation autour d'un nombre N, avec une amplitude A, en utilisant une répartition binomiale symétrique comprise aléatoirement entre [-6.0; 6.0[ avec les probabilités suivantes:
Number | Probability |
---|---|
[-6.0; -4.5[ | 0.000% |
[-4.5; -3.5[ | 0.013% |
[-3.5; -2.5[ | 0.562% |
[-2.5; -1.5[ | 6.248% |
[-1.5; -0.5[ | 24.303% |
[-0.5; 0.5[ | 37.748% |
[0.5; 1.5[ | 24.303% |
[1.5; 2.5[ | 6.248% |
[2.5; 3.5[ | 0.562% |
[3.5; 4.5[ | 0.013% |
[4.5; 6.0[ | 0.000% |
L'amplitude détermine le facteur multiplicatif:
Amplitude A | Factor F |
---|---|
0 | 0 |
1 | 0.5 |
2 | 1 |
3 | 2 |
n | n-1 |
Le résultat final s'obtient avec la formule:
f (N, F) = N + round (F * binomial ())
La variation du nombre [=round (F * binomial ())] en fonction de l'amplitude est:
Amplitude 0 (Factor 0) | |
---|---|
Variation | Probability |
0 | 100.000% |
Amplitude 1 (Factor 0.5) | |
---|---|
Variation | Probability |
-2 | 0.105% |
-1 | 16.063% |
0 | 67.664% |
+1 | 16.063% |
+2 | 0.105% |
Amplitude 2 (Factor 1) | |
---|---|
Variation | Probability |
-4 | 0.013% |
-3 | 0.562% |
-2 | 6.248% |
-1 | 24.303% |
0 | 37.748% |
+1 | 24.303% |
+2 | 6.248% |
+3 | 0.562% |
+4 | 0.013% |
Exemple pour N=6 et A=2:
Le facteur multiplicatif est 1, la formule est donc: f (6, 1) = 6 + round (1 * binomial ())
Les résultats possibles de f (6, 1) sont:
Number | Probability |
---|---|
2 | 0.013% |
3 | 0.562% |
4 | 6.248% |
5 | 24.303% |
6 | 37.748% |
7 | 24.303% |
8 | 6.248% |
9 | 0.562% |
10 | 0.013% |
Exemple pour N=5 et A=1:
Le facteur multiplicatif est 0.5, la formule est donc: f (5, 0.5) = 5 + round (0.5 * binomial ())
Les résultats possibles de f (5, 0.5) sont:
Number | Probability |
---|---|
3 | 0.105% |
4 | 16.063% |
5 | 67.664% |
6 | 16.063% |
7 | 0.105% |
La répartition binomiale est utilisée pour calculer:
Entrées:
Sorties:
Cet algorithme calcul la distance d'une terre au store, en prenant en compte un malus pour la rivière.
Les distances entre chaque terre et le store sont les suivantes:
444454444 432232234 4321 1234 432232234 444454444
La distance est utilisée pour calculer:
La distance ne prends pas en compte les montagnes.
Entrées:
Sorties:
Cet algorithme est utilisé par l'AI:
Chacun des biens est noté (de 0 à 31) en fonction des prix simulés.
Pour chaque round à simuler, on effectue:
La qualité d'un bien est alors égale à la moyenne des prix du bien sur les rounds simulés divisé par 8.
La qualité du Crystite est égal à: (100 + 4 * n° du round courant) / 8
Entrées:
Sorties:
Si ce n'est pas le premier round et ce n'est pas pour une land auction, la qualité du bien est modifié en fonction de son type (Food ou Energy) et de la situation du jeu. Cela reflète l'importance accordé à un bien donné face à une difficulté particulière. Un seul bonus peut être ajouté:
si le bien est du Food:
si le joueur n'est pas en manque de Food après Usage, Spoilage, Prod
si le joueur a au moins une exploitation de Food
si le joueur n'a aucune exploitation de Food
si le joueur est en manque de Food après Usage, Spoilage, Prod
si la colonie n'est pas en Shortage de Food
si la colonie est en Shortage de Food
si le bien est de l'Energy:
si le joueur est en manque d'Energy après Usage, Spoilage, Prod
si la colonie n'est pas en Shortage d'Energy
si la colonie est en Shortage d'Energy
si le joueur n'est pas en manque d'Energy après Usage, Spoilage, Prod
si le nombre d'exploitation d'Energy du joueur représente moins du 1/4 des exploitations du joueur
si le nombre d'exploitation d'Energy du joueur est égal au 1/4 des exploitations du joueur
si la colonie n'est pas en Shortage d'Energy
si la colonie est en Shortage d'Energy
si le nombre d'exploitation d'Energy du joueur représente plus du 1/4 des exploitations du joueur
La capacité de production de la terre (avec les bonus économiques, sans variation binomiale) est ensuite calculée pour ce type d'exploitation et ce joueur avec le type de calcul souhaité (réel ou simulé). Elle est borné par [0; 8].
La qualité de la terre, pour ce type d'exploitation et ce joueur, est calculée en multipliant la qualité du bien (additionné de son bonus) par la capacité de production de la terre.
Entrées:
Sorties:
utilisé par: - map of land rating AI (land grant) - player turn AI - computer land auction AICet algorithme recherche le meilleur type d'exploitation pour une terre et un joueur donné en fonction de la qualité des biens et du type de calcul. Pour cela, il calcule la qualité de chaque exploitation possible sur la terre en prenant en compte: