Announcement

Collapse
No announcement yet.

Technology System Version 5.1

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #46
    Axi

    Despite not being a programmer, IMO the tech model guys are on the right track, even if latter they come up with programming problems! (IMO there is no use in having easy programming and then ending up with a lousy simulation)

    Anyway I have plenty of comments (specially about social/religion and Earth sciences) but I am waiting for the synthesis that Richard must be doing right now...

    I´ll keep watching the forum, I like this topic :-)
    Henrique Duarte

    Comment


    • #47
      Henrique:

      OOA is specifically for modelling complex systems. It was invented and originally used for AI programming, to model real-world systems.

      Here's the simplest example I can think of -- with 4 objects (atom, electron, neutron, proton) you can model every single thing in the world.

      Similarly, in botany and paleontology, you can model any animal with 2 objects -- creature and DNA. Yes, the DNA has many complex methods that are not fully known. But that is how they exist in the real world. So I would say, from a 'design' standpoint, that taxonomy does not work well for botanists. It can not predict, only classify, and it requires a huge database. It is a very complex, non-user-friendly system. Of course, as you said, botanists can't exactly just measure the exact state of a life form yet, so it might be the best they have, for the moment. But someday, that taxonometric tree will be replaced by DNA 'fingerprints' of each life form.

      Wouldn't you agree that this would simplify identification of a life form -- just sample it's DNA and look up the data?

      Axi:

      In software development (which is of course what ya'll are engaged in), this stage you are going thru is called 'Requirements Gathering', or 'Requirements Definition'. You need to be identifying the objects needed to write the system into code. Once you have identified the objects, they will write the interactions themselves, so to speak. Ya'll seem to be on to defining interactions and defining instances of the objects (specific techs) without ever having discussed or outlined what the exact objects will be, or what those object's behaviors will be.

      This type of OOA is going to be absolutely necessary once coding begins, or else whomever is doing the coding will write spaghetti (and, under many circumstances, be unable to complete the task without some redesign).

      The end point is to make a system more simple and at the same time more powerful. This tech system seems to boil down 4 objects, each with behaviors ya'll haven't modelled, which can interact in ways ya'll haven't considered yet. And the designers seem to be rejecting this behavior because it doesn't fit into their tree.

      But maybe that's fine. It is only a game, and can be fun no matter what. This is only me, rambling about software development. I am not exactly a genius (just ask my wife!).

      Comment


      • #48
        F_Smith

        I think I am not being able to transmit what I mean by complexity. Any science that deals with the time variable (any kind of historical sciences, ex: either History or Geology) as a complexity problem that goes way behond the DNA/atom etc approach. Now add to that human interaction and my brain starts to boil!

        I really would like to know if this discussion is in any way usefull for the tech folks because they will be doing the hard work and if we continue this on our own we will be monopolizing the forum and no profit will come of this!

        P.S. If you want to, post your e-mail/write to mine, and I will try to give you a concrete high complexity example from geology and see how you would approach it with OOA, maybe this would spare the eyes of the forum folks :-)
        Henrique Duarte

        Comment


        • #49
          F_Smith:

          Even though I cannot understand what is qualified as an object and what isn't, or what instances and interactions are, you are probably right.

          [Mark_Everson_mode-on]
          Maybe you could help us with the OOD of the technology system. Clash is in desperate need of coders. What do you say, huh?
          Pleeeease..! Pretty pretty pleeeease?
          [Mark_Everson_mode-off]

          You are in the Clash Team anyway, aren't you? (oddly enough under inactive members; you don't seem very inactive to me though...)


          ------------------
          "In a time of universal deceit, telling the truth is a revolutionary act."
          George Orwell

          [This message has been edited by axi (edited February 18, 2000).]
          "In a time of universal deceit, telling the truth is a revolutionary act."
          George Orwell

          Comment


          • #50
            Wow, there have been a lot of posts. I'll add what I can.

            1) I have been approaching this using my Math Modeling experience. I'm not a programmer, but I do have some feel for what systems will work. My experience has told me that the use of variables deetermined by continuous equations is an accurate and mostly foolproof way of modeling complex things.

            2) The input from a programmer is very helpful in the model creation process. Your views are helpful, F_Smith.

            3) I am still convinced that a system composed of a lot of discrete techs will fail. It works fine for small scales, but at the level of detail we are talking about, a person would have to remember a chain of at least a two dozen technologies for every current application you want to research toward. Trying to navigate through this bramble would be an awful mess. Maybe F_Smith has the brainpower to do this, but no one else does.

            4) Creating and debugging a tree like this would be a ghastly experience. We would probably end up with situations where one tech is required for something it is not related to at all. The tree would be almost impossible to learn and deal with. Perhaps one of the reasons that all commercial games have such simplistic and silly tech systems is that they all use this kind of system. It simply does not allow for depth or complexity.

            5) I have an odd analogy that may help people think of the system in a new way. This tech system is quite similar to the system that makes RPG characters grow and become more powerful. The way that an RPG character gains levels is analogous to the way the Clash player would gain techs.

            Imagine that each character is a Level 2 technology. That character is steadily gaining levels as they gain experience. You get experience every time you fight or use that character. Similarly, you get RP's from your civ that go toward increasing the percentage of Level 2 techs. The level of your characters determines how well they do many things, just like Level 2 techs influence your civ's ability do do things.

            Each character has many statistics like Strength or Intellegence. Imagine that these are Level 3 techs. These attributes are influenced by the level of the character. As the character 'levels up' and gains more experience these attributes can increase. But some RPG's also have you raising these stats individually. Casting a spell increases your Intellegence score, using a weapon increases your Strength, etc. Similarly, you increase these secondary tech levels but they also depend on the level of the primary tech.

            In RPG's there are many skills and tools you can use. These often require a certain level of some attribute. For example, a certain axe might require a strength of 20 to use or a certain spell might require an intellegence of 30. These weapons and spells are similar to the applications in Clash. The similarity continues; in RPG's the level of your attribute influences how effective the tools are; a spell is more powerful if your Intellegence is greater. Applications in Clash also get more powerful in this fashion.

            The levels of RPG characters are governed by equations similar to the equations we have for the many techs. The level of a skill is determined by the character level and the amount the skill is used. It can also be influenced by other factors, like a magic item or spell. The skills make the character more effective and a certain level of the skills allows the character to do new things. This is a lot like the way the tech model works.

            RPG players know that this type of system works pretty well and makes for a good gameplay experience. It does a good job of modeling character skill growth and is fun to work with. There are enough variables that the system is complex and fun, but it is not difficult to work with and it is easy to understand. And RPG's can easily involve hundreds of items, spells, and skills.

            This kind of system has been proven to be robust and popular. It has none of the flaws of the civ type tech trees and players like it.

            It also can't be too difficult to program and implement, because RPG's, and complex ones at that, have been make for many, many years and they can run on things as simple as an old NES.

            So we are not trying something new or impossible. We are doing something that is a proven success, even if the context and specifics are different.

            By the way, I wasn't thinking of any of this when I was actually working on the model. It just occured to me. But it is interesting how we ended up producing a system that is so similar to RPG's.
            [This message has been edited by Richard Bruns (edited February 18, 2000).]

            Comment


            • #51
              Richard,
              Here are some (very) non-specific approximates of where the techs fall. I hope this helps, I'm just going to be too busy for the next several days to put anything more specific up.

              Disaster Model Techs:
              Seismology
              Meteorology
              Volcanology (not sure if this is a true science, but I’m certain I’ve heard the term before)
              Pesticides
              Insecticides
              Refrigeration
              Waste Disposal (toxic waste and biohazard waste)
              Genetic Engineering
              Entomology


              Disease Model Techs:
              Quarantine / mid to late Renaissance
              Vaccinations / mid-20th century
              Inoculations / mid to late Renaissance
              Pesticides
              Insecticides
              Sewer Systems / Iron Age (Romans had ‘em)
              Water Treatment Plants (an application / infrastructure)
              Genetic Engineering
              Pasteurization / mid-20th century
              Refrigeration / mid-20th century
              Entomology

              Everything else is pretty much mid to late 20th century

              Comment


              • #52
                Henrique:

                I'll probably have to make this my last offering for the week, but by 'OOD' I mean defining objects/pieces of the system first, then using those objects to build a system. To design a car you have to know it needs tires, pistons, and a body -- and you have to know what tires, pistons and a body *are*, how they act. Because the objects are the system. Otherwise, it's like assembling that kid's bike the night before Xmas without making sure you have all the pieces.

                For example, as I understand it, what has been proposed here has been the requirements-gathering part of the software development life-cycle. Then the first step in OOA will be analyzing and listing the types of objects needed, something like "First, we have 4 types of tech objects, and they will look like this".

                Then you map each object in UML style, all inheriting from a base 'tech' object. You give each one instance variables and public methods / behaviors (without fleshing out implementations), defining the interaction of all the objects.

                Then you start on the actual object design, designing the actual private methods that will do the work in each object.

                Finally, you code.

                For a lame, quick example, of what has so far been proposed as base requirements, they will have to begin something like defining a basic tech object (possibly an abstract class) --

                Object: Technology

                Instance Vars:
                String name
                float level
                Vector techs_affected;

                Public Methods:
                addTechAffected(Tech t)
                getTechsAffected()
                addName(String n)
                getName()
                setLevel(float l)
                getLevel()

                ------------

                After this point, you tackle the specific 4 types of 'tech' objects they have proposed:

                FieldsOfKnowledge
                GeneralTechnology
                SpecificTechnology
                ApplicationTechnology

                You define those, as above (instance vars, public methods). They must inherit from the base Technology class, if you have defined them as Technologies (the rule is "is a" inherits, "has a" gets an instance variable).

                And then you define the 'interfaces' for these objects:

                Research
                TechGain
                TechLoss

                And on, and on. This is the very *beginning* of the analysis and design process. Because as you begin to flesh out these objects, many difficult decisions arise which will greatly affect the end product. And you will begin to see that the objects define the system themselves.

                If you don't let the objects define the system, you will always have to force things, and you will miss functionality you could have otherwise had. Which is not the end of the world, but will cost you power and flexibility. It will cost you options.

                And before anyone else says it can't be done, be careful -- someone soon might prove them wrong. Soon.

                Comment


                • #53
                  LGJ:

                  Some feedback on your arts side of the tech tree... IMO things like the level two technology Music--- having level 3 of Harmony, Instruments, Song is huge overkill. If you want to include Harmony etc. I would put them as level 4 applications simply because otherwise they, and things like them, fill up 10 or more of the limited level 3 slots. I do not think many players will have affinity with these areas, and that the 10 slots would be much better spent on things in the military or other areas where a lot of players would be more interested. I am with you in that I would like a well rounded tech tree. However, since level 3 is supposed to be tied directly into the interface, we need to be extremely judicious in what goes in there. Too much stuff to have to evaluate at this level will simply overwhelmed the player IMO. I'm actually fairly certain that in playtesting we will end up moving many things out of level 3, and other things in, as it becomes apparent what people are most interested in using. I have copied my suggestion of how to have tech-like applications (level 4) below...

                  the stuff below the arts in your model looks fine to me. As the models that impact those areas most get developed, obviously we may need to revise things.

                  TK:

                  I have the same thing to say as to LGJ. Although I agree that most of the stuff you bring up should be in there in some way, I think you have far too many level 3 things. Here's something I said to Henrique awhile ago on the same topic. Perhaps with good interface design we can get around these issues, but for now I think the more prudent course is to try and keep the level 3 stuff to a minimum...

                  Needless to say I'm just one voice here, and we may need to discuss this further.

                  quote:


                  However, I thought we agreed that we are supposed to be keeping the number of level 3 techs to something of order 100 so the player technology planning interface is reasonable. With 4 level 3 techs just in the mining area, we will have approaching 1000! It Just Can't Work for any reasonable interface. Also the player won't care, at least 95% of them anyway. The rule of thumb was something like 10-20 Per Model (Econ, Mil, etc.). I have a Lot of ground to cover in Econ, and we simply can't have more than one generic Mining tech at level 3.
                  The area where we Can have 1000 things is in level 4 applications. That's where IMO all the detail has to go. So I would propose that things like plate tectonics be handled essentially as applications that don't have to be "built". It's level would just feed directly into the prospecting effectiveness of the civ or whatever. I have an issue related to this that I need to bring up.

                  Project Lead for The Clash of Civilizations
                  A Unique civ-like game that will feature low micromanagement, great AI, and a Detailed Government model including internal power struggles. Demo 8 available Now! (go to D8 thread at top of forum).
                  Check it out at the Clash Web Site and Forum right here at Apolyton!

                  Comment


                  • #54
                    Mark,
                    They weren't meant to be level 3 techs, regardless of what level they are however, they are important to the models. And also I'm sure some will be used by other models also.

                    Richard,
                    Another one is epidemiology, which can probably fall under some other medical tech, but if not...

                    Comment


                    • #55
                      One general comment that I have is that I think Engineering deserves its own level 1 technology. It is At Least as fundamental as physics, biology, and the rest. And probably much more important through the vast period before fundamental sciences came into their own. Basically IMO we should lose Construction as a level one tack, and make the things that used to be in construction under engineering. The things formerly under construction should go under the headings of Civil Engineering, Mechanical Engineering, etc.

                      One question. Do we still have a way to give arbitrary bonuses to applications? For instance in the agricultural area I have an "Improved Crops" Application. The idea is that as your grains and other foodstuffs get better, this will boost your agricultural productivity. One of the killer items in this sort of technology is something like the potato. If you don't have the potato, and discover it someplace else, it can give a huge boost to this application. It's not really a slowly improving thing as many of the other applications are, it is mostly a one-shot thing. The best way it seems to me to handle this is to give Improved Crops a sizable bonus when you discover the potato. It would be a direct bonus to effectiveness, kind of like the "inventor bonus" we were talking about a while ago. What do the technology guys and others think about this? I really think we need some sort of bonus or negative modifier that can be arbitrarily put on applications.

                      now, on to my proposal for the economics technology tree structure! This is already going to be enormous just covering the basic areas of food, resources, production, and services. If I get that far, I will be happy. Infrastructure will simply have to wait for another day.

                      I'm Certain I've missed some important stuff here. I also doing this according to my concept of what the most recent agreed approach to level for technologies is. If I'm wrong we can fit what I have into whatever turns out to be the correct model. I have also assumed here that technologies that are not available at the start run on the same scale as the rest of them. So, and the way I think it should be done, there is no Explosives 0%. Explosives would start with the effective use of Gunpowder and might be something like the 20% level. The advantage of doing it this way is that the scales are still the same for all technologies. LGJ and I have been discussing this for some time, and as far as I know we haven't reached an official conclusion... so I am just going to go with my preference here.

                      Numbers after a technology indicate required percentages and how important it is to the other technology or application. That is the strength of the connection. So for instance a listing of requisites for a level for a technology of Civil Engineering 5% 3 means that the required level is 5%, and the strength is three. For applications I'll also list the longevity. If there is a technology that I want to use as a prerequisite, but that I don't see anywhere, I will precede it with an "?". I have also taken the liberty of using some level 4 applications as requisite technologies for other level 4 applications. The strikes me as a lot simpler in some cases, but we need to discuss if this is the way we want to do it.

                      Food Area
                      level 2 Agriculture (Biology, Earth Sciences)
                      level 3 Farming (Agriculture 9, Mechanical Engineering 1)
                      Level 4 Irrigation (Farming 5% 5 Civil Engineering 5% 3, Management 5% 3, Mechanical Engineering 3% 2) longevity 5
                      Level 4 Improved Crops (Farming 0% 3, Breeding/Genetics 0% 5) Longevity 10
                      Level 4 Plows [Light Soil] (Farming 0% 2, Mechanical Engineering 2% 2, ?Draft Animals 0% 5) longevity 3
                      Level 4 Heavy Plows [Critical for Heavy Soils] (Plows 10% 4, Metallurgy 10% 10 (for Ironworking)) Longevity 3
                      Level 4 Early Agricultural Machines (farming 30% 2, Mechanical Engineering 15% 3) longevity 3
                      Level 4 Farm Machinery (Farming 45% 3, Engines 40% 4) Longevity 3
                      Level 4 Crop Rotation (Farming 0% 3, Agriculture 0% 5) Longevity 5

                      Other Level 4 Applications will be Fertilizers & Pesticides, "modern farming" (computerization, better weather forecasting, etc.) and Possibly Specialization (Cash Crops...)
                      Also need a level 4 technology of Drainage somewhere, maybe under Civil Engineering

                      So the basic way this is going to work, is when you want to improve your, say agricultural sector, the game will come up with an average cost per unit improvement based on the levels in the above technologies. The average effectiveness of those technologies will go into figuring out the "technology level" of the agriculture sector. I need to think about this carefully so that we don't double count the effectiveness of technology. Perhaps only one or the other of these effects should happen. I'll try to comment on that soon.

                      Level 3 Fishing (Helper Is Shipbuilding and perhaps something else)
                      need specific level 4 technologies here...

                      Level 3 Herding [especially important for nomadic economies] (Domesticated Animals 9, Land Transportation 2 for horses/mobility)
                      again I don't have ideas for specific level 4 technologies, except to basically duplicate herding...

                      Resources

                      Level 3 Mining [I think this should be level 3 not level 2, as Henrique suggests] (Mechanical Engineering 3, Civil Engineering 3, Geology 4)
                      Level 4 Early Mining Technology (Mining 0% 5, Explosives 20% 5) Longevity 5
                      Level 4 Modern Mining Technology (Mining 30% 3, Explosives 40% 3,
                      Level 4 Prospecting (Mining 0% 5, Geology 0% 5) Longevity 10

                      Level 3 Logging and Forestry (Ecology)
                      level 4 Logging (Logging and Forestry 0% 3, metallurgy 0% 10) longevity 8 (metallurgy is for the tools)
                      Level 4 Modern Logging Will Include Using Machinery...

                      Level 3 Farm Products [Non-Food like Flax, Leather...]
                      Level 4 Farm-Based Resources (Farm Products 0% 3, Metallurgy 0% 2, Breeding/Genetics 0% 4) Longevity 10

                      Well, I haven't even gotten to production and services yet and i'm already ready for a break. I will just go ahead and post this, and see if anyone has any violent objections to the way I'm proceeding first. I will update my post to include production and services later. Some of the things I put down are admittedly kind of lame. I am looking for suggestions as to how to broaden things out, and repair omissions. What do you think?
                      Project Lead for The Clash of Civilizations
                      A Unique civ-like game that will feature low micromanagement, great AI, and a Detailed Government model including internal power struggles. Demo 8 available Now! (go to D8 thread at top of forum).
                      Check it out at the Clash Web Site and Forum right here at Apolyton!

                      Comment


                      • #56
                        Mark: I was working on Tech Chart 5.2 when you posted. I will now change it to include your stuff, with my recommendations for a couple changes. A few concerns:

                        The problem with Engineering is that it is not really one thing. There are many types of engineering that depend on many sciences, and they are not really related to each other.

                        What exactly is "Farming"? I wanted to avoid Level 3 techs that are a hodgepodge of many things. IMO this tech and Agriculture are redundant. I would recommend splitting this into more specific skills.

                        Rather than having an Improved Crops application, I would recommend making Crop Plants a Level 3 tech. This would be one of the things that Farming gets split into.

                        This brings me to the applicatin boost. I wanted to avoid any direct micromanagement of Level 4. For the potato example, we can say that contact with a new continent gives lots of free RP's for the Crop Plants technology. I would like to avoid application manipulation because players might feel the need to direct this.

                        I would also recommend that Early Agricultural Machines and Farm Machinery be combined to form a Level 3 tech, rather than a string of applications.

                        I thought we already agreed that Mining would be split into two Level 3 techs: Prospection and Mining Engineering

                        You seem to believe that every Level 3 tech needs an application under it. I never thought his would be the case. Herding does not need applications, it simply affects the productivity of your nomad provinces.

                        I have to go now, so sorry if some thoughts are incomplete. I will wait for everything you have before posting 5.2

                        Comment


                        • #57
                          Mark:

                          Although some of what u say might be true, and I am willing to cut down on a few of mine, we still shouldn't bias ourselves toward one area (like military) or another.

                          FE i really would need the level 3 tech of instruments because there are hundreds of instruments out there. Even cutting it down to the basic ones, theres a couple dozen.

                          100 shouldn't be an absoulute number, but a reasonable target goal and if we are anywhere from ~80-120 it should be fine.
                          Which Love Hina Girl Are You?
                          Mitsumi Otohime
                          Oh dear! Are you even sure you answered the questions correctly?) Underneath your confused exterior, you hold fast to your certainties and seek to find the truth about the things you don't know. While you may not be brimming with confidence and energy, you are content with who you are and accepting of both your faults and the faults of others. But while those around you love you deep down, they may find your nonchalance somewhat infuriating. Try to put a bit more thought into what you are doing, and be more aware of your surroundings.

                          Comment


                          • #58
                            Forgive me if I missed something but where did level 4 techs come from? I thought it was just levels 1, 2, and 3.
                            1 being broad level theories, 2 more specific types and level 3 being the application techs.

                            Comment


                            • #59
                              Level 4 consists of individual applications: items, improvements, or structures. A new thing is that some of these applications like Crop Rotation are free and affect your civ instantly. They are not techs because they are applications, not fields of study. Also, they are too specific and numerous to each have a place as technologies.

                              Comment


                              • #60
                                IMHO, the level 3 techs have to be determined according to the difference they make in the game mechanics. This means that they have to be given a more or less defined function, so that when the player wants to promote a certain aspect of his civilisation, he will know where to push.

                                I also believe that the Research model can only be as elaborate as the affected models are. If it goes in more detail than that it actually has to handle, it becomes pointless.

                                As an example I will use two of my own proposed techs (very importantt in the antiquity): Tannery vs Textiles. They are both factors affecting the productivity of resources produced by Animal breeding (for Tannery) and by Agriculture and Animal breeding (for Textiles). Their products are used in about the same applications, (maybe more Armor applications for Tannery and Seafaring for Textiles). Their helper techs only differ a bit, with Chemistry for Tannery and Engines (weaving machines) for Textiles. The related model is the economic one of course, which divides everything into Food, Resources, Services, Labor and some specials. Unless the specials are brought into action, the above two level 3 techs do the same thing, they affect the productivity of the resources extracted from tiles where food is the main product (grass, plains, hills, you know), while the output of the extraction itself depends on other level 3 techs (Agriculture and Animal breeding). Metallurgy and Woodorking have the same function exactly, only they are meant to affect resources extracted from specials and forest tiles (the extraction being monitored by mining and forestry respectively). But what would that matter in a system where resources are unifyied and processed in a province basis with labor from the urban tiles? What saves Metallurgy and Woodworking is the fact that they have different applications.
                                • I am not implying that my tech tree proposal has something wrong. (I'm not a looney, not yet anyway. ) I only falsified one of my ideas (for which I always had doubts) because I did not want to piss off anybody. But if some of my 96 level 3 techs (which are generally considered few) are proved redundant, what about the techs in an even bigger list? To phrase it more crudely, equipping our models with a few score level 3 techs that they do not really need is only promoting our egos and encumbering the player.
                                • I am not implying that we need to retreat to the simplistic approach of the conventional tech systems that gave almost each one of their 90 or so techs (to be exact, 89 for civ2 and 91 for ctp: Activision outbids Microprose for 2 ) a discrete effect. We will posess up to 100 knowledge levels (described in % persentages) and hopefully about 1000 discrete applications suspended on them. That means 100 modifiers and 1000 triggers for effects, all of them available to us in order to enrich our gameplay. We have to find functions (they need not be too special or discete; only to make sense) for almost all of them, in order to justify their existence. Otherwise we will be playing with empty words.
                                • I am not implying that any of the models needs to be more elaborate, so that the related technologies would have a purpose. This would be "the mountain coming to the prophet". Considerations about elaboration or simplification of models will actually occur, but they have to be judged on their own accord. IMO we should try to achieve a roughly equal level of complexity for all the models.

                                What I am implying is that since the Research model (I used "research" instead of "technology", because we have to start getting used to the idea that this is something much bigger than just technology. I would rather use the terms "Knowledge" or "Lore", since "research" is yet another inaccurate term. Btw, "Lore" is a cool term, borrowed from RPG's, since we all seem to be RPG lovers as well as civ lovers End parentheses)...err...since the Knowledge model is the one most dependant of the others, it can only make sense if it is in some way serving their purposes. In other words, research in Clash design should not be seen as an end but as a means of enriching gameplay.

                                Thank you for listening to my ramblings. Excuse me if I am sometimes veering off-topic or if I am repeating myself.

                                ------------------
                                "In a time of universal deceit, telling the truth is a revolutionary act."
                                George Orwell
                                "In a time of universal deceit, telling the truth is a revolutionary act."
                                George Orwell

                                Comment

                                Working...
                                X