Page 1 of 1

Map balance

Posted: Fri Apr 20, 2007 9:00 am
by Matthew
I think more could be done in this area. Here are some ideas.

Mirroring. Instead of randomly generating the whole map at once, only generate 1st players quandrant then mirror it to the other player's corners. This should create nearly identical corners. It also be done for the homeworld system but not the homeworld itself because that is determined by race picks.

Make all monster planets have the same value. This could be generated similar to how Orion is generated. Orion is always a Huge, UR Gaia. It's unbalanced for one player's monster to be guarding a huge UR Gaia while the other get's a large desert wtih heavy-g. Monsters should be mirrored as well to insure that each player has at least one good monster planet.

Posted: Sat Apr 21, 2007 8:22 am
by Matthew
It will probably not be easy but I will attempt this on my own.

It should just be a matter of patching LB's patch, similar to how Siron does his mods.

Here's what I'm thinking the algorithym might do. It will only run with an optional switch and only in this specific mod.

First, find and preserve all homeworld data. If orion exist, preserve it also. Next, get the max x/y values for the map. Divide the map into four quadrants. Get the star system and planets data from the top left quadrant of the map. Mirror the top left quadrant to the top-right, bottom-left and bottom-right. Check to insure that each system has a different name and insure that all homeworlds systems are intact. If monsters were left in, check to insure that there are some monsters. If not then create a monster special in the top left quadrant and mirror it.

I might also tackle the annilation bug.

It would help if I knew how the patch works.

Posted: Mon Apr 23, 2007 5:55 pm
by marhawkman
If it would help I could write some pseudo code. but that's about all I can do.

Posted: Tue Apr 24, 2007 8:13 am
by Matthew
Thanks but I can handle the coding part of the problem. It will just take me a while to figure out how to make changes to the game without introducing more bugs to fix.

Posted: Sat May 05, 2007 10:43 am
by Matthew
I've thought of a different way to go about doing this that should produce less boring maps than using the mirroring method.

First, you need to having a scoring system for systems and planets.

This is what I came up with.

Code: Select all

Planet Scoring & System Scoring The System score is the number of planets (NP) plus the value of the system special (VSS) plus the combined value of the planets (CVP). System score = NP + VSS + CVP. The Planet score is value of the planet size (VZ), plus the value of the environment (VE) plus the value of the gravity (VG) plus value of the minerals (VM) plus the value of the base food (VF) plus the value of the planet special (VPS). Planet Score = VZ+VE+VG+VM+VF+VPS
Then you would sort the systems by their XY position to calculate the quadrant scores by adding up all the system scores within each one.

Once you can calculate the value of quadrants you can balance the map by making minor changes to the systems. You then just go through a loop to correct imbalances until each quadrant has a score that falls within the specified tolerance range. Some things would automatically be excluded from being changed, like Orion (if it exists) and the player's homeworlds.

It would be a complicated algorithm but I think it's worth doing.

Posted: Sat May 05, 2007 12:02 pm
by siron
Here is another map balance thread...with LBs thoughts.

viewtopic.php?t=22

Posted: Sat May 05, 2007 12:35 pm
by Matthew
Here is another map balance thread...with LBs thoughts.

viewtopic.php?t=22
Should I post this idea to that thread?

Posted: Sat May 05, 2007 2:52 pm
by siron
Why not? Seems helpful, since most posters are notified when new posts appear in one of their threads.