Ability to make animated and interactive teleporting screens

The problem

As a Roblox developer, I want to make teleporting screens a pleasant experience for the player and to ensure that the player does not think the teleport has gotten stuck, or get bored and leave the game early.

Currently, all sound and script logic is disabled during a teleport screen (sounds are stopped and LocalScripts do not run in transit even if they are parented to the teleport screen), so all we can give players to look at is a static screen.

Proposed solution

I would like the ability to put a LocalScript into a teleporting screen and have it persist its running state throughout the teleport. The script cannot interact with anything that isn’t loaded in the game (so it should not interact with workspace, or children of other services, etc) but it should be able to access all of the descendants of the teleporting screen and their properties/events. The script can then manipulate the teleporting screen it is parented to and its descendants or play local sounds via SoundService.

Use cases

  • Animated “loading” widgets to signify that the game is in a loading state, rather than having just a static screen. (if you were to launch a stand-alone game on platforms such as Xbox, this is often a quality assurance requirement for loading screens before you are allowed to even publish your game, so this would be good practice to enable on Roblox)
  • Playing sounds or music that were already pre-loaded before the teleport during the loading screen, or persisting sounds/music into the next place.
  • Buttons on loading screens that can be used to view more information / implement small games into the loading screens for the player to interact with while they are teleporting.
  • Showing ViewportFrames in teleporting screens with an item in the game, with an item description on the side, and you can interact (rotate) the item in the viewport frame through mouse/touch/controller events.

Showcase

  • Skyrim: ability to rotate and zoom into a game model while the game is loading

  • Fallout: animated loading background and sounds that fits the game’s theme (projector)

  • Snipperclips on Switch: simple tiled panning background image

  • Persona 5: animated widget in corner

  • Breath of the Wild: real/fake loading bar in one corner, animated widget in another, tips that switch out over time at the top
  • Okami: spam buttons to make ink paw prints appear over the screen so you have something to do
  • Destiny: ships flying to planets or in orbit of a planet during loading screens for immersion (this one might be a bit out of scope since it would require an empty workspace to be present)

(If you know of any other cool examples feel free to add them below as replies)

Other specific things I could think of but not find good examples for:

  • Running a 2d character/silhouette across the screen with mouse/touch/controller input. (Rayman Legends does this, but could not find a gif)
  • Snake game in 2d on the loading screen.
  • Drawing 2d paint strokes over an empty canvas with a loading widget in the corner.
  • Make 2d water ripples on screen with touch and mouse clicks during loading screens.

Conclusion

If Roblox is able to address this request, teleporting screens would become a much more pleasant experience for players, and developers would be able to create interactive and engaging loading screens. This would in turn lead to less players dropping out mid-teleport because they are better informed about the game’s loading state, and would therefore improve the overall player experience in games that involve teleporting between universe places.

Side-note: it is up to the developer to ensure that their loading screen requires as few assets as possible so that it does not impede loading times too greatly, or only use assets that were already pre-loaded / cached / used before the teleport took place.

59 Likes