View unanswered posts | View active topics It is currently August 19th, 2017, 3:45 am



Reply to topic  [ 4 posts ] 
 Asymmetric Preset Galaxy Algorithm 
Author Message

Joined: January 3rd, 2017, 1:11 am
Posts: 747
Hey all-

I'm working on a web app for TI3 right now, and one of the things I would like to include is the option to automatically generate asymmetric maps according to the sketch for an algorithm found here: http://ti3pbf.com/wiki/Asymmetric_Preset_Galaxy

I have a few questions which I thought I would ask for feedback on.

1. Right now, system value is calculated by taking the sum of the resource, influence, and tech values. Do you think I should add in extra value for refresh abilities? Or any other metric?

2. Brainstorming ideas to adapt the algorithm to an 8-player map? The algorithm currently balances itself by making the six 60-degree wedges roughly equal in terms of summed system values.

3. Right now, using the simple system evaluation described above, the mean system value is 5.3, the mode is 6 and the median is 6. The counts for system values are as follows:
Spoiler (click to reveal)
[value = 10]: 1
[8]: 4
[7]: 12
[6]: 14
[5]: 7
[4]: 12
[3]: 8
[2]: 3

What sorts of constraints (if any) should I place on the algorithm to control sorting systems into the piles of roughly equal value? For instance, do you think it is worth taking into consideration things like number of planets per/system? Or wormholes? or??



any other thoughts on implementing asym galaxy generator?

_________________
Active
For the Empire - The Clan of Saar
Q10 - The Sardakk N'orr
Time To Die: Everybody Is Muaat - The Barony of Letnev

Completed
Glory Reclaimed - The Mentak Coalition (late game replacement)


April 11th, 2017, 4:57 pm
Profile
Resident Code Monkey
Resident Code Monkey
User avatar

Joined: November 16th, 2013, 2:29 pm
Posts: 2806
Location: Pasadena, CA, USA
I wrote something similar some years ago, see http://ti3pbf.com/wiki/Map_Generator

Some of the discussions on it may be interesting to you. They are back on the old site: http://timp3.forumprofi.de/gm-corner-f1 ... -t384.html
The links to the code don't working any longer but I can fix that if you're interested.

Instead of sticking strictly to your questions, I'll just write down some of the thoughts I had on this (sorry in advance, might not be very well sorted):

My algorithm was very brute force: Basically you pick the required systems and then shuffle them around until the variance of the piles' values is below the threshold. If this fails too often, raise the threshold. The results were OK but always needed some manual adjustment.

For a 8-player setup it used this layout. The numbers correspond to
Spoiler (click to reveal)
Code:
                                                            __________                                                           
                                                           /          \                                                           
                                                          /            \                                                         
                                                         /      0,4     \                                                         
                                              __________/        1       \__________                                             
                                             /          \        HS      /          \                                             
                                            /            \              /            \                                           
                                           /     -1,4     \            /      1,4     \                                           
                                __________/        1       \__________/        1       \__________                               
                               /          \                /          \                /          \                               
                              /            \              /            \              /            \                             
                             /     -2,3     \            /      0,3     \            /      2,3     \                             
                  __________/        8       \__________/        1       \__________/        2       \__________                 
                 /          \                /          \                /          \                /          \                 
                /            \              /            \              /            \              /            \               
               /     -3,3     \            /     -1,3     \            /      1,3     \            /      3,3     \               
    __________/        8       \__________/        1       \__________/        1       \__________/        2       \__________   
   /          \                /          \                /          \                /          \        HS      /          \   
  /            \              /            \              /            \              /            \              /            \ 
 /     -4,2     \            /     -2,2     \            /      0,2     \            /      2,2     \            /      4,2     \
/        8       \__________/        8       \__________/        1       \__________/        2       \__________/        2       \
\                /          \                /          \                /          \                /          \                /
 \              /            \              /            \              /            \              /            \              /
  \            /     -3,2     \            /     -1,2     \            /      1,2     \            /      3,2     \            / 
   \__________/        8       \__________/        8       \__________/        2       \__________/        2       \__________/   
   /          \                /          \                /          \                /          \                /          \   
  /            \              /            \              /            \              /            \              /            \ 
 /     -4,1     \            /     -2,1     \            /      0,1     \            /      2,1     \            /      4,1     \
/        7       \__________/        8       \__________/        1       \__________/        2       \__________/        3       \
\                /          \                /          \                /          \                /          \                /
 \              /            \              /            \              /            \              /            \              /
  \            /     -3,1     \            /     -1,1     \            /      1,1     \            /      3,1     \            / 
   \__________/        7       \__________/        7       \__________/        3       \__________/        3       \__________/   
   /          \                /          \                /          \                /          \                /          \   
  /            \              /            \              /            \              /            \              /            \ 
 /     -4,0     \            /     -2,0     \            /      0,0     \            /      2,0     \            /      4,0     \
/        7       \__________/        7       \__________/       MR       \__________/        3       \__________/        3       \
\        HS      /          \                /          \                /          \                /          \        HS      /
 \              /            \              /            \              /            \              /            \              /
  \            /     -3,0     \            /     -1,0     \            /      1,0     \            /      3,0     \            / 
   \__________/        7       \__________/        7       \__________/        3       \__________/        3       \__________/   
   /          \                /          \                /          \                /          \                /          \   
  /            \              /            \              /            \              /            \              /            \ 
 /     -4,-1    \            /     -2,-1    \            /     0,-1     \            /     2,-1     \            /     4,-1     \
/        7       \__________/        6       \__________/        5       \__________/        4       \__________/        3       \
\                /          \                /          \                /          \                /          \                /
 \              /            \              /            \              /            \              /            \              /
  \            /     -3,-1    \            /     -1,-1    \            /     1,-1     \            /     3,-1     \            / 
   \__________/        6       \__________/        6       \__________/        4       \__________/        4       \__________/   
   /          \                /          \                /          \                /          \                /          \   
  /            \              /            \              /            \              /            \              /            \ 
 /     -4,-2    \            /     -2,-2    \            /     0,-2     \            /     2,-2     \            /     4,-2     \
/        6       \__________/        6       \__________/        5       \__________/        4       \__________/        4       \
\                /          \                /          \                /          \                /          \                /
 \              /            \              /            \              /            \              /            \              /
  \            /     -3,-2    \            /     -1,-2    \            /     1,-2     \            /     3,-2     \            / 
   \__________/        6       \__________/        5       \__________/        5       \__________/        4       \__________/   
              \        HS      /          \                /          \                /          \        HS      /             
               \              /            \              /            \              /            \              /               
                \            /     -2,-3    \            /     0,-3     \            /     2,-3     \            /               
                 \__________/        6       \__________/        5       \__________/        4       \__________/                 
                            \                /          \                /          \                /                           
                             \              /            \              /            \              /                             
                              \            /     -1,-3    \            /     1,-3     \            /                             
                               \__________/        5       \__________/        5       \__________/                               
                                          \                /          \                /                                         
                                           \              /            \              /                                           
                                            \            /     0,-4     \            /                                           
                                             \__________/        5       \__________/                                             
                                                        \        HS      /                                                       
                                                         \              /                                                         
                                                          \            /                                                         
                                                           \__________/                                                           


I had some ideas for a better algorithm but never got to developing it properly. I think it was something like this:
- Place Home Systems at random locations (one per sector)
- Place Wormholes (preset number and letter or random from a distribution). This includes Quann and Lodor because I'd like to keep the WH locations fixed for the next step.
- Create a table of distances between each system. (There's probably a simple algorithm for this, using neighbours of neighbours or something.)
- Define the "uncontested" region around each HS (systems that have a unique HS at minimum distance).
- Define contested systems (at same distance to multiple HSs).
- Somehow determine the resources, influence etc that each player will have. (Not sure how to split contested systems.)
- Switch systems around somehow to equalize these values between players, e.g. take a high-res system of a "rich" player and switch it with a lower-res planet of a "poor" player.
- Try to avoid loops of switching...

Also it may be good to consider planets only for the resource you typically spend, e.g. a 3/1 planet like Starpoint is rarely spent for influence while a 1/3 planet like Centauri is often spend that way to get CCs. Furthermore, a metric that adds influence and resources to a single value is flawed. Instead one needs to make sure that usable resources are equally distributed and usable influence isn't completely imbalanced, so all players get a decent chance at buying CCs.

_________________
Do you really want to know what I want? I want my people to reclaim their rightful place in the galaxy. I want a rebirth of glory, a renaissance of power! I want us to be what we used to be!


April 11th, 2017, 8:16 pm
Profile

Joined: January 3rd, 2017, 1:11 am
Posts: 747
Wonderful, thanks - look forward to going through it.


Quote:
Also it may be good to consider planets only for the resource you typically spend, e.g. a 3/1 planet like Starpoint is rarely spent for influence while a 1/3 planet like Centauri is often spend that way to get CCs. Furthermore, a metric that adds influence and resources to a single value is flawed. Instead one needs to make sure that usable resources are equally distributed and usable influence isn't completely imbalanced, so all players get a decent chance at buying CCs.

Yeah this was my main concern... should be fun to figure out. Defining "contested" and "uncontested" systems seems like a good method/something that could be leveraged to create more interesting maps (i.e. placing "higher value" systems there, wormholes, etc).

_________________
Active
For the Empire - The Clan of Saar
Q10 - The Sardakk N'orr
Time To Die: Everybody Is Muaat - The Barony of Letnev

Completed
Glory Reclaimed - The Mentak Coalition (late game replacement)


April 11th, 2017, 8:46 pm
Profile
Veteran Game Master
Veteran Game Master

Joined: December 17th, 2013, 6:00 pm
Posts: 5208
If you bid for starting positions, balancing perfectly is not necessarily a huge concern. That said, a lot of players are bad at bidding (don't recognize that, yes, a choice starting position might be worth 10+ TGs).


April 13th, 2017, 1:53 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
[ Legal Information ]

Powered by phpBB® Forum Software © phpBB Group
Designed by STSoftware.