Announcement

Collapse
No announcement yet.

Final (5.3) Tech Dynamics

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

  • #91
    quote:

    It worries me that this system does not shut off technologies. When a civilization is researching interstellar space travel it will still be allocating research point to the development of the bow and arrow.


    The current tech tree is designed so that this is not a problem. The Bow is an Application, and the relevant technology would be "Ranged Weapons" among other things. A bow might come at Ranged Weapons level 10 and Woodworking level 15. A plasma rifle might come at Ranged Weapons level 150 and Particle Physics level 140.

    But some custom designed tech trees might require temination of some sort. I guess there could be a flag that simply stops advancement at a certain level, holds the level where it is, and cuts the tech out of the RP allocation. But if we are not careful, the players will aim for those points so they don't have to spend the RP on upkeep.

    quote:

    The only way that I can think of to get around this problem is to have an Activity object holding a list of technologies, and the proportion to go to each. Then, when it signals to the Technology object, it can work out the correct percentages.


    I assumed that was the plan all along. The Activity objects were meant to distribute the RP's using data they gathered from the other objects.

    quote:

    The connection between the actual unit or building, and the tech hierarchy can be achieved in one of two ways:

    1. Inheritance. Every "thing" which is an Application inherits from a base Activity class.
    2. Containment. Every "thing" which is an Application contains an Activity object, as described above, with the required properties.[q]

    I don't understand why there is a direct connection between Activities and Applications. Activities determine how RP's are distributed to Technologies. The Technologies turn those RP's into tech levels. The tech levels then determine application effectiveness. The only direct connection I can think of is that creating an Application using the Economy model will generate RP's that are assigned to an Activity, since each Application is created by devoting resources to an Infraclass.

    I don't know the proper programming terms very well, so please don't assume that I am telling you how to do something. I'm just trying to explain how we want the model we designed to work. If something I ask for is too difficult too implement, we can certainly make a few changes.

    [q]The second option is much the better one, since it is more reasonable to have a military unit inherit from another military unit.


    I don't understand this one. Does it mean that you want one unit to be a prerequisite for another in the tech tree?

    quote:

    In addition, this option allows an Application to be influenced by more than one Activity, which can only add power to the game.


    This already happens indirectly. Technologies are influenced by one or more Activities, and Applications are influenced by one or more Technologies.

    Comment


    • #92
      Oh, I think I see the problem now:

      quote:

      For every tech [associated with that Activity], raise ...

      quote:

      When the Observer (the entry in the TechnologySet table) gets a signal, it has no way of knowing how many other technologies are also getting the signal...


      It seems to me that you thought I was asking you to run the equations in the Technology objects. I didn't mean that. This equation would be run in the Activity object. The equation generates the RP's for each tech, and then passes the RP number to each tech.

      And even if I wanted them to be run in Technologies, don't hesitate to ask for model changes if it causes problems like that. The thing I've tested and worked on most is the equations in the spreadsheet, everything else like the way data is passed around can change pretty easily if it causes a problem for programming.

      By the way, what is the TechnologySet table?

      Comment


      • #93
        Richard:
        Sorry, my post had errors - my boss showed up as I was typing, and I panicked and sent the post. By the time I got back to edit it you had answered!

        Here is what I meant to say:

        The connection between the actual unit or building, and the tech hierarchy can be achieved in one of two ways:

        1. Inheritance. Every "thing" which is an Application inherits from a base Application class which contains the requirements, etc.
        2. Containment. Every "thing" which is an Application contains an ApplicationSpecification object, as with the required properties.

        The second option is much the better one, since it is more reasonable to have a military unit inherit from another military unit. In addition, this option allows a number of Applications to have the same relationship to the tech structure, by using the same ApplicationSpecification object.

        It will mean that other coders using the Application system will have to point their instances of objects at the correct ApplicationSpecification, which must be created by them, and registered with the tech structure as observable.

        I hope this makes more sense.

        Cheers

        Comment


        • #94
          I really should give up this doing my posting from work. Unfortunately, my home email connection is 100 miles away, and I don't get to it until Friday. In the meantime, I have no telephone connection in my hotel room, and the cyber cafe around the corner is ridiculously expensive.

          My post crossed your further comment!

          What time of day is it where you are? It is 3pm Wednesday her.

          The TechnologySet is specific to whatever entity has technologies. It may be a civilization, or a province or (heaven forbid) a map square. There is nothing in the technology coding that prevents any combination to be used.
          The TechnologySet has a level value for each technology, for the particular entity (civilization, etc), and a link to the relevant Technology.

          The Technologies themselves are unchanging, and the same for all civilizations.

          The TechnologySet is required, because the calculation of tech rises has to be able to access the helper tech levels.

          The TechnologySet will probably have its name changed to TechnologyLevels.

          It is actually a hash map, with:

          Technology object as the key
          Level and NewLevel as data (float)

          The process is:

          1. Work through the TechnologySet, tech by tech
          2. Pick up the Level for the tech
          3. Look up the Technology object and get the help list, and the parameters
          4. Look up each of the helpers in the TechnologySet and get the levels
          5. Perform the calculations
          6. Store the result in NewLevel

          Then, when all have been calculated,
          7. Work through the TechnologySet, tech by tech
          8. Set the Level to NewLevel

          Cheers

          Comment


          • #95
            quote:

            Originally posted by Gary Thomas on 03-27-2001 09:57 PM
            What time of day is it where you are? It is 3pm Wednesday her.



            Ah yes, the wonders of global connectivity. I am relaxing after classes while you are posting from work tomorrow.

            By the way, here's how you can deal with unexpected boss visits:
            1) Find some arcane portion of your company's webpage, or an industry webpage.
            2) Copy that html file to your hard drive.
            3) Put a bookmark to the hard drive file in the Favorites folder.
            4) Memorize the keyboard shortcuts to that page from the Favorites folder.

            You can type the shortcut really fact, and it will load up almost instantly. In less than a second, you can go from posting at Apolyton to stydying Section II-A-3 of your company's Programming Standards Manual. Then you can simply click "Back" and everything will be as it was.

            The TechnologySet/TechnologyLevels sounds good. There has been talk of giving one of these to every ethnic group, so we can experiment with that.

            quote:

            The process is:

            1. Work through the TechnologySet, tech by tech
            2. Pick up the Level for the tech
            3. Look up the Technology object and get the help list, and the parameters
            4. Look up each of the helpers in the TechnologySet and get the levels
            5. Perform the calculations
            6. Store the result in NewLevel


            Sounds good for now. In future versions we will have equations for tech diffusion due to trade, conquest, and migration. That would happen between stwp 5 and 6.

            Out of curiosity, are you the same Gary Thomas who posts in the Warlords Battlecry forums?

            Comment


            • #96
              Actually i still think we should remember to define the difference between TenchLevel and PotentialTechLevel, where the former is the actual level in a given area and the latter is the maxium possible if the economy and whatnot could support it would be.

              Also another thing to be aware of for later is that superior applications will not always replace older ones right away.
              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


              • #97
                Back at work, 7am Thursday - boss not here yet!

                quote:


                Out of curiosity, are you the same Gary Thomas who posts in the Warlords Battlecry forums?


                I confess, I am.

                As a result of the extended discussions about tech details, I have sort of accidentally almost finished coding the whole tech model.

                The main thing I have to do now is finish the user interface for the editor, and get it debugged.

                From Mark:
                quote:


                We could have a TechUser interface and Civ would be the first thing that implements it.


                I had just a few moments ago decided that the connection to the tech area would best be achieved through an interface, and will implement it in that form.

                I am having conceptual difficulties with using the Observer/Observable system to communicate with tech. For example, when building applications, presumably a player will be presented with a list of buildable applications for a civilization (or whatever). When the list is constructed, for each possible application the code will need to check whether the application is buildable. My TechnologicalInterface has a call:
                Code:
                public boolean isBuildable(String name)
                where name is the name of the application. This should be called for each application. This does seem a simpler method than a rather contrived use of Observer.

                Cheers

                Gary

                Comment


                • #98
                  quote:

                  Um, for demo 5 there is no tech model...

                  Um, why not? I thought we always planned for one. The economy model is in there, with all the infraclasses we need to generate the RP's. I undestand why the effects of Civilization Activities need to wait, but the only interaction we really need for now is have it turn applications on and change their effectiveness. That will be enough to show technological growth, which I think would be a good thing for the demo at this point.

                  LGJ, I think that is one of those things in the "worry about later" category. In the first impplementation of the tech model, the actual and ideal tech levels will simply be the same thing.

                  Comment


                  • #99
                    Hi Richard:

                    Technology was always planned to be included in the old demo 5 plan. That was before F. Smith said he could rebuild the whole code from scratch and do a better job... So the current demo 5 plan is significantly scaled back from the last one due to the complete refactoring of the code. Right now I frankly just want to get Something out because it's way overdue. However, if Tech is ready by the time we are actually set to launch it, then I'd love to include Tech. I just don't want to promise anything now.
                    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


                    • The tech editor is about 90% complete.

                      The tech part itself is done all but the RP expressions and the interface with other parts of the game. The expressions have been delayed because it takes a little while to change the algebraic variables in Mark's code to the descriptive ones. The helper stuff algebra is all done, for RPs and for applications.

                      I have to figure out exactly how activities are coded, and how the rest of the system interacts with tech.

                      The "isBuildable" for applications is done.

                      Most of the GUI is done and tested: I have to add helper panels for techs and apps, and the parameters for apps.

                      I have to add activities to the GUI (pretty simple!).

                      The read/write to XML is done (though I haven't reworked Xerces yet) but needs to be tested.

                      I go home tomorrow morning.

                      This time I will not forget to take the source code.

                      Should be complete and usable by Sunday or Monday.

                      Cheers

                      Comment


                      • Hi Gents, just a few miscellaneous comments.

                        Agree strongly with both of you that Everything possible should be read in from ini files and tunable (at their potential peril ) by playtesters.

                        quote:

                        For Demo 5, all activities will be associated with Infraclasses, as defined in the Economy model.


                        Um, for demo 5 there is no tech model... won't even likely be hooked into the game for now, although we could maybe demo some things. What you say is true for demo 6, with the inclusion of military unit effectiveness to the economy you mentioned. At least that is my take on how the staging of such things should work. However with F_Smith's real life attack, and me taking over the stuff he was doing for d5 its possible things will go slowly for me, and tech will be much further along than I anticipate.

                        quote:

                        The TechnologySet/TechnologyLevels sounds good. There has been talk of giving one of these to every ethnic group, so we can experiment with that.


                        Although that may be the preferred long-term solution, perhaps for simplicity in the first tests we should just hook up TechLevels to Civilization. Lord knows the playtesting for the model, and interpreting what's happening and why, is going to be tough enough with tech even at the civ level. So that's my vote anyway. We could have a TechUser interface and Civ would be the first thing that implements it.

                        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 sleep last night, so:

                          quote:


                          I have to figure out exactly how activities are coded, and how the rest of the system interacts with tech.



                          Done

                          quote:


                          I have to add helper panels for techs and apps, and the parameters for apps.



                          Done

                          quote:


                          I have to add activities to the GUI (pretty simple!).



                          Done

                          One thing I have to do is add "Remove" buttons to all the options. Not a big job.

                          Cheers

                          Comment


                          • Gary:

                            Excellent Progress , though I'm sorry to hear about the not being able to sleep thing...

                            quote:


                            I have to figure out exactly how activities are coded, and how the rest of the system interacts with tech.

                            Done



                            Can you fill us in on how you plan to have it work exactly? That's because there may be things going on in other models you're not aware of, and so its possible your approach will be incomplete etc. I don't anticipate that, but better safe than sorry...
                            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


                            • quote:


                              Can you fill us in on how you plan to have it work exactly? That's because there may be things going on in other models you're not aware of, and so its possible your approach will be incomplete etc. I don't anticipate that, but better safe than sorry...


                              I agree. I will post some possible options over the weekend.

                              Depending on the response I can do it in various ways.

                              However, the Observer/Observable option does not seem to be very appropriate. I have to go now, but will post something when I get home in a few hours.

                              Cheers

                              Comment


                              • Hi Gary, sounds like a plan! BTW I sent you an email last week to the Dawn address and never heard anything. I've just sent you a followup, and would like to hear your response when you get a chance to check out my proposal.

                                Things actually are looking better for doing tech in d5 if practical, since there's a lot more interface work than I was planning on that I need to do before release . Bad for me, But good for Tech!
                                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

                                Working...
                                X