Game Trailer Editor

Blog

Debug Tools For Recapturing Shots

Debug options that allow you to quickly recapture a shot are probably the most important for game capture. The key things which facilitate this are being able to:

  • Know where a shot was captured

  • Skip to the location

  • Set the scene elements as they were when initially captured

Where am I?

Every game has names for its various levels and regions, some are very logical, like a Sewer area named "Sewer Level." Other level names might be relics of early work-in-progress names which never changed because there was no reason to. When I was working on The Adventure Pals, that game had a debug option to display the name of the level on the top of the screen. 

This was a super handy feature because in my initial capture I could leave that on, so that once I settled on a shot idea, but wanted to recapture for whatever reason, I could see the name of the level on the shot and then skip straight to that level!

I'm not a game developer, so I have no idea how difficult this is to implement, but it's saved me a ton of time in the past and I wish every game I worked on had this as an option, especially games with many bespoke levels numbering in the dozens.

The Adventure Pals' level number debug option!

Skip to the location

Ideally, if the game has the ability to display the level name, the debug option menu will have that same name listed there so you can select it and skip to that level or region. Another solution which has worked for me is if the build has several save files built into it which function as checkpoints for the levels or key story moments. Again, if they're labeled something which ties into either a level name or when it occurs in the story, that's what I've found most helpful.

Being able to skip to a level in conjunction with a debug option to "fly" to a particular part of that level is also a great time saver especially if a level or area is particularly large. This goes for both 2D and 3D games. It saves SO much time to be able to press a button, fly the character through the walls until they're in the location to recapture the shot, then press the button again to drop them on the spot.

Alternately, I've worked on games where I could point my mouse to a particular spot, press a button and then teleport there instantly.

[image]

Manifold Garden was pretty easy to navigate because of its flying options and level skips.

Reset the world state

This one feels like it has the highest number of moving parts, but essentially I want to be able to equip my character with whatever tools or items they had when I initially captured a shot, AND in some cases respawn the NPCs and enemy types which were in the area at the time, depending on if it's that sort of game. 

I've worked on a lot of games which had some great options for the ability to give myself any item from the game using a debug menu or sometimes a console command. Also, the ability to spawn in NPCs and enemies has been a HUGE time saver, bonus points for the ability to choose exactly where they spawn in.

The part that might be more complicated (at least, it sounds complicated to me) is if I captured a shot after triggering several things like story events. For example, in the game there might be a trigger I have to walk over in order to change the time of day, but by flying to the location, I skipped the trigger, so the time of day is now incorrect.

The ability to set the state of the world's story as it should be when I'm at a particular section is also very useful. I've worked on games where they had an option that was basically like "Spawn narrative items" where if I was nearby a door which required a key which I'm supposed to fetch, the game would just give it to me. I have no clue how the logic of that option worked, but it was a huge time saver. 

Rogue-like games like Spelunky 2 don't have bespoke levels since they're procedurally generated, so the ability to shuffle the level quickly to find a good layout is key.

An option to adjust the game's timescale can also help if there's something in the game I need to wait to happen like a time of day difference or something else. If I can make it so the game's timescale is 50X normal then of course I won't have to wait as long for the world to reach a certain state. If somehow I could also just turn the clock back and make things reset that would be even more amazing, especially in games where levers and switches are activated to activate things. Puzzle games especially can involve a lot of level resetting.

Those really cover the biggest hurdles I sometimes have when recapturing shots, other things like the ability to be invincible or a "tourist mode" (where you're invisible to enemies) have also helped immensely so I don't have to needlessly reset the game or worry about enemies attacking me as I run through the level to get to the location.

It's also great in games which have cutscenes to be able to have any option to play all of them from a list. This is especially important for games where art assets are being updated during trailer production. It can be a huge time sink to play to a certain part of the game to trigger a cutscene rather than just navigate a menu, press a button and have it play.

Quadrilateral Cowboy from Blendo Games was by design super duper easy to reproduce situations because it was about being a hacker running simulations and programming things with your specified timing.

The gold standard I've encountered so far is the reload system I had when capturing for Spelunky 2. Basically, when I played a level, if I died I could reload the exact same level. It would even replay the level exactly as I did it the first time, AND I could interrupt the replay and then continue playing. This was especially useful when I'd played through a tough part of the game and didn't want to have to do it again, but needed to recapture a moment after that difficult section. I think the game saved the last two levels as replay files, which meant if I finished a level, the second most recent file would be from one level prior.

That's it for this subject, if you have other time saving debug options you've encountered or implemented, please share them with me and I'll add them to this post later. I'm sure they'll be useful for their intended purpose of helping developers debug their games, too!

ResourcesDerek Lieu2021, capture