Announcement

Collapse
No announcement yet.

c++ ability

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

  • #16
    The reason for not using Python more is quite obvious: C++ give much better performance.
    I tend to disagree. I agree that C, and thus C++ can give better performance for things like hardware access and rendering (3D display), but for ai which is mostly number crunching and logics, I doubt so. Particularly if you compile Python, which I believe is possible. My experience with perofrmance problems is mostly with quadratics and bad structure of the code. The language matters only for a few percents, maybe a factor 2. But a factor 2 is very little in comparison with what you get when fine-tuning, and Python and other high level languages give you more time to fine tune as these languages are easier to work with and debug than C++. OK, I'm biased, working everyday with it, I strongly dislike C++.
    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


    • #17
      Originally posted by Solver
      If Firaxis live up to their promises, then time & skills will probably be the biggest limitation.

      Modding-wise, what I'm most looking forward is AI. I know that it's quite probably among the hardest modding work, creating new AI routines and making them work well together with the already existing modules, but I will love any such improvement.
      I fully expect Apolyton to be able to create a much better AI than Firaxis, not because of leet skillz or anything but because we can make the AI specific to the ruleset, whereas the AI Firaxis puts in has to be able to handle mods to a degree. It could even be combined with an Apolyton University for cIV, which wouldn't have to make things easier for the AI but just balance the game better.

      Comment


      • #18
        I fully expect Apolyton to be able to create a much better AI than Firaxis, not because of leet skillz or anything but because we can make the AI specific to the ruleset, whereas the AI Firaxis puts in has to be able to handle mods to a degree. It could even be combined with an Apolyton University for cIV, which wouldn't have to make things easier for the AI but just balance the game better.


        Uhh... a well-designed AI will handle simple mods without many changes. If you tweak around, say, unit and tech costs, a well designed AI will understand and adapt, as it already takes costs into consideration.

        The real reason why Apolyton has great capabilities is that Apolyton has unlimited time and more people. Firaxis has Soren. He is a great programmer, but he's alone (or almost alone), and he has other responsibilities plus, of course, the problem of the Civ4 release schedule. Apolyton does have able programmers (and I'll be extremely surprised if more don't join when Civ4 is released), and doesn't have time limits.

        I wouldn't expect any significant improvements anytime soon, as it's a very complex matter, but I think that in the long-term, good results will be produced.
        Solver, WePlayCiv Co-Administrator
        Contact: solver-at-weplayciv-dot-com
        I can kill you whenever I please... but not today. - The Cigarette Smoking Man

        Comment


        • #19
          Originally posted by Solver
          If Firaxis live up to their promises, then time & skills will probably be the biggest limitation.

          Modding-wise, what I'm most looking forward is AI. I know that it's quite probably among the hardest modding work, creating new AI routines and making them work well together with the already existing modules, but I will love any such improvement.
          I'm looking forward to doing a diplomacy mod: as soon as I can get my hands on the game.

          Comment


          • #20
            Originally posted by Solver
            I fully expect Apolyton to be able to create a much better AI than Firaxis, not because of leet skillz or anything but because we can make the AI specific to the ruleset, whereas the AI Firaxis puts in has to be able to handle mods to a degree. It could even be combined with an Apolyton University for cIV, which wouldn't have to make things easier for the AI but just balance the game better.


            Uhh... a well-designed AI will handle simple mods without many changes. If you tweak around, say, unit and tech costs, a well designed AI will understand and adapt, as it already takes costs into consideration.
            The point is that a well-designed AI (in the sense that Firaxis means it) will be capable of playing, even if badly, a large modification of the game as long as someone doesn't make weird workarounds important. The AI designed by Apolyton, though, could act completely nonsensically when used with any mod, but be hardcoded to understand the specific strategies involved with a predetermined ruleset.

            Comment


            • #21
              The AI designed by Apolyton, though, could act completely nonsensically when used with any mod, but be hardcoded to understand the specific strategies involved with a predetermined ruleset.
              And that's the power of such an AI - it's made specifically for one ruleset.
              If you change the rules, you adapt the AI.

              We're not able to make a good AI who'd work as well under all circumstances, so we can make one who will work well at least under a particular ruleset.
              Even more so if the ruleset is something popular and often used by players.
              -- What history has taught us is that people do not learn from history.
              -- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

              Comment


              • #22
                Exactly. We can make an AI that knows specifically how to use the carrier unit, not generically how to use units with the "aircraft carrier" flag.

                Comment


                • #23
                  I don't think the point is to fine-tune the ai to the set of stats the game will have, but to let it fight the strategies that the players will devise against the default ai, let it know the exploits and favourite tactics and counter them.
                  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


                  • #24
                    The specific strategies people develop are dependent on the precise ruleset used.

                    Comment


                    • #25
                      An AI that knows how to use the Carrier instead of units with Carrier Flag is *weaker*. A good AI will use any unit with the Carrier Flag well, while your limited AI would only use one such unit well.
                      Solver, WePlayCiv Co-Administrator
                      Contact: solver-at-weplayciv-dot-com
                      I can kill you whenever I please... but not today. - The Cigarette Smoking Man

                      Comment


                      • #26
                        Uh, no. A good AI doesn't care about the Carrier Flag, because the only unit with it is the Aircraft Carrier. A good AI doesn't care about any of the flags, because it knows the specific strategy to use for each unit.

                        Comment


                        • #27
                          What does each unit mean? Each unit is some numbers and flags. Your AI will only use the Carriers. A AI that takes the flag into account will start basing Fighters on Battleships if that's enabled. And that is stronger, because a good AI will know how to use planes from ships anyway, and thus will base its planes anywhere.

                          Look at humans. Humans use adaptive tactics. Humans will not only use a Carrier, but other ships, too, if they had the flag. The AI should play like that.
                          Solver, WePlayCiv Co-Administrator
                          Contact: solver-at-weplayciv-dot-com
                          I can kill you whenever I please... but not today. - The Cigarette Smoking Man

                          Comment


                          • #28
                            What does each unit mean? Each unit is some numbers and flags. Your AI will only use the Carriers. A AI that takes the flag into account will start basing Fighters on Battleships if that's enabled.


                            But it isn't enabled. That's the point. This is a better AI for the game. Not the type of AI Firaxis wants to write, because it can't handle rules changes. But neither can a Chess AI.

                            Comment


                            • #29
                              You're missing my point. An AI that can handle changes would and should still treat a Carrier exactly the same way as an AI that wouldn't handle changes and would only work under the specific ruleset. The only difference is what would happen if the flag was enabled for Battleships, too.
                              Solver, WePlayCiv Co-Administrator
                              Contact: solver-at-weplayciv-dot-com
                              I can kill you whenever I please... but not today. - The Cigarette Smoking Man

                              Comment


                              • #30
                                You're missing my point. An AI that can handle changes would and should still treat a Carrier exactly the same way as an AI that wouldn't handle changes and would only work under the specific ruleset.


                                Not necessarily.

                                Also, there are tons of units for which there are specific strategies in C3. It would be even more true with all these promotions. An AI designed around a specific ruleset will always beat an AI designed around a more general ruleset.

                                Comment

                                Working...
                                X