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

    AI Aggression level

    Scheduled Pinned Locked Moved Feature Requests & Ideas
    19 Posts 5 Posters 3.2k Views 5 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.
    • LaFayetteL Online
      LaFayette Admin @TheDog
      last edited by

      @TheDog If you have experience unit testing legacy code bases, that would be quite valuable. The general process is roughly to build characterization and system tests, some high level unit tests, break up components and redesign them to be more contained and modular, then unit test those. There is a balance on the last steps as you have some freedom to rework and test at the same time.

      For example one problem you'll probably find is it's hard to build scenarios. To get a GameData you need to parse an XML. This automatically means you're not going to be able to create dozens of territory scenarios. You'll also find everything of interest needs a GameData. Furthermore, anything with a GameData has to be serialization compatible with previous versions or you break save games, so you have to be careful to avoid changing local variables. If this sounds like a knot, it is. On our radar is to change how save-games are done so that all data components would not need a GameData, we'd be free to change them and instead we persist only a series of change objects on top of an immutable data that is loaded from map.

      Sigh, with that said, there are plenty of places where unit testing can come into play. I think the right pattern would be to extract bits of logic to static functions and test those. We've also a good bit of generic stuff that is not tested and I'm sure you could find it. Our coverage is currently at 27%, getting that up higher would be huge so we wouldn't have to do as much manual testing and reduce the error rate (which takes up a lot of time).

      TheDogT 1 Reply Last reply Reply Quote 0
      • TheDogT Offline
        TheDog @LaFayette
        last edited by

        @LaFayette
        I dont have experience unit testing legacy code.
        Is there a document I can read?
        Does the testing cycle require regular/constant access to github?

        Re the new savegame data, it sounds like it would be worth the investment in time changing it, so that it would make testing easier and maybe you could get more people on board to test things?

        https://forums.triplea-game.org/tags/thedog
        https://forums.triplea-game.org/topic/3741/curated-best-top-maps-triplea-guides

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

          Are you referring to about automatic testing @TheDog , or more manually testing the game? Either way, the help would certainly be appreciated.

          Does the testing cycle require regular/constant access to github?

          No, just download the latest release and you should be able to test everything out readily enough.

          TheDogT 1 Reply Last reply Reply Quote 1
          • TheDogT Offline
            TheDog @LaFayette
            last edited by

            @LaFayette
            Manual testing.

            As a single player v AI player, I would like to help test any AI changes, I would guess these take a long time to test properly and the Devs time would be better spent improving other parts of TripleA rather testing the AI?

            I believe there is already some AI code worth testing?

            https://forums.triplea-game.org/tags/thedog
            https://forums.triplea-game.org/topic/3741/curated-best-top-maps-triplea-guides

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

              Redrum was doing most of the AI development and is taking a break. I don't think there will be much AI develpment in the near feature.

              With that said, help manual testing is greatly appreciated. 2.3 is perhaps due to be release soon. @TheDog are you set up to be able to download the latest build and know where to report bugs?

              TheDogT F 2 Replies Last reply Reply Quote 0
              • TheDogT Offline
                TheDog @LaFayette
                last edited by

                @LaFayette
                Shame about AI development.

                I know how to have multiple versions of TripleA, including the pre-releases.

                I dont know where or how to report bugs.

                https://forums.triplea-game.org/tags/thedog
                https://forums.triplea-game.org/topic/3741/curated-best-top-maps-triplea-guides

                LaFayetteL 1 Reply Last reply Reply Quote 0
                • LaFayetteL Online
                  LaFayette Admin @TheDog
                  last edited by

                  @TheDog

                  Latest is available at: https://github.com/triplea-game/triplea/releases
                  When installing, you'll need to specify the installation path to have multiple versions installed.

                  Bug report link: github.com/triplea-game/triplea/issues/new/

                  1 Reply Last reply Reply Quote 0
                  • TheDogT Offline
                    TheDog
                    last edited by

                    on page https://github.com/triplea-game/triplea/blob/master/.github/CONTRIBUTING.md

                    see local_build_and_testing.md for how to run verification and tests locally.
                    https://github.com/triplea-game/triplea/blob/master/.github/local_build_and_testing.md

                    The above link is 404

                    Is there a feature list for the 2.3 release or shall I build my own?
                    What was the actual 2.2 release number to build from?

                    What should I concentrate on?

                    https://forums.triplea-game.org/tags/thedog
                    https://forums.triplea-game.org/topic/3741/curated-best-top-maps-triplea-guides

                    1 Reply Last reply Reply Quote 0
                    • F Offline
                      ff03k64 @LaFayette
                      last edited by

                      @LaFayette Is the AI it's own part of the code, or is it all kind of mixed in with the rest? If it is in its own are, where would i look to see how it works?

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

                        Most of the Pro prefixed classes are AI. It's probably 80% its own thing, there are certainly mixtures in other parts of the code base that arguably do not belong there.

                        F 1 Reply Last reply Reply Quote 0
                        • F Offline
                          ff03k64 @LaFayette
                          last edited by

                          @LaFayette Is there a guide to setting up my pc to being able to help program a little?

                          W 1 Reply Last reply Reply Quote 0
                          • W Offline
                            wc_sumpton @ff03k64
                            last edited by

                            @ff03k64

                            I have been using IntelliJ IDEA. Also GitHub Desktop linked to the TripleA site. I'm not using any special setup, but this has gotten me started in poking around. Just be forewarned, its not xml.

                            Cheers...

                            F 1 Reply Last reply Reply Quote 1
                            • F Offline
                              ff03k64 @wc_sumpton
                              last edited by

                              @wc_sumpton said in AI Aggression level:

                              Just be forewarned, its not xml.

                              HAHA! I am pretty sure it is java. Not like it matters too much, i am very much out of practice anyway!

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

                                https://github.com/triplea-game/triplea/tree/master/docs/development#getting-started

                                Improvements to the setup documentation are really welcome. Anything not covered would be great to see added and could be good starter PRs.

                                1 Reply Last reply Reply Quote 0

                                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 / 1
                                • First post
                                  Last post
                                Copyright © 2016-2018 TripleA-Devs | Powered by NodeBB Forums