Map generator stats

General discussion. Please use this area for any off-topic discussion.
trixx
Posts:10
Joined:Sat Dec 24, 2005 12:54 pm
Location:Córdoba, Argentina
Map generator stats

Postby trixx » Tue Dec 27, 2005 3:49 pm

Hi. I'm new here. Alex|D asked me to post some statistics I have gathered about MOO2 map generator, so I will be posting them by pieces (I have to regenerate some of them, because I introduced some biases by counting homeworlds in statistics for planet kinds).

OK, let's start:

About star specials:

- 78% No special
- 10% Any Planet special (I do not have statistics about them)
- 5% Wormhole
- ~2% Ship Debris
- ~2% Pirate cache
- ~2% Lost hero

Planet specials include ancient artifacts, gold deposits, splnter colonies, etc.
There is also obviously exactly one star system with the orion special :)

For each star kind, the probabilities of having something orbiting it in a given orbit is:

- 20% blue-white
- 15% white
- 23% yellow
- 25% orange
- 15% red
- 2% brown (I said 5% before, that was a mistake, it was actually 5 of 262 samples)

I haven't tested thoroughly, but the planet gravity seems to depend only on the star kind. Assuming that, the stats I have are:

Code: Select all

# Planet gravity probabilities # low medium high 42 669 289 # Blue-white 106 701 193 # White 138 703 159 # Yellow 221 712 67 # Orange 296 662 42 # Red 136 773 91 # Brown
(these numbers are tenths of percent point. for example, probability for a planet around an orange star to be medium gravity is 712, i.e 71.2%)

Mineral richness also seems to depend on the star (again: this is an assumption, I have not validated it as well as I should :) ):

Code: Select all

# Planet mineral richness # upoor poor normal rich urich 1 1 397 416 185 # Blue-white 1 195 412 294 98 # White 1 303 404 207 85 # Yellow 104 402 390 103 1 # Orange 186 383 423 4 4 # Red 50 110 610 180 50 # Brown
(These numbers are also 1000 based... the 1's are most probably 0's, but I have 1's there for historical reasons).

About planets, size distribution seems to be independant of anything else (gravity, star color, climate): Probabilities are:

- tiny, huge: 10%
- small, large: 20%
- medium: 40%

For each orbital body you find:
- asteroid field, gas giant: 20%
- colonizable planet: 60%

The remaining stats I have is: star color distribution, and climate probabilities for each star. Those seem to vary acording to galactic age (organic rich, mineral rich, or average). I will post those later.

Regards,
d.

User avatar
siron
Posts:504
Joined:Fri Jul 22, 2005 12:35 pm
Location:Hamburg
Contact:

Postby siron » Tue Dec 27, 2005 4:37 pm

Impressive work!

First of all I would like to know what tool you have used to export the data. I guess you have written a small tool on your own. Do you like to publish it?

I just know mapleveller but no easy way to export the data to excel or similar format. Further, I would be interested in the variance (and covariances) of these variables.

Especially the variance of some quadrants. (We often play 1v1s or 4ways and it is nice to have a tool to analyze the map afterwards....was it a fair game or not?)
The remaining stats I have is: star color distribution, and climate probabilities for each star. Those seem to vary acording to galactic age (organic rich, mineral rich, or average). I will post those later.
Yes, this also very interesting if you want to evaluate the aqua pick (I thought to post sth about this). And mebbe LB could add a new galaxy age? Could be fun.

User avatar
Retsia
Posts:73
Joined:Fri Nov 25, 2005 1:22 pm

Postby Retsia » Tue Dec 27, 2005 5:03 pm

Splendid work, indeed. I will be watching this topic closely. :)

User avatar
Brent15
Posts:59
Joined:Fri Dec 02, 2005 2:42 pm
Location:United States of America
Contact:

Re: Map generator stats

Postby Brent15 » Tue Dec 27, 2005 8:43 pm

This is quite a nice piece of work Trixx. Thanks for posting.
Mineral richness also seems to depend on the star (again: this is an assumption, I have not validated it as well as I should :) ):
Statistics aside, this would be confirmed by the manuals descriptions of each color star in Chapter 5: Star Systems, section Star Color- if anyone else still happens to have a manual :) .

User avatar
ALEX|D
Posts:306
Joined:Fri Jul 29, 2005 12:54 pm
Location:Germany NRW
Contact:

Postby ALEX|D » Wed Dec 28, 2005 6:42 pm

Thanks a lot, trixx !

I hope we can use these information/stats to improve the map generation of moo2 in some way.

User avatar
Gusset
Posts:99
Joined:Sun Jul 24, 2005 3:36 am
Location:Vancouver, WA, USA
Contact:

Postby Gusset » Wed Dec 28, 2005 9:54 pm

How were these statistics gathered? Did you generate a series of maps and query each system to determine the presence of specials, or did you dig into the code to get the numbers, or something else?

What size maps were used? etc.

I'm curious how it was gathered, it might help put some of the numbers into context. Some of the values seem a little low, mainly the 2%ers.

Thanks!

-Gusset

trixx
Posts:10
Joined:Sat Dec 24, 2005 12:54 pm
Location:Córdoba, Argentina

Postby trixx » Thu Dec 29, 2005 9:08 am

Gusset: The analysis is statistical over generated maps, I didn't analyze the code. What I did was starting a game with MOO2, 8 players, huge galaxy , average level, and then analyzed that. The statistic gatherer ignored planets in systems with specials, but I forgot to ignore homeworlds when I did this (about two years ago). The only stats that were not taken in huge galaxies were the stats about map sizes (see below).

for the star-dependent tests, I gathered at least 1000 stars of each kind, except brown that were too hard to get (I used about 100 of those).

siron: All analysis where made with a tool for dumping savegames (I'll post it here soon).

I've implemented a map generator using that stats (totally independent of MOO2 code), and the maps look quite MOOish.

Average count of stars for each galaxy size:
  • small: 20
  • medium: 36
  • average: 54
  • huge: 71 (I would have expected 72 here, but the stats gave 71)
The map dimensions have a proportion of about 1.4 x 1. Map widths, in parsecs, are:
  • small: 20
  • medium: 27
  • large: 33
  • huge: 38
(These numbers where measured in game, not analysing save games. Take them with a grain of salt)

OK, this is the missing part of the data, which depends on galactic age

For average aged galaxies:

Star kind probabilities:
  • Black hole: 4%
  • Blue-white: 10.5%
  • white: 14.5%
  • yellow: 13.6%
  • orange: 14.4%
  • red: 40.4%
  • brown: 2.6%
Climates (tenths of percent point):

Code: Select all

# Probabilities for planet climates # toxic radiated barren desert tundra ocean swamp arid terran gaia 163 486 272 69 3 1 1 1 2 2 # Blue-white 166 368 271 60 43 17 10 26 32 7 # White 127 268 302 59 77 44 38 31 42 12 # Yellow 167 174 228 82 71 57 69 63 75 14 # Orange 162 129 497 30 66 22 23 25 40 6 # Red 208 292 100 200 100 20 20 20 30 10 # Brown
For organic rich galaxies:

  • Black hole: 7%
  • Blue-white: 4%
  • white: 4%
  • yellow: 30.5%
  • orange: 19.5%
  • red: 32.7%
  • brown: 2.3%

Code: Select all

# Probabilities for planet climates # toxic radiated barren desert tundra ocean swamp arid terran gaia 130 370 222 267 6 1 1 1 1 1 # Blue-white 71 255 206 213 63 22 35 64 64 7 # White 88 175 176 159 138 64 58 62 60 20 # Yellow 70 107 150 119 173 92 79 100 81 29 # Orange 128 66 370 64 236 36 32 32 35 1 # Red 200 300 100 200 100 20 20 20 30 10 # Brown
For mineral rich galaxies:

  • Black hole: 3%
  • Blue-white: 18.5%
  • white: 22%
  • yellow: 9.7%
  • orange: 8.9%
  • red: 37.2%
  • brown: 0.7%

Code: Select all

# Probabilities for planet climates # toxic radiated barren desert tundra ocean swamp arid terran gaia 129 542 260 57 7 1 1 1 1 1 # Blue-white 132 339 345 50 45 20 22 14 30 3 # White 135 230 309 67 70 49 30 40 63 7 # Yellow 117 175 290 56 100 43 61 61 77 20 # Orange 174 140 452 41 87 28 20 18 37 3 # Red 208 292 100 200 100 20 20 20 30 10 # Brown
That's all the data I have... I'll make the fix in the tools to avoid homeworlds and post them soon. cya

User avatar
Lord Brazen
Site Admin
Posts:162
Joined:Mon Jul 18, 2005 10:16 pm
Location:Toronto, Canada
Contact:

Postby Lord Brazen » Fri Dec 30, 2005 10:00 am

Thanks Trixx,

These numbers should be useful.

I have been analyzing game maps over the past few months and getting some similar results. My goal is to improve map balance.

Since there seems to be interest in this topic, I will post some of my scripts here also and if I have time, I will post some of my findings on my blog.

Here is a save game generator script that I have been using to generate 1000's of save games for analysis. It runs well on my machine and hopefully will run well for others (there may be some problems with timing and mouse motion). It’s a basic vbscript that uses AutoIt to launch the game and move the mouse.

Moo2 Save Game Maker.vbs

Code: Select all

'============================================================================================ ' ' Moo2 save game generator ' By Lord Brazen ' March 2005 ' ' Requires: - AutoIt v3 (must be installed) ' - Orion2 DOS version ' - The game options you want to test need to be preset (galaxy size, rands, etc). ' - Switches need to be preset in shortcut (/skipintro is a must). ' - idle sensitivity in moo2 shortcut should be about 70% ' '============================================================================================ Option Explicit Dim oShell Dim oAutoIt Dim iCount, iStart, iEnd Dim Moo2path, Moo2title, Moo2pif Dim objFileCopy Dim objFSO '============================================================================================ ' Initialise Variables (Change to match your environment) '============================================================================================ Moo2path = "C:\MPS\ORION2\" ' path to the game and autosave Moo2pif = "Orion2v140.pif" ' DOS game pif file Moo2title = "Master of Orion II v1.40" ' Title of moo2 program window iStart = 1 ' First save game to make iEnd = 1000 ' Last Save game to make '============================================================================================ ' Initialise Objects '============================================================================================ Set oShell = WScript.CreateObject("WScript.Shell") Set oAutoIt = WScript.CreateObject("AutoItX3.Control") Set objFSO = CreateObject("Scripting.FileSystemObject") '============================================================================================ ' Run Moo2 xx times to generate xx game maps for analysis '============================================================================================ For iCount = iStart to iEnd ' Launch Moo2 oShell.Run Moo2path&Moo2pif, 1, FALSE ' Wait for the Moo2 window to become active oAutoIt.WinWaitActive Moo2title, "" ' Move the game window & mouse upper left corner of display oAutoIt.MouseMove 0,0,0 oAutoIt.WinMove Moo2title, "", 0, 0 ' Wait for main screen panel to finish moving oAutoIt.Sleep 5000 ' Click on New Game oAutoIt.MouseMove 400, -15 oAutoIt.Sleep(1000) oAutoIt.MouseDown("left") oAutoIt.Sleep(1000) oAutoIt.MouseUp("left") oAutoIt.Sleep 3000 ' Click on Accept (this screen lags...need to move pointer slow) oAutoIt.MouseMove 400, 500 oAutoIt.Sleep(1000) oAutoIt.MouseMove 400, 420 oAutoIt.MouseDown("left") oAutoIt.Sleep(1000) oAutoIt.MouseUp("left") oAutoIt.Sleep(1000) ' Click on Klackons oAutoIt.MouseClick "left", 300, 420, 1, 3 oAutoIt.Sleep(1000) ' Accept default ruler name oAutoIt.Send "{ENTER}" oAutoIt.Sleep(1000) ' Click on Purple flag oAutoIt.MouseClick "left", 210, 350, 1, 3 ' Wait for main galaxy screen oAutoIt.Sleep 3000 ' Accept default Home system name oAutoIt.Send "{ENTER}" ' Wait on main galaxy screen oAutoIt.Sleep 500 ' Quick Exit out of game oAutoIt.Send "!q" oAutoIt.Sleep 500 oAutoIt.Send "!q" ' Wait for Game to Exit oAutoIt.WinWaitClose Moo2title, "" ' Sleep a little before next launch oAutoIt.Sleep 1000 ' Copy the autosaved game and rename it Set objFileCopy = objFSO.GetFile(Moo2path&"SAVE10.GAM") objFileCopy.Copy ("Save" & iCount & ".GAM") Next WScript.Quit
"Stars are holes in the sky from which the light of the Infinite shine through." - Confucius.

User avatar
siron
Posts:504
Joined:Fri Jul 22, 2005 12:35 pm
Location:Hamburg
Contact:

Postby siron » Wed Jan 11, 2006 6:59 pm

BTW. There is also a post by trixx on my blog.

User avatar
Retsia
Posts:73
Joined:Fri Nov 25, 2005 1:22 pm

Postby Retsia » Wed Jan 11, 2006 7:30 pm

Posted at 3 am? That guy needs some sleep.


Trixx, you hear!? Get some sleep, man!

User avatar
siron
Posts:504
Joined:Fri Jul 22, 2005 12:35 pm
Location:Hamburg
Contact:

Postby siron » Thu Jan 12, 2006 7:34 am

Posted at 3 am? That guy needs some sleep.
No worries, he is from Argentina....and CET is 4 hours ahead.

BTW...there is a nice comment by hoserboy....I was unaware that gravity is actually determined by size class and minerals:
hoserboy: I always thought planet gravity was directly related to planet size and mineral abundance (and no other factors):
Tiny planets are low-G for U-poor, poor, normal, and normal-G for rich and U-rich.
Small planets are low-G for U-poor and poor, and normal-G for normal, rich, and U-rich.
Medium planets are low-G for U-poor, normal-G for poor, normal, and rich, and heavy-G for U-rich.
Large planets are normal-G for U-poor, poor, and normal, and heavy-G for rich and U-rich.
Huge planets are normal-G for U-poor and poor, and heavy-G for normal, rich, and U-rich.
If put in table form it has a nice symmetry to it. There are some exceptions. Of course, Orion is always normal-G depsite being huge and U-rich. Planets with other planet specials can have arbitrary gravity regardless of size and mineral abundance. Also, both random events that change a planet's mineral abundance (+2 and -1) does not change that planet's gravity. Finally, artificial planets always have normal-G.

User avatar
Time
Posts:220
Joined:Wed Mar 22, 2006 4:27 pm
Location:Orlando, Florida, USA, Earth, Human Empire

Postby Time » Fri Mar 31, 2006 7:46 pm

I know if you select different picks, the game generates a map appropiate for your race near you, for balance, I suppose.

For example, if you are a Heavy-G race, you will start with more Rich and U-rich planets near you (try it).
If you are Aquatic, you will find more water based planets near you.
Cybers tend to have less food baring planets, more rich worlds.
I've played Mrrsan and wound up with fewer habitable planets.
I've played sakkra, and found more food baring worlds.

I don't have hard numbers as above, but I started playing Aquatic, High-G races, just to shape the galaxy near me to be nicer, and it worked. Out of 7 U-richs on my recient map, 1 was orion, 2 were monsters, the other 4 were near me, nice. :D Near defined as: my 25% of the map corner.

Anyone else noticing a similar outcome?
MOO1 Fan, MOO2 Fan, MOO3 needed too many changes = hopeless, getting older waiting for a MOO4 (still).


Return to “General Discussion”

Who is online

Users browsing this forum: No registered users and 13 guests