Announcement

Collapse
No announcement yet.

Economy Model Version 0.2

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • I agree with you completely, Guildmaster. It is always more cool to have thing occuring because of the actual mechanisms of the model, in stead of making special submodels to handle them. And it also makes a lot of sence to vary the demand of people from some basic factors - like age, family level etc.

    ------------------
    "Never underestimate the power of denial."
    - American Beauty
    "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
    - Hans Christian Andersen

    GGS Website

    Comment


    • O.K. I agree, but does that mean that you'll have to log the age, wealth, etc. of every single little person (or every 10,000)? Isn't this too time consuming for our cpu's?

      Comment


      • Elmo:

        I think we will only need the wealth of each class (workers, capitalists, farmers, nobility etc). We will then assume that all members of a class has the same wealth.

        And age groups will simply be handled by determining the percentage of the pop in each group, and then multiplying this with the number of people to find the number of people in each age group.

        ------------------
        "Never underestimate the power of denial."
        - American Beauty
        "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
        - Hans Christian Andersen

        GGS Website

        Comment


        • k.

          Comment


          • It seems that my time for replying messages is really limited, but here are some feedback:

            Windows vs. DOS demo:

            I agree that windows programs are more professional, easier to use, more good-looking and all kinds of other things. I said that in the beginning the demo will be DOS-based, because it is easier to make the core classes and functions to work that way, since you need to think only about them. Later I could make a windows environment, but I think the most important thing is to make the model work... Also, the demo is simple and does not need any fancy event-driven programming - just a simple loop. It is no task later to extract the classes (that are designed for use in the final game) and insert them to the event loop of the final program. One more point, since we will not use windows GUI in the final game, the win environment for the demo will be extra work, but I think that's ok if you want that.

            About compilers, I haven't used the Borlan one, but everyone is saying it's better. Might be. I have VC++ 6, and so does my university, so I will be using it, so it seems. The question why VC++ is used more could perhaps be answered by considering the dominant position of Microsoft... I don't know how you make a GUI with Borlan. It is really fast to design and draw the environment in VC++, but it also requires some code to create the functionality to it - which is the case also with other compilers. If you know what you are doing, I think it wouldn't take much longer to make an environment than with Borland. The time-consuming fact is, that I'm not very experienced in win programming, yet... I'm glad if I can get some practice with this task, so I'm quite happy with that. It will just take some more time from other tasks.

            Joker:

            What you said makes mostly sense. Here are some further points, hopefully more clear than in my last message:

            -How do we keep track of how much houses and clothing is produced? In the final game, we would use the company idea. In the demo, we would need to know the amounts of people producing each good, task that is taken care by the company thing later. So, I solved this by making three classes - food, housing and clothing producers. They would have different amounts of people, different incomes etc. That would also make changing jobs more clear in the program.

            -I'm still a little puzzled by the people buying things system. It sounds a little odd to buy some of good a, then some of goods b, c and d, then again good a... Later, when we have some 60 goods, this would be an enormous task to make. It is also a little slow to perform on computers. I think we would need to come up with something simpler. Consider your own life; how do you decide what you buy with your money? First you take the money, then you take the prices of things you need. Then you think what you really need to buy, and buy those first. With rest of the money you buy the luxury goods, or save it. Luxury means here those things you don't necessarily need.

            So: this is what I thought with the requirement system. Also notice that not all of the money is spent every turn! If people are left with much extra money, they will not (averagely) buy large amounts of unnecessary goods. They will save, or in game terms, invest and create new production or stuff. So, I still think people would try to buy at least what they require, and not much more than the demand.

            You are right about that the requirement thing is not needed in the way I proposed; it can handled by demand. If much extra money is left, people will correct up their demands, thus rising in social status. But still, there are some things people require. They need some food; they need some housing money. Consider your life: every month, you spend roughly the same amount for your rent, and for buying food. You also need to pay your telephone and electricity bills. These are "essential" costs. With the rest, you buy gas, or go to movies, or partying, or save to buy a new computer.

            This shows us that people of higher social status really _do_ have more requirements. People living in caves or cardboard boxes don't need to pay rent for their housing, those living in apartments do. Those who own their house, pay for the bank from which they have taken a debt to buy it. If the people don't have money for that, they will live simpler, and decrease their demands, _but_: they will get some trouble, and those who own the houses get some trouble, since there are not enough people to pay for the upkeep of the houses. So: demand takes care most of the requirement thing, but some things we need to consider. I leave this open for debate, in the first demo we don't need it. But think about this, and suggest what we should do.

            So, here is what I think about the buying thing. People look at their money, and the prices. They will need to pay the rent (or other costs of housing) and buy food. Then they would also like to buy newer clothes. Which one is the most important? I think it depends on the situation. If it looks that you can't afford everything and if you get well enough to eat, you consider the rent most important, and pay for it. Then you look how much you have got left; if it isn't enough to satisfy the demand for both clothes and food, you buy a little less food (that's what at least students are doing every day) and use the rest for clothes.

            If you have only a slight shortage of money, you will pay for rent and food, and use less for clothes, I think. If you have little more than you need, you buy what you need, perhaps a little extra for food and clothes, and also increase your demand for those a little. If you have lots of extra money, you might change to a bigger apartment, buy little fancier clothes, and buy some more expensive food; rest you might invest. There should be some limit for rising in social status; most of all, the region perhaps can't offer any better apartments or food. Then the extra money would be used to invest for producing those, and the social status would rise slowly.

            If you are already short on food (there has to be a lower and upper limit at least for food) and get less money than last turn you might buy lower grade food, or, more reluctantly, change to smaller or cheaper apartment. Some money should always be used for clothes - remember this is an average. Some people will need new clothes every turn. If there is money only for food, people will buy it with all their money, and live in cardboard boxes, steal money and clothes etc. What about alcoholics? They would use only minimal amount of money for food, or even steal food, and buy booze as much as they can.

            Just some thoughts - there are many situations to consider.

            This sounds to me more clear now. I haven't yet tried to program this, so I don't know how it would work, but I think it would be more simple. The key idea is, that the people should emphasize the goods depending on the situation. Some goods would be "essential" in that situation; people would try to meet the demand first in those. There would also be cerated some kind of priority list for those goods. Here we had only three basic goods; when we add more, it doesn't become much more complex, since the rest are usually luxury things; people buy them according to how much they demand them. Non-luxury things, in addition to those already mentioned, are also telephone, electricity and water for modern people. How do we deal with those? Telephone belongs to communication. Should el and water belong to housing, or should we have some kind of "infrastructure" good? We don't need them now, but it would be good to decide... In some situations, also cars and gas would be non-luxury.

            I will try and make some kind of function to decide how much people buy and then report.

            -What I wrote before has brought me to think, that we absolutely need grading also for food. Think about it; we can't eat much more than our stomach can take. Instead we are eating more expensive and fine food. Poor people just buy some low-grade ingredients, like grain and vegetables grown in their own area, and cook their own simple food. We middle-class people in western countries cook our food from exotic ingredients imported from faraway countries, and perhaps prepare several dishes, or eat in restaurants. Rich people might have their own cook and special worker buying fresh ingredients from the producers, and they would drink expensive wines. If you can't afford the grade you are buying, you can buy lower grade, thus saving money. Here, we definitely need grading to achieve this.

            The rest of the things you have been discussing here sounded beautiful. Keep on!

            [This message has been edited by amjayee (edited October 16, 2000).]
            [This message has been edited by amjayee (edited October 16, 2000).]

            Comment


            • Hey Amjayee! So, you're buissy with school or what? I, on the other hand, have a vacation this week , and I don't have much planned, except for the usual hang out with friends, go clubbing a bit etc.

              In other words I have a lot of time to work on GGS this week. And so I will. I will also dedicate it to expand my programming skills.

              I can see, that for now it is most important to have a demo that works.

              I hope you understood my feeble attempt to convert my thoughts into something codeable (oct 9).

              If not all you gotta do is ask.

              ------------------
              "I chose not to choose life. I chose something else."
              - Trainspotting
              "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
              - Hans Christian Andersen

              GGS Website

              Comment


              • Hi! I was wondering, whether someone would read the message right where he shouldn't...

                I was writing it in a computer class at my school. There was some teaching starting in the class, and I had to go to another class and continue there. So I sent the message, hurried to the class next door, and edited it. Be sure to read also the new things...

                I'm not in massive hurry with my school, but when I have free time, it seems that I use it for making some little exercise programs, or doing my homework, rather than other things, like reading apolyton forums or answering my email. But that's OK, I think...

                Your former 9.oct message was good, The things considering job shifting and stuff were good. Of course to be code-like, the text should be more detailed; code-like text is called pseudo-code. It is usually written with non-programming language specific english sentences, where every sentence could be replaced by one line of code in every language.

                About programming, the best thing to do to learn is to practice; make simple programs, use all the tricks you have learnt, try new things. That is about the only way to become at least decent programmer; you may learn how to write code by reading books, but programming is also experience, knowledge of what is good practice, and also code design. Those are learnt only by practice.

                Comment


                • I don't know what you guys spend your money on, but I buy mostly what I want. If I want something bad enough like those speakers that are in my car. 2x12" RF punch XLCs and a 360 watt amp alltogether with a box and everything was $600. I spent my rent money on that, I put off my phone bill, I even ate about half as much that week before I bought them and to me they're worth every penny.

                  The point here is one thing that I learned when I was in sales is this: People will buy what they desire before they consider what they need or what they can afford. Back in the 1900s before WW1 there was this notion that you should save your money for a rainy day. After the war and 10 million people were killed all over Europe people started buying like crazy under the realization that you could go any minute so there's no sense living for the future. Well the buying is what fueled the economy of the early 20s.

                  ------------------
                  Goes down smooth when I get a clean hit of that skunky, funky, smelly green sh.t
                  - Cypress Hill
                  He's spreading funk throughout the nations
                  And for you he will play
                  Electronic Super-Soul vibrations
                  He's come to save the day
                  - Lenny Kravitz

                  Comment


                  • I don't know what you guys spend your money on, but I buy mostly what I want. If I want something bad enough like those speakers that are in my car. 2x12" RF punch XLCs and a 360 watt amp alltogether with a box and everything was $600. I spent my rent money on that, I put off my phone bill, I even ate about half as much that week before I bought them and to me they're worth every penny.

                    The point here is one thing that I learned when I was in sales is this: People will buy what they desire before they consider what they need or what they can afford. Back in the 1900s before WW1 there was this notion that you should save your money for a rainy day. After the war and 10 million people were killed all over Europe people started buying like crazy under the realization that you could go any minute so there's no sense living for the future. Well the buying is what fueled the economy of the early 20s.

                    ------------------
                    Goes down smooth when I get a clean hit of that skunky, funky, smelly green sh.t
                    - Cypress Hill
                    He's spreading funk throughout the nations
                    And for you he will play
                    Electronic Super-Soul vibrations
                    He's come to save the day
                    - Lenny Kravitz

                    Comment


                    • Amjayee:

                      So what you're saying is, that you are actually hanging around at Apolyton when you're in class, in stead of listening to the teachers???

                      And sure, it's cool that you spend your time on other stuff than Apolyton.

                      I tryed to make my 9 oct post as code like as I could. Obviously I didn't write anything like unsigned int or int main(), but I tryed to put things into something codelike. The places where I have replaced the code with text are actually places where I really have no idea on how to code that. It simply involves some coding techniques that I don't know about yet.

                      And I am not just reading about programming. In fact, right now I am programming a pop model program. It is about half done - I have handled births, now I just need deaths. But it will have the worst interface any program has ever had, since I lack some knowledge (which I can only get from reading about programming) about how to create more program flow. It will print the # people in each age group, the total population, and then a few other variables, and then it will post the population the next turn. But to compute the turn after that you will have to manually go into the source code and change the values to the new ones recieved. But when it is done I can upload it some ... some place where you guys can see it. But without a compiler it wont really be much good.

                      But Amjayee, could you please tell me how to get the line numbers added to your source code, so you will always know each lines number?


                      Well, to reply your econ questions:

                      quote:


                      How do we keep track of how much houses and clothing is produced?



                      Well, I think you answered this yourself. Add different classes and it should work.

                      quote:


                      I'm still a little puzzled by the people buying things system.



                      I think everybody (including me) are. First I didn't mean that people would necessarily by one thing first, then another thing, then the first again. Just that this will show what things are most important to people. And I think that is the best way to make sure that people spend the same amount of money that they earn.

                      I agree that the task might be overwhelming with a huge number of good. But there I think that we should handle each demand group as one good, so there will be no more than 10 to 12 goods. We can then calculate the actual goods inside the demand groups seperately later, propably via a simpler model.

                      I must also say that I strongly oppose to having some good that people need and some that they just want. I don't think that difference exists in reality. Obviously some goods are more basic than others, but it's not like you can seperate luxury goods from other goods. It all depends on the wealth of people. Therefor I think all goods, luxury and other goods, should be handled the same way.

                      But when this is said I agree that there is propably/possibly a better way to handle supply than the one I have come up with. I just don't know what it is. I have spent most of my GGS time the past 3 months trying to figure out a better way to handle it, and I can't think of one. The problem when doing demand is, that you can't really include price directly into demand, since price is really a function of demand, and demand changes price.

                      What I like about my model is, that it uses real economic mechanisms, like price elasticity. And, that it can function in all enviroments without having to be changed.

                      But still, I am open to suggestions on how to improve it. But any demand model should remain precise. So we can't just have a statement that says, that if demand is higher than supply then demand will drop. We have to know how much it will drop. Basically, I don't know that answer to this one!


                      quote:


                      If you have only a slight shortage of money, you will pay for rent and food, and use less for clothes, I think. If you have little more than you need, you buy what you need, perhaps a little extra for food and clothes, and also increase your demand for those a little. If you have lots of extra money, you might change to a bigger apartment, buy little fancier clothes, and buy some more expensive food; rest you might invest.



                      I actually think my model handles this pretty well. If the people's income is low they will spend most of their money on food, when they have more money (or money left after buying food) they will spend money on other things.


                      Graded food:

                      Yeah, I have thought about this too. And I think I agree. But I think we should wait a bit with all graded goods, and stick with the overall demand groups, untill we are more clear on how to handle demand.


                      Guildmaster:

                      I think it would be hard to implement such things in the model. We have to assume that people are somewhat rational (and don't stop eating because they want a car stereo ). Of cause there should be some sort of room in our model for it, but it shouldn't have more effect than the rational demand function.

                      ------------------
                      "I chose not to choose life. I chose something else."
                      - Trainspotting
                      "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
                      - Hans Christian Andersen

                      GGS Website

                      Comment


                      • Guildmaster:

                        I agree with Joker, that in our game the people will have to be somewhat rational. And I _do_ think that's the way it is in reality, too; we are speaking about averages here. Most of the time most of the people will spend their money mostly rationally, so we can quite well assume that they pay for rent, food and clothes before others. Usually.

                        Joker:

                        No, I had some free time between classes, and there was a teaching starting for others in the computer room I was in, so I had to leave. On lectures I don't surf the web, I'm doing the exercises as I'm told.

                        Your 9.oct text was good, I was just giving some general thoughts of "pseudo-language" text. It is good it didn't have unsigned ints or stuff, since those are C++ specific words; pseudo-language has to be language-independent, clear english sentences each replaceable by single line of code in the language of choice.

                        Also I didn't think you are only reading books - you have been telling you are also making programs. I was just giving advice; for me, practice is an absolute necessity, and I have heard that's the case with others, too. And reading books is also necessary. When you become more experienced, I suggest buying a reference manual of C++ language. I have one written buy Herb Schildt, and I have it always within reach when I program; it is impossible to remember all commands and standard library functions by heart.

                        I'm waiting your program with interest. About line numbers, they are not used in C++, and they are also not necessary. There might be a way to show them in VC++, but I have never needed it. I will tell you if I find out. I think there is at least a menu command which can take you to a specific line. By the way, why do you need them? If you tell me, I can perhaps propose a better idea.

                        I did not mean that we should hard-code what goods are luxury and what not. Also we don't need to make a distinction between ordinary goods and luxury goods. It is just that depending on situation people will consider some goods necessary, like rent, food and clothes, and others not as necessary, like car stereos or movie tickets. If they are short on money, they will cut on the not so necessary goods first, and buy the necessary ones. What they consider necessary depends on situation. I think we think the same, just saying it differently. I'm emphasizing this, since in programming you need to be excact. Some goods people have to emphasize, or we will end up in chaos.

                        About other things in economy model, I agree they are a bit fuzzy. But I think that when I program it, things start to become more clear. Overall, I think your system is great.

                        Graded food and other gradings would be added later, of course. But it's good that we agree food needs grading.

                        Comment


                        • Amjayee:

                          Thanks for your programming advice.

                          Line numbers:
                          I would like to have them to help me when I am compiling the program, and the compiler finds errors in it. When I am told that there is an error on line 79 I don't know any other ways to find this line than to count from line 1 all the way down to 79. And that annoys me enormeously. Of cause there is some way to search line numbers or something, I just don't know how it functions.

                          Econ:
                          I think I agree, that we are basically saying the same thing, we're just saying it differently. The only thing that we need to figure out for this demo is really the demand function. I have given a suggestion for how it could be done. I agree that it is far from optimal, it is just hard to find a better method.

                          ------------------
                          "I chose not to choose life. I chose something else."
                          - Trainspotting
                          "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
                          - Hans Christian Andersen

                          GGS Website

                          Comment


                          • All I was really saying is that no matter how desperate people get, there is always a minimal demand for every good, and that isn't zero either.

                            Say conditions are so bad among the poor that they are starving in droves, your pathetic empire is losing about 2 million people each year to starvation. Not that the food isn't being produced, just that the disparity between rich and poor is so bad that they can't afford the food. Not a joke, this has actually happened a number of times throughout history.
                            These conditions are so poor that you have people living 5 families to a single cardboard box and clothes so raggedy that they have to try and cover themselves most of the time.
                            In these conditions, you would be suprised to find that even as things are THAT bad, you still find people... POOR people that want to buy stereo systems and collect gold coins, other things that have nothing to do with the basic needs.
                            Why?
                            Because having fun and enjoying life IS a basic need. Especially when conditions are that bad that one little toy that one father out of a hundred brought home for his starving child might just bring a glimmer of hope in an otherwise hopeless situation.
                            Perhaps a middle class shopkeeper has some sympathy for the guy and gives it to him instead of making him pay for it, or at least lets him pay for it later.

                            So anyway, yes. I agree that it should be rational just so long as it does recognize that people aren't always rational. Perhaps a minimum demand for each trade good is 1%? Something minute and insignificant, just enough so that it's there.

                            BTW the system in my car sounds REALLY nice... =)

                            ------------------
                            Goes down smooth when I get a clean hit of that skunky, funky, smelly green sh.t
                            - Cypress Hill
                            He's spreading funk throughout the nations
                            And for you he will play
                            Electronic Super-Soul vibrations
                            He's come to save the day
                            - Lenny Kravitz

                            Comment


                            • Guildmaster: I'm happy to hear you are enjoying your stereo system.

                              Yes, if there are certain goods available, people are almost sure to buy them - at least some people. Speaking about your example, once again, we speak about averages. Some people will either have money to buy expensive things, or the just buy if they don't have money; that will show as a really minimal demand. But the minimum demand must not be very high, or the system will be stupid. I don't want to see my people dying just because they buy TV's and car stereos instead of food.

                              Joker: If you are using VC++ 6, try double-clicking on the line with the error message in the window in the lower part of the screen. That should take you to the line with the error. There's also a GoTo order in the Edit menu or somewhere. There you can choose to go to a specific line. But I always use the double-clicking system, since it's faster, and because error messages is about the only occasion when you need the line numbers.

                              And by the way, I checked; there is no way to display line numbers in the VC++ code editor. If you want them, it seems that you need to get another text editor featuring those, and move the code back and forth between it and VC++.
                              [This message has been edited by amjayee (edited October 19, 2000).]

                              Comment


                              • Guildmaster:

                                Ok, now I understand. And I agree with that.

                                And I hope you enjoy your stereo!


                                Amjayee:

                                Thank you! That is just what I wanted to know.

                                ------------------
                                "I chose not to choose life. I chose something else."
                                - Trainspotting
                                "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
                                - Hans Christian Andersen

                                GGS Website

                                Comment

                                Working...
                                X