Continuous screen wall module

Hey, I made a quick little module for a thing that’s been bugging me since I started building game-show inspired games on Roblox.

This way I want to make possible to create screen walls but much more efficiently.
The limitation I came to was that I wasn’t able to make a differently sized part to use less surface guis and make the game overall easier for the server / client to render the guis.

If there’s a long continuous wall for the first 10 iterations of a led wall and then a curve why should I make 10 different parts when I can create 2?

So I took a bit of my spare time to create this module that will make it easier for anyone wanting to use a surfaceGui to create an LED wall or for more practical use cases, create curved surfaceGui screens that can be used to showcase data in front of a player or to create effects.

Setup

The setup’s pretty simple and straightforward.

  1. Add the module into ReplicatedStorage
  2. Create a model or folder with parts
    IMPORTANT! - The parts need to be labelled from 1 to n so the module works. You must go from left to right / top to bottom.
  3. Create a SurfaceGui and add a “Holder” frame - all of the gui elements you want to be stretched will reside there.
    IMPORTANT! - Doesn’t need to be named “Holder” but if you have any other frames that that are on the same hierarchy level it mayn’t work as you intended.
  4. Create a script / localscript
    You need to provide the surfaceGui you created, the face you want the surfaceGui to orient itself to, the model/folder of the parts and the orientation of the part axis you want to track and gui axis.
local csm = require(game:GetService("ReplicatedStorage").CurvedScreen)

local obj1 = csm.new(YOUR SURFACEGUI, Enum.NormalId.[...], game.Workspace.Model, "X", "Y")
obj1:draw()

And that’s it!
If you encounter any bugs or have suggestions for features don’t hesitate to tell me!

Test game:
scalable_screen_Demo.rbxl (97.7 KB)

You can download the module here

Cheers!

1 Like