TripleA Logo TripleA Forum
    • TripleA Website
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Tags
    • Register
    • Login

    Join the TripleA TEAM!

    Scheduled Pinned Locked Moved News
    85 Posts 20 Posters 53.5k Views 19 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      SilverBullet @beelee
      last edited by

      @beelee well this guy wants to help, but i dont know what to tell him.

      B 1 Reply Last reply Reply Quote 1
      • B Offline
        beelee @SilverBullet
        last edited by

        @SilverBullet ahh I think maybe it was @ff03k64 who just got started too. He could try asking him also. Someone will respond

        S 1 Reply Last reply Reply Quote 1
        • S Offline
          SilverBullet @beelee
          last edited by

          @beelee his nickname is "Nothingtoseehere". he says he is registered.

          B 1 Reply Last reply Reply Quote 0
          • B Offline
            beelee @SilverBullet
            last edited by

            @SilverBullet I've seen him around. Lol I just made the same post you did on the other thread. hadn't go to it yet 🙂

            S 1 Reply Last reply Reply Quote 1
            • S Offline
              SilverBullet @beelee
              last edited by

              @beelee 😉

              1 Reply Last reply Reply Quote 1
              • SchulzS Offline
                Schulz @prastle
                last edited by

                I would like to learn that for example If I developes a new code/property that allows game to end in a certain round, would it be enough to integrate it in the engine or there is some kind of vote system which requires approvals?

                1 Reply Last reply Reply Quote 1
                • LaFayetteL Offline
                  LaFayette Admin
                  last edited by

                  @Schulz if you're willing and able to build a feature directly into the engine, it's welcome. It does take a lot of persistence and is not necessarily easy. Feedback from the forum is encouraged to help develop the requirements of the feature and to fine-tune what you will be building.

                  TripleA is in a tough place in terms of code. An analogy to think of is that all features are akin to a purchase done on a credit card. The feature is the cookie you have purchased, the code is the credit card balance. All code incurs recurring interest that must consistently be payed, some purchases are more expensive than others. In this sense, just slapping something in is not necessarily welcome, it can be really difficult between the level of manual testing and the underlying complexity of TripleA. You should be prepared for it to take quite some time for simple changes. If you're still on board this page can give you more info a jumping off point: https://github.com/triplea-game/triplea/blob/master/.github/CONTRIBUTING.md

                  SchulzS 1 Reply Last reply Reply Quote 1
                  • SchulzS Offline
                    Schulz @LaFayette
                    last edited by

                    @LaFayette These are just ideas that I would want to work to implement them. I particularly selected them believing would not be too complicated to implement and would be worth to spend time.

                    1) A option that simply ends games in a certain round representing draw if no side achieve its objective up to this point. I strongly believe that only a draw option can prevent loser side simply surrendering in the early-mid rounds. Another good side of this feature would be simply preventing loser side wasting their opponent's time by simply not surrendering. Due to usually higher victory city requirements, loser side can simply refuse to surrender and prolong the game meaninglessly so long.

                    2) Auto-Intercept: New property that allows player if they want always defending air units to intercept or not.

                    3) Sound Overlapping: Especially national sound are great feature but overlapping is big issue.

                    4) Optionally showing date in the top-right corner That would be especially great for maps that use seasons


                    And building a feature questions:

                    1. If developers agree to devlop a certain feature, they do it together or just made by only one developer?

                    2. How do developers know what is possible to make and what is impossible. For example, If I decide to work to make optional ending games in certain rounds property, how do I know where to start with?. There seems like no similar feature for me to foresigh or mimic it.

                    1 Reply Last reply Reply Quote 1
                    • LaFayetteL Offline
                      LaFayette Admin
                      last edited by LaFayette

                      When designing a specific feature, the requested process is to create a github issue to discuss it. I don't know if there would be any harm to do the same in the 'development' category of the forum either.

                      The features you listed sound good, I'm not sure if for example sound overlapping is do-able, but worth exploring.

                      If developers agree to devlop a certain feature, they do it together or just made by only one developer?

                      Typically one. Nothing says though that you can't collaborate, it adds some overhead to communicate and work with each other, but it can certainly be how some of the best work is done.

                      All code that is merged is reviewed beforehand, so there will be that last mile check. Help & questions on how to design, what things to look for is pretty common in the precursor issue/thread about a new feature. The more you know about the engine the more you can focus on what vs how, but it generally never hurts for anyone to go into that level of detail - it's a good practice to generally map out how a feature is going to built, what will be changed and what all needs to be touched.

                      How do developers know what is possible to make and what is impossible. For example, If I decide to work to make optional ending games in certain rounds property, how do I know where to start with?

                      Sometimes it takes research. Often with enough effort, most anything can be done. One does need to ask "should it be done" as it can make other efforts even more difficult and so you need to think about return-on-investment. It's often the case that existing code gets in the way and so to add a feature you need to fix that, but to fix that code, other code needs to be fixed, to fix that you have to fix two other places, but to fix those other two places you have to fix the first place you looked at (and hence the code is tied into a knot. We're in a better place now in terms of this than we were a few years ago, but it can still certainly be the case).

                      Regardless, for the game-draw feature, I would look to find where the game decides the victory coditions and add a 'draw-condition' check to that location. Then I'd look to see how the game maps victory conditions from the XML to the victory condition check in the game engine, and build a similar path for a draw.

                      1 Reply Last reply Reply Quote 1
                      • SchulzS Offline
                        Schulz
                        last edited by

                        The time limit is my favourite one to represent draw because I couldn't find a better alternative to represent it with a clear objectives like victory conditions yet.

                        Could it be possible to take codes from other Java based open-source games?Did it ever happen?

                        1 Reply Last reply Reply Quote 1
                        • LaFayetteL Offline
                          LaFayette Admin
                          last edited by

                          @Schulz the level of customization needed is going to be prevent an drop-in-replacements. The best examples is the existing code and learning what/where you'll need to modify.

                          Being able to write code is just one skill, other skills important to development are:

                          • being able to understand existing code
                          • being able to map a codebase, being able to find and roughly understand where certain things are, what happens where
                          • being able to map a feature and what needs to change
                          • being able to incrementally build that feature and break up the work into increments rather than releasing all changes, all at once in a big bang
                          • being able to write tests for code that you create
                          1 Reply Last reply Reply Quote 2
                          • SchulzS Offline
                            Schulz
                            last edited by

                            I would like to learn more about AI development and I have so many questions.

                            1. To what extend can casual players contribute AI development?

                            2. Will the AI always be designed and developed to be suited to only A&A rules?

                            3. How could AI be developed for maps that uses different rules than A&A rules to some extend?

                            4. Can AI be technically as good as humans or even better?

                            5. Could AlphaZero be helpful if all territories were represented with squares in a rectangle map?

                            Jack SarlesJ 1 Reply Last reply Reply Quote 1
                            • LaFayetteL Offline
                              LaFayette Admin
                              last edited by

                              To what extend can casual players contribute AI development?
                              

                              Pro-AI is not trivial and does not have any tests written for it. So it can be quite daunting to approach and one would have to be really careful about what you change. The biggest contribution from casual players is probably clearly coming up with scenarios where the AI makes a mistake, concisely explaining it and posting a save game where the mistake is made.

                              In terms of coding, the engine is supposed to have a pretty well defined set of interfaces for plugging in an AI, though it's not a small lift at all and requires some programming skill.

                              Will the AI always be designed and developed to be suited to only A&A rules?
                              

                              Probably

                              How could AI be developed for maps that uses different rules than A&A rules to some extend?
                              

                              First we would need to add back more than just A&A style rules, then one could build AIs for it. Building a generic AI that can solve any game is the stuff of doctoral dissertations. There is no plan to expand the A&A style rules beyond being able to support 'conquest' (Risk (TM)) rules.

                              Can AI be technically as good as humans or even better?
                              

                              In theory better, certainly.

                              Could AlphaZero be helpful if all territories were represented with squares in a rectangle map?
                              

                              Machine learning requires a lot of data, you'd need the AI to play against itself to create a training data set. If you're asking whether we could just plug in AlphaZero, no, we couldn't unfortunately : )

                              1 Reply Last reply Reply Quote 1
                              • LaFayetteL Offline
                                LaFayette Admin
                                last edited by

                                To what extend can casual players contribute AI development?

                                To expound, if you are inclined to work on the code, then not only would a person come up with a concise scenario for improvement, but they would then work on the code fix too.

                                1 Reply Last reply Reply Quote 1
                                • SchulzS Offline
                                  Schulz
                                  last edited by

                                  If casual players want to contribute improvement of AI should they only come with save games that uses fully A&A rules without any exception? But also A&A rules are different in each versions but most popular-casual maps are based on strickly v3 rules.

                                  For example I've tested AI in Aggression 1941 despite slighly different rules than v3 rule-set, AI mostly makes the same mistakes and even have problem to understand v3 rules.

                                  10rounds.tsvg

                                  Germany

                                  • Does not use starting submarines.
                                  • Too obsesive to overdefending capitals and resulted very weak push in the Eastern Front and remaining armies always switch around Germany-W.Ukraine and Hungary.
                                  • No interest to defend France.
                                  • Never buys naval units despite cheaper costs.
                                  • Doesn't know how do naval blockades and intercept work.

                                  Russia

                                  • Prefers stacking Moscow-Bereznik instead of Ryazan without any benefit
                                  • Overdefeding Sinkiang and W.India despite zero Japanese threat.

                                  Japan

                                  • Sending transports undefended
                                  • Does not attack China.
                                  • Doesn't use the navy effectively in anywhere.
                                  • Buys too much fighter without effectively using, can't even sacrifice losing a few fighters for better trades.
                                  • Still thinks its main purpose is fighting with Russia.
                                  • Doesn't buy any naval units.
                                  • Doesn't know how do naval blockades and and intercept work.

                                  England

                                  • Overdefending India, Africa and Sinkiang.
                                  • Almost no commitment in Europe.
                                  • Sending transports undefended.
                                  • Does not buy naval units.
                                  • Doesn't know how do naval blockades and intercept work.

                                  Italy

                                  • Sending transports undefended.
                                  • Not thinking about protecting German transports.
                                  • Sending armies to Hungary and Yugoslavia without a reason
                                  • Overdefending Germany despite zero Allies threat.
                                  • Does not buy naval units.
                                  • Doesn't know how do naval blockades and intercept work.

                                  America

                                  • Sending transports undefended.
                                  • Overcommitment to Africa.
                                  • No intention of invading Europe or bombing.
                                  • Not using navy effectively.
                                  • Does not buy naval units.
                                  • Buys too much transports.
                                  • Doesn't know how do naval blockades and intercept work.

                                  China

                                  • Not caring much outside of Sinkiang.
                                  1 Reply Last reply Reply Quote 2
                                  • LaFayetteL Offline
                                    LaFayette Admin
                                    last edited by

                                    @Schulz this conversation highlights that we need to define the names and meanings of the different rule-sets. I took A&A rules to mean all of its variants (v1-v5+). Yes, AI is intended to play well on all rule variations. There are some scenarios that are complex and not thoroughly implemented, but that is not to say it can't be improved.

                                    1 Reply Last reply Reply Quote 1
                                    • SchulzS Offline
                                      Schulz
                                      last edited by

                                      I've tried to prevent AI overdefending Germany-N.Italy-Sinkiang by removing their capital status but still resulted with massive stacks around them.

                                      I have some though that might be reasons of AI behaviors.

                                      German AI Thinks

                                      • Submarines should not be used to attack since they are more expensive than air units, better to preserve them and attacking allied ships with air units only(ignoring AA handicap for air units).

                                      • Germany is increadibly valuable territory, its better to keep all armies around it considering Russia is a lot weaker, even a token force might be enough to defeat Russia.

                                      • Naval units are expensive and useless (ignoring their better defense/movement advantages/blockades)

                                      Japanese AI thinks

                                      • Avoid attacking China because thinks its a bad trade considering Chinese units are cheaper. (ignoring China's low production and low base production)

                                      • Probably tries to make deadzoning in Pacific against the US since mass fighters perform better than mass destroyers at attacking.

                                      • Thinks it is A&A style game which Japan should always attack Russia.

                                      English AI thinks

                                      • Germany is too strong, better to fight in other areas.

                                      American AI thinks

                                      • Constantly switching all units from one ocean to another is a good idea.

                                      • The only AI that buys transports.


                                      The Allies really scare Kwantung Army.

                                      manh.png

                                      1 Reply Last reply Reply Quote 1
                                      • LaFayetteL Offline
                                        LaFayette Admin
                                        last edited by

                                        @Schulz , let's keep this thread on-topic : )

                                        I've created category in forums "AI" to hold all conversations related to AI, would you mind migrating your questions there and we can continue the conversation in that thread?

                                        1 Reply Last reply Reply Quote 1
                                        • SchulzS Offline
                                          Schulz
                                          last edited by

                                          Sure, I'm just relocating all of these questions to "AI topic" with additions.

                                          1 Reply Last reply Reply Quote 2
                                          • Jack SarlesJ Offline
                                            Jack Sarles
                                            last edited by

                                            Hi , my name is Jack Sarles and I'm a junior in a computer science program that is looking to help out the dev team here for TripleA. I have some basic java experience and have played probably at least 500 hours of Triple A in the past two years or so. I'm excited about the possibility of fixing bugs and whatever else needs fixing as well as a dream goal of working to improve the Artifical Intelligence because as a long time player of the game I definitely feel I've outgrown even the hard AI by a good margin. Anyways, I'm excited to help anyway I can!

                                            Jack SarlesJ 1 Reply Last reply Reply Quote 2

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 4 / 5
                                            • First post
                                              Last post
                                            Copyright © 2016-2018 TripleA-Devs | Powered by NodeBB Forums