Closed Thread
Page 1 of 5 1 2 3 ... LastLast
Results 1 to 20 of 93

Thread: Anyone wants real and working economy?

  1. #1

    Lightbulb Anyone wants real and working economy?

    Hi, how do you like Victoria 2? I have somewhere read that V2 has potential to be best paradox game. That's exactly my view.

    Introduction
    My biggest issue with v2 is its economical model. I'm a PhD student in Economics. I've analysed current model and its issue. Pops are not spending their money. Than comes lower demand than supply for every good. Than factory not selling and pops not making money. Pops needs compared to production is too small with high tech and vice versa with low tech. This ratio should be something like 1:1 regardless of tech or year. When you are high tech country, you have to much money, so have your pops and you can't sell your surplus production on the market. If you have low tech country you have no money so your pops. It is like one or zero not anything between.

    Also I've Mgr (equivalent of MSc) in IT. I've some ideas how to fix it. I've tried to mod them into the game. Check pops cash_reserves and rise needs through poor_life_needs etc. But current modding tools are too weak for this. Also if these ideas make it into vanila, everyone can benefit. Here is my model and something like source code for it.

    New model - Real economy
    I could make better one, but this is enough for V2 needs. And it is huge improvement compared to current one.

    Victoria benefits
    + simple model, configurable by parameters
    + working economy for small, big, low tech, high tech country, any year
    + fixes problems of current economical model
    + primary purpose of model is better gameplay
    + model's characteristics are close to real word
    + player doesn't have to be economics expert
    + no good characteristic of old model is lost
    + no impact on game speed
    + easy to implement (actually I've already did it for PI)


    1. Making pops spend their money (modeling consumption function)
    Pops' cash reserves shouldn't go to infinite (maybe it should, but by logarithmic function not arithmetic one). It should be: the bigger cash reserves the bigger spending. Some pops like farmers would keep smaller reserves other like capitalists bigger.

    variables (skip it!):
    Code:
     good_need   # from popfiles modified by pop size, events etc. (current model buying)
     cash   # how much money they have
     cash_daily_needs   # how much money they need every day for buy all goods they need (it is already calculated)
     reserves_days   # how many days can pop be without income and buy all goods
     minimal_reserves_days   # when pop starts spending more money (different for all pop types, saved in popfiles)
     surplus_reserves_days_impact   # rate of spending increases (different for all pop types, saved in popfiles, could be also different for needs # everyday, life, luxury)
     (something like marginal propensity to consume)
     goods_need_modifier   # modifier of original values
     final_good_need   # result of function

    function (skip it!):
    Code:
     reserves_days = cash / cash_daily_needs
     goods_need_modifier = 1
     if (reserves_days > minimal_reserves_days) {
       goods_need_modifier = 1 + (reserves_days - minimal_reserves_days) * surplus_reserves_days_impact
     }
     for (goods) {
        final_good_need = goods_need_modifier * good_need
     }
    example:
    Pop has 100 money. cash = 100
    They need 2 money every day for buy all goods. cash_daily_needs = 2
    reserves_days = 200/2 = 50

    They are farmers.
    farmers.txt minimal_reserves_days = 10 surplus_reserves_days_impact = 0.002 # can be modded

    goods_need_modifier = 1 + (50 - 10) *0.002 = 1.08
    They would buy +8% goods

    grain = 10 * 1.08 = 10.8
    cattle = 5 * 1.08 = 5.4
    They need 10 grain and 5 cattle but they will buy 10.8 grain and 5.4 cattle.

    IMPLEMENTATION NOTE: State paid pop's cash reserves and their potential spending increases shouldn't influence state spending (loop danger - pops spend more -> higher maintenance -> bigger wages -> pops spend more).


    2. Influencing pops demands by goods prices (modeling demand curve and marginal utility)
    If some good is too expense its demand is dropping and vice versa. So pop is making 50 money and buy 10 grain for 2 each and 6 cattle for 5 each. If price of cattle rise to 10. Pop shouldn't buy 10g + 6c. In real world it would be something like 15g + 1c. But this would by harder to implement (not much, 10-30 code lines). Easy to implement would be to scale demand by price. So pop would buy 10 grain and something between 2 cattle (same spending - unitarily elastic) and 6 cattle (same count - perfectly inelastic).

    variables (skip it!):
    Code:
     original_good_need   # from popfiles
     good_price   # base price of good - goods.txt (not price from yesterday)
     market_good_price   # current in game price on the global market
     price_change_impact   # impact of price changes, between 0 (same count - perfectly inelastic) and 1 (same spending - unitarily elastic) (saved in defines.lua, could be also different for needs   # everyday, life, luxury)
    (price elasticity with opposite sign)
     base_good_need   # modified popfiles value
    function (skip it!):
    Code:
     for (pop_types) { # it is global for pop types, function is started only once a day
       for (good_needed) {
         base_good_need = original_good_need / (1 + (market_good_price - good_price) / good_price * price_change_impact)
       }
     }
    example:
    Pop needs 5 steel.
    Starting price of steel is 10. Pop would spend 50 to get needed steel (with price 10). But current price of steel on the global market is 20. Impact of price change is 0.5.

    base_good_need = 5 / (1 + (20 - 10) / 10 * 0.5) = 5 / 1.5 = 3.33

    Pop will need 3.33 of steel (instead of 5) and will spend 66 (it would be 100 for original 5 with price of 20).

    3. Setting goods prices on global market by demand and supply (NEW)
    I has been thinking that this is actually working in vanila. But marshman and shikaka opened my eyes.
    If demand is bigger then supply, price should rise and vice versa.

    My observing:
    1.Demand in market is "virtual demand", what would pops buy if the have money. This is definitely wrong. I think it would be changed in some patch. Demand should be based only on pops which can afford good.
    2.Price almost doesn't change (at last down). I think this is on purpose by PI. If they allow real price changes, their current economics system would crash in no time.

    How to do it right:
    We know supply. Here is no problem in vanila now. We just need to get real demand. When pops buy some goods, we add it demand. When pop wants to buy some good and that isn't on the market we add it to demand. We add states buying. We have real demand now. We can calculate price for next day.

    price change function (skip it!):
    Code:
    price = old_price * (1 + 2 * (demand - supply) / (demand + supply) * price_change_speed)
    price_change_speed - set speed of dropping and raising of price (between 0 - no changes and 1 - fast, I guess optimum would be something like 0.02)

    example 1:
    Good is steel. Its demand is 25000 and supply is 15000. Price is 5.
    price_change_speed = 0.1 (0.1 - this would be fast)
    price = 5 * (1 + 2 * 10000/40000 * 0.1) = 5 * 1.05 = 5.25
    Price of steel for next day would be 5.25.

    example 2:
    Good is grain. Its demand is 15000 and supply is 25000. Price is 5.
    price_change_speed = 0.01 (0.01 - this would be slow)
    price = 5 * (1 + 2 * (-10000)/40000 * 0.01) = 5 * 0.995 = 4.975
    Price of grain for next day would be 4.975.

    Conclusion
    It's complex and simple. I have speend too much time thinking about this. So I would be happy for any feedback from you.

    Regards to Naselus, way2co0l, KonradRichtmark, Valentin the II and others from "Reworked POP needs to stimulate demand" team. Also Brownbeard, he is working on BROWNBEARDS pop overhaul. You are doing great job.
    Have fun! D.
    Last edited by Dishonor; 18-08-2010 at 23:17. Reason: Adding part 3.

  2. #2
    It looks like a good idea, but anytime someone suggests calculations like this someone else comes in and says it will kill performance in the late game.

    I agree that this seems like a good way to handle the under consumption problems in the game though, and hopefully with a system like this in place they could tone down the craftsmen base needs.

  3. #3
    Paul Bäumer's gravedigger Becephalus's Avatar
    Crusader Kings IIDiplomacyEuropa Universalis 3For the MotherlandHearts of Iron III
    Heir to the ThroneEuropa Universalis III: In NomineEU3 Napoleon's AmbitionVictoria: RevolutionsRome Gold
    Semper FiSengokuSword of the Stars IIVictoria 2Rome: Vae Victis

    Join Date
    Mar 2002
    Location
    Duluth, Minnesota
    Posts
    2,161
    These are some good ideas. Nice to see elastic and inelastic demands taken into consideration. I hope Paradox can get the economy fixed in an elegant way without kludging it too badly. I am sure that in 1 or 2 patches it will be vastly better, but it may only be so through brute force methods which are not realistic and may lead to future problems.
    Its always darkest right before it is completely black -Chairman Mao

    Those who beat their swords into plowshares often end up plowing for those who kept their swords -someone wise

    "If you take a starving dog off the streets and make him prosperous, he will not bite you. This is the principle difference between a dog and a man." -Samuel Clemens (Mark Twain)

  4. #4
    AFAIK the lua's allow for user made variables but I'm that familiar on exactly how you go about it.

    I agree and it seems to me the RGO's (aristocrats and labors) are the most wealthy in the game simply because they generate free resources without much cost.

    Even if the market is flooded with a good, they still make good money because the aristocrats and laborers needs are relatively low compared to their incomes.

  5. #5
    Captain vinc3nt23's Avatar
    Hearts of Iron 2: ArmageddonHearts of Iron IIIVictoria: RevolutionsSemper FiVictoria 2
    Mount & Blade: With Fire and Sword

    Join Date
    Aug 2009
    Location
    Worker’s Commonwealth
    Posts
    331
    Dishonor, try contacting PI about your ideas on the economics, maybe they will consider testing the equations in their current system.

  6. #6
    Major Clemens August's Avatar
    Europa Universalis 3Victoria 2

    Join Date
    Mar 2001
    Location
    Berlin, Germany
    Posts
    679
    Sounds intriguing. If feasible, I'd like to see such refining of the economic model.

  7. #7
    well the tweaking done so far by the aforementioned gentlemen works really well in my current game. should probably move this to the mod forum for more qualified discussion ;o

  8. #8
    Captain Swordsman1219's Avatar
    EU3 CompleteHearts of Iron IIIVictoria 2Victoria II: A House Divided

    Join Date
    Jun 2008
    Location
    Pennsylvania
    Posts
    485
    Please make this into a mod mate, it would be perfect

  9. #9
    The point about people not spending doesn't truly break the game - it happens all of the time in the real world (like right now, for example). As long as that money keep piling into the national bank, someone (right now, a government) will borrow and spend it for them, which isn't that big of a problem.

  10. #10
    Good ideas, but I don't think the performance requirements would be feasible.
    It's not that there aren't enough hours in the day. Just that I'm not awake for enough of the ones already available. - Karen Ellis

    You may also know/hate me as Semaphore >.> <.<

  11. #11
    General JimboOmega's Avatar
    Crusader Kings IIEuropa Universalis 3Hearts of Iron IIIHeir to the ThroneEuropa Universalis III: In Nomine
    EU3 Napoleon's AmbitionVictoria: RevolutionsEuropa Universalis: RomeSemper FiVictoria 2
    500k clubEuropa Universalis IV

    Join Date
    Jun 2004
    Location
    San Francisco, CA, USA
    Posts
    1,866
    There are already constant recalculations of how much money POPs are spending and so on. This sounds like a few extra lines added on there. It's straightforward arithmetic with no loops; I don't see why this would be a performance problem. It's not a massive AI change.

    It's also quite necessary. I spent a lot of time today trying to figure out how to work out my POP needs so I could continue playing the game without either starving the game of demand or starving my craftsmen -and do it without tweaking my poptypes constantly (which feels like cheating).

    Fine control of POP needs that are moddable would definitely enhance the game as well, I have a lot of faith in the mod community even though I don't play mods much myself.

  12. #12
    Quote Originally Posted by JimboOmega View Post
    There are already constant recalculations of how much money POPs are spending and so on. This sounds like a few extra lines added on there.
    But just a few extra statements would be double/triple the calculations needed, which I think is pretty significant given how much the game slows down as POPs increase after the first few decades.
    It's not that there aren't enough hours in the day. Just that I'm not awake for enough of the ones already available. - Karen Ellis

    You may also know/hate me as Semaphore >.> <.<

  13. #13
    Thanks for support everyone.

    Quote Originally Posted by vertinox View Post
    AFAIK the lua's allow for user made variables but I'm that familiar on exactly how you go about it.
    That would be nice, but this functions aren't in the lua files.

    Quote Originally Posted by vinc3nt23 View Post
    Dishonor, try contacting PI about your ideas on the economics, maybe they will consider testing the equations in their current system.
    You are really a positive person. I don't think that it is possible.

    Quote Originally Posted by rmdsc View Post
    But just a few extra statements would be double/triple the calculations needed, which I think is pretty significant given how much the game slows down as POPs increase after the first few decades.
    I understand. I'm playing on old notebook!

    I can say you are referring to part 1 (which would be started for every pop), part 2 would be started only once globally. I've wrote "no impact on game speed". Not because of promoting my idea but because I believe so. I have estimated about +5-10% max.

    I can be wrong. I know it. We can only guess without trying it (Which I've done with event for every pops something like 5x complicated code. Event fired immediately. There are many more thinks that are computing for every pops like promoting, demoting, births, emigrating, militancy, consciousness and a lot of staff we don't know about.). But lets say your estimation is right +100-200%. What about updating goods_need_modifier every 10 days? That would be +10-20% (and +0.5-1% for mine).

    It can be done without slowing performance. What do you think?

    BONUS - Does anyone noticed that "cappitalist borrowing from bank" feature isn't in the game?

    And why?
    Pops don't spend their money -> they save them in the bank -> to much money in the bank -> capitalists can build max level railroad and full state of factories in one year (that would be stupid)

    If part 1 would be in game, there wouldn't be so much money in the bank. This feature can be reintroduce.

  14. #14
    Absent Minded Orinsul's Avatar
    Crusader Kings IIDeus VultEuropa Universalis: ChroniclesDivine WindHearts of Iron III
    HOI3: Their Finest HourHeir to the ThroneSengokuVictoria 2Victoria II: A House Divided
    CK2: Holy Knight500k clubEuropa Universalis IV: Pre-orderCrusader Kings II: Legacy of RomeCrusader Kings II: Sword of Islam
    Crusader Kings II: Sunset InvasionCrusader Kings II: The RepublicCrusader Kings II: The Old GodsCrusader Kings II: Sons of AbrahamCrusader Kings II: Rajas of India
    Crusader Kings II: Charlemagne

    Join Date
    Feb 2008
    Location
    Otago, New Zealand
    Posts
    6,957
    Quote Originally Posted by Dishonor View Post
    Thanks for support everyone.

    BONUS - Does anyone noticed that "cappitalist borrowing from bank" feature isn't in the game?[/SIZE]
    And why?
    Pops don't spend their money -> they save them in the bank -> to much money in the bank -> capitalists can build max level railroad and full state of factories in one year (that would be stupid)

    If part 1 would be in game, there wouldn't be so much money in the bank. This feature can be reintroduce.
    what if the player could manually lend money to specific capitalists, coming not from the bank by government funds. so it was expensive so not easy to do, but then you could give money to new capitalists in countries without factories. without having to worry about wealthy bank problems
    Nationality: New Zealander
    Religion: Roman Catholic
    Ideology: Distributist
    Issues: Moralism/Full Citizenship
    How did some slip of a girlyboy from communist East Berlin become the internationally ignored song stylist barely standing before you?

    Don't Press the O
    "There's nothing sicker in society
    Than a lack of liquor and sobriety!"

  15. #15
    i havent thought that something like this is possible without too much cpu usage.

    like it

  16. #16
    "GRRRR ME WANTS POLLS!" Biges's Avatar
    200k clubHoI AnthologyCrusader Kings IIDeus VultEU3 Complete
    Victoria: RevolutionsVictoria 2Victoria II: A House Divided

    Join Date
    May 2005
    Location
    Czechia in The Empire of Europe (aka EU)
    Posts
    1,573
    We have an educated fellow here

    Good ideas. I also have degree in economics, that's why I still wait for the next patch and/or mods to see if they fix the current broken economy model. Personally I also see problem in the factories model, for example they can't upgrade/downgrade, convert to another production. But I already mentioned this in another thread.
    Nationality: Czech
    Religion: Atheist
    Ideology: Anarcho-Liberal
    Issues: Laissez Faire/Full Citizenship
    Cash Reserves: Rising
    Militancy: 4 (-0.01)
    Consciousness: 9 (+0.10)

  17. #17
    Major Radu's Avatar
    Arsenal of DemocracyHearts of Iron IIISemper Fi500k clubEuropa Universalis IV

    Join Date
    Dec 2007
    Location
    Romania
    Posts
    760
    @Dishonour

    Finally somebody that knows his stuff. They could have used you during the dev cycle. You should see about joining a mod team. My personal recommendation is the Victoria Improvement Project (VIP). Unless I'm mistaken, OHGamer is the bigwig there, drop him a line.

  18. #18
    Quote Originally Posted by Dishonor View Post
    Pops don't spend their money -> they save them in the bank -> to much money in the bank -> capitalists can build max level railroad and full state of factories in one year (that would be stupid)
    It might be stupid gameplaywise, but it would certainly be realistic. When investing in new infrastructure/production in the real world, starting with old technology and then scrapping every "level" to build the next level of technology would be stupid.

  19. #19
    Captain Evleos's Avatar
    Europa Universalis 3Hearts of Iron IIIVictoria 2

    Join Date
    Oct 2003
    Location
    Hordaland
    Posts
    319
    Good ideas indeed !

    It would make my day / week / month if they listened to you, or us economists. I too have a degree in economics

    I was very stoked on hearing the potentials of the current economic system, e.g. with the realistic flowing mony system and autopromotion of pops. But disappointed upon the realization that demand was static, which makes it impossible to link up demand / supply in any realistic way later in the game -> huge productivity increases whilst static demand causing overproduction and infinite saving..
    In the land of tooth for tooth, eye for eye. Everyone is blind and toothless.

  20. #20
    First, thanks for putting on equation what I've trying to say in other threads. To much money sitting on banks and savings. Second, for capitalists to use that money whould be realistic and if you add a feature allowing people to take money from the bank, it would solve the problem of instant industrialization. If you take the progressive spenditure model you describe above and add credit taking, it would add a use for the money sitting on banks.
    2. Projects should be more expensive. 1250$ for a factory, in front of 2mil$ sitting on banks and/or national funds is too cheap. There should also be a limit to how much a POP can take in debt from banks, so the money just doesn't disapeared.

Closed Thread
Page 1 of 5 1 2 3 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts