CommunityMaps icon indicating copy to clipboard operation
CommunityMaps copied to clipboard

[Blitz/12v12v12v12] CannonQuest

Open ThatApplePieGuy opened this issue 1 year ago • 3 comments

Checklist

  • [X] I have pruned the map. (If you used OCC Mapmaker and downloaded your map, it has been pruned for you.)
  • [X] I have agreed with assigning the CC BY-SA license to this map, as mentioned in the README.
  • [X] I have read and understood the map submission guidelines.
  • [X] I have created an XML file.
  • [X] I have created a map image.
  • [X] I have uploaded the map zip file to a file sharing service.
  • [X] The map has been tested locally to make sure it works.

Map Name

CannonQuest

Gamemode & Map Description

4-team blitz with a cannoning kit and randomly generated islands. Players can bridge to mid after 5 minutes and a world border starts shrinking after 10.

Team Sizes

12v12v12v12

Screenshots

https://imgur.com/a/9PZwHra

XML

https://gist.github.com/ThatApplePieGuy/b445a5ab4e89f309bf4c6fe0bb87af10

Map Image

map

Map Download

cannonquest.zip ~~cannonquest.zip~~ (old)

ThatApplePieGuy avatar Jan 17 '24 04:01 ThatApplePieGuy

This is purely just a comment on the XML at first glace.

https://gist.github.com/ThatApplePieGuy/b445a5ab4e89f309bf4c6fe0bb87af10#file-map-xml-L130-L147

This can be simplified as

<filters>
    <match-started id="match-started"/>
    <after id="after-15s" duration="15s" message="Cages open in {0}" filter="match-started"/>
    <time id="after-5m">5m</time> <!-- then use 'not(after-5m)' in place of your old not-5m filter -->
    <time id="after-14m">14m</time>
    <after id="end-game" duration="1m" message="The game will end in {0}" filter="after-14m"/>
</filters>

All your structure dynamics can be simplified as:

<dynamic id="place9" structure="2v" location="13,4,13" filter="aqua_layout=0" trigger="match-started"/>

All those clear-spawners dynamics seem obscene. Are they truely necessary? Could you instead use a set action filtered to the playable area and mob spawner blocks to set them to air that way, assuming that is what they are doing..? E.g.:

<regions>
    <rectangle id="playable-area" min="-56,-56" max="57,57"/> <!-- your playable area -->
</regions>
<filters>
    <material id="monster-spawners">mob spawner</material>
</filters>
<actions>
    <trigger scope="match" filter="match-started-or-with-some-delay">
        <action>
            <fill region="playable-area" filter="monster-spawners" material="air"/>
        </action>
    </trigger>
</actions>

From the screenshots provided, one team can get absoutely shafted with not so great islands giving almost nowhere to cannon. Is this deliberate or a side-effect of the way the structures have been handled?

mitchts avatar Jan 17 '24 12:01 mitchts

Thanks, I implemented the cleanup and regenerated all the structures so each layout must have a minimum number of flat tiles

All those clear-spawners dynamics seem obscene. Are they truely necessary? Could you instead use a set action filtered to the playable area and mob spawner blocks to set them to air that way, assuming that is what they are doing..? E.g.:

<regions>
    <rectangle id="playable-area" min="-56,-56" max="57,57"/> <!-- your playable area -->
</regions>
<filters>
    <material id="monster-spawners">mob spawner</material>
</filters>
<actions>
    <trigger scope="match" filter="match-started-or-with-some-delay">
        <action>
            <fill region="playable-area" filter="monster-spawners" material="air"/>
        </action>
    </trigger>
</actions>

This wouldn't work because we don't want to clear every spawner, only the ones that aren't needed for the layout that gets chosen. In the screenshots you can see certain islands types have spawners in their center

ThatApplePieGuy avatar Jan 17 '24 15:01 ThatApplePieGuy

Loaded in b4456836a8ce3597401447194093ad97fa356440

calcastor avatar Jan 22 '24 09:01 calcastor