Farming & Growth Meter Effects (for v0.3 ?)

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderators: Oberlus, Oberlus

Message
Author
User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12675
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Farming & Growth Meter Effects (for v0.3 ?)

#1 Post by Geoff the Medio » Thu Jul 08, 2004 12:34 am

It's been suggested that food production be determined at each planet like so:

(food produced) = (population) * (farming meter)

This is somewhat problematic, since if any planets have food meters over 1, there will be tons and tons of extra food and nothing to do with it. I thus suggest we establish the "break even point" for food production at a meter value of 3, but having a (farming meter multiplier) in the food production formula, rather than the actual value of the meter. I suggest:

(meter) -> (multiplier)

0 -> 0 no food produced
1 -> 0.33
2 -> 0.66
3 -> 1 break even point for planet
4 -> 1.33
5 -> 1.66
6 -> 2
7 -> 2.5
8 -> 3
9 -> 4
10-> 5

If this is done, then there's no need to have a food accumulator box other "sink" to use up all the excess food that would be produced with just using (food) = (pop) * (farming meter). Thus we can retain the population growth formula from the v0.2 requirements, mostly. (No dependence on food for growth anyway...)


For v0.3, I suggest a modification of the v0.2 growth formula like so:

Population change on a planet is determined by the current population (Pop), the planet's population capacity (Planet Pop Limit) and the planet's growth meter, through the (Growth Meter Factor), which depends on the growth meter. The growth formula is:

(Pop Change) = (Pop) * ( (Planet Pop Limit) - (Pop) ) / (Planet Pop Limit) * (Growth Meter Factor)

and

(New Pop) = (Old Pop) + (Pop Change)

The (Growth Meter Factor) value incorporates the race and environment factors from the v0.2 formula, and also can be modifed by buildings, techs, specials. It is determined from the value of the planet growth meter like so:

(Growth Meter) -> (Growth Meter Factor) time to increase pop by 1 in turns: from pop = 1, from pop = 10 (Edit: Uses planet max pop of 20)

0 -> 0 infinity, infinity
1 -> 0.01 75, 20
2 -> 0.015 50, 14
3 -> 0.2 38, 9
4 -> 0.033 23, 6
5 -> 0.05 16, 4
6 -> 0.075 11, 3
7 -> 0.1 8, 2
8 -> 0.133 6, 2
9 -> 0.166 5, 2 (more like 3/2)
10-> 0.25 3 (just over), 1 (more like 3/4)

If faster growth is wanted, here are some more factors and times to increase from pop = 1 to pop = 2, on which to base suggestions for differently scaled mappings of (Growth Meter) -> (Growth Meter Factor)... (assuming the basic idea is acceptable...)

0.25 => ~3 turns
0.33 => ~2.5 turns
0.45 => 2 turns (almost exact)
0.50 => ~1.75 turns
0.66 => ~1.33 turns
1.00 => 1 turns (just under)

Beyond this (and probly before) it's easier to talk in how many pop points you can in one turn starting at pop = 1. The calculation is pretty simple... just 0.95 * (Meter Factor), but still:

1.00 => 0.95
1.25 => 1.19
1.5 => 1.43
2.0 => 1.9

etc.
Last edited by Geoff the Medio on Thu Jul 08, 2004 4:51 pm, edited 2 times in total.

drek
Designer Emeritus
Posts: 935
Joined: Thu Jun 26, 2003 8:07 am

#2 Post by drek » Thu Jul 08, 2004 12:40 am

Good stuff.

Orginally, I was hoping the lower values of the Health/Growth meter would actually be negative growth (for plagues, etc.)

Perhaps the Health/Growth meter breaks the meter mold, and can go into the negative.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12675
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#3 Post by Geoff the Medio » Thu Jul 08, 2004 12:55 am

I considered making lower growth scores give -ve growth (see the "Health" meter description in the events system thread: viewtopic.php?t=787 ). I thought the better of it, though as:

-There just aren't enough gradations in 0 to 10 to have a decent scale of -ve and +ve growth on a single meter
-The break-even point of no growth would need to be up around 4 or 5 at least, but I thought it best that a value of 3 be the "basline" or "standard" or "break-even" point for all / most meters, as applicable.
-Starvation due to lack of food is already treated outside the meters system, so why not do the same for plagues, or anything that causes population loss?

The latter was a minor point, but in context of the first two, it seemed best to go with a range bottoming out at "no growth"


I think it's important that meters all have the same range of values. Thus the player can know that a value of 0 means nothing, and 10 is amazingly good. If some meters have -ve ranges, or various meters have different baselines/break-even numbers, or completely different ranges, it becomes too difficult to guage the "value" of one meter over the other. It's also much more difficult to have a standardized meter display UI if the values aren't standardized into a specific range.

vishnou00
Space Kraken
Posts: 157
Joined: Tue May 25, 2004 3:15 am

Re: Farming & Growth Meter Effects (for v0.3 ?)

#4 Post by vishnou00 » Thu Jul 08, 2004 12:57 am

Geoff the Medio wrote:I suggest:

(meter) -> (multiplier)

0 -> 0 no food produced
1 -> 0.33
2 -> 0.66
3 -> 1 break even point for planet
4 -> 1.33
5 -> 1.66
6 -> 2
7 -> 2.5
8 -> 3
9 -> 4
10-> 5


Just curiosity, why didn't you suggest a simpler (meter) = (multiplier)/3, or any other constant than 3. The formula would just be:

(food produced) = K * (population needs) * (farming meter)

K being a constant in the ]0,1[ interval (the exact value of K being determined through gameplay balancing).

A table like you proposed is fine, but why not apply KISS?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12675
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Farming & Growth Meter Effects (for v0.3 ?)

#5 Post by Geoff the Medio » Thu Jul 08, 2004 1:27 am

vishnou00 wrote:why didn't you suggest a simpler (meter) = (multiplier)/3
[...]
A table like you proposed is fine, but why not apply KISS?
Mainly because, as you get to higher meter levels, the difference between meter values becomes less significant. A main point about meters I've been making is that it's important that every meter value be distinct and different from other meter values. (This is why I've supported 0 to 10 and not 0 to 100 or somesuch). You'll note that the difference between subsequent meter factors is larger at the higher meter values.

Also, if it's a table, then it can be easily modified later for more subtle balance issues. Perhaps it'll turn out that a linear progression up to "break even" is fine, but the linear progression above break even is unbalanced, needing to be made quadratic or square-root or some other function.

And before you ask, I rather dislike exponential or geometric or other nonlinear growth "functions" for the factors. They're not easy to understand like a direct linear increase would be, and they're just as restrictive as linear... so it's better to go with the non-restrictive and slightly harder to understand table of values, imho.

emrys
Creative Contributor
Posts: 226
Joined: Fri Oct 24, 2003 3:44 pm

#6 Post by emrys » Thu Jul 08, 2004 4:28 pm

Although I agree that a table will give us the more flexibility for balancing , and so support it, I'd like to support geometric increase as the starting point for the table values, as it is more intuitive, since +1 on the meter always has the same relative value (i.e. 6->7 is, prima facie, as beneficial as 3>4).

e.g. (with the relative improvement of each level shown, along with that from using Geoff's (rather arbitrary numbers).

Code: Select all

meter multiplier %improvement c.f.
0     0.512		
1     0.64       25           infinite
2     0.8        25           100
3     1	       25           50
4     1.25       25           33
5     1.56       25           24
6     1.95       25           20
7     2.44       25           25
8     3.05       25           20
9     3.81       25           33
10    4.76       25           25
The only obvious drawback is that zero meter does not intrinsically mean zero output. As I see it there are three solutions to this, 1) clamp zero meter as zero output, arbitrary but simple; 2) embrace this feature and allow negative meter values with progressively smaller outputs. 3) switch to a different basis below breakeven (i.e. 3), reducing output more rapidly to get to meter 0 = zero output, i.e use Geoff's numbers below meter = 3. I'd see players accepting this as fairly natural, as psychologically those first few numbers above 0 are more vital.

this would then be

Code: Select all

meter multiplier %improvement c.f.
0     0		
1     0.33       infinite     infinite
2     0.66       100          100
3     1	       25           50
4     1.25       25           33
5     1.56       25           24
6     1.95       25           20
7     2.44       25           25
8     3.05       25           20
9     3.81       25           33
10    4.76       25           25
I can see swings and roundabouts everywhere, so I'd leave this decision up to the consensus/prejudices of others/Vagricies of Aquitaine (sounds like something biological :wink:).

(p.s. I'm sure we've already started this discussion somewhere else ... forgive me if this is a repost of my position)

vishnou00
Space Kraken
Posts: 157
Joined: Tue May 25, 2004 3:15 am

#7 Post by vishnou00 » Thu Jul 08, 2004 5:54 pm

Thats more what I had in mind. I don't see the advantage on having "simple" values (not weird float like 1.56) under the hood. As long as there are clear, simple value presented to the player. Non-consistant table data encourage min-maxing, which isn't what we seek.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12675
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#8 Post by Geoff the Medio » Thu Jul 08, 2004 6:29 pm

emrys wrote:I'd like to support geometric increase as the starting point for the table values, as it is more intuitive, since +1 on the meter always has the same relative value
It may be numerically the same value, but it might not be the same strategically... There are always going to be plateaus where you get just enough food to support another world with this or that population and focus...

That said, maybe numerical increase proportional equality is enough / better.

Edit, somewhat OT: If the food resource production meter maps to a meter factor that's multiplied by pop to get food produced, should the other resource meters have similar mappings? The others can be more easily balanced by costs for other things to spend them on, and there's less of a "break even point" concept for production/research/minearls since their use doesn't depend directly on population, but the amount of them "produced" does. Also, if we're going to have any buildings / techs / ships require some of each resource, then we'd probly want the rough scale of each major resource to be about the same, so 1 of each resource would have roughly the same in-game value, and comparisons between the amounts of their production can be easily made. (Also so you don't end up with a building requiring 3 food , 80 production, 2000000 credits per turn to build or somesuch).

Edit Again: Now that I think about it, for the resource meters, we want the meter factor to scale linearly with the meter value in order for "+1 on the meter [to] always ha[ve] the same relative value", don't we? If the meter grows exponentially, then 9 vs. 8 is a much bigger difference than 4 vs. 3. This might be desirable... but if we want "+1" to always mean the same thing, it should in fact always correspond to the same amount of additional resource produced. (The amount of extra food produced is more important than the ratio of food prouduced before and after)

User avatar
Impaler
Creative Contributor
Posts: 1060
Joined: Sun Jun 29, 2003 12:40 am
Location: Tucson, Arizona USA

#9 Post by Impaler » Sun Jul 11, 2004 4:35 am

I though we were going to have all Meter go into the negative with 0 as the normal unmodified position, just as in SMAC.

Zero should thus be the break even point for food production, above gives a surpluss and below makes the world dependent on imported food. Homeworld and ones with good environments would ofcorse have a higher then 0 value.
Fear is the Mind Killer - Frank Herbert -Dune

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12675
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#10 Post by Geoff the Medio » Mon Jul 12, 2004 5:46 am

Impaler wrote:I though we were going to have all Meter go into the negative with 0 as the normal unmodified position, just as in SMAC.

Zero should thus be the break even point for food production, above gives a surpluss and below makes the world dependent on imported food.
It's much clearer (and arguably simplier) to have the rate of resource production be directly proportional to the meter value. A meter value of 0 means a zero resource production, for all meters. Meter levels above this are the production per unit of population. It just so happens that for food, the rate of consumption is also proportional to the popuation (at a proportionality of 1 to 1), so a non-zero "break even point" arises. This "break even point" is not so simple for other resources, whose consumption is not directly proportional to population. But for simplicity and clarity, we keep all meters in the same range, so that 0 mean no production and a given value in a resource meter means the same amount of production per unit of population for all the resource meters.

m'kay? :D

emrys
Creative Contributor
Posts: 226
Joined: Fri Oct 24, 2003 3:44 pm

#11 Post by emrys » Mon Jul 12, 2004 4:55 pm

Geoff the Medio wrote:It may be numerically the same value, but it might not be the same strategically... There are always going to be plateaus where you get just enough food to support another world with this or that population and focus...
Obviously, that's why I want to start with these values, they would be one of the things considered for changing when we get to the balancing phase. Although I should mention that of course plateau and strategy changing levels are a good thing, however we shoudl try and design each system to be as independant of the others as possible, which means designing the production system to make sense - assuming the minimum about the rest of the game. The idea is to aim if possible to have the underlying model be nice and smooth and simple, so that the things that the players (and us as designers) worry about are actually strategic things, not artifacts of the system.
Edit Again: Now that I think about it, for the resource meters, we want the meter factor to scale linearly with the meter value in order for "+1 on the meter [to] always ha[ve] the same relative value", don't we? If the meter grows exponentially, then 9 vs. 8 is a much bigger difference than 4 vs. 3. This might be desirable... but if we want "+1" to always mean the same thing, it should in fact always correspond to the same amount of additional resource produced. (The amount of extra food produced is more important than the ratio of food prouduced before and after)
I disagree entirely. The point is to make the player hunger after each +1 the same amount. It is simply easier to deal with the game if +1 generally has about the same likelyhood of being strategically important. This really is only likely if it likely to change youy situation to a similar degree. Now obviously there are issues with how your costs scale, since it is the marginal production that determines strategies, but generally if I am currently producing 100 PP/turn, then 25PP is a big change, If I'm currently producing a million, frankly who cares about 25, it certainly isn't going to change my whole strategic outlook.

The only way that +1 makes the same percentage difference to your output (other factors aside) is if the mapping function is roughly geometric.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12675
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#12 Post by Geoff the Medio » Mon Jul 12, 2004 6:47 pm

emrys wrote:I disagree entirely. The point is to make the player hunger after each +1 the same amount.
I agree... which is why every +1 should give the same amount of additional production.
if I am currently producing 100 PP/turn, then 25PP is a big change, If I'm currently producing a million, frankly who cares about 25, it certainly isn't going to change my whole strategic outlook.

The only way that +1 makes the same percentage difference to your output (other factors aside) is if the mapping function is roughly geometric.
If production grows geometrically/exponentially, then the +1's get more and more valueable at higher meter levels. Why would you add +1 to a meter that's producing 10 and get a bonus of 2.5 / turn when you have a meter producing 100 and would get a bonus of 25?

The percentage difference to output is irrelivant. The actual change to output is relevant.

The real important strategic point is the difference between your production and another empire's. If you have 100 PP / turn, and they have 100 PP / turn, the difference is 0. If you produced 110 a turn, the +10 PP / turn gives you a huge advantage. The same applies if you're both at 1000 PP / turn or 10000. Assuming you have equal tech levels and strategic effects are neutral, the majority of your PP's "cancel", so however much extra you have is your advantage. The +10 has the same value in all cases. You don't need to go to +100 or +1000 to get the same relative value when at 1000 / turn or 10000 / turn. (Ok, I admit this isn't that clean cut, as minor fluctuations would be more likely to wash away the +10 if you're making 10000/turn, but the basic concept is sound)

For food, if you produce 9 / turn and need 10 / turn, then +1 is all you need. If you produce 99 / turn and need 100 turn, you only still only need +1 more. Getting +10 more is no extra help. The player "hungers" for each additional food the same amount.

Reserach is perhaps an exception, but this depend on how the costs of techs increase, and the difficulty in maintaining a tech lead that results.

Also, keep in mind that +1 change would mostly apply to a single planet. Even if you changed the output of that one planet by 25%, if the planet was only 10% of your empire's production, you've only changed your actual production by 2.5%.

Also again, AFAIK most games use additive, not multiplicative for most stackable bonuses. While popularity doesn't necessarily indicate correctness, it's often a useful indicator.

Maybe population growth works best with a geometric/exponential scale (though I'm doubtful on that as well), but not production.

User avatar
Daveybaby
Small Juggernaut
Posts: 724
Joined: Mon Sep 01, 2003 11:07 am
Location: Hastings, UK

#13 Post by Daveybaby » Mon Jul 12, 2004 9:21 pm

Geoff the Medio wrote:
emrys wrote:I disagree entirely. The point is to make the player hunger after each +1 the same amount.
I agree... which is why every +1 should give the same amount of additional production.

If production grows geometrically/exponentially, then the +1's get more and more valueable at higher meter levels. Why would you add +1 to a meter that's producing 10 and get a bonus of 2.5 / turn when you have a meter producing 100 and would get a bonus of 25?

The percentage difference to output is irrelivant. The actual change to output is relevant.
No, you have to keep it as a percentage growth each time, otherwise later techs just become irrelevant.

Bear in mind that most things will rise exponentially in cost as well, i.e. not only are your ships going to get far more expensive as the game progresses, but you are going to be building a lot more of them (i.e. the ratio of ships to planets will not stay linear).
The COW Project : You have a spy in your midst.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12675
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#14 Post by Geoff the Medio » Mon Jul 12, 2004 10:16 pm

Later techs can give a larger bonus than +1, so the rate at which things get more expensive is irrelivant.

The goal was to make +1 always be worth the same to the player. This is only true if +1 always gives the same amount extra independent of what the meter's current value is. If meters with higher current value give more bonus for +1 than meters with lower value, then the +1 is not always worth the same. (And it's always better to give a +1 to a meter with a larger current value.)

In SMAC, the first +1 to ECON is a minor detail, giving 1 engergy / city. The second +1 to econ is of huge importance, as it gives +1 on every worked square. The +1's are not worth the same because they don't give the same bonus, independent of the current value of the meter.

Later techs are just as important as earlier techs if they give a player an edge over another. If empire 1 has +4 from techs, and empire 2 has +5, the relative difference (+1 for empie 2) is the same as if empire 1 has +252 and empire 2 has +253.

If you don't buy the relativity argument, consider that later techs come when you probably have more planets. If a tech / building gives +1 to 40 planets at the end of a game, it's effect is 40 times as big as that of an early tech that gives +1 for on one planet.

+1 always being worth the same doesn't necessarily have to be the goal, but if it is, then +1 always giving the same bonus is the appropriate system.

User avatar
Ellestar
Space Squid
Posts: 72
Joined: Tue Jun 29, 2004 7:39 am
Location: Russian Federation, Moscow

#15 Post by Ellestar » Tue Jul 13, 2004 8:06 am

The most important difference from a builder's strategy perspective between linear bonus from a meter and exponential one is that with exponential bonus it's more efficient to make specialized planets - double-focused on one resource, all buildings with a bonus to this resource etc. That's because every increase to an exponential meter gives more resources than you're losing as an opportunity cost by not increasing any other meter - all other meters has lower value so you'll get less raw output by increasing that output in % from previous output.
With linear bonus it doesn't matter what your meter value is before adding a bonus. Also, it doesn't matter how high this meter is on one planet, it's more efficient to maximize total output from all planets(with your current economy ideas).

In addition to that, it's easier to balance linear meters because lower-level techs and starting bonuses suffer from diminishing returns.

I think that linear bonuses from meters are better.

Post Reply