I have heard some interesting stories about some lucky systems and that got me thinking about how a given station would influence the appearance of other stations in the system.
Some simple examples is if you have an arms dealer already you are less likely to need more. The more dealer stations you have in a given system the better chance for a shipping station to be there. Systems with less commonwealth influence would be more prone to things like the black market.
This could even go over many systems ie the last 3 systems had drug labs and no black market stations you would think with all of those the black market would have a better chance of appearing.
We already have once per system and once per game restrictions for stations but those can't take into account the relationship between stations. As for how this could be done I was thinking an event for the station. This might make the system creation time too long.
What do you think?
station appearance influences
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
Crying is not a proper retort!
We already have a little of this: There's always a charon stronghold if there's a korolov. But it would indeed make sense for there to be relationships like that.
More Ares means less fleet, more fleet means less ares, more Urak means less abbasid....
(Incidentally, since the descriptions of dwarg stuff say it's designed to protect them from the sung, why are they and the sung non-hostile to each other?)
Such a system would be an extremely interesting thing to see.
More Ares means less fleet, more fleet means less ares, more Urak means less abbasid....
(Incidentally, since the descriptions of dwarg stuff say it's designed to protect them from the sung, why are they and the sung non-hostile to each other?)
Such a system would be an extremely interesting thing to see.
Mischievous local moderator. She/Her pronouns.
Station appearance based on the existance/absence of other stations would require a minimum of two passes for the system generation code.
1. Place all the Primary stations.
2. Look at what we just made and check all the secondary stations to see which have their requirements fulfilled and place some in intelligent locations.
Perhaps some primary stations could be given a subordinate stations table similar to how the <satellites> attribute works that references a table of stations. This would increase the total number of stations so the number of labels in a system would have to be reduced. This also doesn't consider station presence/absence in neighbouring systems.
Another way to go; after a system is created, count the stations and keep track of how many/what type/what faction or however you want to organize it. Keep that tally somewhere and the next system that gets generated will take that tally into consideration when it chooses stations.
Example:
Anyways, that's my two cents
1. Place all the Primary stations.
2. Look at what we just made and check all the secondary stations to see which have their requirements fulfilled and place some in intelligent locations.
Perhaps some primary stations could be given a subordinate stations table similar to how the <satellites> attribute works that references a table of stations. This would increase the total number of stations so the number of labels in a system would have to be reduced. This also doesn't consider station presence/absence in neighbouring systems.
Another way to go; after a system is created, count the stations and keep track of how many/what type/what faction or however you want to organize it. Keep that tally somewhere and the next system that gets generated will take that tally into consideration when it chooses stations.
Example:
- After St Kats, the system is mostly charon pirates with 1 heliotrope station and 3-4 illegal miners. The number of Charon was increased because the player managed to save korolov in the Charon system (very nearly imossible now, but let's pretend it happened). The presence of the miners is dependent on the presence of asteroids so they aren't tracked in out system. The heliotropes appear now on the fringe of their level criteria so they get picked randomly.
The next system will pull the list of faction stations already spawned and use that to filter the random station selection. You migh have a few more heliotropes (factions get clumped together, realistically) then the charon start to fade out (they've already appeared a lot) maybe the dwarg or sung start appearing, one or the other as these two factions would be labelled as enemies.
Anyways, that's my two cents
Coming soon: The Syrtian War adventure mod!
A Turret defense genre mod exploring the worst era in Earth's history.
Can you defend the Earth from the Syrtian invaders?
Stay tuned for updates!
A Turret defense genre mod exploring the worst era in Earth's history.
Can you defend the Earth from the Syrtian invaders?
Stay tuned for updates!
- digdug
- Fleet Admiral
- Posts: 2620
- Joined: Mon Oct 29, 2007 9:23 pm
- Location: Decoding hieroglyphics on Tan-Ru-Dorem
well, that's not really system stations management by the RNG or by the systemType, it's just the korolov that spawns a stronghold with the function chrGetPrimaryStronghold.We already have a little of this: There's always a charon stronghold if there's a korolov.
In theory the idea could also work as a mod.
We need tables of station probabilities for each systemType, then when the player enter the new system, we check the stations that are spawned, remove or add by checking the relative table of the systemType, then update the table.
As Betel commented on IRC, we could simulate the systemLevel progression easily or even get rid of it and make our own progression system.
- Aury
- Fleet Admiral
- Posts: 5421
- Joined: Tue Feb 05, 2008 1:10 am
- Location: Somewhere in the Frontier on a Hycrotan station, working on new ships.
This is a similar concept behind the reworked system generation I'm designing for TX2; though TX2's is annoyingly more complex, as I have to account for the automated generation of systems the way they are supposed to be over a non-linear region of space.
(shpOrder gPlayership 'barrelRoll)
(plySetGenome gPlayer (list 'Varalyn 'nonBinary))
Homelab Servers: Xeon Silver 4110, 16GB | Via Quadcore C4650, 16GB | Athlon 200GE, 8GB | i7 7800X, 32GB | Threadripper 1950X, 32GB | Atom x5 8350, 4GB | Opteron 8174, 16GB | Xeon E5 2620 v3, 8GB | 2x Xeon Silver 4116, 96GB, 2x 1080ti | i7 8700, 32GB, 6500XT
Workstations & Render machines: Threadripper 3990X, 128GB, 6900XT | Threadripper 2990WX, 32GB, 1080ti | Xeon Platinum 8173M, 48GB, 1070ti | R9 3900X, 16GB, Vega64 | 2x E5 2430L v2, 24GB, 970 | R7 3700X, 32GB, A6000
Gaming Systems: R9 5950X, 32GB, 6700XT
Office Systems: Xeon 5318Y, 256GB, A4000
Misc Systems: R5 3500U, 20GB | R5 2400G, 16GB | i5 7640X, 16GB, Vega56 | E5 2620, 8GB, R5 260 | P4 1.8ghz, 0.75GB, Voodoo 5 5500 | Athlon 64 x2 4400+, 1.5GB, FX 5800 Ultra | Pentium D 3.2ghz, 4GB, 7600gt | Celeron g460, 8GB, 730gt | 2x Athlon FX 74, 8GB, 8800gts 512 | FX 9590, 16GB, R9 295x2 | E350, 8GB | Phenom X4 2.6ghz, 16GB, 8800gt | random core2 duo/atom/i5/i7 laptops
(plySetGenome gPlayer (list 'Varalyn 'nonBinary))
Homelab Servers: Xeon Silver 4110, 16GB | Via Quadcore C4650, 16GB | Athlon 200GE, 8GB | i7 7800X, 32GB | Threadripper 1950X, 32GB | Atom x5 8350, 4GB | Opteron 8174, 16GB | Xeon E5 2620 v3, 8GB | 2x Xeon Silver 4116, 96GB, 2x 1080ti | i7 8700, 32GB, 6500XT
Workstations & Render machines: Threadripper 3990X, 128GB, 6900XT | Threadripper 2990WX, 32GB, 1080ti | Xeon Platinum 8173M, 48GB, 1070ti | R9 3900X, 16GB, Vega64 | 2x E5 2430L v2, 24GB, 970 | R7 3700X, 32GB, A6000
Gaming Systems: R9 5950X, 32GB, 6700XT
Office Systems: Xeon 5318Y, 256GB, A4000
Misc Systems: R5 3500U, 20GB | R5 2400G, 16GB | i5 7640X, 16GB, Vega56 | E5 2620, 8GB, R5 260 | P4 1.8ghz, 0.75GB, Voodoo 5 5500 | Athlon 64 x2 4400+, 1.5GB, FX 5800 Ultra | Pentium D 3.2ghz, 4GB, 7600gt | Celeron g460, 8GB, 730gt | 2x Athlon FX 74, 8GB, 8800gts 512 | FX 9590, 16GB, R9 295x2 | E350, 8GB | Phenom X4 2.6ghz, 16GB, 8800gt | random core2 duo/atom/i5/i7 laptops