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.
Map balance
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.
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.
Last edited by Matthew on Wed Apr 25, 2007 7:45 pm, edited 1 time in total.
-
- Posts:67
- Joined:Sat Mar 10, 2007 10:30 pm
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.
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.
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
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.
Who is online
Users browsing this forum: No registered users and 21 guests