Mechanized Assault & eXploration Reloaded



#1 May 22, 2009 9:05 pm
Sandman Sandman Offline
, Approved Member
Registered since: Jul 30, 2004
Posts: 105


Subject: Ressource-Algorythm
Definition:
M: = material
G: = Gold
O: = Oil

Ressources at start in mine in original M.A.X.:
Poor
M: 10
G: 0-1
O: 7

Middle
M: 12
G: 0-?
O: 8

Rich
M: 14
G: 0-?
O: 9

Ressource-Ratio on whole Map in original MAX:
Poor:
M: 45%
G: 10%
O: 45%

Middle:
M: 40%
G: 20%
O: 40%

Rich:
M: 35%
G: 30%
O: 35%

Ratio (%) of M =! O possible! But I had the feeling the ratio (%) of M was equal to O. In doubts I would tend to give M a slight advantage.

Was determinded the following way:
An amount of Ressource-clouds where chosen and the following had been counted:
1. The summary of all Ressources in the cloud.
2. The summary of all Gold, Oil and Material, each.
Not been counted yet:
3. The summary of all Ressource fields in the cloud.
4. The summary of Gold, Oil and Material fields, each.


The ratio above has been calculated by the following values below:

Here 4 examples for the biggest clouds found on RICH Ressources:
Total: 119
M: 36
G: 33
O: 50

Total: 116
M: 47
G: 27
O: 42

Total: 118
M: 49
G: 30
O: 39

Total: 82
M: 30
G: 19
O: 33

Here 1 example for the biggest clouds found on Middle Ressources:
Total: ?
M: ?
G: ?
O: ?

Here 1 example for the biggest clouds found on Poor Ressources:
Total: 144
M: 54
G: 30
O: 60

There were a few patterns found:
Most important information, there is a defined ressource-grid beeing used on EVERY Map! (See Picture 1)
So there is no random ressource-variety. For example, there will NEVER be two ressources the same, next to each other!

On this Ressource-grid there can be following Ressource-patterns:
a "H" or parts of it missing
a "+" or parts of it missing
a ":-:" or parts of it missing
combinations of many H
combinations of many "+"
combinations of many ":-:"
combinations of any pattern: "H", "+", ":-:"

More information found:
Least ammount of Ressourcefields found were 2, maximum was more than 60.

In "Poor" settings, there is a great spread of Ressources at a low amount,
80% 1-3 all over the place and sime higer amounts in the middle. (See Picture 3)

In "Rich" settings, there is a very slight spread if Ressources at a high amount,
90% 14-16 in the middle and lower amounts arround. (See Picture 2)

Maybe there is a spread-Value that decreases, while spreading. Maybe every ressouce-cloud starts with one Ressource at a random point and grows with a decreasing chance of generating another field. Maybe there are a determined amount of Start-points per Map, OR there will be so much random startpoints until the maximum ammount of ressourcefields or total ammount of Ressources (numbers 1-16) are beeing generated.
There could be a dependency between the amount of oil and gold and material, for example. But there could be a dependency between growth-rate and ammount, too.

The original-Ressource-Algorythm isn´t that great in poor-settings, anyway. Many, many, many Ressources (1-3) on a big carpet. You would need dozends of mines to gather all that. Not very efficiant or usefull at all.

Our Ressource-Algorythm isn't that bad, exept it is not necessary to have 2 the same ressources next to each other. You can put them all on one spot, it just takes away possible ressource space. And it needs to be more balanced all over the map.

EqualrRessource-balancing through the whole map:
I´ve heared a few times and found out by my self, that on some maps, players are sourrounded by much oil and no material, while others have enough of all and elswhere some people don´t have enough gold, but to much oil.

Well, I don´t think it is necesarry to find out the exact original Ressource-Algorytm, it just gives some ideas what a good algorythm could look like. Maybe the Map could be mathematical divided in sectors and each sector needs a defined ammount of each ressources. An Example: On a 64*64 Map there could be 4 sectors of 32*32 and each sector MUST have: 20 Metal, 20 Oil, 10 Gold.
So this would guarantee an equal spread of all ressources.

Maybe there is another way by setting the right probabilities and spread-rate and just defining a number of starting-points per sector.

More Information following! Feel free to post Ideas and diskuss this strategical important issue of M.A.X.R.. Would be great if there could be more counting of Ressource clouds in the original game, the way I posted here, to get more verified information. THX!

The Sandman

Definition pic 1:
blue = water/ground
white = material
yellow = gold
green = oil

Thumbnails of attached images:
1.PNG
Filetype: File Type Information for: png png
Downloads: 537
Filesize: 19.06 KB
Image size: 615 x 620 Pixels
Original - Maximal Ressourcen.JPG
Filetype: File Type Information for: jpg jpg
Downloads: 506
Filesize: 373.32 KB
Image size: 1632 x 1224 Pixels
Original - Minimal Ressourcen.JPG
Filetype: File Type Information for: jpg jpg
Downloads: 547
Filesize: 412.44 KB
Image size: 1632 x 1224 Pixels


"AAAAAAAAAAAAAAAAAAAAaaaaaaaaaahhhh..." [spotted Infiltrator!] Angel
This post has been edited 11 times. Last edit on May 23, 2009 1:09 pm by Sandman. ↑  ↓

#2 May 23, 2009 2:31 am
Sal Sal Offline
, G-Mod
Registered since: Jun 07, 2004
Posts: 1,525


Subject: Re: Ressource-Algorythm
awesome work, I am proud of you! go for it!
A.H.
- easy logic -
↑  ↓

#3 May 23, 2009 2:57 pm
Toranaga Toranaga Offline
Developer
Registered since: Dec 28, 2005
Posts: 232


Subject: Re: Ressource-Algorythm
Hey, thanks a lot!
You know about the M.A.X. cheat, that reveals all ressources? Simply type [MAXSURVEY] (including the parantheses).
This will help for the research of the original algorithm.
Toranaga
Paul Grathwohl (pagra)
↑  ↓

#4 May 23, 2009 7:43 pm
Sandman Sandman Offline
, Approved Member
Registered since: Jul 30, 2004
Posts: 105


Subject: Re: Ressource-Algorythm
oh,thx alot for that hint! =o) And Screenshot was Alt+F5 ? I switched to round 50, surveying and took my Mobile-Camera. ;-)
"AAAAAAAAAAAAAAAAAAAAaaaaaaaaaahhhh..." [spotted Infiltrator!] Angel
↑  ↓

#5 May 23, 2009 9:34 pm
Sal Sal Offline
, G-Mod
Registered since: Jun 07, 2004
Posts: 1,525


Subject: Re: Ressource-Algorythm
whaaaaat?
screenshot is
Alt + C
...^^
still a great approach
A.H.
- easy logic -
↑  ↓

#6 Jun 14, 2009 12:03 pm
mague Offline
Developer
Registered since: Dec 29, 2007
Posts: 37


Subject: Re: Ressource-Algorythm
Hello Sandman,

I've prepared a max.ini for v1.04 retail that contains all the debug mode switches. You can find it in the "M.A.X. 1.04 Dev Informations" topic. Simply put the max.ini into the MAX install directory, run the MAX setup.exe to set your sound card, and enable the followings:
debug=1 <- turn on the debug mode
all_visible=1 <- see entire map, even stealth units (infiltrator, submarines)

Here are the relevant debug mode switches for the resource generation algorithm (take note, Alien derelicts are also treated as resources!):

RAW MATERIALS
raw_normal_low=1
raw_normal_high=5
raw_concentrate_low=16
raw_concentrate_high=16
raw_concentrate_seperation=19
raw_concentrate_diffusion=4

FUEL
fuel_normal_low=2
fuel_normal_high=4
fuel_concentrate_low=16
fuel_concentrate_high=16
fuel_concentrate_seperation=20
fuel_concentrate_diffusion=4

GOLD
gold_normal_low=0
gold_normal_high=1
gold_concentrate_low=12
gold_concentrate_high=16
gold_concentrate_seperation=26
gold_concentrate_diffusion=4

GLOBAL FOR RESOURCES
mixed_resource_seperation=33
min_resources=12
max_resources=23

ALIEN DERELICTS
alien_seperation=50
alien_unit_value=30

The given parameter values are taken from the v1.04 retail MAX executable. If no ini file can be found, these are the default values used by the executable.

- As you can see, there are generation parameters combined and single for all resources:
MIN , MAX , SEPARATION , DIFFUSION
- The base normal min-max values are given as a start point for the calculations of different resource density settings
- The base min-max values for a cloud is also given.

If you think it would be useful, you can play with the settings during a new game setup, and the base parameters here, which are the core parameters used by the original game. If I will have time, I will try to reconstruct the original v1.04 retail / v1.56 beta algorithm for resource generation in the hopes that it will be useful to the MAXR project.

Some additional info:
- The resource generation algorithm takes into account the placement of the player/computer bases. So the resource map and the alien units are only generated after all players chose their sites for making evil destructive machinery Happy
- The game places much more resources near to the player sites and for more, as I seen the amount of resources placed in the area of the base center is nearly the same for all players. So you were right, there is a balancing to provide nearly the same starting conditions for all players. Still, I think balancing the resources throughout the whole map would be a wrong turn to take as if all players has the same amount of raw resources in their territory we might loose the "advantages" provided by a good terrain. We loose strategic importance for getting the resources we need.
- I attached 3 screenshots that shows how random can be the resource generation algorithm of the original MAX v1.04 retail.

best regards,
mague

Thumbnails of attached images:
maxrun_000.png
Filetype: File Type Information for: png png
Downloads: 543
Filesize: 76.28 KB
Image size: 640 x 480 Pixels
maxrun_001.png
Filetype: File Type Information for: png png
Downloads: 534
Filesize: 79.55 KB
Image size: 640 x 480 Pixels
maxrun_002.png
Filetype: File Type Information for: png png
Downloads: 536
Filesize: 80.28 KB
Image size: 640 x 480 Pixels


Tamas Kleiber
Branch or not to branch, that is the question! Unlocking your destiny is only one LSB away Happy JE 0x74 <-> JNE 0x75
↑  ↓

#7 Jun 14, 2009 3:32 pm
Sal Sal Offline
, G-Mod
Registered since: Jun 07, 2004
Posts: 1,525


Subject: Re: Ressource-Algorythm
Oh man I am not a Dev, but thank you again for your hard work and giving us insights into the original MAX !
A.H.
- easy logic -
↑  ↓

#8 Jun 14, 2009 5:33 pm
mague Offline
Developer
Registered since: Dec 29, 2007
Posts: 37


Subject: Re: Ressource-Algorythm
Thanks for your kind words, Sal Smiling

Here is the next step, for the Resource generation algorithm. This is a function from MAX v1.04 retail. The values are taken from the executable, and they are accurate:

DownloadSource code (Text):
  1. // int func_SetIniParameterValue(ini_param_index, value); // only a wrapper function for the true handler function
  2. // int func_GetParameterFromIniFile(ini_param_index); // only a wrapper function for the true handler function
  3.  
  4. int __cdecl func_SetFactorsForResourceMapGeneration()
  5. {
  6.   int result;
  7.   int v1;  // unknown
  8.   signed int MinResources;
  9.   signed int MaxResources;
  10.   int RawResourceMode;
  11.   int RawResourceModeCopy;
  12.   int FuelResourceMode;
  13.   int FuelResourceModeCopy;
  14.   int UsedResourceTypes;
  15.   int GoldResourceMode;
  16.   int GoldResourceModeCopy;
  17.   signed int AlienDerelictsMode;
  18.  
  19.   MinResources = 1;
  20.   MaxResources = 15;
  21.   RawResourceMode = func_GetParameterFromIniFile(77);  // raw_resource - default value: 1
  22.   if ( (unsigned int)RawResourceMode < 1 )
  23.   {
  24.     if ( !RawResourceMode )                                     // raw_resource == 0 (poor)
  25.     {
  26.       func_SetIniParameterValue(9, 0);     // raw_normal_low - default value: 0
  27.       func_SetIniParameterValue(10, 3);    // raw_normal_high - default value: 5
  28.       func_SetIniParameterValue(11, 8);    // raw_concentrate_low - default value: 13
  29.       func_SetIniParameterValue(12, 12);   // raw_concentrate_high - default value: 16
  30.       func_SetIniParameterValue(13, 28);   // raw_concentrate_seperation - default value: 23
  31.       func_SetIniParameterValue(14, 6);    // raw_concentrate_diffusion - default value: 6
  32.     }
  33.   }
  34.   else
  35.   {
  36.     if ( (unsigned int)RawResourceMode <= 1 )  // raw_resource == 1 (medium)
  37.     {
  38.       func_SetIniParameterValue(9, 0);
  39.       func_SetIniParameterValue(10, 5);
  40.       func_SetIniParameterValue(11, 13);
  41.       func_SetIniParameterValue(12, 16);
  42.       func_SetIniParameterValue(13, 23);
  43.       func_SetIniParameterValue(14, 5);
  44.     }
  45.     else
  46.     {
  47.       if ( RawResourceMode == 2 )  // raw_resource == 2 (rich)
  48.       {
  49.         func_SetIniParameterValue(9, 1);
  50.         func_SetIniParameterValue(10, 5);
  51.         func_SetIniParameterValue(11, 16);
  52.         func_SetIniParameterValue(12, 16);
  53.         func_SetIniParameterValue(13, 19);
  54.         func_SetIniParameterValue(14, 4);
  55.       }
  56.     }
  57.   }
  58.   RawResourceModeCopy = func_GetParameterFromIniFile(77);
  59.   if ( (unsigned int)RawResourceModeCopy < 1 )
  60.   {
  61.     if ( !RawResourceModeCopy )
  62.     {
  63.       MinResources += 3;
  64.       ++MaxResources;
  65.     }
  66.   }
  67.   else
  68.   {
  69.     if ( (unsigned int)RawResourceModeCopy <= 1 )
  70.     {
  71.       MinResources += 5;
  72.       MaxResources += 2;
  73.     }
  74.     else
  75.     {
  76.       if ( RawResourceModeCopy == 2 )
  77.       {
  78.         MinResources += 6;
  79.         MaxResources += 3;
  80.       }
  81.     }
  82.   }
  83.   FuelResourceMode = func_GetParameterFromIniFile(78);  // fuel_resource - default value: 1
  84.   if ( (unsigned int)FuelResourceMode < 1 )
  85.   {
  86.     if ( !FuelResourceMode )  // fuel_resource == 0 (poor)
  87.     {
  88.       func_SetIniParameterValue(15, 1);  // fuel_normal_low - default value: 2
  89.       func_SetIniParameterValue(16, 2);  // fuel_normal_high - default value: 3
  90.       func_SetIniParameterValue(17, 8);    // fuel_concentrate_low - default value: 12
  91.       func_SetIniParameterValue(18, 12);   // fuel_concentrate_high - default value: 16
  92.       func_SetIniParameterValue(19, 29);   // fuel_concentrate_seperation - default value: 24
  93.       func_SetIniParameterValue(20, 6);    // raw_concentrate_diffusion - default value: 5
  94.     }
  95.   }
  96.   else
  97.   {
  98.     if ( (unsigned int)FuelResourceMode <= 1 )   // fuel_resource == 1 (medium)
  99.     {
  100.       func_SetIniParameterValue(15, 2);
  101.       func_SetIniParameterValue(16, 3);
  102.       func_SetIniParameterValue(17, 12);
  103.       func_SetIniParameterValue(18, 16);
  104.       func_SetIniParameterValue(19, 24);
  105.       func_SetIniParameterValue(20, 5);
  106.     }
  107.     else
  108.     {
  109.       if ( FuelResourceMode == 2 )   // fuel_resource == 2 (rich)
  110.       {
  111.         func_SetIniParameterValue(15, 2);
  112.         func_SetIniParameterValue(16, 4);
  113.         func_SetIniParameterValue(17, 16);
  114.         func_SetIniParameterValue(18, 16);
  115.         func_SetIniParameterValue(19, 20);
  116.         func_SetIniParameterValue(20, 4);
  117.       }
  118.     }
  119.   }
  120.   FuelResourceModeCopy = func_GetParameterFromIniFile(78);
  121.   if ( (unsigned int)FuelResourceModeCopy < 1 )
  122.   {
  123.     if ( !FuelResourceModeCopy )
  124.     {
  125.       MinResources += 2;
  126.       ++MaxResources;
  127.     }
  128.   }
  129.   else
  130.   {
  131.     if ( (unsigned int)FuelResourceModeCopy <= 1 )
  132.     {
  133.       MinResources += 3;
  134.       MaxResources += 2;
  135.     }
  136.     else
  137.     {
  138.       if ( FuelResourceModeCopy == 2 )
  139.       {
  140.         MinResources += 4;
  141.         MaxResources += 3;
  142.       }
  143.     }
  144.   }
  145.   func_GetParameterFromIniFile(77);  // raw_resource - default value: 1
  146.   UsedResourceTypes = func_GetParameterFromIniFile(78) + v1;    // fuel_resource - default value: 1
  147. // NOTE:          UsedResourceTypes might be something else... not sure of it.
  148. // NOTE:                                                                         <- v1 possibly holds the RetVal of the previous function call.
  149.  
  150.   if ( (unsigned int)UsedResourceTypes <= 4 )
  151.   {
  152.     switch ( UsedResourceTypes )
  153.     {
  154.       case 0:   // mixed_resource_seperation - default value: 40
  155.         func_SetIniParameterValue(27, 49);
  156.         break;
  157.       case 1:
  158.         func_SetIniParameterValue(27, 44);
  159.         break;
  160.       case 2:
  161.         func_SetIniParameterValue(27, 40);
  162.         break;
  163.       case 3:
  164.         func_SetIniParameterValue(27, 36);
  165.         break;
  166.       case 4:
  167.         func_SetIniParameterValue(27, 33);
  168.         break;
  169.     }
  170.   }
  171.   GoldResourceMode = func_GetParameterFromIniFile(79); // gold_resource - default value: 1
  172.   if ( (unsigned int)GoldResourceMode < 1 )
  173.   {
  174.     if ( !GoldResourceMode )  // gold_resource == 0 (poor)
  175.     {
  176.       func_SetIniParameterValue(21, 0);  // gold_normal_low - default value: 0
  177.       func_SetIniParameterValue(22, 0);   // gold_normal_high - default value: 0
  178.       func_SetIniParameterValue(23, 5);  // gold_concentrate_low - default value: 10
  179.       func_SetIniParameterValue(24, 9);   // gold_concentrate_high - default value: 16
  180.       func_SetIniParameterValue(25, 39);  // gold_concentrate_seperation - default value: 32
  181.       func_SetIniParameterValue(26, 6);    // gold_concentrate_diffusion - default value: 5
  182.     }
  183.   }
  184.   else
  185.   {
  186.     if ( (unsigned int)GoldResourceMode <= 1 )  // gold_resource == 1 (medium)
  187.     {
  188.       func_SetIniParameterValue(21, 0);
  189.       func_SetIniParameterValue(22, 0);
  190.       func_SetIniParameterValue(23, 8);
  191.       func_SetIniParameterValue(24, 12);
  192.       func_SetIniParameterValue(25, 32);
  193.       func_SetIniParameterValue(26, 5);
  194.     }
  195.     else
  196.     {
  197.       if ( GoldResourceMode == 2 )    // gold_resource == 2 (rich)
  198.       {
  199.         func_SetIniParameterValue(21, 0);
  200.         func_SetIniParameterValue(22, 1);
  201.         func_SetIniParameterValue(23, 12);
  202.         func_SetIniParameterValue(24, 16);
  203.         func_SetIniParameterValue(25, 26);
  204.         func_SetIniParameterValue(26, 4);
  205.       }
  206.     }
  207.   }
  208.   GoldResourceModeCopy = func_GetParameterFromIniFile(79);
  209.   if ( (unsigned int)GoldResourceModeCopy < 1 )
  210.   {
  211.     !GoldResourceModeCopy;
  212.   }
  213.   else
  214.   {
  215.     if ( (unsigned int)GoldResourceModeCopy <= 1 )
  216.     {
  217.       ++MaxResources;
  218.     }
  219.     else
  220.     {
  221.       if ( GoldResourceModeCopy == 2 )
  222.       {
  223.         ++MinResources;
  224.         MaxResources += 2;
  225.       }
  226.     }
  227.   }
  228.   func_SetIniParameterValue(28, (signed __int16)MinResources);  // min_resources - default value: 9
  229.   func_SetIniParameterValue(29, (signed __int16)MaxResources);  // max_resources - default value: 20
  230.   result = func_GetParameterFromIniFile(80);   // alien_derelicts - default value: 0
  231.   AlienDerelictsMode = result;
  232.   if ( (unsigned int)AlienDerelictsMode < 1 )
  233.   {
  234.     if ( !AlienDerelictsMode )   // alien_derelicts == 0 (none)
  235.       result = func_SetIniParameterValue(44, 0);
  236.   }
  237.   else
  238.   {
  239.     if ( (unsigned int)AlienDerelictsMode <= 1 )   // alien_derelicts == 1 (rare)
  240.     {
  241.       func_SetIniParameterValue(43, 65);       // alien_seperation - default value: 60
  242.       result = func_SetIniParameterValue(44, 20);   // alien_unit_value - default value: 0
  243.     }
  244.     else
  245.     {
  246.       if ( AlienDerelictsMode == 2 )   // alien_derelicts == 2 (common)
  247.       {
  248.         func_SetIniParameterValue(43, 50);
  249.         result = func_SetIniParameterValue(44, 30);
  250.       }
  251.     }
  252.   }
  253.   return result;
  254. }

This function shows us, how the Resource Levels (poor, medium, rich) affects the Resource Generator algorithm's inner parameters. Also, the min/max resource calculation is present in this code snippet. The mixed_resource_seperation is simply set, not calculated (this part is not 100% proper code, I'm missing something there).

I hope the next step is the Resource Map generator algorithm it self.

best regards,
mague
Tamas Kleiber
Branch or not to branch, that is the question! Unlocking your destiny is only one LSB away Happy JE 0x74 <-> JNE 0x75
↑  ↓

#9 Jun 14, 2009 6:55 pm
Sandman Sandman Offline
, Approved Member
Registered since: Jul 30, 2004
Posts: 105


Subject: Re: Ressource-Algorythm
Great work Dude! Nice that everybody can take part in this project and chips in something usefull. ;-)
"AAAAAAAAAAAAAAAAAAAAaaaaaaaaaahhhh..." [spotted Infiltrator!] Angel
↑  ↓

#10 Feb 19, 2012 12:47 am
fyzzo fyzzo Offline
Approved Member
Registered since: Sep 23, 2009
Posts: 281


Subject: Re: Ressource-Algorythm
Hi ... after 2,5 years, I have to say some things ^^

First of all: great job! The Algorithm is okay right now, but can be improved to be more like the original.
In this Ticket http://trac.maxr.org/ticket/399 I compared original's "Rich,Rich,Rich" with maxr's "Much,More,Normal,Most"
I tried to compare more options... These comparisons are really difficult, and even more for me to write them down in english. So ... I will do it in German now ^^

Einstellung -> Ergebnis (Ist natürlich Zufall, aber irgendwo muss man ja anfangen)

Original MAX:
1.) http://img7.imagebanana.com/...AX111a.png -> http://img7.imagebanana.com/...AX111b.png
2.) http://img7.imagebanana.com/...AX222a.png -> http://img7.imagebanana.com/...AX222b.png
3.) http://img7.imagebanana.com/...AX333a.png -> http://img7.imagebanana.com/...AX333b.png / http://img7.imagebanana.com/...AX333c.png

MAX svn 2884:

1.) maxr1112 http://img7.imagebanana.com/...r1112a.jpg -> http://img7.imagebanana.com/...r1112b.jpg
2.) maxr2223 http://img7.imagebanana.com/...r2223a.jpg -> http://img7.imagebanana.com/...r2223b.jpg
3.) maxr3333 http://img7.imagebanana.com/...r3333a.jpg -> http://img7.imagebanana.com/...r3333b.jpg
4.) maxr4444 http://img7.imagebanana.com/...r4444a.jpg -> http://img7.imagebanana.com/...r4444b.jpg

Als Anhang hab ich eine zip Datei in der eine xls liegt in der ich alle Daten von 20-20 bis 54-54 aufgeschrieben und summiert habe.
Ein paar Beobachtungen:
1.) Was mir sofort ins Auge sticht - es scheint, dass im low-Bereich, also bei MAX111 die Ressourcen näher zusammen liegen / größer gruppiert sind als z.B. in MAX333b & c. Es ist möglich, dass es ein Extrembeispiel ist, aber ich hab ähnliches in einem anderen Spiel auch schon erfahren. Man findet etwas schneller neue Felder, die aber ja viel weniger wert sind. Ebenso findet man häufiger größere Gruppen von Rohstoffen, die alle nicht sehr viel Wert sind. Bei 222 ist auch eine extrem große Ressourcengruppe zu sehen.
Die Nähe der Felder ist bei maxr ja über die Frequency geregelt, denke ich. Deshalb macht der direkte Vergleich hier wenig Sinn.
2.) In maxr gibts selbst auf den höchsten Stufen gibt es kaum 16er, aber dafür sind die Nachbarn viel höher als im Original.
3.) Ebenso sind die Goldwerte in jedem Fall viel größer in maxr. im Original gibts ja quasi nur 1er selbst auf "Rich". Außer wenn sie in der Mitte oder in ner Gruppe sind.
4.) maxr hat keine Ressourcengruppen.
5.) im Original haben die meisten Felder (nicht Gruppen) einen Bestimmten Look:
-In der Mitte ein Großer Wert (Bei Rich: 15-16, Bei Medium: 14-15, Bei Poor: 8-10) Dieser Große Wert ist sehr selten Gold.
-Bei Fuel und Material ist Diagonal dazu ja immer das Gegenstück. Wenn in der Mitte ein Großer Wert ist, hat das diagonale Gegenstück selbst auf Rich meist nicht mehr als 5.
-Gold hat 80% der Fälle nur 1 oder nichts. Selbst auf Rich. Ausnahme: Wenn er Selbst der Große Wert ist.

Am häufigsten sieht man die Felder dieser Art bei Rich - bei Poor sind die fast komplett weg. Da gibt es fast NUR Gruppen. Auf einer ganzen Karte 112x112 habe ich grad mal 2 oder 3 dieser Art gefunden.
In den Gruppen gelten logischerweise andere Regeln. da kann auch bei Poor Gold mal 7 haben.
6.) Ich hab mir auch grad mal "Rich,Medium,Poor" angeguckt und ich habe das gefühl, dass dadurch die Menge für Rohstoff noch weiter erhöht wird, wenn man die anderen verringert, da häufiger Gruppen kommen, und auch 16er Rohstoffe teil dieser Gruppen sind. Was bei "Rich,Rich,Rich" eher nicht der Fall war.

Dieser Post ist für mich irgendwie anstrengend zu verfassen und dauert sehr lange. Muss auch irgendwie heftig sein das dann irgendwann im Code zu verändern. Ich hab noch ein Paar Testspiele im Original und in maxr gemacht um keine falschen Sachen hier zu posten.
Aber vielleicht hab ich schon mal einen ersten Denkanstoß gegeben, dass hier noch ein bisschen was gemacht werden muss.

Attachments:
File Type Information for: zip  MAX.zip
Downloads: 437
Filesize: 3.29 KB

↑  ↓

Pages (1): 1

All times are GMT +02:00. Current time: 7:20 am.