Announcement

Collapse
No announcement yet.

Some thoughts on slaves and techs

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

  • Some thoughts on slaves and techs

    Hi,

    I initially discussed this with E in pm's, but he encouraged me to post it on the forum, so here it goes.

    It would be nice to have more control over slaves. Right now, you have no option to free slaves, or to turn them into migrants directly. I have no idea how difficult this would be as far as programming goes though.

    Secondly, I always wondered how the game goes about in suggesting new advances to research after you have discovered a new science. You usually get the choice between three or four new advances, and that's it. In my ongoing AOMIII game for instance, I have gotten the option to research Trade a few times, but each time I had to decline that one in favour of other, more important advances. But now, I haven't gotten the choice to research Trade for 2 or 3 times now, and it would sure come in handy now in this phase of the game.

    Would it be possible to get a different 'Choose your next advance to research' dialogue box. I envision a big chunck of the entire tech tree (relevant to the age you are in at that moment, so no need for an entire tech tree, just the part where you are at at that moment), with already researched advances in green, possible new advances to be researched in blue, not yet attainable advances in red. That way, a player is no longer limited to the 3 or 4 advances the game suggests, but can choose between a lot more options.

    Just a thought!


    Tellius
    Only tyrants need worry about tyrant-killers

  • #2
    Re: Some thoughts on slaves and techs

    Originally posted by Tellius
    It would be nice to have more control over slaves. Right now, you have no option to free slaves, or to turn them into migrants directly. I have no idea how difficult this would be as far as programming goes though.
    Agreed, "buying" a City implies getting all the Slaves on them - you can't avoid the rioting when someone researches the Emancipation Act.

    I think its possible, when you capture a City, it tells you if you want to keep the Slaves or release them.

    Comment


    • #3
      I thibk I could code a flag for a building improvement that once built frees all the slaves in the city. However, we need more discussionon this because this may make the slavery aspect kind of meaningless or worse an expolit for the human.

      as for advances i think just increasing the options may be the esiest way.
      Formerly known as "E" on Apolyton

      See me at Civfanatics.com

      Comment


      • #4
        Re: Some thoughts on slaves and techs

        well i think

        1. freeing ur own slaves should have heavy cost, like unhappiness
        2. moving them (like take one slave and give to another city) should have less cost, like gold
        3. the longer u had slavery, the heavier the heavy cost and the lighter the light cost (due to the "way of life" arguement)

        Originally posted by Tellius
        Would it be possible to get a different 'Choose your next advance to research' dialogue box. I envision a big chunck of the entire tech tree (relevant to the age you are in at that moment, so no need for an entire tech tree, just the part where you are at at that moment), with already researched advances in green, possible new advances to be researched in blue, not yet attainable advances in red. That way, a player is no longer limited to the 3 or 4 advances the game suggests, but can choose between a lot more options.
        yea this would be really nice, except possible research is yellow in the GL is it might as well be yellow here

        Comment


        • #5
          Re: Re: Some thoughts on slaves and techs

          Originally posted by HuangShang
          well i think

          1. freeing ur own slaves should have heavy cost, like unhappiness
          2. moving them (like take one slave and give to another city) should have less cost, like gold
          3. the longer u had slavery, the heavier the heavy cost and the lighter the light cost (due to the "way of life" arguement)
          I agree on 1 and 2, I think the proper method to free slaves is using "Liberationists", but you can't enable them to free your own slaves. How about changing them to allow it?

          Comment


          • #6
            Hi,

            Glad to hear at least my ideas aren't completely stupid.

            I really like the 'Way of Life' argument.
            I consider being able to specificly use slaves in a city to create migrants also as 'freeing slaves'. You can then use that migrant to create a border fort (AOM), or you can disband it in the city itself or in another city to create a pop point. This way, by putting a heavy cost on this creation of a migrant out of a slave instead of out of a regular pop point (as is in AOM right now) - a cost that rises the longer you are used to relying on slaves - there would be no need for an extra 'free slaves' button, or an extra option in the drop down menu. Just thought that that mechanism might make things easier as far as programming goes (but what do I know, programming is not my thing at all). You'd have two different migrants in the build queue though, one 'Slave Migrant' (expensive) and one 'Regular Migrant' (costs less, but deducts one pop point).

            Just some thoughts

            Tellius
            Only tyrants need worry about tyrant-killers

            Comment


            • #7
              Re: Re: Re: Some thoughts on slaves and techs

              Originally posted by LemurMadness


              I agree on 1 and 2, I think the proper method to free slaves is using "Liberationists", but you can't enable them to free your own slaves. How about changing them to allow it?
              Due to this Code:
              Code:
              	if(rec->GetNoSlaves()) {
              		
              		sint32 i, n = m_all_cities->Num();
              		for(i = 0; i < n; i++) {
              			if(m_all_cities->Access(i).CountSlaves() > 0)
              				return false;
              		}
              
              		n = m_all_units->Num();
              		for(i = 0; i < n; i++) {
              			if(m_all_units->Access(i).GetDBRec()->HasSlaveRaids())
              				return false;
              		}
              	}
              I think you cant build an abolitionist when you have any slavers or slaves but I think removing that flag can change that. Also I think we can set up the reform city code to including free slaves for abolitionists.

              I consider being able to specificly use slaves in a city to create migrants also as 'freeing slaves'. You can then use that migrant to create a border fort (AOM), or you can disband it in the city itself or in another city to create a pop point. This way, by putting a heavy cost on this creation of a migrant out of a slave instead of out of a regular pop point (as is in AOM right now) - a cost that rises the longer you are used to relying on slaves - there would be no need for an extra 'free slaves' button, or an extra option in the drop down menu. Just thought that that mechanism might make things easier as far as programming goes (but what do I know, programming is not my thing at all). You'd have two different migrants in the build queue though, one 'Slave Migrant' (expensive) and one 'Regular Migrant' (costs less, but deducts one pop point).
              With this code I think I can make a flag where a migrant unit can be built only if a city has slaves. Once that unit is built I'd have to have somethining in the buildque that would subtract a slave population but not normal population. For making a border fort I already have a SettleImprovement flag that should handle that.

              But this might fly into the Tamerlin rule but if you look in the latest build I added an Emod Scenario that features some of the new updates. s yet unfinished but i think that it will eventually be called the AE mod and incorporate a lot of the new features (all ideas welcomed) but will stay closer to Ctp2 then my Civ3mod.
              Formerly known as "E" on Apolyton

              See me at Civfanatics.com

              Comment


              • #8
                Hi,

                The "Tamerling Rule"??? You have got to explain that one, very curious

                Just curious, what language is CtP2 written in? C++ or some variant? How long would it take to learn this? I did take a course on programming logic, and made all exercises in TurboPascal, I liked it and I was good at it, but is there any point in pusuing C++ with the sole purpose of being able to help programming the AE edition, or will the learning curve make this impractical or even impossible?

                It's just that I enjoy being part of the creation process, and just making some gameplay proposals is nice, but I'd like to be more involved. If I was just a bit artistical, I'd help E making animated sprites, but drawing is NOT my strong point...

                Tellius
                Only tyrants need worry about tyrant-killers

                Comment


                • #9
                  Originally posted by Tellius
                  Hi,

                  The "Tamerling Rule"??? You have got to explain that one, very curious
                  the Tamerlin rule is named for long time Ctp2 fan and what I would called a Ctp2 purist. He hates Civ3 and basically loved Ctp2 as it was and just wanted Ctp2's Ai improved except he approved of having Unit upgrading. Anything added that deviated from the main game should be made an optional feature that a modder or casual player can add later. We created the rule based on him because when the Ctp2 code came a lot of people had a lot of different ideas on what to do with the code. It was eventually determined that the Tamerlin rule is the best way to keep are Ctp2 fans and with the optional features bring new people in.

                  I've added a lot because I was one that wanted some civ3 features in ctp2 as well as some others so they are optional. I did add the unit upgrading into the units.txt that is included with my builds. We have changed the AI in strategies and personalities to conform with improvingthe game AI. The diffDB.txt has those changes as well for the same purpose but they are by no means final since we are testing.


                  Just curious, what language is CtP2 written in? C++ or some variant? How long would it take to learn this? I did take a course on programming logic, and made all exercises in TurboPascal, I liked it and I was good at it, but is there any point in pusuing C++ with the sole purpose of being able to help programming the AE edition, or will the learning curve make this impractical or even impossible?
                  Its C++ I took a little turbo pascal over 13 years ago, and I've learned enough to do all the stuff I added. I've been working on it over a year, but would say it took me about 3 to 4 months until I got a handle onit. The best way to start learning is to get a compiler first. Not having one slowed my progress since it required me posting my code here and having Martin or Fromafar look at it when they had the time, and that was slow since sometimes I would just have a ';' out of place.

                  So first a compiler
                  but if you want to browse the code we do have this website so you can see it online:


                  As for what you need to learn it probably helps to learn your way around the code, which I can help with. The other thing is what do you want to do? most things I mess with (cities, advances, player, units, wonders, buildings) are through this path:

                  trunk/ctp2_code/gs/gameobj/

                  But I encourage anyone that wants to add something to go for it. Its been fun work for me to learn C++ and make changes to Ctp2 so take a look and open your own Source Code Attempt thread like I did here going through that might help you get started too.
                  Formerly known as "E" on Apolyton

                  See me at Civfanatics.com

                  Comment

                  Working...
                  X