Announcement

Collapse
No announcement yet.

CRADLE 1.35: Thoughts on game balance

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

  • #16
    If you integrate Dale's method of finding what government you're in, you can SLIC either happiness bonuses for the AI to counteract penalties, or happiness hits for the human to simulate them.
    But this means a change to units.txt, and yet more SLIC. It may be easier to do it Hex's way.
    Concrete, Abstract, or Squoingy?
    "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

    Comment


    • #17
      I'm thinking of it for a new mod... basically... I'm not sure if I need it right now, but if I did, I'd probably go with Dale's method, and SLIC the happiness, to be done with it.

      Comment


      • #18
        Originally posted by MrBaggins
        thanks for the extremely useful and thoughtful feedback, Huang
        is that sarcasm?

        Comment


        • #19
          Well... was your feedback useful and thought provoking ?

          Comment


          • #20
            What I was thinking was keeping track of what government the AI was using, and how many cities it had, and use slic (as per disasters code?) to add happiness in each of their cities to make up for the difference between their government limit, and how many cities they found/capture.
            I'm pretty sure this can be done exactly as you've suggested. In fact I've knocked off a handler that should do it but it keeps hanging on me. It may be a problem with Dale's 'WhatGovernmentAmI' when you reload SLIC, because I know it works fine if you start from scratch.

            Give me a day or two.

            Comment


            • #21
              OK, try this. I didn't actually try it with Cradle. I'm currently running SAP so I tried it there (it works) and then made some changes so that it should work with Cradle.

              You'll have to add the necessary Government specific settler units to CRA_units.txt. Here's an example:

              Code:
              UNIT_SETTLER_ANARCHY {
                 Description DESCRIPTION_UNIT_SETTLER
                 DefaultIcon ICON_UNIT_SETTLER
                 DefaultSprite SPRITE_SETTLER
                 Category UNIT_CATEGORY_SETTLER
                 Attack 0
                 Defense 10
                 ZBRangeAttack 0
                 Firepower 1
                 Armor 1
                 MaxHP 10
                 ShieldCost 0
                 PowerPoints 0
                 ShieldHunger 0
                 FoodHunger 0
                 MaxMovePoints 100
                 VisionRange 1
                 ActiveDefenseRange 0
                 LossMoveToDmgNone
                 MaxFuel 0
                 NoZoc
                 GovernmentType GOVERNMENT_ANARCHY
                 SettleCityType UNIT_CITY
                 SettleSize 1
                 CanBeExpelled
                 CantCaptureCity
                 DeathEffectsHappy
                 BuildingRemovesAPop
                 OnlyBuildOne
                 IsSpecialForces
                 Civilian
                 SoundSelect1 SOUND_SELECT1_SETTLER
                 SoundSelect2 SOUND_SELECT2_SETTLER
                 SoundMove SOUND_MOVE_SETTLER
                 SoundAcknowledge SOUND_ACKNOWLEDGE_SETTLER
                 SoundCantMove SOUND_CANTMOVE_SETTLER
                 SoundAttack SOUND_ATTACK_SETTLER
                 SoundWork SOUND_WORK_SETTLER
                 SoundVictory SOUND_VICTORY_SETTLER
                 SoundDeath SOUND_DEATH_SETTLER
              
                 CanSee: Standard
                 MovementType: Land
                 MovementType: Mountain
                 Settle: Land
                 Settle: Mountain
                 Size: Small
                 VisionClass: Standard
              }
              You need one of these for each Cradle government type. See the handler 'GOVT_SetupArrays' for the names you have to use.

              Also you have to go to CRA_gl_str.txt and, in the units section, for each of them include a line like:

              Code:
              UNIT_SETTLER_ANARCHY                            "Dummy Unit"
              Finally, the happiness bonuses that this handler gives might be a bit excessive: it gives them across the board to every city in an AI civ that's exceeded it's TooManyCitiesThreshold. See what you think; they can be changed.
              Attached Files
              Last edited by Peter Triggs; January 29, 2003, 19:56.

              Comment


              • #22
                Nice suggestions recently.

                I don't have a problem with the AI 'cheating' its number of city limits - to a certain degree. But i don't want it to sprawl ICS style, which IMHO is one of the worst traits of the tbs game.
                If the unhappiness bonus could be fudged to help out the AI then that is good, but i think a production and growth penalty should count for the cities over the limit determined by goverment type.
                As far as the player is concerned i sometimes think that the penalties for going over you city limit(and size for that matter - i mean size 30etc) should be harsher.
                If you think about it how many pre/ancient civilisations could effectivly manage their empires once they had reached too(this is an x number of cities which varies from civ to civ) large a size. With the Mayan's it caused massive civil war and led to their downfall, the Greeks,Romans,Mongols did manage it to greater or lesser extents, but they had very advanced lines of communication and invested heavily in infrastructure to support it.
                The Wonders are tricky, it wouldn't be a civ/ctp game without them.
                Not so sure on civ specific but I like Maquiladora's suggestion,which would be a halfway house i guess, of having more wonders available at the same time with roughly the same bonus, but with some kind of limiting factor. Like only x amount per age/epoch, maybe with reduced power for most of them(keep a few good must build ones), maybe a higher upkeep cost(i think they are free at present) etc. Still this approach would mean a lot of other things would need to be tweaked to take it all into account(especially Wonder upkeep). Nice Idea's Mr Baggins
                'The very basis of the liberal idea – the belief of individual freedom is what causes the chaos' - William Kristol, son of the founder of neo-conservitivism, talking about neo-con ideology and its agenda for you.info here. prove me wrong.

                Bush's Republican=Neo-con for all intent and purpose. be afraid.

                Comment


                • #23
                  Mr Baggins,

                  Did you try this out?

                  I'm surprised none of the other SLICer's haven't had a look at it and found the Easter Egg.

                  Comment


                  • #24
                    Thank you so much for the code, Peter... its much appretiated...

                    I am, at the starting point of a seriously big mod project for CtP2, as we speak, called 'Poor Get Richer'... linkified here. I've been testing minutae to see exactly how much is possible. I've not incorporated *this* code, yet... but will... as soon as the (new and fully modifiable) colonization stuff is done.

                    MrBaggins

                    Comment


                    • #25
                      er... Easter Egg?
                      Did somebody shoot the easter bunny, or is 2am a bad time to be SLICing?
                      Concrete, Abstract, or Squoingy?
                      "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

                      Comment


                      • #26
                        IW,

                        2AM is a bit late. I'm gonna hit the sack. But, ever seen this before,

                        Code:
                                government[0]=GOVT_WhatGovtAmI[player[0].owner];
                                maxCities=GovernmentDB(government[0].type).TooManyCitiesThreshold;
                        You know how we've been trying to access the fields in the Databases for ages, but all we got was syntax errors? Basically, MrOgre slipped up on the documentation and, although it's a bit hit and miss, I've been having some luck with getting through to those fields.

                        Comment


                        • #27
                          I noticed the maxCities=GovernmentDB(government[0].type).TooManyCitiesThreshold; line... and thought itlooked a little... useful...

                          *chuckles*

                          MrBaggins

                          Comment


                          • #28
                            Why government[0].type I thought you do it like it is done in the Great Library:

                            GovernmentDB(Government[0]).TooManyCitiesThreshold

                            -Martin
                            Civ2 military advisor: "No complaints, Sir!"

                            Comment


                            • #29
                              Hey, thats really cool. Good discovery Peter

                              I'm sure there was something I was going to do once that was sorted, but I cannot for the life of me remember what it was.
                              Concrete, Abstract, or Squoingy?
                              "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

                              Comment


                              • #30
                                Yes, that works too. The thing is that MrOgre wrote:

                                A record in any of these databases can be accessed by name or by index. ...

                                But it doesn't stop there. Many fields from each database are also accessible. ...

                                Examples:
                                tankAttack = UnitDB(UNIT_TANK).Attack;
                                costOfAdvInfantryTactics = AdvanceDB(ADVANCE_ADV_INFANTRY_TACTICS).Cost;
                                minimumHappinessForDefaultStrategy = StrategyDB(STRATEGY_DEFAULT).MinimumHappiness;
                                The problem is that these examples don't work: they give syntax errors. Although it's true that a record in any of these databases can be accessed by name or by index, evidently you can't get through to the fields of a record if you try to access them directly via the record's name. That's why I used "GovernmentDB(government[0].type)", the ".type" suffix always maps to the builtin's database index. But it seems, at least in this case, to be unnecessary.

                                Comment

                                Working...
                                X