 |
|  |
 |
|
Guildmaster
|
|
Up your butt and around the corner
Jun 2000 time: 05:14
|
|
Add two techs to the tech tree which radically screw with the industrial powers...
1) HMRF, or Hypermagnetic Molecular Rearrangement Fabrication- first developped in 2052, this technique allows the fabricator to manipulate mass ammounts of individual molecules to form any desired product with exactly the structural qualities indicated. Result: all goods produced by HMRF are grade A, an HMRF equipped factory product-to-resources ratio increases 2-4 times depending on the product, HMRF equipped reclycling centers increase to 100%-meaning 100% of refuse is turned into resources.
2) SAF, or Sub-Atomic Fabrication- Finally completed in 2098, this technique involves the precise and direct manipulation of sub atomic particles to form the desired isotope of a given element. While sucessfully performed more than 40 years earlier, it wasn't until Dr. Jane Janeson figured out a way to do it in mass quantites sufficient for industrial use. Result: All raw materials cost exactly the same - nothing, quality index for all goods (even grade A goods) goes up, gold-based economy destroyed...
Anyway just some thoughts about how implementation of technology might impact gameplay
------------------
Peace and trust can win the day despite all your losing
-Led Zepplin
|
|
|  |
 |
|
Guildmaster
|
|
Up your butt and around the corner
Jun 2000 time: 05:14
|
|
Add two techs to the tech tree which radically screw with the industrial powers...
1) HMRF, or Hypermagnetic Molecular Rearrangement Fabrication- first developped in 2052, this technique allows the fabricator to manipulate mass ammounts of individual molecules to form any desired product with exactly the structural qualities indicated. Result: all goods produced by HMRF are grade A, an HMRF equipped factory product-to-resources ratio increases 2-4 times depending on the product, HMRF equipped reclycling centers increase to 100%-meaning 100% of refuse is turned into resources.
2) SAF, or Sub-Atomic Fabrication- Finally completed in 2098, this technique involves the precise and direct manipulation of sub atomic particles to form the desired isotope of a given element. While sucessfully performed more than 40 years earlier, it wasn't until Dr. Jane Janeson figured out a way to do it in mass quantites sufficient for industrial use. Result: All raw materials cost exactly the same - nothing, quality index for all goods (even grade A goods) goes up, gold-based economy destroyed...
Anyway just some thoughts about how implementation of technology might impact gameplay
------------------
Peace and trust can win the day despite all your losing
-Led Zepplin
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
Ok, I have been doing some math on the demand, and I may, just may have found a working function.
Mostly it is like it has always been. Demand is a function of the price:
D(p)=M+Ep
Where M is the max demand – the demand where price will be 0, E is elasticity (a constant for each good – it would actually be not a constant, but a constant multiplied by D’ (see below), since elasticity is a percentage of the demand of a good and not a constant), D is demand and p is price.
But we don’t have M in our initial demand function. In stead we have D’ – the demand where p=10 - also called basic demand or initial demand. In the economy model demo design doc I have made a list of the D’ for the different goods at different income levels. Therefor D’ can be found in this list easily.
Therefor we need to find a way to replace M with D’. It can be done this way:
D’=M+10E =>
M=D’-10E =>
D(p)=D’-10E+Ep
We also have a supply function S(p). This, unlike D(p) is constant at all prices when looking at a single turn. Therefore S(p) can be replaced with the constant S – a certain amount. And D(p)=S(p). Therefore:
S=D’-10E+Ep =>
Ep=S+10E-D’ =>
p=(S+10E-B)/E=10+(S-D’)/E
This is the function I will be using when calculating the price.
Unfortunately this demand function opens for the possibility that when faced with extreme situation the price might end up being negative. A more advanced demand function could remove this problem, but since this would make the math needed much more complex and not at the simple level we have here, I in stead introduce a simple rule, that, although it’s not a perfect solution, avoids the most annoying problems with little extra needed detail: The rule is simply, that the price can never drop below 1 per item. This means that if the price via the price calculator is below 1 the price calculator would simply not be used, and be replaced with the rule, that p=1. But D(p)=S would still work.
For the demo I have chosen these elasticities for each of the 3 goods:
E(food)=-0,05D’
E(housing)=-0,07D’
E(clothing)=-0,1D’
This will mean that:
p(food)=10+(D’-S)/0,05D’
p(housing)=10+(D’-S)/0,07D’
p(clothing)=10+(D’-S)/0,1D’
The price calculations would then simply follow the list of goods demanded from the top down:
Examble:
We have just 1 PU in this examble.
I decide that:
S(food)=10
S(housing)=3
S(clothing)=1
Income=100
D’(food)=5
Since these are the first 5 goods demanded.
p(food)=10+(5-10)/(0,05*5)=10-20=-10
Therefore the price rule kicks in, and
p(food)=1
D(food)=S(food)=10
So people spend 10 credits on food. Since they have money left we will proceed down through the list of goods:
D’(housing)=1
p(housing)=10+(1-3)/(0,07*1)=-18
Again the price rule kicks in:
p(housing)=1
D(housing)=3
Money spent on housing: 3. Again they have money left so it will continue…
I gotta go now, but I will be back tonight and finish this.
------------------
"It is only when we have lost everything
that we are free to do anything."
- Fight Club
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
Basically this pattern will continue as long as people have more money to spend. When the amount of money they have left drops below 10 they will simple spend the rest of their money on the next good in the list (I will describe this in more detail tomorrow). If they have spent more money than they earn then the latest demand calculated will be removed, and a function will be made to make sure that people just spends their last money on that good. Again I will explain this in greater detail later.
Korn:
I agree with you that this should happen (well, actually I think supply should be a function of the price - which would then be a function of demand), but I think having it being done within each turn would create just more problems than it would solve. It would mean that a lot of variables were depending on each other, which could make it hell to design and program. Just changing supply between turns is much simpler and really not any less functional.
But I don't really think I understand your function.
So, to make an examble using it, if the demand is 500 and the price is 10 (which would mean equilibrium) then the next turn supply would be 500/(10^2+1)~5
????????
It doesn't seem to be completely thought through. Or maybe I am misunderstanding something.
I think a supply function could be made simply by basing it on the price of the good (or later on the profit per sold item of the good). This would mean that when demand exceeded supply the price would rise, which would cause supply to rise too.
------------------
"It is only when we have lost everything
that we are free to do anything."
- Fight Club
|
|
|  |
 |
|
amjayee
|
 |
Jyväskylä, Finland
Oct 1999 time: 07:14
|
|
Hi Korn:
Your list sounded exhaustive, though a bit difficult to follow. But I got it, I think. It brought me to think, that we might not want to use simple algebraic equations; those would perhaps be over-simplified, and also it might not be realistic to use a simple formula to find the optimum prices, when there are so many factors to take into consideration.
Computers are not good only at making calculations; they are also quite efficient at making comparisons and thus reacting to simple events, taht can be described with short sentences. So, we might want to make the economy algorithm perform some kind of simple analysis of the current situation, and then make a small correction to prices, that might not be optimal; then next turn same would happen again. In crisis situations, the actions might be more drastic. This way I think we could take into account more factors, and that would also be quite simple to do. Also we would make the system much more realistic.
About prices changing: I'd like to add, that the government might decide to support one industry, if it seems to be necessary. This way, they could lower their prices and become more competitive. Perhaps we'd like to add also some other tools for the governments to control the economics.
Which brings to my mind: I have understood, that it would be difficult to model inflation very efficiently. But could we have some kind of simple figure, that could be used to model the effects of extreme situations, like hyperinflation? The figure might not have to work excactly like inflation, but it would serve as a tool that could affect some things, and it would have quite a lot effect in economical crisises. Just a thought. Hyperinflation is after all quite a significant phenomenon.
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
Korn:
In-turn supply and demand calculations:
Of cause. You're right. I hadn't really thought it through when I posted that. What I meant to say was, that to avoid making the system too hard to create, I thought that supply and demand should be calculated one after the other, and not simultaneously. If we do the latter then a lot of variables will be dependant on each other, which will make it very hard to create the system. In stead I suggest that it should be done something like this:
First supply is calculated via the price set the turn before.
Then this suppply will create a new demand for labour, and therefore a new income and thus a new demand. This demand will be used to calculate a price, combined with the supply calculated before. But by now the supply should be unchangeable. This will mean that no matter what the price is the supply will not change untill after the next turn. This might not seem very dynamic, but since the changes in supply and demand should propably never be more than a few percent each turn it should work.
If we are to have demand and supply both changed at the same time it would mean that when supply changed so would the demand for labour, and therefore also the wages and thereby the demand itself, which again would change the price and the supply etc. It would be overwhelming to create such a system.
Guildmaster:
That sounds like reasonable features. We will need a way to calculate how advances effects economy. Of cause mostly the result would just be a rise in productivity and not extreme ones like those sci fi techs!
About using math or sentences:
Since math is the language of economics I suggest that we use math in our model, in stead of just some vague sentences.
Amjayee, I think that using simple algebra would propably prove not just simpler, but also more efficient than to use sentences.
I can't really see how a non math economy model should work...
At least I suggest that you should try programming more than 1 version of the economy model demo, one using math and one not doing so. This way we can see which one works best.
Inflation:
The main reason why I would find it hard to model inflation is, that I don't really know what causes it . The hyperinflation in Germany in the 20s was mostly caused by the government increasing the amount of money dramastically. I think it could be possible to model inflation in the game, but right now we should think about more basic things, like gettin a demo that works!
Also, Amjayee, could you post in my "OpenCiv3 changes name to GGS" thread at the Civ3 forum? Sir Shiva seems somewhat interested in helping us out, but I can't really tell him much about programming issues - I believe you can!
------------------
"It is only when we have lost everything
that we are free to do anything."
- Fight Club
|
|
|  |
 |
|  |
 |
|
S. Kroeze
|
 |
the Hague, the Netherlands, Old Europe
Dec 1999 time: 05:14
|
|
To my knowledge inflation is mainly determined by quantity of money and velocity of circulation.
This is a citation from the Britannica:
quote:

Inflation
in economics, collective increases in the supply of money, in money incomes, or in prices. Inflation is generally thought of as an inordinate rise in the general level of prices.
From a theoretical view, at least four basic schemata commonly used in considerations of inflation can be distinguished.
The quantity theory
The first of these and the oldest is the view that the level of prices is determined by the quantity of money. The ratio of the stock of money that people want to hold to the value of the transactions they perform each year (or the inverse of this ratio, called the velocity of circulation) is supposed, in the simplest version of this view, to be fixed by such factors as the frequency of wage payments, the structure of the economy, and saving and shopping habits. So long as these remain constant, the price level will be directly proportional to the supply of money and inversely proportional to the physical volume of production. This is the celebrated quantity theory, going back at least as far as David Hume in the 18th century. But the theory assumes that productive capacity is fully employed, or nearly so. Because, in fact, the extent to which productive capacity is used varies a great deal--indeed, sometimes more than the level of prices--the quantity theory fell into disfavour between World Wars I and II, when the level of activity provided more reasons for anxiety than did the long-run movement of prices.
In a refined version, the quantity theory was revived by Milton Friedman and other University of Chicago economists in the 1950s and '60s. Their basic contentions were that short-period changes of the money supply are, in fact, followed (after a varying interval) by changes in money income and that the velocity of circulation, though it fluctuates to some extent with the money supply, tends to be fairly stable, especially over long periods. From this, they concluded that the money supply, while not a reliable instrument for controlling short-term movements in the economy, can be effective in controlling longer term movements of the price level and that the prescription for stable prices is to increase the money supply regularly at a rate equal to that at which the economy is estimated to be expanding.
Against this, it has been argued that in highly developed economies the supply of money varies largely with the demand for it and that the authorities have little power to vary the supply through purely monetary controls. The correlations observed by this so-called Chicago school between money supply and money income are attributed by their critics to variations in the demand for money to spend, which elicit partial responses from supply and are followed after an interval by corresponding changes in money income. The relative stability of the velocity of circulation is attributed by them to the facility with which the supply of money accommodates itself to demand; they argue that insofar as supply may be restricted in the face of rising demand, velocity will increase, or (what really amounts to the same thing) new sources of credit, such as trade credit, will be exploited.
 |
(source:www.britannica.com, article 'inflation')
There are some other theories explaining this phenomenon but this one will remain of fundamental importance.
My advice is to leave inflation alone for the time being. Making a functioning economic model is already difficult enough!
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
Heardie:
What on earth have I been doing there?
My advice is to believe my formulas, but to always check when I put numbers in them. At my highschool math final I had made all the right formulas and everything, but in 3 or 4 places I had switched two numbers, added in stead of substracted or some other stupid thing. So I mastered integrals and 3D geometry, but couldn't figure out what 3+12 was. 
When looking at my post I can see that I have switched D' and S several times. Sorry about that.
The function should be D'-S. So if initial demand is higher than the supply then the later half of the function will be positive, and the price will be higher than 10. Andf if initial demand is lower than the supply then the price will be lower than 10.
Korn:
Hmmm....
Why not use the formula I had made? First, the price is not a variable we know. In stead it is the thing that we want to calculate. So in stead of having to calculate demand we would actually know demand, as it will equal supply. What we have to calculate is the price. Try looking at my formula and tell me what you think.
S. Kroeze:
Thanks again for providing us with some advanced knowledge. It seems overwhelming to create a model that can portray inflation, at least right now. I completely agree with you that we should work on getting a functional model, and wait with all the more advanced features.
------------------
"It is only when we have lost everything
that we are free to do anything."
- Fight Club
|
|
|  |
 |
|
Guildmaster
|
|
Up your butt and around the corner
Jun 2000 time: 05:14
|
|
This is what I'm learning in my history class (and who says I'll never use this knowledge)
Abour massive inflation in Germany during the 1920s, what happened was this: Germany told France that the reparations payments outlined in the Versailles treaty were too high and that they couldn't pay them, so they stopped trying. France moved in to occupy the Rhineland then all the german workers went on strike. They were told by the German government not to work for the French and that they would be given money to buy food and stuff. Well to come up with this money, they started printing more of it. As there was more money going around, prices started going up and so the government had to print even more money and etc. that's what caused that.
Here's something else to consider: The Great Depression hit the world and shortly thereafter there was war. In the 20s everyone was all about peace and ending wars and coming together, but when the economy fell no one cared about making peace anymore. It makes sense too, the big reason why married couples fall apart is quarrels over money or lack thereof. When there is economic prosperity that should play a supersize role in international politics and vise-versa.
Also, before WW1 war was though of as a good thing. Part of "Social Darwinism," which is this idea where people believe in the advancement of the species by thinning out the heard, if you will, the people who get killed are weak. The monarchs felt a moral obligation to go out conquering and making wars because they were superior to the ones being conquered. War was thought of as a natural selection process. However, the casualties in the Great War were so tremendous that it kinda changed all that.
Just a few things I learned in school...
I'm actually impressed that this thread is up to 101!
------------------
Peace and trust can win the day despite all your losing
-Led Zepplin
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
You're completely right, Guildmaster. A recession leads to protectionism, which leads to hostility, which leads to way. This was especcially the case with WW2. The cause of WW1, however, was more obscure. As far as I know it started in about the same way as all wars in Civ2 started: The countries became more and more pissed at each other, for no other reason than the fact that they were all the strongest in the world.
There should definately be strong links between the economy model and the political models.
But right now I am satisfied with seing a working economy model. So, how's the programming going, Amjayee?
BTW: I am currently learning to program. I don't expect that I will ever get really good at it, it is just something that I have been wanting to learn for a long time now. I have bought some book that promises that it will teach you how to program, and with it is MS Visual C++ 6.0 Introductory edition. Just wanted to let you know.
------------------
"It is only when we have lost everything
that we are free to do anything."
- Fight Club
"It is ok to show horrific violence
as long as noboby says any naughty words."
- South Park
|
|
|  |
 |
|
Guildmaster
|
|
Up your butt and around the corner
Jun 2000 time: 05:14
|
|
see if I can compress this in the 15 minutes I have to write it...
WW1 was started on the same premise that most other wars until that one were started... "war is a good thing"
Ethnicity and Nationalism both played key roles. Alliances made it from a localized conflict into what it was. Pan-slavism, was the idea that all people of slavic ethnicity should be under one roof, or one nation for slavic people (Russia) and Pan-germanism was the same idea only for german people (Germany). Serbia was this little country in the Balkans that wanted to expand their territory in the same way that a Civ2 empire does. There were serbs living in Bosnia which was occupied by the Austro-Hungarian empire. So Serbia wanted to gain control of that territory. So to gain power and prestige for that they invaded Albania, until Austria stepped in and said no, get out or we will attack you. Ok more to it, France and Russia had an alliance because of Germany, this was after the Franco-Prussian wars. England and Japan had an alliance after Japan beat Russia's navy in the russo-japanese war. England did this as a "Welcome to the Club" jesture. Japan defeated Russia (a superpower) and in doing so became a superpower. So theoretically England and France should go to war against each other. they didn't want to do that so they signed an agreement called the "Entente Cordiale" which meant that if a conflict arose in Europe England and France would work together to arrive at a mutual policy. Russia had an alliance with Serbia because they were both slavic nations. With all this Germany, Austria and Italy formed the "Central Powers" and became allies that way. (This is very-very abridged) England and France invite Russia into the Entente Cordial and they become the "Triple Entente."
Back to Serbia. They and Austria had been going at it for some time now and since Serbia wasn't strong enough to go against Austria directly they formed the Black Hand, a terrorist group. They assassinated the Archduke Franz Ferdinand who was the ONLY surviving heir to the Austrian throne. So Austria goes to war against Serbia with Germany's full support, Russia promises full support for Serbia, Germany attacks France and if you want more details I can give them later.
------------------
Peace and trust can win the day despite all your losing
-Led Zepplin
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
Well, I hope you're feeling better, Amjayee!
About the demo, I may have come up with a way to handle the changes in supply that should occur.
S.Kroeze said, that it would be unlikely for more than 2% of the workers to ever switch sector within a turn. I think we could use that for our model.
Let's assume, that not 2, but 3% of the population is actually ready to change sector each turn. These 3% will just be drafted equally from all sectors. To find out which sector they will actually end up in, I think we should use the price of each good.
To take the examble from the demo, turn 1:
The province has 100,000 people in it, and they're all farmers. 10,000 people can produce 20 items of each good, so currently the production in this province is 200 food, and there is 1000 credits spread among the people. The demand for food per PU is 8, for housing is 1 and for clothing is 1. This means a total demand for food to be 80, for housing to be 10 and for clothing to be 10. This causes the price of each of the three goods to be:
Food: 10+(80-200)/(0,05*80) = -20
So the price of food is 1.
Housing: 10+(10-0)/(0,07*10) = 10+1/0.07 = 24.3
Clothing: 10+(10-0)/(0,1*10) = 10+1/0,1 = 20
This means that the ratio at which the 3% of the population changes sector moves into each of the 3 sectors.
It is calculated this way:
1+24.3+20 = 45,3
1/45,3 = 2,2%
24,3/45,3 = 53,6%
20/45,3 = 44,2%
So out of the 3% changing sector 2,2% of them (meaning 0,066% of the pop meaning 66 people) actually ends up staying in the food business. 53,6% of them (1,608% of the pop meaning 1608 people) switches to the housing sector, and 44,2 of them (1,326% of the pop meaning 1326 people) ends up in the clothing industry.
This system makes sure that when there is a really large need for a good (the price is high) many people will change to that sector, and in the long run people should stop changing business, as the price on all goods should become more and more similar.
This system may or may not be flexible enough to work. The only real way to see is to implement it into the demo and see what happends. Of cause this system is not useable for the next versions of the economy program, or at least not directly (unlike the demand system, which should work in it's present form in more complex models, too), since it does not include capital. But I think it could be possible to add capital to it in some way or another.
Also, heardie, I've seen your economy calculator. Great! How did you make it? It was pretty much what I expected the economy demo to be like (although the economy demo should be more advanced) - a simple, windoes enviroment, and variables that can be changed easily. The demo would then have a Next Turn button in stead of the Calculate button. If it is possible to make such a demo without much programming experience (right now the only thing I can make are dos programs like that Hello World thingy) then maybe I could make or at least change the demo? I mean, in stead of Amjayee programming something that he has not spent much time designing it would work better if I made it, since I know excactly how it should work. Then Amjayee could in stead use his time programming the pop model, which is his creation, or a map of some sort. I think that would work great, and would also make it possible for us to get something done quicker. That is, if I can program it...
What does everyone think?
BTW, Guildmaster, that is also pretty much what I have learned about the start of WW1. It was truly a stupid war!
------------------
"It is only when we have lost everything
that we are free to do anything."
- Fight Club
"It is ok to show horrific violence
as long as noboby says any naughty words."
- South Park
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
Oh yeah, is there any way I can decompile (if it's called that) heardie's econ calculator - I mean, change it back into c++ source code? That way I could take a look at how it's made, and hopefully learn some programming skills while I'm at it.
|
|
|  |
 |
|
Guildmaster
|
|
Up your butt and around the corner
Jun 2000 time: 05:14
|
|
What are we going to do about black market goods?
It makes sense to me that some goods are legal in some countries while illegal in others. Perhaps Marijuana may be a legitimate trade good in Amsterdam, it's a black market good in New York.
Are we going to have two separate economies?
------------------
Peace and trust can win the day despite all your losing
-Led Zepplin
|
|
|  |
 |
|
heardie
|
|
Hi Joker
Glad you like my economy calculator. Glad you liked it. Just one thing though, it was made to be just a calculator to find out values, not an acutally simululation. I didn't do it in c++, but in Visual Basic 3. All I did was draw the text boxes, and then when you click submit sub their values into the formula, and then display it.
|
|
|  |
 |
|
Guildmaster
|
|
Up your butt and around the corner
Jun 2000 time: 05:14
|
|
I have learned something else in history class... about the great depression.
As a plan to help Germany make reparations payments for WW1, the US adopted a plan to loan Germany gobs and gobs of money to a)rebuild Germany's economy and b)pay off the reparations. When production had outproduced demand, aka demand was satiated and no one bought goods anymore, factories started to lay off excess workers in an attempt to cut losses. Well then the crash happened and all the banks lost their money. People afraid the banks would go bankrupt began to make runs on banks and pull their money out in droves, well that in effect caused the banks to go bankrupt. so people heard of the banks going bankrupt and then it became a self-perpetuating cycle. Problem: The loans made to Germany were dependant on that same money. Once it dried up, the money used to prop up the German economy dried up and the money used to make reparations payments dried up. So Germany stops making payments, and the British & French economys which became dependant on the reparations money got hit. So that's how the depression spread from one country to another. Also, to further damage Germany's economy, there was this bank in Austria which I don't remember the name, but it was the oldest bank in Central Europe at the time. When Germany and Austria went to sign a free-trade agreement the French who had a lot of money invested in this bank responded by withdrawing all of it. That bank went bankrupt, and now all of a sudden people in the US heard about it and said "Well geez, if THAT bank can go bankrupt, even our biggest and best banks can too." So they made runs on the bigger banks and they, too, ended up going bankrupt whereas before it used to be just the small insignificant banks that were affected.
Only country that wasn;t affected by the depression was Soviet Russia. Since they were communist, no one wanted to include them in the great scheme of things so therefore no one traded with them anyway.
------------------
Goes down smooth when I get a clean hit of that skunky, funky, smelly green sh.t
- Cypress Hill
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
I don't have much time know, so this will be quick. I will post again tomorrow.
Guildmaster:
We should propably have some goods that are potentially illegal in some countries. And this would create a black market. But actually black markets are much more important in planned economies, so in such we should have a good way of portraying them.
I think the depression would propably be harder to portray than e.g. the oil crisis. I am not really sure how the former started, but I think it had something to do with a crisis in the food sector (in the US).
Heardie:
I think the demo would actually be little more than an advanced calculator. Think about it. It should be possible to add a small algorithm to the calculator, so it would only be necessary to select an income, and then have the calculator figure out what people buy. And then it would be easy to add a change in supply to this, so the supply changes via the demand. I will elaborate on this tomorrow.
Bye bye!
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
Hmmm...
Not much going on at the moment.
I suppose you are all buissy. Honestly speaking I am too.
But anyway, I think that to boost some life back into GGS we should begin doing more than just discussing economy, which is virtually all we're doing at the moment (apart from the website). Especcially conserning potential members. I don't really think many people will join a project that is only conserned with one detail.
So we should start some threads about other topics as well. The problem with doing this, however, is, that the basic models of the game should propably be set before we can begin developing more advanced stuff.
But there are at least some things that we can discuss even now:
Map (Is this done?)
Population
Turn system (How this should work)
More?
It feels like we have dugged ourselves into some deep hole: We can't really settle much of the design untill we have programmed demos of the basic models, and we can't program demos untill we have settled some design. How can we solve this?
Some things we need to do:
Get our own forum
Make a thread that can introduce newcomers to the project, and tell them how they can be of assistance
Get a less free structure - I think we need to commit ourselves more to some models, and then focus on those, in stead of just posting randomly.
Do you agree with these things or am I way off?
------------------
"It is only when we have lost everything
that we are free to do anything."
- Fight Club
"It is ok to show horrific violence
as long as noboby says any naughty words."
- South Park
|
|
|  |
 |
|
amjayee
|
 |
Jyväskylä, Finland
Oct 1999 time: 07:14
|
|
Guildmaster: Once again, that sounded quite exhaustive. I'm just wondering, is it possible to model somthing like that in the game - at least it's a little difficult, since we would need to go into great detail. But perhaps we could come up with something more simple. We'll have to see.
About the economy model, what is currently taking my time is, that I want to use excactly the same structure in the program that I would be using in the final version, just simpler. This is because I don't want to be changing the program structure every time we make the model more complex. It is a little difficult to design the classes, since nothing like this has been done before, but I'm making progress.
Lately, I was banging my head against a tree when I tried to figure out how the people would buy things. Let's assume we have x social classes, and one of them has y money to spend on z goods. For each one of those z goods they have 3 figures: how much they require, or absolutely must have, how much they demand, or would like to buy, and how much they are going to buy this turn. Requirement stays usually constant; it is figured out separately for each social class. For lower classes, it is the amount they need to stay alive, for higher classes it is how much they need to maintain their social status. For example highest class must use more money for housing or cars, else they are not anymore considered to belong to their class.
Demand is dealt with Joker's model, it changes every turn. Then the last, how much people actually buy, is decided according to how much they have money, and how much they actually need to buy. Here comes the problem: can the people demand more than they can afford, or is the demand decided based partly on the people's wealthiness? It does not need to be so. Also, can the people demand more than they need? Meaning, I think there should be some kind of upper limit for how much people of certain class will demand. I think demand should be completely separate from the people's wealthiness. People of certain class demand certain things in certain situation. If they can't afford those things, they will be a little unhappy, and after a little while, if the prices don't seem to go down, correct down their demands.
Also it's a problem how people will use their money. If they can afford everything they demand, I think they would buy all that, but nothing more; the extra money would be used for investments, and demand would be corrected up, perhaps. If the people can afford what they require, but not what they demand, I think they would buy what they require, and then use some priorities to buy other things: for example they would start from food, and buy the amount of their demand. Then we could use some percentages; we might assume that then people would try to satisfy at least 90% of their housing demand, 80% of their clothing demand and so on. Those figures were completely imaginary, we should make percentages for each good. Also I think incertain classes, some percentage of the money would always go to investments; this would model the fact, that money is not distributed evenly within a class; some people could always afford to invest. (Well, at least almost always.)
Sorry, this was not very clear, I didn't think this through properly. But my message is, that when programming, it is necessary to know excactly how each thing is done. I can make things up from my head, of course, but it's more appropriate if we discuss those here.
Here is what I'm intending to do; I will have a population class, that handles the population model (very simple, but it's there). There will be one instance of that class in the demo. The population class will store the economic info for that population. Also there would be on region class, also very simple, that stores that region's economy data. I will explain that later. You don't need to know how classes work, they are just building blocks of object-oriented programming. Within the population class there would be a bunch of social classes; each one of those would store the requirement, demand and how much the people buy for each good. Also each social class would store the available money and those kinds of things. I intend to have three social classes for the demo, food, housing and clothing producers. That would be changed later, of course. Each region class would store the supply for each good within that region, and stuff.
This was a short and bad explanation of the program structure. If I do it this way, the only thing we need to do when we increase the complexity of the model is to add some new goods and social classes, and some code to handle those.
At least in the beginning, the demo will be dos-based, and work in the console window of Windows; creating a windows environment with Visual C++ is a little time-consuming task, and I'd like to have the model working properly before trying to make it work in windows. But of course we don't necessarily need a windows version...
|
|
|  |
 |
|
RonHiler
|
|
California, USA
May 2000 time: 21:14
|
|
quote:

Originally posted by amjayee on 10-09-2000 03:39 AM
At least in the beginning, the demo will be dos-based, and work in the console window of Windows; creating a windows environment with Visual C++ is a little time-consuming task, and I'd like to have the model working properly before trying to make it work in windows. But of course we don't necessarily need a windows version...
 |
Hmmm, I would recommend against the console window thing, myself. Bite the bullet, and set up a couple of windows. It doesn't take very long, it's just a matter of filling in a couple of data structures.
The problem with console stuff is it kind of locks you into a procedural style program, unless you take special measures in your main loop to get into an event-driven program (ie a huge case statement). And why bother when this is built into Windows already? You'd just end up pulling all that case code back out again when you converted to real windows. Not to mention it's not really all that easy to convert back and forth. Once you start in a console, you're not very likely to switch over. And consoles are not very professional looking.
On another note: Are you locked into using MSVC? Borland Builder is a far superior compiler. If you were using it, you would never even consider using a console program. It takes about 10 seconds to set up a window in BB, and about another hour to complete an entire working UI But I don't want to start a compiler war, here. I can understand if you want to use MSVC. It is the industry standard, for some unknown reason (that is utterly beyond my ability to understand).
Hope it's going well.
Ron
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
It is really nice to hear that you are making progress with the economy model, Amjayee.
To answer some of your questions:
Depression:
I think it should be possible to model a depression with our economy model. The ability to do that is one of the main reasons that I think we would need one. Obviously we don't need banks going bankrupt in the game - that is too much complexity - but a general decrease in the activity in several sectors due to a crisis in one should be very possible.
Demand and must haves:
I really don't think there should be any difference in the game between demands and requirements. We like to think that we must have TVs, computers and cell phones, but people in Africa don't really need anything but food, clothing and housing. This means that I believe demand/must haves should only be a function of people's wealth. And of cause when the amount of goods they can buy drops they become upunhappy. If you make the demand only a function of wealth (# money they have) there is no need for class specific demand or anything else, since it will all be implemented via their wealth. The capitalists (I am using this word in lack of a better one) are wealthy so they demand many goods, the workers are poor so they demand few. And this will mean that each class has it's own demand.
I think I might have a way to show you how I think it should be done. I will simply write down what should happen in the order it should happen:
P(food) is the price of food, P(clothing) is the price of clothing and P(housing is the price of housing).
D(food) is the demand for food when the price is 10, likewise with D(clothing) and D(housing).
S(food) is the supply of food, likewise with S(clothing) and S(housing).
E(food) is the elasticity of food, likewise with E(clothing) and E(housing).
Pop is the population.
Pop(food) is the amount of people working in the food sector, likewise with Pop(clothing) and Pop(housing).
Pro(food) is the amount of goods 10,000 people working in the food sector can produce per turn, likewise with Pro(clothing) and Pro(housing).
When i use the term P(food)N or Pop(clothing)N it means the values that these will have the next turn.
1: # people working in each sector (producing each good) for this turn is changed according to the price determined in the last turn. The way this is done is so:
Every turn 3% of the pop have the potential to change sector. The sector these end up in is determined via the price of each good.
Pop(food) = (Pop(food last turn) * 0.97) + (P(food) / (P(food) + P(clothing) + P(housing)) * 0.03 * Pop)
Pop(clothing)N = (Pop(clothing) * 0.97) + (P(clothing) / (P(food) + P(clothing) + P(housing)) * 0.03 * Pop)
Pop(housing)N = (Pop(housing) * 0.97) + (P(housing) / (P(food) + P(clothing) + P(housing)) * 0.03 * Pop)
2: The supply of each good for the next turn is calculated, simply by multiplying the amount of people working in each sector with the productivity:
S(food) = Pop(food) * Pro(food) / 10,000
S(clothing) = Pop(clothing) * Pro(clothing) / 10,000
S(housing) = Pop(housing) * Pro(housing) / 10,000
3: People use the income they have just earned. The goods they demand is calculated via the list of goods – like the one I have posted previously. For convenience I will post it here again:
quote:

Good 1-5 bought is food
Good 6 bought is housing
Good 7-8 is food
Good 9 is clothing
Good 10 is food
Good 11 is housing
Good 12 is food
Good 13 is clothing
Good 14 is food
Good 15-16 is housing
Good 17 is food
Good 18-19 is clothing
Good 20-22 is housing
Good 23 is food
Good 24 is clothing
Good 25-28 is housing
Good 29 is food
Good 30-32 is clothing
Good 33-38 is housing
Good 39-40 is food
Good 40-43 is clothing
Good 44-50 is housing
 |
This is used to find out what people will actually consume. This is by far the most tricky part of the demo. The rest of the demo is simply a calculator. This needs an algorithm. I think it could be made like this:
To do this we will need the income available to each PU (10,000 people) and the amount of people. This income will be used for goods. Note that at this point this will only work as long as we have only 1 class, and therefor everybody has the same income. Different classes will need a variation of this function.
It will need a number of piles to make this work. First it will need the Income pile (this income pile will be for 1 PU only). Credits is removed from this as they are being used to buy goods. Second we need the pile of goods that I have shown in the quote. This pile will be special since what is important in it is not the number of items in it, but just the item on top of it. The program will start by taking the good on top of the pile, run it through the function, and then take the next good in the pile, then the next etc. We also need a pile for each good we have. When a good is being removed from the pile of goods it will be added to the pile of the good that it belongs to. A food item will be added to the food pile etc. This gives us 5 piles, named Income, Good, Food, Clothing and Housing.
Maybe this codelike text can explain what I think should happen next:
If Income > 10
Take 1 good from Good pile and add to the pile of the good which sort it is (named pile X)
P(good) = 10 + (S(good) - (X * pop / 10,000)) / E(good) /* X * pop / 10,000 is actually the same as D(good) */
Y = S(good) * P(good) /* Y is the amount of money people spend on the good – there will be a Y for each goods, and when all the Y’s are added to each other they will equal the original income – people spend as much money as they earn! */
If Y > Income * pop / 10,000 /* the last part is needed since Income is just for 1 PU, and we need to look at the entire pop when doing this */
Then the previous function will go out of order and in stead the If Income <= 10 function will start, even though the income is more than 10.
Else
Income = Income - change in Y /* Y after the last function minus Y before the last function */
The new Income will be sent through the function again.
If Income <= 10
Y = Y + (Income * pop / 10,000)
Income = 0
P(good) = Y / S(good)
If Income = 0
The function will simply end and the current prices and demands for all goods will be final for this turn and passed on to the next function.
By programming this (which I can’t do (yet, I hope)) I am pretty sure that we would end up with the right result. The function will continue running while putting in the new goods from the Good pile each time untill the income has been spent. Note that Income will end up being excactly 0 no matter what happens. When the income drops below 10 the regular, advanced price function will be replaced by a simpler one. But since that is used only to finetune the price for very small changes in demand (less than 1 per PU) it wont really matter in the big picture.
I know that this propably seems really complicated. But I believe very strongly that it should work, by simply coding each line at a time.
4: This step is not really needed for the demo, since there is only one class there, but later this will be the step where the people’s income will be calculated, by using the price and supply found in the previous turn (note: This should not happen the first turn). In the demo there is only one class, and since the amount of money is constant the class will always have the same income. But later on the income for each class should be handled seperately. The amount earned in each sector will equal Y from step 3. Later on we will also include the money spent for labour and raw materials here, to find the surplus in each sector. But now it is not really needed.
5: End turn. All the external things occur (player and AI actions etc) and after that the values from this turn is passed on to the next, in which the function moves back to step 1.
Hmmm...
I think this should be workable. I am writing this down as much for myself as for you guys, since it is pretty dificult for me to see excactly what should happen in the demo, and when it should happen. I feel a lot more clear on this matter now after I have written it down.
But of cause this is primarily to Amjayee, to present as clear a vision as I can on the economy model.
Dos vs Windows based demo:
Well, currently I have no idea how to make a windows based program, so I don’t know how long it would take you. But if it doesn’t take too long I must say that I agree with Ron and would prefer, at least at some point in the process, to have a windows enviroment as opposed to the Dos one. It doesn’t need to be anything fancy, just a UI like Heardie’s calculator. The beauty of the Windows enviroment is the freedom it gives. You can simply go in and change all variables as you see fit, and hit a Next Turn button when you’re done. At least the Dos programs I have made untill now (simple calculators and stuff) have the UI of a Siemens cell phone. I would like to be able to play around with the demo, and change variables, like increasing productivity and pop size as the turns go by, to simulate an actual game. A Windows enviroment makes this really user friendly.
------------------
"I'm a white male, age 18 to 49. EVERYONE
listens to me, no matter how dumb my suggestions are."
- Homer J. Simpson
[This message has been edited by The Joker (edited October 09, 2000).]
[This message has been edited by The Joker (edited October 09, 2000).]
[This message has been edited by The Joker (edited October 12, 2000).]
|
|
|  |
 |
|
Guildmaster
|
|
Up your butt and around the corner
Jun 2000 time: 05:14
|
|
Same thing that caused the depression in the 30s was a result of WW1, is the exact same effect caused in the late 80s & early 90s after the Vietnam War... at least in the US. The difference being that in the 30s, there were a number of factors I mentioned earlier that facilitated the spread of the depression from one country to another. This is the cause:
After the war was over, hundreds of thousands upwards of millions of young men of marital age came back home.
That's why, here's how:
They come home from the war and start a family. During the war, the demand for simple consumer goods was very very limited. By consumer goods, I mean ovens, refrigerators, washers, dryers, basic consumer goods that every household needs. So the sudden influx of new homes and families creates a sudden demand in the void where there was none. This demand would have been there without the war, but it subsided. This effect is similar to the sonic boom effect, in that all the sound waves hit at the same time having a (Damn I just learned the term in chemistry class...) you know what I mean.
So in order to fill the demand, the companies that produce these products go into overload hiring up just about everyone they can and producing as much as they can to meet the demand. Well this all happens at once and all at once the demand is satiated, no more demand. Well the companies are still producing mass ammounts of goods so in order to cut losses they cut jobs, thus raising unemployment etc etc the domino effect.
This would have happened to the US in the 1950s were it not for the Korean War, when the demand boom was about to hit another generation went off to fight another war.
I would say that any time you have over 50% of your nations males age 18-25 go fight a war for a few years and suddenly come back you create a whole bunch of new families (housing demand) at once. There should be a lag between when a demand is satiated and the industry cuts the supply to the new levels.
------------------
Goes down smooth when I get a clean hit of that skunky, funky, smelly green sh.t
- Cypress Hill
|
|
|  |
 |
|
The Joker
|
|
Copenhagen, Denmark
Aug 1999 time: 06:14
|
|
Wow, I didn't even know that, Guildmaster. But of cause when I think about it it makes a lot of sence. It might be a bit hard to portray in the economy model though. It would mean that we would have to make demand dependant of the number of families in a province. But it should be possible to make it happen, in one way or another.
Mostly a quick war is excellent for boosting the economy. It creates a demand for military gadgets, and thereby it means more jobs etc. But in the long run wars are poor for the economy. I think making this possible should be no hard task. Increase the military bugdet and create jobs, which creates a boom. But in the long run a war means fewer technological advances (since you're using all your money for the war) and thereby it hurts your economy.
------------------
"I'm a white male, age 18 to 49. Everyone listens to me, no matter how dumb my suggestions are."
- Homer J. Simpson
[This message has been edited by The Joker (edited October 11, 2000).]
|
|
|  |
 |
|
Guildmaster
|
|
Up your butt and around the corner
Jun 2000 time: 05:14
|
|
I don't think it should be too hard, as long as we get our population/age group model straight.
You figure an average retirement age and go from there. This way you're not modeling the disaster, but the disaster is simply a natural occurance that works within the model.
We need to focus our economy model to track demand as a factor not only of wealth, but as of course population and age of population. Assume that people between the ages of 18-25 have a higher demand for "Household Consumer Goods" because they're starting a family, while people outside that age group don't have so much of that demand.
War is something totally different, except in that it interacts with the economy model by temporarily taking people from that age group out of the active economy and returning them all at once.
If we need to do anything at all, just make it so that even people older than 25 returning from the war still keep the demand group for HCGs.
You know strike that, better idea: Go into the population model and decide a "Mating Factor" or something like that, this number tracks how many people in which age group are of the "settling down to start a family" time of their lives. Assume an average age based on technology and stuff and attach a bell curve since some people start early and others later. Then in case of a war, you take the number of those people that would be starting a family at such and such an age and take them out of the demand group. Then as the war drags on, that number accumulates, and when they all return from the war, you have the initial demand that would have existed before plus the number of people returning from the war.
That makes it simply a population factor and the economy will just interact with that.
------------------
Goes down smooth when I get a clean hit of that skunky, funky, smelly green sh.t
- Cypress Hill
|
|
|  |
 |
|  |
All times are GMT. The time now is 05:14. Apolyton Time is 00:14. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|