tsg botDebug
A script to debug bot and AI behavior on your map.
The tsg botDebug script is intended for Halo Infinite map creators who want to test how their map works with bots and AI. It can also be used to test the spawning on your map by observing where the bots are spawning. The bots can be manipulated in a number of ways to create different scenarios.
The player is able to enter a "debug mode" where they turn invisible and gain access to an arsenal of ways to affect the bots by doing certain actions such as using the "Mark" action. When a player is not in the debug mode, their actions will have no effect on the bots.
In the "debug mode", the positioning of bots can be controlled on an individual scale or by moving the entire team at once by using the Mark action in combination with other actions such as being zoomed in or crouched. The bots can also be killed on command individually or on a team-scale by throwing a grenade.
Multiple players can use the script at once as the script is built in a way that maps the necessary variables on a player-scope. Each player can Mark right under them to activate an invisible platform like a magic carpet that simulates a freecam mode. This allows the players to observe the bots more easily and also to move away from the playspace to not influence the spawns.
The script is available in both the full "Advanced" variant as well as the "Basic" variant, which has only the essential features such as the debug mode and being able to position bots on a team-scale.
Find the scripts here to use it in Halo Infinite.
The "Basic" variant of the script comes with less features and is intended for less in-depth testing of bots, while still supporting the core functionality of the script.
This variant allows the player to enter debug mode, position bots on a team-scale and kill the bots via grenade throw. The amount of bots spawned from the script is also adjustable by modifying their values in the script.
Features not found in this variant include: The floating platform, bot positioning on an individual scale, ability to spawn AI & other smaller quality-of-life features that are present in the "Advanced" variant.
Development summary:
Script idea
The idea came from wanting to see how spawning worked on a test map after disabling some spawn points. Bots were used to experiment where they would spawn. After that I started realizing the multitude of other possiblities bots could be used to help map creators test their maps.
First release
Initially named "Nav_Debug", the script allowed the player to teleport to Mark location, for the player to turn invisible, and to control where each team of bots would spawn by marking in a location. The bots would die upon player Mark and their respawn would be set to the Mark location.
Next iteration
I realized that having the bots always respawn on the Mark location wasn't ideal so I changed up the logic so the bots would only be teleported to the Mark location. I also came up with a better name of "BotDebug", being more descriptive of the script functionality.
More features and variants
Quickly realizing the potential of the script, I added a lot more features to it, but along with it I realized that some people might just need the core functionality so I created a "Light" variant of the script, which had only the essential features.
External help from TSG
As I was coming up with more ideas of features to add, I had to ask for help from experienced forgers from "The Scripter's Guild" Discord, who were able to help me with some math issues. This helpful interaction with TSG paved the way of further collaboration with them.
More features and rebranding
After realizing how useful a "freecam" mode would be to simulate in Forge, I realized I could make a transparent platform follow under the player to simulate that. It took a while to brainstorm, but I got it to work. The name of the script was also changed to "tsg botDebug" as I was getting more involved with TSG.
AI support
With Season 5 for Halo Infinite came the possibility of placing AI spawners on Forge creations. These AI had a pathfinding debug visualization option in Forge which intrigued me, so I spent a day figuring out how to integrate AI into the script and in the end it worked out great.