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

    Proposal: Combine tags into `<territory>`

    Scheduled Pinned Locked Moved Map Making
    3 Posts 2 Posters 510 Views 2 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 Offline
      LaFayette Admin
      last edited by

      Proposal: Condense several nodes into the <territory> node. This would be the addition of optional nodes {<territoryAttachment>, <placements>, <connections> }

      This update would be backwards compatible. Though, if specifying both old and new tags, the game engine would generate an error to avoid non-determinism.

      Below are two examples, I'm still considering between whether territoryAttachment properties would be nicer as attributes or if as nested child tags.

      Example 1

      <map>
        <territory name="Quebec">
           <territoryAttachment owner="Canadians" production="2" unitProduction="3" capital="Canadians" victoryCity="1"/>
           <placements>
               <placement unitType="Infantry" quantity="3"/> <!-- default owner = territory owner -->
               <placement unitType="Tank" quantity="3" owner="Canadians" />
           </placements>
           <connections>
              <territory name="SZ 20"/>
              <territory name="SZ 19"/>
              <territory name="Ontario"/>
           </connections>
        </territory>
      </map>
      

      Example 2 (Alternative territoryAttachment)

      <map>
        <territory name="Quebec">
           <territoryAttachment> 
             <owner value="Canadians"/>
             <unitProduction value="3" />
             <kamikazeZone value="true" />
           </territoryAttachment>
           <placements>
               <placement unitType="Infantry" quantity="3"/> <!-- default owner = territory owner -->
               <placement unitType="Tank" quantity="3" owner="Canadians" />
           </placements>
           <connections>
              <territory name="SZ 20"/>
              <territory name="SZ 19"/>
              <territory name="Ontario"/>
           </connections>
        </territory>
      </map>
      

      Example (for comparison, existing XML)

      The above would be equivalent to the XML below:

        <map>
          <territory name="Quebec"/>
          <connection t1="Quebec" t2="SZ 20"/>
          <connection t1="Quebec" t2="SZ 19"/>
          <connection t1="Quebec" t2="Ontario"/>
        </map>
        <initialize>
          <ownerInitialize>
            <territoryOwner territory="Quebec" owner="Canadians"/>
          </ownerInitialize>
          <unitInitialize>
            <unitPlacement unitType="Infantry" territory="Quebec" quantity="3" owner="Canadians"/>
            <unitPlacement unitType="Tank" territory="Quebec" quantity="3" owner="Canadians"/>
          </unitInitialize>
        </initialize>
        <attachmentList>
           <attachment name="territoryAttachment" attachTo="Quebec" javaClass="games.strategy.triplea.attachments.TerritoryAttachment" type="territory">
             <option name="production" value="2"/>
             <option name="unitProduction" value="3"/>
             <option name="capital" value="Canadians"/>
             <option name="victoryCity" value="1"/>
           </attachment>
        </attachmentList>
      
      1 Reply Last reply Reply Quote 1
      • wc_sumptonW Offline
        wc_sumpton
        last edited by

        @LaFayette

        I like example 2 with the <attachment> (saying territoryAttachment in the <territory> block seems redundant) listed out separately, seems easier to read and flows more like the rest of the block.

        Would territory 'Ontario' need to show a connection to 'Quebec'? Maybe for clarity but on connection should be enough.

        Would canal connections be also included?

        I understand that this is just an example, but I do like the direction this is headed.

        Cheers...

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

          We could even remove the <territoryAttachment> node altogether, eg:

            <territory name="Quebec">
               <owner value="Canadians"/>
               <unitProduction value="3" />
               <kamikazeZone value="true" />
               <placements>
                   :
                   :
          

          Thoughts?

          For canals, they attach to multiple territories, nesting underneath one territory would potentially not be as helpful as it could be. Here is an example of what we have today:

          <attachment name="canalAttachmentCentral America - Colombia" attachTo="25 Sea Zone" javaClass="games.s
          trategy.triplea.attachments.CanalAttachment" type="territory">
             <option name="canalName" value="the Central America - Colombia channel"/>
             <option name="landTerritories" value="Central America:Colombia"/>
          </attachment>
          <attachment name="canalAttachmentCentral America - Colombia" attachTo="100 Sea Zone" javaClass="games.strategy.triplea.attachments.CanalAttachment" type="territory">
             <option name="canalName" value="the Central America - Colombia channel"/>
             <option name="landTerritories" value="Central America:Colombia"/>
          </attachment>
          

          I think that might be better as one 'canal' tag. It's a really good call-out - though if it's going to be a different tag then perhaps topic for another thread (thread created: https://forums.triplea-game.org/topic/2269/proposal-simpler-canal-node)

          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