Defining the Effects of Technology and Buildings
Defining the Effects of Technology and Buildings
Hope Tyreth doesn't mind me using the wiki for storing this text:
http://www.freeorion.org/wiki/index.php?title=Effects
It's a totally unoffical, first draft proposal on how the effects of technolgy, buildings, and lots of other stuff ought to catergorized in the design process, with an eye for implementing the effects in the actual game engine.
The idea here is to formalize the effects of buildings, techs, foci, racial picks, planet specials, events, government picks and the kitchen sink, so that the code will end up relatively clean and easy to maintain. I imagine even the village idiot (ie, me) could add/edit effects with something like this in place.
I'm thinking that this document, or rather something a lot like it, will be the first piece we'll need for the v.3 requirements doc.
http://www.freeorion.org/wiki/index.php?title=Effects
It's a totally unoffical, first draft proposal on how the effects of technolgy, buildings, and lots of other stuff ought to catergorized in the design process, with an eye for implementing the effects in the actual game engine.
The idea here is to formalize the effects of buildings, techs, foci, racial picks, planet specials, events, government picks and the kitchen sink, so that the code will end up relatively clean and easy to maintain. I imagine even the village idiot (ie, me) could add/edit effects with something like this in place.
I'm thinking that this document, or rather something a lot like it, will be the first piece we'll need for the v.3 requirements doc.
-
- Creative Contributor
- Posts: 383
- Joined: Fri Jun 27, 2003 2:35 am
- Location: Texas
Re: Defining the Effects of Technology and Buildings
Yea that seems to cover just about all the uses of buildigns etc that we will have. As long as the leaders/ships options are temporary. Ships will be a special class of objects that will have to be approached in a different way.drek wrote: http://www.freeorion.org/wiki/index.php?title=Effects
A note on the reuse of Effects
It may be advantageous to reuse defined Effects as much as possible, rather than (what?)
Obviously, there’d be some generic effects that follow common patterns. It would be cool to use these generics as parents for functioning effect classes.
Leaders can probably be considered empire wide effects. Maybe system or planet dependings on how we implement them.
Aquitaine is my Hero.... ![Wink ;)](./images/smilies/icon_wink.gif)
![Wink ;)](./images/smilies/icon_wink.gif)
- Krikkitone
- Creative Contributor
- Posts: 1559
- Joined: Sat Sep 13, 2003 6:52 pm
I'd make two changes
Instead of
Farming
Production
Mining
Science
Economy
I'd have
Farming Capacity
Production Capacity
Mining Capacity
Science Capacity
Economy Capacity
Farming Efficiency
Production Efficiency
Mining Efficiency
Science Efficiency
Economy Efficiency
(where capacity is basically how much Infrastructure is allowed)
Because We would want those seperate, Technology, Focus, and Population would generally increase Capacity (allowing more output for more cost,,which is offset by the more output they allow) wheras Race Picks, Government Bonuses, Environment would generally increase Efficiency.
I'd also add
Armor
Military Damage Capacity
Evasion Ability
Hidability
Detection Ability
Weapon Accuracy
Weapon Damage
Weapon Penetration
Fleet Speed
Military Maintenance
Ship Repair
so that Techs/Race Picks/Experience Levels could effect the Combat part of the game.
Instead of
Farming
Production
Mining
Science
Economy
I'd have
Farming Capacity
Production Capacity
Mining Capacity
Science Capacity
Economy Capacity
Farming Efficiency
Production Efficiency
Mining Efficiency
Science Efficiency
Economy Efficiency
(where capacity is basically how much Infrastructure is allowed)
Because We would want those seperate, Technology, Focus, and Population would generally increase Capacity (allowing more output for more cost,,which is offset by the more output they allow) wheras Race Picks, Government Bonuses, Environment would generally increase Efficiency.
I'd also add
Armor
Military Damage Capacity
Evasion Ability
Hidability
Detection Ability
Weapon Accuracy
Weapon Damage
Weapon Penetration
Fleet Speed
Military Maintenance
Ship Repair
so that Techs/Race Picks/Experience Levels could effect the Combat part of the game.
I think you are missing a small piece of the puzzle. The meters don't define infrastructure...they are infrastructure:Farming Capacity
Production Capacity
Mining Capacity
Science Capacity
Economy Capacity
Farming Efficiency
Production Efficiency
Mining Efficiency
Science Efficiency
Economy Efficiency
((Planet Food Meter)+(Empire Food Meter))*population = food output
If there are too many meters, the idea become more or less useless. The KISS rule of thumb applies here.
Naw. Every last single one of those traits could be handled by unlocking better ship parts. If we want a race with better armor, we give 'em better armor techs. Besides none of that stuff will be decided until v.4...this document is meant for the v.3 requirements doc.Armor
Military Damage Capacity
Evasion Ability
Hidability
Detection Ability
Weapon Accuracy
Weapon Damage
Weapon Penetration
Fleet Speed
Military Maintenance
Ship Repair
- Krikkitone
- Creative Contributor
- Posts: 1559
- Joined: Sat Sep 13, 2003 6:52 pm
Wouldn't it just be((Planet Food Meter)+(Empire Food Meter))*population = food output
((Planet Food Meter)+(Empire Food Meter))= food output
where population is just part of the Planet Food Meter?
Yes but wouldn't the ship parts contribute to a meter? (they will in any case its just whether or not other things contribute to it as well)Every last single one of those traits could be handled by unlocking better ship parts
The point I am trying to make is that if we have a 'managable number' of meters, the game will be oversimplified And we may be forced into unbalancing situations (like I am almost sure a simple 6 numbers for one's economic state would do).
We Should try and consolidate effects, but in terms of 'numbers' for the game that are affected by things, we are going to need a large number to get a good game.
After all, we can easily make the game incredibly simple..you pick a number and the game compares that to a RNG and determines whether you win. The problem is that would eliminate strategy, fun, and immersiveness (although I'm sure some people at Vegas might disagree)
Now we will have disagreements on what the right level of simplification is. And KISS is a good reminder when the extra complication renders a very minimal increase in strategy/fun/etc. But I think simplifying the entire economic output model to 6 numbers would be terribly limiting, an excessive loss of strategy for a minor gain in simplification.
Some things like a central 'Health' Meter seem like a good idea.
Also the idea of having Government, Racial, and Various Other (Tech, Environmental, Building) Effects all listed and tabulated in the same way (such that they are more easily understood by players and AIs, and easier to program and balance) that is a good idea.
Under the current v.2 system, it's Focus multiplier * population=resources gained per turn.
Under the meter system, setting a Focus adds to the appropriate meter. (as does technology, buildings etc etc)
Concerning ship parts, all of the attributes you listed might exist. But rather than a central set of meters, each ship part would have scores for these attributes (like a weapon in an RPG). To get better shields for example, unlock them through researching technology, then build them into a ship.
If it's decided that an empire can research tech that improves all shields empire-wide, then yes we'd need something like meters. But that's a decision for v4....in v3 there no ship design.
Under the meter system, setting a Focus adds to the appropriate meter. (as does technology, buildings etc etc)
Concerning ship parts, all of the attributes you listed might exist. But rather than a central set of meters, each ship part would have scores for these attributes (like a weapon in an RPG). To get better shields for example, unlock them through researching technology, then build them into a ship.
If it's decided that an empire can research tech that improves all shields empire-wide, then yes we'd need something like meters. But that's a decision for v4....in v3 there no ship design.
I modified it to show (Unofficial) at the top, but otherwise that's fine.
Is this proposal able to handle a situation where a particular wonder/special project gives double research at that planet? I'm imagining that this effect would need to be called after all other addition based affects are calculated for the planet's social meter, requiring some sort of ordering of effects. Perhaps a priority could be based for each affect depending on whether it's value is by adding/subtracting or multiplying/dividing the meter.
Is iterating through every effect each turn the best way to do it? It could get quite large late game, but that may be unavoidable. It seems that a number of these calculations are going to be the same every turn and so would benefit from some sort of caching to speed up turn generation.
Is this proposal able to handle a situation where a particular wonder/special project gives double research at that planet? I'm imagining that this effect would need to be called after all other addition based affects are calculated for the planet's social meter, requiring some sort of ordering of effects. Perhaps a priority could be based for each affect depending on whether it's value is by adding/subtracting or multiplying/dividing the meter.
Is iterating through every effect each turn the best way to do it? It could get quite large late game, but that may be unavoidable. It seems that a number of these calculations are going to be the same every turn and so would benefit from some sort of caching to speed up turn generation.
- Krikkitone
- Creative Contributor
- Posts: 1559
- Joined: Sat Sep 13, 2003 6:52 pm
On more of a Detailed Note (and since the game will obviously have Some type of 'Meters' the only issue is how consolidated they are), I Really don't think the Effects of various things should be Additive, rather they should be Multiplicative.*
So it would be something more like
(2^(Meter Total Value))=Output
This prevents swamping effects of things like technology, (so that a race pick isn't something you can just ignore and get enough tech so that you are both about equal...at the end of the game their people will Still be twice as productive as you, not going from 2x down to 10% more)
One other point, since meters Would affect each other, you need to be careful to avoid or account for cyclic effects.
*Ideally you would be able to have both effects, but If you are only going to have one, then I would stick with Multiplicative effects.
So it would be something more like
(2^(Meter Total Value))=Output
This prevents swamping effects of things like technology, (so that a race pick isn't something you can just ignore and get enough tech so that you are both about equal...at the end of the game their people will Still be twice as productive as you, not going from 2x down to 10% more)
One other point, since meters Would affect each other, you need to be careful to avoid or account for cyclic effects.
*Ideally you would be able to have both effects, but If you are only going to have one, then I would stick with Multiplicative effects.
Personally, I think all effects should add and subtract, rather than multiple and divide.Tyreth wrote: Is this proposal able to handle a situation where a particular wonder/special project gives double research at that planet?
You are correct in that multiplication would be hairy, since the order of execution for effects wouldn't be predictable. We'd have to set up a multiplier variable for each meter that is applied after all effects have been executed.
Another problem that just occured to me is effects that test the levels of meters should be run last. Perhaps effects need a flag that appends them to an "execute last" list.
K:
Don't need to worry about "swamping" if the meters are much more beneficial at the higher levels, and the number of bonuses is carefully controlled. You'd need those low level techs to reach for the higher bonuses of the top level of the meter.
Plus a high level tech doesn't need to add lots of points to a meter. If fact, it could add much less to a meter, compared to a low level tech. Since the number of additions to meters from tech and buildings would be designed to add up exactly to a certain number, the player would have to research everything in order to get the max bonus.
- Krikkitone
- Creative Contributor
- Posts: 1559
- Joined: Sat Sep 13, 2003 6:52 pm
The problem with declining or equal bonuses from High level techs is that then They get swamped.
The point is a +1 when you already have 10 is Far less important than a +1 when you have 2. (this is assuming the value is directly proportional to the effect) Whether that +1 is from a newly acquired tech or from a earlier tech or from a race pick at the beginning of the game doesn't matter, the point is that as time/tech goes on it will be less and less important.
If as you have suggested, increasing levels have increasing effects...well it would help if they followed a predictable pattern (because, among other things, that would allow a wider range of possibilities).
Also while the Meter may be additive, if its effects are Not directly proportional to its value, then the actual effect is not additive (as my model would give where the Meter is additive, but the effect is multiplicative..which maintains a continuous importance of the same +1)
The point is a +1 when you already have 10 is Far less important than a +1 when you have 2. (this is assuming the value is directly proportional to the effect) Whether that +1 is from a newly acquired tech or from a earlier tech or from a race pick at the beginning of the game doesn't matter, the point is that as time/tech goes on it will be less and less important.
If as you have suggested, increasing levels have increasing effects...well it would help if they followed a predictable pattern (because, among other things, that would allow a wider range of possibilities).
Also while the Meter may be additive, if its effects are Not directly proportional to its value, then the actual effect is not additive (as my model would give where the Meter is additive, but the effect is multiplicative..which maintains a continuous importance of the same +1)
- Krikkitone
- Creative Contributor
- Posts: 1559
- Joined: Sat Sep 13, 2003 6:52 pm
Except for in Civ3, it is not Multiplicative it is additive (its just different things add to each other and then multiply by other things)
Marketplaces and Banks Both give +50%
but building a Bank when you have a Marketplace only increases your income by 1/3
If you have a Library and a Univerity, the 'doubles research output' only increases it by 50% over what it was before (2x base v. 3x base)
Now because Civ has a very small number of increases, this is not a big issue, the most anything changes is perhaps 4 fold (and that is at the stage of the game people don't get to, and only particular situations)
an example of multiplicative effect is the effect of
population* corruption* Tile efficiency *Conversion Efficiency from buildings
Each of which is a seperate meter (3 are additive, corruption is more complex) The point is they multiply by each other.
So a multiplicative metric would not be +1 =+1% it would be +1= * 1.01 which is a different thing if you do it more than once. (which is the whole issue)
Marketplaces and Banks Both give +50%
but building a Bank when you have a Marketplace only increases your income by 1/3
If you have a Library and a Univerity, the 'doubles research output' only increases it by 50% over what it was before (2x base v. 3x base)
Now because Civ has a very small number of increases, this is not a big issue, the most anything changes is perhaps 4 fold (and that is at the stage of the game people don't get to, and only particular situations)
an example of multiplicative effect is the effect of
population* corruption* Tile efficiency *Conversion Efficiency from buildings
Each of which is a seperate meter (3 are additive, corruption is more complex) The point is they multiply by each other.
So a multiplicative metric would not be +1 =+1% it would be +1= * 1.01 which is a different thing if you do it more than once. (which is the whole issue)
-
- Creative Contributor
- Posts: 383
- Joined: Fri Jun 27, 2003 2:35 am
- Location: Texas
Ughh.. Yes I know exactly what you mean Krikkitone. I can't wait to start coming up with those juicy equations. Multiplicative bonuses WOULD be the best but will be the most complicated. However if we can create a good system for organizing bonuses a multiplicative system will allow us greater flexibility and more diversity with our custom races. However it will not be as intuitive to modders or us as we are trying to debug/balance the system.
To break it down:
Additive Bonuses +1 to food +2 to industry etc. Easier to implement, more intuitive but overall more restrictive and harder to balance.
Multiplicative Bonuses 10% bonus to farming 50% to industry. When we have LOTS of these types of bonuses from governments or leaders or buildings whatevre it will be hard to keep the bonus straight and it will be difficult to come up with an intuitive way to order the bonus effects so that they don't stack too much. So it will intitially be complicated but if we come up with a good system it shouldn't be too bad.
Until then though...math ahoy.
To break it down:
Additive Bonuses +1 to food +2 to industry etc. Easier to implement, more intuitive but overall more restrictive and harder to balance.
Multiplicative Bonuses 10% bonus to farming 50% to industry. When we have LOTS of these types of bonuses from governments or leaders or buildings whatevre it will be hard to keep the bonus straight and it will be difficult to come up with an intuitive way to order the bonus effects so that they don't stack too much. So it will intitially be complicated but if we come up with a good system it shouldn't be too bad.
Until then though...math ahoy.
Aquitaine is my Hero.... ![Wink ;)](./images/smilies/icon_wink.gif)
![Wink ;)](./images/smilies/icon_wink.gif)
Not hard at all. Every variable/meter would have a multiplier. If you have one buildings that adds 30% and other that adds 10%, you'd add those numbers together in the multiper for +40%.When we have LOTS of these types of bonuses from governments or leaders or buildings whatevre it will be hard to keep the bonus straight and it will be difficult to come up with an intuitive way to order the bonus effects so that they don't stack too much.
Still don't like it. In my head the game is much easier for the player to parse if most (if not all) effects only add or subtract to the base meter, rather than to a multiplier.