Announcement

Collapse
No announcement yet.

Technology Model 7

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

  • Originally posted by LDiCesare
    #2 Yes, long term imo.
    The specials would be good in the shorter term . The others can wait a bit.

    Originally posted by LDiCesare
    #4 Can be done. Siege is a bit problematic as it's a part of ground combat so when there's a wall, would you increase both siege and ground or siege only?
    Personally, I would. IMO siege warfare is different enough to have its own activity, regardless of whether it increases both or not.

    Originally posted by LDiCesare
    #5 I disagree. MoO had a very nice system where techs continues to give bonuses (reduction of size of ship hull/weapon/etc.) as tech went beyond the "max" level. That was good. There is an upkeep cost that prevents too much of a grwoth, I'd rather have this increase beyond a certain level, or increase exponentially at some point (currently we divide RPs by upkeep * knowledge, it could be upkeep * knowledge + smallNumber * square(knowledge) ). This I would agree with as the limit would nto be hard but there would effectively be a hard limit.
    I can live with it. From the model though, it seemed that the design called for it.

    Originally posted by LDiCesare
    #6 Yes. Actually the equations allow this to happen, but it's really unclear: Helper effect is 1 + sum of helepereffect * (knowledge - requirement) for all helpers but a tech is only active if all its helpers are. A tech is active if its helpers are past a "startlevel" (Ts in the model at some time from what I read in the code). The problem is that this startlevel is systematically 0 so all techs are active, and that this startlevel doesn't depend on the helped tech but only the helper...
    SO: I will add a tag in the helper tag so that the tech is inactive unless the helper reached that level. Since the word requirement is already used, I'll use start instead. If no start tag is specified, the value will be 0.
    I'm not sure if you're saying that I can currently force a tech to be inactive or not...

    Comment


    • I'm saying that you currently can't. I just made the change to the code though, so you will be able to if you retrieve the latest code version.
      Having features (specials) depend on the tech is doable too at low cost. I'll be coding that.
      Clash of Civilization team member
      (a civ-like game whose goal is low micromanagement and good AI)
      web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

      Comment


      • Originally posted by LDiCesare
        Having features (specials) depend on the tech is doable too at low cost.
        The more important one would be having tech depend on features (specials), so a civ's horsemanship tech, for example, is inactive until he gets some horses. Another example would be that until we can see uranium specials, our nuclear weapons tech should be inactive.

        Comment


        • On #5 I think also that there should be no limit on tech growth. If it is needed under certain circumstances we can discuss it. There was never meant to be a limit on tech afaik. 100 used to be a contemporary tech level for everything, but Richard threw out that assumption. But the game doesn't necessarily stop with contemporary tech anyway. Perhaps we need Activity tags that evolve with tech. The sucking up of available RPs by obsolete techs seems to be your big issue.

          On specials being needed for tech, that's fine. There may be a distinction needed to be made between the special Sites being present and the special commodity existing in the economy. FE one can buy uranium and have an active nuclear program (causing some consternation in the modern world). The tags might be something like siteneede and specialneeded to distinguish them.

          Seems to me a square could have both siege combat and regular at the same time (FE army attempting to relieve a besieged position), and siege and normal combat when relevant should be run simultaneously, but this discussion should be in the military thread.
          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


          • Regarding the new start tag, there's one thing that we'll need to add to this (in the long run). We need an OR tag, so we could have something like this:

            Code:
            <technology>
              <name>TechZ</name>
              <tier>2</tier>
              <growthrate>1.0</growthrate>
              <upkeep>1.0</upkeep>
              <helper>
                <name>HelperA</name>
                <requirement>0.0</requirement>
                <effect>0.5</effect>
                <start>0.5</start>
                <OR>
                <name>HelperB</name>
                <requirement>0.0</requirement>
                <effect>0.5</effect>
                <start>0.5</start>
              </helper>
            </technology>
            This means that TechZ will activate once HelperA has reached 0.5 OR HelperB has reached 0.5, whichever comes first. Also, should whichever tech comes first be the helper for the remainder of the game or should they both help?

            And...


            I've been thinking, what if we want a technology to be a requirement, but not a helper?

            I think maybe this would be better (includes new OR tag as well):

            Code:
            <technology>
              <name>TechZ</name>
              <tier>2</tier>
              <growthrate>1.0</growthrate>
              <upkeep>1.0</upkeep>
              <prerequisite>
                <name>RequiredA</name>
                <level>0.5</level>
                <OR>
                <name>RequiredB</name>
                <level>0.5</level>
              </prerequisite>
              <helper>
                <name>HelperA</name>
                <requirement>0.0</requirement>
                <effect>0.5</effect>
              </helper>
            </technology>
            This means that TechZ requires RequiredA or RequiredB (whichever comes first) to be level 0.5 before it becomes active, and has HelperA (which could be the same technology as RequiredA or RequiredB, or not) as a helper.

            What do you think?
            Last edited by alms66; January 14, 2005, 18:14.

            Comment


            • A requirement that doesn't help is easy: Put an effect of 0.0.
              As for the OR tag, can you give an example where it'd be useful?
              Note that this OR is not necessary if both help as you can moslty simulate it with an intermediary tech:
              Code:
              <technology>
                <name>IntermediateTechZ</name>
                <tier>2</tier>
                <growthrate>1.0</growthrate>
                <upkeep>1.0</upkeep>
                <helper>
                  <name>HelperA</name>
                  <requirement>0.49</requirement>
                  <effect>0.5</effect>
                  <name>HelperB</name>
                  <requirement>0.49</requirement>
                  <effect>0.5</effect>
                </helper>
              </technology>
              
              <technology>
                <name>TechZ</name>
                <tier>2</tier>
                <growthrate>1.0</growthrate>
                <upkeep>1.0</upkeep>
                <helper>
                  <name>IntermediateTechZ</name>
                  <requirement>0.0</requirement>
                  <start>0.1</start> <! -- may need tweaking here -->
                  <effect>0.5</effect>
                </helper>
              </technology>
              Here as soon as TechA or B reaches 0.4, the intermediate tech goes up and will let techZ be built. I know it requires lots of tuning from the designer, but unless I have an example of the actual usefulness of the OR I won't code it. Anyway, it wouldn't look exactly as your proposal: (given the underlying structure, I'd have to enclose the helpers inside a big or tag somewhat like this:
              OR
              helper1
              helper2
              /OR

              or

              orhelper1 orhelper2).
              Clash of Civilization team member
              (a civ-like game whose goal is low micromanagement and good AI)
              web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

              Comment


              • Originally posted by LDiCesare
                A requirement that doesn't help is easy: Put an effect of 0.0.
                Doh! I should have thought of that!
                Originally posted by LDiCesare
                As for the OR tag, can you give an example where it'd be useful?
                I'm actually thinking of doing a path of the tech tree that branches off of the 'settled' path for nomads. These nomads would have to have a way to get back onto the main path eventually, so I'm thinking that the only way to do it is to have an "or" situation somewhere in the tech tree.
                I'll get back to you with something more specific later.

                Comment


                • Originally posted by alms66
                  I'm actually thinking of doing a path of the tech tree that branches off of the 'settled' path for nomads.
                  It seems to me that nomads, esp. like Huns and Mongols are best simulated with the same tree as others. However they generate massive numbers of RPs in areas like horse domestication, combat, land transport, hunting, herding, etc. That would give them a significant lead in those areas, and the need to trade for other items. Lack of science and other settled arts would provide a ceiling beyond which they couldn't go. Sounds like it could be pretty realistic without alternative tech branches.
                  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


                  • Couldn't you simulate alternative prereqs about this way:

                    Code:
                    <technology>
                      <name>TechZ</name>
                      <tier>2</tier>
                      <growthrate>1.0</growthrate>
                      <upkeep>1.0</upkeep>
                      <prerequisite>
                        <name>RequiredA</name>
                        <level>0.5</level>
                      </prerequisite>
                      <prerequisite>
                        <name>RequiredB</name>
                        <level>0.5</level>
                      </prerequisite>
                      <helper>
                        <name>HelperA</name>
                        <requirement>0.0</requirement>
                        <effect>0.5</effect>
                      </helper>
                    </technology>
                    You see? Now you have the possibility of alternate prereqs, and it should be clear what is needed.

                    Comment


                    • That indicates, to me, that both RequiredA and RequiredB are needed, not that either of them is needed.

                      Comment


                      • Sorry, you're right, I should've made things a bit more clear:

                        Code:
                        <technology>
                          <name>TechZ</name>
                          <tier>2</tier>
                          <growthrate>1.0</growthrate>
                          <upkeep>1.0</upkeep>
                          <prerequisite>
                            <name>RequiredA</name>
                            <level>0.5</level>
                          </prerequisite>
                          <prerequisite>
                            <name>RequiredB</name>
                            <level>0.5</level>
                            <name>RequiredC</name>
                            <level>0.5</level>
                          </prerequisite>
                          <helper>
                            <name>HelperA</name>
                            <requirement>0.0</requirement>
                            <effect>0.5</effect>
                          </helper>
                        </technology>
                        This would mean that you need either A OR B and C.

                        Comment


                        • Max sinister, this is very much the
                          OR
                          helper1
                          helper2
                          /OR I was talking about:
                          I need different tags because the things are really different to me in the code beneath. It could be like this:
                          Code:
                            <prerequisite>
                              <name>RequiredA</name>
                              <level>0.5</level>
                            </prerequisite>
                            <or>
                            <prerequisite>
                              <name>RequiredB</name>
                              <level>0.5</level>
                            </prerequisite>
                            <prerequisite>
                              <name>RequiredC</name>
                              <level>0.5</level>
                            </prerequisite>
                            </or>
                          But then again I have other things to code so I'll need an example of why it's needed before I do that.
                          Clash of Civilization team member
                          (a civ-like game whose goal is low micromanagement and good AI)
                          web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

                          Comment


                          • Originally posted by LDiCesare As for the OR tag, can you give an example where it'd be useful?
                            One possible example is the Domestication tech. We could require the player to have access to horses (special), Camels (special) or elephants (special) before being able to research it. This is a possible example, because currently I have Horse Domestication, Camel Domestication & Elephant Domestication, but I could potentially drop those three if the OR tag was available.


                            I've also thought up some more functionalities for the model:
                            First, we need a way to set the start level of a tech, just in case we don't want it to start at 0 (for future scenarios that don't start at the dawn of time).

                            Second, we could add the ability to cease the growth of a technology if some other technology or some special is not available. For example, you could have TechA require TechB (or SpecialA) in order to advance beyond level x. Once the requirement is met, the tech begins to grow again.

                            Third, would we want the ability to grant an instant boost to another tech once a certain level is reached? For example, TechA has reached level x, this instantly causes a boost of 0.5 levels to TechB.

                            And Finally, It would be great if we could write a "technology event" directly into the technology tag. For example, one event could be to pop up a bulletin saying that the tech has been discoverd and what the tech does (the new interface could solve this particular problem though, or even putting the information into the event window could solve the problem- this is just an example of an existing event tag that might be used). Another example would be adding or subtracting a bonus to a hard-coded game function (this may require some very minor rewriting of said game functions - possibilities include population growth rate, population limit for migrations, etc.).

                            Comment


                            • First, we need a way to set the start level of a tech, just in case we don't want it to start at 0 (for future scenarios that don't start at the dawn of time).
                              You can do this per civ in a scenario. It requires doing it for each civ, though. Then starting at 1 or 0 is a convention fro knowledge a the start so it doesn't matter that much what the start value actually is.
                              Second, we could add the ability to cease the growth of a technology if some other technology or some special is not available. For example, you could have TechA require TechB (or SpecialA) in order to advance beyond level x. Once the requirement is met, the tech begins to grow again.
                              Sounds reasonable. I'd ask for details if I had time to code that but I don't.
                              Third, would we want the ability to grant an instant boost to another tech once a certain level is reached? For example, TechA has reached level x, this instantly causes a boost of 0.5 levels to TechB.
                              Check dawn for events that do something like that. You can have an event that brings research points to an activity, and an event can be triggered by a tech reaching a given level.
                              And Finally, It would be great if we could write a "technology event" directly into the technology tag. For example, one event could be to pop up a bulletin saying that the tech has been discoverd and what the tech does (the new interface could solve this particular problem though, or even putting the information into the event window could solve the problem- this is just an example of an existing event tag that might be used). Another example would be adding or subtracting a bonus to a hard-coded game function (this may require some very minor rewriting of said game functions - possibilities include population growth rate, population limit for migrations, etc.).
                              This should indeed be possible to include in the same file as the tech. The only problem is the current version requires a civilization recipient, and in the actions, one should beware of using that same civ. So we'd need some more tags to allow one to pass the civ from the event to the action...
                              The only limiting factor to these development request is thus the time to do them. Thus don't expect to see them any soon as I'm a bit busy, but I think they are good enhancements.
                              Clash of Civilization team member
                              (a civ-like game whose goal is low micromanagement and good AI)
                              web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

                              Comment


                              • Originally posted by LDiCesare
                                You can do this per civ in a scenario. It requires doing it for each civ, though. Then starting at 1 or 0 is a convention fro knowledge a the start so it doesn't matter that much what the start value actually is.
                                Yes, I know about doing it on a per civ basis, but this will be needed when the early tech tree is done, because, as I've said elsewhere, I expect that some techs will not start at zero, to give some moderate amount of knowledge to beginning civs, while keeping "minor civs" a bit further back (or at 0 on those techs).
                                Originally posted by LDiCesare
                                Sounds reasonable. I'd ask for details if I had time to code that but I don't.
                                I don't have any specific applications for it in mind just yet, but I'm sure I'll come up with some later.
                                Originally posted by LDiCesare
                                Check dawn for events that do something like that. You can have an event that brings research points to an activity, and an event can be triggered by a tech reaching a given level.
                                Yes, I'm fairly familiar with Dawn's events now. This is just one of those things that will ease the scenario design workload in the long run (by saving the designer the trouble of flipping back and forth between tech and events - this comment applies equally well to the final "request").
                                Originally posted by LDiCesare
                                This should indeed be possible to include in the same file as the tech. The only problem is the current version requires a civilization recipient, and in the actions, one should beware of using that same civ. So we'd need some more tags to allow one to pass the civ from the event to the action...
                                The only limiting factor to these development request is thus the time to do them. Thus don't expect to see them any soon as I'm a bit busy, but I think they are good enhancements.
                                I think this particular one will give a great deal of power to scenario designers, especially if we developed an event that could grant bonuses (or penalties) to hard coded formulas. I think we've still got a long way to go before truly needing this ability.

                                Comment

                                Working...
                                X