ddnet/ddnet-discordbot

Map Validation and Post-processing

Patiga opened this issue · 0 comments

I'm interested in integrating my map tool (https://gitlab.com/Patiga/twmap) into the ddnet map testing.
Validation:

  • Upon a map upload, call the debug_map binary on it, and print its output. That will report every significant map error that the tool finds. It will for example check if the tiles layers only use 16x16 images. The verbosity level should be the most sensitive (-vvv, with 'info' logs), since that will also report maps that have errors that the tool will fix quietly, for example duplicate physics layers or similar issues
  • For more thorough validation, ddnet specific checks could be implemented. The check_ddnet binary for instance has a check if game tiles are using an invalid rotation (a reoccurring issue that is also present in newer maps, where tiles behave incorrectly)

Post-processing:

  • Either on release, or with a manual command in the channel, the edit_map binary could be called, with the --remove-everything-unused argument. Usually mappers are told which envelopes are unused, and which layers are empty anyways or which images are not used. All that would be done by the tool
  • More post-processing could be potentially added, for example to resize the layers if there is too much unused space in one direction

Please give feedback if this is something that would be accepted into this bot.