Announcement

Collapse
No announcement yet.

Mod Idea

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

  • Mod Idea

    Just another possible idea... but I lack the ability to do the SLIC programming....

    How about setting the civlizations in categories..

    say the first 5 civs human
    the next 5 orcs
    the next 5 elves
    the next 5 undead, etc.

    then have a class setting built in (this is the SLIC part) that makes them follow new tech trees for each race...

    these new tech trees running new units for each one...

    thus creating a RACE specific tech tree for each race and race specific units that advance through time for each race... hell even tilesets for the races for cities etc.

    it'd be a BIG BIG BIG undertaking yes I know...

    but I can do quite a bit of graphic editing myself and the *.txt modding parts for unit stats research requirements etc.

    but I am clueless on the SLIC part...

    basically, I figure you could run 6 versions of the game at the same time in 6 different configurations in the gamedata folder, each race having its own set of files for the tileimp.txt, advance.txt, units.txt etc...

    the only REAL SLIC programming would be the file that determines what race you are off the very start
    -----------------------------------------
    I want Master of Magic back :p

  • #2
    As you say, the amount of SLIC code involved is minimal, could be coded in a few minutes once the basic setup is in place. The easiest way to do it is probably to have 1 unique starting advance for each race (ADVANCE_HUMAN, ADVANCE_ORC, etc) which has itself as prerequisite (so noone can research it) and is required for all other advances in the race tree. Then use SLIC to give the right starting advance to the right civ.

    The only problems might occur with goody huts, trading and stealing of advances and stuff like that, but one could easily use the SLIC mod_* functions to prevent Human players from building Orc units/buildings/etc even if they do get their hands on the wrong advances. Would be slightly more work, but can probably still be done in one afternoon.

    So, that just leaves you with the humongous job of creating all the units, buildings, advances, etc

    Oh, the only real problem would be in the limits of the game. As it is, you can only have 64 buildings and wonders, 200 (or 255 if you're using the AE) sprites per type (units, cities, goods, special effects, etc), 62 civs and there are probably 1 or 2 other limits that I'm forgetting about. But if you ask the AE programmers nicely they might be able to fix that for you...
    Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

    Comment


    • #3
      Yeah, I think someone tried something similar once before. Setting up the tech tree was a bit of a challenge though.

      I wrote out a three-strand tech tree once, and then decided it wasn't worth the effort. Besides all the limitations, balancing it would be horrendous.

      Depending on how you want the victory conditions set up, that could be a nighmare as well. The easiest way is to cut out the sceince victory and just make it a bloodlust game, I suppose.
      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


      • #4
        I set up a dual techtree for WOTR. It's really not that hard to do. You can easily limit techtrading and goody hut techs via txt alts. In fact, it is possible to set up multiple (3+) techtrees, provided you have a premade map in a scenario.

        However, you cannot use multiple techtrees in a random map game unless SLIC is involved.
        Yes, let's be optimistic until we have reason to be otherwise...No, let's be pessimistic until we are forced to do otherwise...Maybe, let's be balanced until we are convinced to do otherwise. -- DrSpike, Skanky Burns, Shogun Gunner
        ...aisdhieort...dticcok...

        Comment


        • #5
          Originally posted by hexagonian
          However, you cannot use multiple techtrees in a random map game unless SLIC is involved.
          You mean because of the goody huts? Well you can mod them so that they don't give any advances.

          However by using the mod_CanPlayerHaveAdvance slic function it is very easily to limit certain advances to certain players. The Alexander the Great scenario contains an example of it.

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

          Comment


          • #6
            Originally posted by Martin Gühmann
            You mean because of the goody huts? Well you can mod them so that they don't give any advances.
            No, he means because you need to make sure all civs only get access to the section of the tree they're supposed to get access to.

            But that is another good trick to help avoid problems.
            Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

            Comment


            • #7
              DiffDF.txt determines what advances a civ starts out with in a random game. It is based on percentages.

              However, there is no way in that file to control which civ gets specific advances. So civ A may get the advance required for a specific tech tree, but civ B may or may not get its advance intended by the creator. And you may end up with a civ getting access to 2 trees. Then it is locked into researching both trees which will kill it long term.

              Shutting off tech trading via diplomacy and goody advances will prevent a key tech ending up in the wrong hands.
              Yes, let's be optimistic until we have reason to be otherwise...No, let's be pessimistic until we are forced to do otherwise...Maybe, let's be balanced until we are convinced to do otherwise. -- DrSpike, Skanky Burns, Shogun Gunner
              ...aisdhieort...dticcok...

              Comment


              • #8
                So or so, without slic it seems that you cannot, really prevent civs from getting the wrong advance. So the mod_CanPlayerHaveAdvance is the finest sollution.

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

                Comment


                • #9
                  If by implementing the idea that all techs must have a prerequisite of a race specific tree, then one could still trade techs. They would only get the techs they traded and could not research any further techs on that path because all techs would have the race specific tech as a prerequisite. However, i realize how this could be cercumvented by tradfing that specific race tech and allowing your opponent to research 2 trees. Might add some strategy in because if the opponent isnt in the industrial revelution, then there empire would crumble from all the extra techs, but also getting the additional buildings would help. I would hope very much that 1 or many brave individuals put forth the effort in creating the tech trees and building images and units for this mod, for I would love to play it. I would, but do not posses the slic editting capabilities, nor know how to manipulate the txt files without causing a massive amount of errors.

                  Comment


                  • #10
                    Theres a flag isn't there that will stop the AI trading certain technologies, eg nuclear power. If the base technology was protected in this way, or even all the race specific ones that would solve any problems. Wouldn't it?

                    Why would having the other race's technologies affect development and destroy your civ? Do you have you research all technologies in each age, or jsut the ones that will move your civ along the tech tree?

                    You might not need to develop entirely different trees for each race. Certain technologies should be univesal - hull making, masonry etc

                    Comment


                    • #11
                      Originally posted by Deathstar
                      I would, but do not posses the slic editting capabilities, nor know how to manipulate the txt files without causing a massive amount of errors.
                      I wouldn't mind doing any required SLIC code (won't be much), but I think if you want to have see this happening you'll have to do a good portion of the text file editing yourself. Developing 3 or more tech trees (including units, wonders, etc) is a HUGE amount of work, it's not like someone could throw that together in an afternoon to do anyone a favour -- it would be weeks, if not months of work.

                      As far as text file editing goes, that's not as hard as you might think. You can simply adapt files that already exist, it's not like you'll have to write them from scratch or anything. And if you ever run into any trouble, plenty of people here to help you out...

                      Of course, if you could get a handful of volunteers together that would considerably cut down on the amount of work involved per person. But of course you would have to agree on what the trees should look like first...

                      It seems to me LStanley, Deathstar and Mad Eye all three have an interest in this, maybe you guys can work something out? Don't count too much on veteran community members doing much of the work for you (though we're always here for 'tech support'), we all have our plates full as it is...
                      Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

                      Comment


                      • #12
                        "So or so, without slic it seems that you cannot, really prevent civs from getting the wrong advance. So the mod_CanPlayerHaveAdvance is the finest sollution.

                        -Martin".

                        Can I ask a couple of questions re the above.

                        I gather that this type of function is called automatically each turn-
                        int_f mod_CanPlayerHaveAdvance[COLOR=royalblue]

                        Can you put a condition in it like-
                        if (HasAdvance(tmpPlayer, ID_ADVANCE_MONARCHY)) {
                        if (theAdvance == AdvanceDB(ADVANCE_CALIPHATE)){
                        return 0;
                        } else {
                        return 1;
                        }
                        So a player with Monarchy cannot research Caliphate.

                        Thanks.

                        Comment


                        • #13
                          Yes, you can. You can use any SLIC code you want to do exactly those kinds of things, that's exactly what the function was designed to do.

                          BTW, I just had a few moments to test it and found out something which I never realized before: if you use mod_CanPlayerHaveAdvance to say someone can't have an advance, then they really cannot by any possible means get it. I tried obtaining it through goody huts, espionage, diplomatic exchange, nothing worked. In some cases I got messages that I had obtained certain the advances, but when checking the Science Manager and build queues and stuff, nothing was there. So using mod_CanPlayerHaveAdvance is 100% full proof
                          Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

                          Comment


                          • #14
                            Would the AI files stop the AIs requesting advances that the mod_ would stop them getting?

                            Or would that require loading different advancelists depending on which tree they were using? Would they accept an advance (for gold or a map, or even peace) if it wasn't on their advancelist?

                            Would different advancelists mean you'd need separated strategies? (which would be desirable anyway if you were doing different races)
                            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


                            • #15
                              I don't know if it would stop them from requesting it but it really wouldn't matter either: even if you accept to give it to them, they're still not getting it. The mod_ function blocks a player from actually obtaining the advance, it doesn't block him from closing a diplomatic deal or opening a goody hut with that advance or whatever.

                              E.g. I tested it by blocking all advances for the civ I was playing with and opened a few goody huts. One of the huts gave me the message that I'd gotten Writing, but when I checked the Science Manager, I hadn't. Same with diplomacy: the exchange seemed to normally and the opponent agreed to give me an advance, but when I checked it, I hadn't received anything. Same with me giving advances to AIs.

                              Of course, in theory a human player could exploit that: you could give the AI lots of advances as gifts and it would probably thinks it's getting loads of presents, while in reality it's not getting anything at all. I don't know if you could stop that by changing their advance list, that would have to be tested. But if not, I don't think it should be too hard to write SLIC code that intercepts diplomatic proposals and automatically rejects them if they include a 'bad' advance.

                              When you have different tech trees, you'll have to have different strategies and advancelists anyway, otherwise the AIs wouldn't know what to research...
                              Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

                              Comment

                              Working...
                              X