Forge map feedback process

Okom's feedback reporting process for Halo Infinite Forge maps

Date: 1st May, 2024

Notes: This write-up is divided into two sections: The process explanation at the top and a list of all the issue templates that I use at the bottom. The template issues are referenced in the process write-up via a numbering system to bring more context to each step of the process.

This process is destructive towards the map due to objects being deleted as they are checked to make other upcoming process phases more streamlined. The intention is to produce a feedback report with the help of this process that outlines all of the issues with the map that can then be read later on to easily fix the listed issues on the unmodified map.

Prerequisites

    1. Bookmark the following prefabs:
    2. Make a copy of the target map and load up said map copy in Forge.

Audio & movement experience

    1. Open the Forge Menu > Folders tab, collapse all folders (TAB), and hide and unhide all main folders to make sure no object visuals are being hidden. Lock and unlock all main folders to make sure no objects are locked. Uncollapse all folders.
    2. Fly around the map and get a general feel for the state of the map setup by just observing it first.
    3. Spawn in the "tsg mapDebug, TestScript" prefab, make sure the AI Spawner doesn't touch the ground.

    4. Change your Audio settings from the start menu so that Sound Effects and Environmental Effects are set to 10.
    5. Go into Play Mode, turn up game volume so you can hear the audio experience. Don't shoot during this phase as the shot audio is much louder than the environmental audio. 0 92
    6. Mark while zoomed to spawn a Waterfall SFX on the location of the mark. This can be used to determine whether audio obstruction data is up-to-date on the map by going behind cover and listening for muffling of the Waterfall SFX. 1

    7. Walk around and look for movement hitches. 2
    8. Look for areas where you die to a Kill Volume too abrubptly. Test jumping off death ledges and attempting a Grapple save in pursuit of finding kill boundaries that kill the player before they can save themselves with the Grapple. 3
    9. Revert your Audio settings from the start menu.

Camera-, Nav Mesh- & spawn setup

    1. Delete all Audio Emitters that are not part of any scripts in order to free space on the map.
    2. Spawn in the "tsg mapDebug, Essentials" prefab, unprefab it and use it to select and find the necessary following objects.
      • If all the objects on the prefab don't appear, there isn't enough Forge Simulation or Object budget available on the map. Un-do the prefab placement to ensure no ghost items stay in the map.
      • If there's not enough space on the map, you'll have to find the following objects placed on the map and check them that way.

    3. Make sure a Winning Team Outro object is present and set up correctly. 4
    4. Make sure there is a sufficient amount of Map Intro Cameras and that they are setup correctly. 5 6
    5. Make sure there are no redundant redundant Camera objects. 7

    6. Turn on the Nav Mesh Visualization debug option, observe the Nav Mesh data on the map and make sure there are no unexpected disconnects in it and that the Nav Mesh is not outdated compared to the current map geometry. 8 9
    7. Make sure that Nav Mesh data is not generating on the map canvas floor unintentionally. 10 84
    8. Check that there are Bot Nav Markers present and confirm their properties. 11 12 13
    9. Check for redundant Bot Nav Markers. 85
    10. Check for redundant Nav Cutters and that their positioning isn't bad. 14 15 16
    11. Check for redundant Nav Seed Points. 17
    12. Check for redundant Nav Helpers. 18
    13. Make sure that all Nav Helpers are generating their hints correctly. 19 20 21 22
    14. Make sure there are no areas missing a Nav hint arrow where one should be. 23 24 25
    15. Turn off the Nav Mesh Visualization debug option

    16. Make sure there is a sufficient amount of Team Intro Spawns and that their properties are correct. 4 26
    17. Make sure that the Team Intro Spawns are not positioned badly. 27 28
    18. Make sure that the camera in the Team Intro Spawns is not intersecting geometry. 29
    19. Make sure there is a sufficient amount of Initial Spawn Points and that their properties are correct. 30 86
      • Only applicable if FFA support is intentional.
    20. Make sure that the Initial Spawn Points are not positioned badly. 27 28
    21. Make sure there is a sufficient amount of Respawn Points and that their properties are correct. 31 87
    22. Make sure that the symmetry of Spawn Points is equal for both sides, if the map is symmetric. 32
    23. Make sure there are no Backup Spawn Points present on the map. 33
    24. Make sure that the Spawn Volumes are set up correctly. 34 35 36 37 33
    25. Check for any accidentally relocated objects, if you came across them. 88
    26. Remove all Spawn Volumes on the map (this is essential for the next step to work consistently).

    27. Go into Play Mode, wait for the "Debug: TRUE" message, crouch and throw a grenade while unzoomed with your weapon.
    28. You will be teleported to each Respawn Point on the map to determine whether they are positioned badly or not.
    29. There is a counter on the bottom of the screen, pay attention to the Spawn number as well.
    30. Upon encountering a bad Respawn Point: 27 28
      • note the Spawn number at the bottom
      • go into Test Mode and document the issue with the Respawn Point positioning
      • open the top Script Brain of "tsg mapDebug, TestScript" and change the "spawnNumber" variable's Initial Value to the number you noted down so you can continue from that Respawn Point.
        • If the Script Brain shows broken node connections and you can't find the "spawnNumber" variable node, spawn a new Script Brain, add a Events > "On Gameplay Start" node. Add a Variables Advanced > "Set Number Variable" node with the Identifier "spawnNumber", set the Value to the desired number, and set the Scope to "Global". Connect the diamond pin from the "On Gameplay Start" node to the diamond pin on the "Set Number Variable" node.
      • go into Play Mode and continue the Respawn Point debugging cycle again until all Respawn Points have been checked.

      If you zoom in with your weapon within one second of throwing the grenade, you will enter a secondary respawnDebug mode where all of the respawn actions are real respawn actions and not just your player being teleported to each Respawn Point. Use this mode to evaluate whether spawning on troublesome Respawn Points is even possible.

Gamemode setup

    1. Spawn in the "tsg mapDebug, Gamemodes" prefab, unprefab it and use it to select and find the necessary following objects.
    2. When checking the following gamemode objects, make sure their positioning is correct. 38 39 40 41

    3. Make sure Stockpile is set up correctly. 34 42 43 44
    4. Make sure there are no AI Spawner nor AI Move Zone objects present. (Firefight:King of The Hill, no procedure yet)
    5. Make sure Oddball is set up correctly. 42 43 45
    6. Make sure Attrition/Dodgeball is set up correctly. 42 43 45
    7. Make sure Elimination/LSS is set up correctly. 42 43 44 45
    8. Make sure Capture The Flag and all of its variants are set up correctly. 42 43 44 45
    9. Make sure Total Control is set up correctly. 42 43 44
    10. Make sure Land Grab is set up correctly. 42 43 45 46
    11. Make sure King of The Hill is set up correctly. 42 43 45 47
    12. Make sure Extraction is set up correctly. 42 43 45 47
    13. Make sure Strongholds is set up correctly. 42 43 45 48
    14. Make sure there are no redundant gamemode objects. 49

    15. Make sure that all of the following Capture Zones have a Zone Capture Plate within the zone boundary and that they are set up correctly: King of The Hill, Strongholds, Land Grab, Firefight:King of The Hill. 43 50 51
    16. Check for any accidentally relocated objects, if you came across them. 88

Sandbox setup

    1. Spawn in the "tsg mapDebug, Sandbox" prefab, unprefab it and use it to select and find the necessary following objects.
    2. When checking the sandbox objects, make sure their positioning is correct. 52 53 54 55

    3. Make sure the Infection-related sandbox objects are set up correctly. (no prodcedure yet)
    4. Make sure the Vehicle spawners are set up correctly. 56 57 58 59
    5. Make sure the Mounted Turrets are set up correctly. 61
    6. Make sure the Fusion Coils are set up correctly. 62 63 64
    7. Make sure the Weapon Pods and Equipment Pods are set up correctly. 56 57 58 59 65
    8. Make sure the Grenades are setup correctly. 56 57 58 59
    9. Make sure the Equipment Dispensers are setup correctly. 56 57 58 59 66
    10. Make sure the Power Equipment Pads are setup correctly. 56 57 58 59 65
    11. Make sure the Weapon Pads are setup correctly. 56 57 58 59 65 66 67
    12. Make sure the Weapon Racks are setup correctly. 56 57 58 59 65
    13. Make sure there are no redundant sandbox objects. 60
    14. Check for any accidentally relocated objects, if you came across them. 88

Lighting-, reflection- & Named Location setup

    1. Toggle Volumetric Fog Quality from the start menu settings and make sure the map visuals do not change majorly in a way that would affect gameplay. 70
    2. Turn on the Overlap Heatmap debug option and make sure there is no excessive light- or shadow overlap that are causing performance issues around the map. 68 69
    3. Turn on the Display Light Probes debug option and make sure the light probe spacing and Probe Count are adequate for the map size. Make sure that the baked lighting data doesn't look outdated compared to the current map geometry. 71 72
    4. Make sure the light probes are not being generated majorly outside the map in areas where they have no visual impact on the visible gameplay area. 73
    5. Make sure there are no bad artifacting on the map caused by light probe blending. 74
    6. Turn off the lighting debug options.

    7. Spawn in the "tsg mapDebug, Volumes" prefab, unprefab it and use it to select and find the necessary following objects.

    8. Locate the red barrel on the platform and make a three-object prefab of it, making sure the cube inside the prefab is the origin point.
    9. Set the location of this prefab to X:0, Y:0, Z:1000 and rebuild the Reflection Volumes.
    10. Observe where there is a red tint on the map, these are areas where the global reflection is present instead of custom Reflection Volumes.
    11. Remove the red barrel from X:0, Y:0, Z:1000 and rebuild the Reflection Volumes.
    12. Make sure the Reflection Volume objects are set up correctly and that there are no unnatural looking reflection changes. 75

    13. Make sure there are no gaps in the Named Location Volume coverage and that the callout names are logical. 76 78 91

    14. Check for any accidentally relocated objects, if you came across them. 88
    15. Remove ALL checked objects up to this point.

Finding map exploits

    1. Delete all Light objects on the map, except the one Light on the "tsg mapDebug, Volumes" prefab platform
    2. Select the Light object on the platform and change it's Light Range value to 1500.
    3. Duplicate the Light around the map until the map looks universally lit and there are no areas with bad visibility.
    4. Under the Map Options tab, set the Fog Depth Scale option to "0.00".
    5. Delete all Decals and Flora/Bush objects that you can find.
    6. Go into Play Mode, pick up the Generic Ball from the tsg mapDebug, TestScript prefab and drop it around the map in an attempt to find areas it can get stuck in such as under No Collision objects. 89 90
    7. Delete all No Collision physics objects and Water Planes on the map. There is no easy way to determine a No Collision object, so if you miss some, it's not a big deal. Also don't spend too much time looking for the No Collision objects.
    8. Delete all FX objects on the map, or at least the ones you can find.
    9. Delete the Light Probe Marker object.

    10. Turn the Display Boundaries HUD option to "All".
    11. Fly around the map and inspect for potential map break exploits and hiding spots. 79
      • A good object for making assumed hiding spots is the FX > Energy > Energy Glow 8x8.
    12. Test and document any discovered spots in Play Mode.
    13. Turn the Display Boundaries HUD option to your desired setting.

Gamemode test & metadata sanity check

    1. Save and exit Forge.
    2. Host a custom game on the initial version of the backup map with no changes. Load up these modes (if supported):
      • King of The Hill
      • Strongholds
      • Land Grab
      • Extraction
      • Dodgeball
      • Total Control
      • Firefight:King of The Hill
    3. Make sure that the Capture Zone heights in each mode are high enough so a player jump-crouching inside each zone will not exit the zone unintentionally. 80
    4. Make sure that the Capture Zones can not be captured from unintented areas. 81
    5. Good test Modes that are suited for this type of testing can be found here

    6. Load up the map on this Map Intro Camera test Mode and make sure the Map Intro Camera sequences work and look as intended.

    7. Make sure the map screenshots, tags, description and name are up-to-date. 82 83
    8. Done.





Template issue list to showcase all documented issues that I've come up with. These template issues are referenced in the process write-up to bring more context to each step of the process.



0. Layout

    #
    #
    #
    #
    #

1. Spawning

    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #

2. Sandbox

    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #

3. Gamemodes

    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #

5. Lighting

    #
    #
    #
    #
    #
    #
    #
    #

6. Misc. setup

    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #
    #