Revised colonization mechanics
Moderators: Oberlus, Committer
Re: Revised colonization mechanics
One thing I'm also considering, it is worth including galaxy size in the factoring? In a smallish galaxy, buildtimes rarely go up by much if at all. I'm thinking in games like C-Evo corruption is scaled based on map size and we have some stuff already scaled similarly, 10 jumps in a 100 system galaxy is a long way, 10 jumps in a 500 system galaxy is near neighbours.
Mat Bowles
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Re: Revised colonization mechanics
Well, there are actually a lot of game mechanics that play out very differently depending on galaxy size. Starlane speed of ships, fuel capacity, supply range, detection range (just to name the few that came to my mind immediately, without thinking too much). We could probably scale pretty much everything to correspond to one game setup parameter or another - planet density, monster/native/starlane frequency also have an serious impact on the different game machanics.MatGB wrote:One thing I'm also considering, it is worth including galaxy size in the factoring? In a smallish galaxy, buildtimes rarely go up by much if at all. I'm thinking in games like C-Evo corruption is scaled based on map size and we have some stuff already scaled similarly, 10 jumps in a 100 system galaxy is a long way, 10 jumps in a 500 system galaxy is near neighbours.
The problem is, this approach just won't work in most cases, as balancing would become utterly impossible. There are a few mechanics we can probably scale depending on certain game setup parameters, but this has to be carefully done and IMO will only work with game elements that don't need to be carefully balanced against other game elements.
In our case here, it doesn't make sense to factor galaxy size into the calculation of the build time of the colony buildings. If you did this, you'd consequently should apply that dynamic to colonization by colony ship also - meaning, scale the starlane speed of colony ships. We never felt the need to do that with the old colonization mechanics, we simply lived with the fact that in small galaxies establishing new colonies takes a lot less time (as colony ships don't have to bridge huge distances).
And scaling only build time of colony buildings and not speed of colony ships would screw the balance between these different approaches, which is difficult enough to get right.
Re: Revised colonization mechanics
Makes sense. My brain has larger galaxy=more stargates as a default behaviour anyway
Mat Bowles
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Re: Revised colonization mechanics
How about making the colonization speed an empire meter (like detection strength, for example)?
https://github.com/mmoderau
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13603
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: Revised colonization mechanics
Not clear to me what you mean by "colonization speed", but ships have their own speed meter, and the production time for the colony upgrades is supposed to depend on position, not be a single empire-wide number. There could be an empire meter for minimum colony production time, but that wouldn't be very useful or meaningful in practice...em3 wrote:How about making the colonization speed an empire meter (like detection strength, for example)?
Re: Revised colonization mechanics
I meant speed in physical sense, as the distance travelled in a unit of time. This way the duration of colonization project would be (location-specific) distance divided by (empire-specific, resulting from researched techs) speed.Geoff the Medio wrote:Not clear to me what you mean by "colonization speed", but ships have their own speed meter, and the production time for the colony upgrades is supposed to depend on position, not be a single empire-wide number. There could be an empire meter for minimum colony production time, but that wouldn't be very useful or meaningful in practice...
https://github.com/mmoderau
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
Re: Revised colonization mechanics
But it would be.Geoff the Medio wrote:Not clear to me what you mean by "colonization speed", but ships have their own speed meter, and the production time for the colony upgrades is supposed to depend on position, not be a single empire-wide number. There could be an empire meter for minimum colony production time, but that wouldn't be very useful or meaningful in practice...em3 wrote:How about making the colonization speed an empire meter (like detection strength, for example)?
Currently, we're using Dilvish's most recent update that tracks the fastest ship an empire has flying and uses that as the basis to work out the number of turns a long distance colony will take. This is more optimal than the first iteration which used a set number at all points.
What's being discussed is ways of simply having a tech increase notional "speed" of colonising by effectively having a notional "fast ship" that doesn't need to be built, currently if you build a very fast ship all colonies finish very quickly, but if it gets destroyed then their build time can go up substantially.
If instead we had a notional "merchant fleet speed" that was improved by techs but was independent of actually built ships that would almost certainly be better and less prone to min/max approaches, plus we can simply put it into tech descriptions and have it go from there.
There could be various other hacks available, add a special with a capacity on the Capital or similar, but having a simple empire meter similar to detection would be easier from a scripting perspective.
Mat Bowles
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13603
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: Revised colonization mechanics
For scripting, sure. I was thinking more about for the UI. What exactly the "minimum colonization building production time" value means isn't very clear when the actual time required varies from location to location. If it isn't supposed to be shown to players, then a way to indicate that would be needed...MatGB wrote:...having a simple empire meter similar to detection would be easier from a scripting perspective.
Re: Revised colonization mechanics
It should be explicitly given in techs that manipulate it (by a flat or relative bonus) and on the pedia page for an empire. Otherwise it is not something that has to be monitored on a turn-by-turn basis and so doesn't need to go to the top bar, for example.Geoff the Medio wrote:For scripting, sure. I was thinking more about for the UI. What exactly the "minimum colonization building production time" value means isn't very clear when the actual time required varies from location to location. If it isn't supposed to be shown to players, then a way to indicate that would be needed...
https://github.com/mmoderau
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
Re: Revised colonization mechanics
Hm, that's actually an interesting idea. An empire meter just for determining "colonization speed" would be overkill IMO, but when we instead think of this meter as a measure for supply capacity (which would introduce a second supply meter in addition to supply range), which we then could apply to/use for other content, then things would start to make sense.MatGB wrote:What's being discussed is ways of simply having a tech increase notional "speed" of colonising by effectively having a notional "fast ship" that doesn't need to be built, currently if you build a very fast ship all colonies finish very quickly, but if it gets destroyed then their build time can go up substantially.
If instead we had a notional "merchant fleet speed" that was improved by techs but was independent of actually built ships that would almost certainly be better and less prone to min/max approaches, plus we can simply put it into tech descriptions and have it go from there.
Can you think of anything we could make depend on something as supply capacity? Maybe make all/some of the boni given by specials/buildings/etc., which propagates through supply connections, depend on it to a certain degree? Just a random thought...
Re: Revised colonization mechanics
Well, off the top of my head, lots of the building based bonuses, including Geoff's Industrial Centre idea, could be linked to it in some way (same for Black Hole and Solar generators, BHG is definitely ridiculously overpowered at the moment but I've got a Cunning Plan I want to get straight for that).
Use of Growth specials (Geoff added that Capacity thing for them recently but we've not discussed how to use it, etc) could be covered in some way, even population growth on new colonies.
Use of Growth specials (Geoff added that Capacity thing for them recently but we've not discussed how to use it, etc) could be covered in some way, even population growth on new colonies.
Mat Bowles
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Re: Revised colonization mechanics
Vezzra's idea for exploring possibilities for a supply capacity empire meter are interesting, but in the meantime, I don't think that any of the underlying motives for this empire meter actually require it as an actual meter -- a meter would eliminate the need for redundant calculations, but the empire pedia page can simply be structured to report the notional merchant fleet speed using the same calculation that would be used in the colony building script (and wherever else). We could even have a separate pedia page to explain the merchant fleet speed idea a bit, and the techs that increase it could link to it, pretty much just like detection strength, but without an underlying explicit meter (which is just hidden mechanics to the user anyway).
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0
Re: Revised colonization mechanics
I was suggesting to make it a meter so that the calculations don't have to be redone in different places. Such redundancy is asking for trouble when someone forgets to change the formula in one of the places, while changing in others.Dilvish wrote:Vezzra's idea for exploring possibilities for a supply capacity empire meter are interesting, but in the meantime, I don't think that any of the underlying motives for this empire meter actually require it as an actual meter -- a meter would eliminate the need for redundant calculations, but the empire pedia page can simply be structured to report the notional merchant fleet speed using the same calculation that would be used in the colony building script (and wherever else). We could even have a separate pedia page to explain the merchant fleet speed idea a bit, and the techs that increase it could link to it, pretty much just like detection strength, but without an underlying explicit meter (which is just hidden mechanics to the user anyway).
https://github.com/mmoderau
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
Re: Revised colonization mechanics
Put the formula into shared macros, should work fine everywhere then and be easier to repeat.
To topic, currently I think the formula might not be kicking in soon enough, it's virtually always 5 or 6 turns for me in my games.
To topic, currently I think the formula might not be kicking in soon enough, it's virtually always 5 or 6 turns for me in my games.
Mat Bowles
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.
Re: Revised colonization mechanics
It seems to me that 6 definitely kicks in around a reasonable distance, and I can remember seeing them up to 8 or 9 in situations where that made sense. Seems to be working fine for me. Could be you're just not colonizing very far from your existing colonies? Sometime when you noticed that you are queuing a remote colony really far from the nearest qualified source, use a fleet to check the total travel time between the two spots & see how it compares.MatGB wrote:To topic, currently I think the formula might not be kicking in soon enough, it's virtually always 5 or 6 turns for me in my games.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0