Announcement

Collapse
No announcement yet.

Demo 8 near to completion ?

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

  • #46
    uhh...scratch that. I've beaten it. It's difficult, but can be done. It's a matter of holding out long enough to have your units build (they do build eventually, it takes forever though - unless the units that popped up were like civ2's partisans because I was being heavily invaded at the time they popped up). And the good news is, now that I've finally beaten it, I can stop playing it. That is good news because, although I haven't been working on the graphics for the past few hours , it means that Clash (even now) does have that same appeal that used to keep me glued to Civ for endless hours.

    Comment


    • #47
      Now that I've beaten it once, I can beat it regularly I believe. I did much better this time around too. I even have a couple of screenshots as proof!
      Attached Files

      Comment


      • #48
        And the second...

        Here you can see just how deep into Persian territory I got!
        Attached Files

        Comment


        • #49
          Originally posted by alms66
          The second key to winning this scenario is road building
          (snip)
          2. Add the ability to build units. As it is now, now matter how high I set the construction input, I never get units built. Is this even intentional?
          I like the road building idea, that makes sense.

          Not being able to build units is. I believe not a direct intention of Laurent. It is a consequence of two aspects of the scenario. The first is that very low tax rates are needed to keep people happy, and so little economic power is available for the govt. The second is that the econ model assumes that provisioning the troops always comes first, before building more units etc.

          With the starting armies, supplies consumes all available resources pretty much. (a few other builds may get through if they use different resources from army supplies.) Only when you either radically increase the size of your economic base, or alternatively lose enough troops, do you get out of this regieme.

          Obvious fixes are to either make the economy more productive (increase tech level seems best) or change the amt. of supplies needed for an army. Another solution is to remove the assumption that full supplies should be maintained as a first priority. I don't like that since once that auto feature is shut off the player would need to mess with the supplies regularly to stop the supply situation from going out of whack.

          Fixing this problem was going to be my next step, but I don't know when it'll happen. If you want to change the tech levels by editing the scenario file, you might be able to fix it yourself!
          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


          • #50
            I've gotten to the point where I can beat the scenario every time now. Once I learned how to control and prevent rebels from cropping up, the scenario got much easier because then it merely became a conquest scenario. I don't think there's anything wrong with it anymore (that's what I meant by "scratch that") and I believe we should leave it as is. I could write a step-by-step guide to beating it into the scenario file (a sort of tutorial, as is presented in the Dawn scenario), if you think that would be a good idea.

            And just to prove it, here's a new screenshot...
            Attached Files

            Comment


            • #51
              I beat it regularly too . I usually control the whole map by turn 50.
              I don't actually build roads, but it can help. Units start being built around the time when you have conquered all Greece and some of Persia. It's indeed more of a side effect than anything else, but it's nice with me. And since you said a solution could be to add an army, well, what I do is to split mine in two and send some to the northeast...
              The side effects of riots are not always drastic. When you have 3 or 4% riots probability in every square, you actually have no riot, or the riotting is limited and doesn't cause rebel units creation.
              The social model in this scenario is indeed hard, but it's the way I wanted it. You have very little to maneuver around, but it's a design choice. In a game where the ethnic groups have less different preferences, you'd have much more freedom. Then again, the things which actually do something in the social model are very limited: Discrimintation has its own effects, tax rates are important, but the rest have no actual meaning in the game as of now. For instance slavery should actually do something instead of just being a slider. Anyway, if you think there's not enough room to maneuver around, I'd rather change the figures in the scenario (make Persians more like the Greeks) than touch the social model/code itself.
              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


              • #52
                I tried playing the social test scenario using the “new” social panel, and I’m sorry to say that I fail to see its usefulness other than a slight aid in my micromanagement technique I explained previously, as it allows you to micromanage before the riots happen, rather than after. Each turn, throughout the entire game, I opened the panel and hit the apply button to try and prevent rioting (and thus using the suggested settings every turn of the game). Most turns afterwards I ended up with rioting and rebel formation. The rioting was so severe in Persia as to actually destroy my invading army.

                Turn after conquering western Persia

                Meanwhile back at home the rebels grow in power

                And then the Spartan rebels join in...

                Had this been the complete AI, the Persians would have pressed their advantage and wiped me out, or so I'd hope. Contrast this with the technique I described, which produced “0” rebels…, absolutely none.

                And the final shot of rebel power...

                So you see Laurent, my problem origionally was that I couldn't control the rioting or rebels actually, which made the scenario suck. Then I learned how to get rebel formation down to '0', but it is micromanagement intensive. Now using the social panel is less micromanagement intensive, but I have more rebels than if I'd micromanage the thing, which is IMO, unacceptable. It's not that the social model is set too high, because I've already shown that I can keep rebel formation down to '0'. The problem is that the panel doesn't do an optimal job and in fact makes the scenario harder than it really is.

                Comment


                • #53
                  There is also a problem with the panel itself, and since a picture is worth a thousand words...here you go:

                  Panel Problem

                  BTW, should we start a thread specifically for this scenario? We've done an awful lot of discussion on it lately.

                  Comment


                  • #54
                    Now, contrast the previous game's dire situation with this game, using my method of riot control (never saw a rebel once). This is just after defeating the Persians invasion force. Roads, as you can see, are useful for hunting down pesky invaders who run rather than fight (I still hate this aspect of Clash, and we really need to do something about this soon), which is why I suggested their use before, though they aren't vital to winning, their use does keep me from getting annoyed with situations such as this single Spartan unit that has been running away from me for almost 20 turns now.

                    Anyhow...

                    Western Empire
                    Eastern Empire

                    Comment


                    • #55
                      The social panel has indeed some problems.
                      The user interface one is that the pies at the top get eaten by what's below.
                      The other one is the ai doesn't always find a solution for your problems. That's in fact because I use a gradient algorithm, which depends a lot on the starting conditions. If you start with something awful, then the social model doesn't help you much.
                      The main usefulness of the panel for me is to check a priori the exact state of the land. You can change the policies in the ruler panel and see the effect that will happen next turn thanks to that panel. I think this is helpful.
                      I agree that the ai should be better than it currently is, but it's hard to find a solution when you're stranded far from any good solution. I could use genetic algorithms or simulated annealing to that end, but didn't take time to do it before the simple solution had some feedback.
                      Then again, I see this panel as a help feature and a debugging feature. If things are mostly good, the panel can help, but when it's hard, you shouldn't let the ai control the game in your place. As for debugging, it's helpful because it lets me know what the ai does (since it uses the same bit of code as the one behind the panel).
                      I'll check if I can put some genetic algorithm inside.
                      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


                      • #56
                        There's no need to get extremely complicated with this. As I've been explaining, move 10 points towards the result desired by the people when one of the low-intensity riots occurs. That's all I do when I play and I never have a problem with rebels. Having to do it manually is only slightly harder than if this panel would automate it for you is all I'm saying - and people will do it manually if they get some benefit out of it. Since I've started using this method, I've had only one rebel crop up....ever....thus you're, in essence, getting a good ai for real cheap.

                        If you want to get somewhat complicated with it, change the amount moved depending on the difference between the current level and the desired amount.

                        For example:
                        Difference/Move
                        5/1
                        10/2
                        20/5
                        40/10

                        So if the current policy is 40 and they want 0, move 10 points closer to the desired result, or 30. If the current policy is 55 and they want 40, then move by 5 towards 40, or set it to 50.

                        If you insist on implementing a GA, that's your decision, but I'm certain it will take at least twice as long to calculate as it would to look this up.

                        -Edit-

                        How, exactly, do you currently calculate the suggested results? Could you give an example, please?

                        Comment


                        • #57
                          What you do is the algorithm I use, more or less, that is a gradient search (move policy towards the desired policies).
                          You should check the ai.txt file generated by the game to see what the ai is doing:
                          I move the policies towards the policies wanted by riotters by a small step, recompute all riots, check if the overall riots are lower. If they are, I continue moving in that direction until I no longer get any gains.
                          The problems are that I check for each riot one by one, and the last riots checked for may have more influence than the first ones. Reducing the step helps here. However, there is a bug where I sometimes find a good solution and don't apply it:

                          -- AI proposing policies Macedonia
                          -- AI adjusting policies Macedonia -- start
                          *** Iterating policies change ***
                          Current dicontent value = 11.573602
                          AI adjusting policies from: Government Policies: ----------
                          Data:
                          game.government.PowerStructure$Worker@14627a: 0.0
                          game.government.PowerStructure$Warfare@166bfd8: 0.2
                          game.government.PowerStructure$Bureaucracy@20807c: 0.0
                          game.government.PowerStructure$Ruler@1931579: 0.5
                          game.government.PowerStructure$Ethics@bd09e8: 0.2
                          game.government.PowerStructure$Capital@d58ce2: 0.0
                          game.government.PowerStructure$Human@4d41e2: 0.1Negotiated policies:
                          Tax rate: 10%
                          Civil rights: 38%
                          Ethnic discrimination: 20%
                          Religious discrimination: 20%
                          Slavery: 0%
                          Foreign policy: 56%
                          Regime policies:
                          Private property: 80%
                          Social policy: 10%

                          to: Government Policies: ----------
                          Data:
                          game.government.PowerStructure$Worker@14627a: 0.0
                          game.government.PowerStructure$Warfare@166bfd8: 0.2
                          game.government.PowerStructure$Bureaucracy@20807c: 0.0
                          game.government.PowerStructure$Ruler@1931579: 0.5
                          game.government.PowerStructure$Ethics@bd09e8: 0.2
                          game.government.PowerStructure$Capital@d58ce2: 0.0
                          game.government.PowerStructure$Human@4d41e2: 0.1Negotiated policies:
                          Tax rate: 2%
                          Civil rights: 55%
                          Ethnic discrimination: 0%
                          Religious discrimination: 50%
                          Slavery: 52%
                          Foreign policy: 50%
                          Regime policies:
                          Private property: 80%
                          Social policy: 10%

                          Result dicontent value = 5.5738697
                          *** New policies are kept. ***
                          *** Iterating policies change ***
                          Current dicontent value = 5.5738697
                          AI adjusting policies from: Government Policies: ----------
                          Data:
                          game.government.PowerStructure$Worker@14627a: 0.0
                          game.government.PowerStructure$Warfare@166bfd8: 0.2
                          game.government.PowerStructure$Bureaucracy@20807c: 0.0
                          game.government.PowerStructure$Ruler@1931579: 0.5
                          game.government.PowerStructure$Ethics@bd09e8: 0.2
                          game.government.PowerStructure$Capital@d58ce2: 0.0
                          game.government.PowerStructure$Human@4d41e2: 0.1Negotiated policies:
                          Tax rate: 2%
                          Civil rights: 55%
                          Ethnic discrimination: 0%
                          Religious discrimination: 50%
                          Slavery: 52%
                          Foreign policy: 50%
                          Regime policies:
                          Private property: 80%
                          Social policy: 10%

                          to: Government Policies: ----------
                          Data:
                          game.government.PowerStructure$Worker@14627a: 0.0
                          game.government.PowerStructure$Warfare@166bfd8: 0.2
                          game.government.PowerStructure$Bureaucracy@20807c: 0.0
                          game.government.PowerStructure$Ruler@1931579: 0.5
                          game.government.PowerStructure$Ethics@bd09e8: 0.2
                          game.government.PowerStructure$Capital@d58ce2: 0.0
                          game.government.PowerStructure$Human@4d41e2: 0.1Negotiated policies:
                          Tax rate: 4%
                          Civil rights: 38%
                          Ethnic discrimination: 50%
                          Religious discrimination: 29%
                          Slavery: 0%
                          Foreign policy: 57%
                          Regime policies:
                          Private property: 80%
                          Social policy: 10%

                          Discontent = 11.581794 >= 5.5738697: changes aborted.
                          -- AI adjusting policies Macedonia -- ended

                          We start from the poor
                          Tax rate: 10%
                          Civil rights: 38%
                          Ethnic discrimination: 20%
                          Religious discrimination: 20%
                          Slavery: 0%
                          Foreign policy: 56%

                          The ai finds that
                          Tax rate: 2%
                          Civil rights: 55%
                          Ethnic discrimination: 0%
                          Religious discrimination: 50%
                          Slavery: 52%
                          Foreign policy: 50%
                          is better,
                          but doesn't propose this but proposes
                          Tax rate: 4%
                          Civil rights: 38%
                          Ethnic discrimination: 50%
                          Religious discrimination: 29%
                          Slavery: 0%
                          Foreign policy: 57%
                          instead even though it knows it is a worst policy.
                          If I can fix that, the ai should work much better.
                          You don't have the details of all iterations in the above figures, but can see the steps are a bit large, as the ai will happily move up to 30% a figure in one pass, which is probably too much for it to converge, but it must move a lot in order to get out of the initial pitiful policies I provided the player..

                          Also note one thing: When you have armies somewhere, this lowers riotting. If your army moves, unexpected riots may happen.
                          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


                          • #58
                            I corected that a bit. It's better but not yet perfect. I hardcoded a limit, that is the ai won't adjust tax rates, since it happens to lower taxes to a level where you are really harmed by it. I should provide a lock mechanism which lets you precise which parameters are allowed to tune. That window could probably merge with the ruler window somehow though I'm not sure exactly how.
                            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


                            • #59
                              Originally posted by LDiCesare That window could probably merge with the ruler window somehow though I'm not sure exactly how.
                              I would add another button at the bottom of the ruler panel (I don't know what to call it - demographics maybe?), and move the 'social panel' to that panel instead. Add locks on the current ruler panel next to the policies, and when they are locked, have the ai not change those.

                              Comment


                              • #60
                                Another 'bug' to add to the list...

                                In playing around with the testbed today, trying to find the map size that would fill the entire minimap screen, I discovered that generating a map larger than:

                                width=67
                                height=134

                                causes a problem with the minimap as seen in the attatched image. I didn't go further to test whether it was the width or the height because, as you may have noticed, I was trying to keep the map square.
                                Attached Files

                                Comment

                                Working...
                                X