Roblox Advanced DMX Stage Lighting Programmer

Roblox Advanced DMX

NOTE: This has not be released yet this is just to get some feedback about my current project

DMX or Digital Multiplex is a network used to connect real life stage lighting to program them to make advanced shows. I have always loved making stages and lighting shows on roblox but the current ecosystem did not allow for much customisation, I was left pre-made often boring movement cues, these never matched the music and made the lights feel tachy.

So to fix this I started working on my own Roblox DMX programmer, DMX is not particular user-friendly it is the industry standard and allows for some much customisation. If you want some more info on the DMX protocl Understanding DMX: Explained - FAQ techformusic here is a good article.

The App

Beginning - Proof of concept

This app was a quick proof of concept I threw together while sat in satbucks thinking about my college exams.

Currently

Post exam me (same starbucks) wanted to recreate the app but make it native, cause faster and it means I don’t have to own a server so I can run the project for free and make it free for everyone else. Note this app was created 3 days ago and so is missing some features from the proof of concept.

Note: The map is auto generated the light tell the application there starting DMX address and Universe and position and the map is auto created.

Features

Bold is current features, italic is planned

  • Multiple Universes
  • Auto Map Generation
  • Timeline + Audio Cues - Not in new app yet
  • Build to Production File - Not in new app yet
  • Public API
  • Proxy for live roblox servers
  • Scenes + Chases
  • Native Application
  • DMX to USB for external real life consoles
  • More when I think of it…

Can I add my own lights?

Absolutely I will release a guide on how to and the system is incredibly simply, a basic non moving light is less than 100 lines of code and moving head is just under 200., nothing will be obfuscated so it won’t add confusing bloat to your games.

Who is this for?

This is not for everyone this is for Theater Groups, Concert Games, Church Groups and Balls, there are many other uses cases but this is not a tool for someone who just wants to light up their stage.

But what about latency?

For making your scenes and timecodes, we recommend doing it in studio where the latency on localhost is sub ms, I am working on a system to work out the ping to the server and fire lights early to remove latency, but for production concerts the songs will compile down to a build file that is in locally in lua with no web requests.

How do I live control lights on a public game?

The system comes with inbuilt proxy server using localtunnel another free open source project, a touch unreliable but thats what you get for free server hosting I guess, I do not control this but just utilise it. If you are an advanced user you can port forward your application through your router (only really for experts cause opening ports can leave your vulnerable if you are not careful).

Whats the cost?

Nothing :), It costs me nothing to run and I wanted to build the software anyway, that being said it will be released under a GNU General Public License v3.0, this because I do not want large lighting groups to take this code modify it and charge people access to their modified improved version.

Feedback and thoughts greatly appreciated,
– Gerald :slight_smile:

11 Likes

Talent. That could easily be implemented into live events to create an immersive user experience.

1 Like

Two videos showing a dolly camera using the same software

4 Likes

This is awesome work! I love your native application. Reach me on discord @devmarissa I’d love to talk about this project.

This advanced DMX stage lighting programmer looks GREAT! Nice job on it!

Hi @GeraldIn2016 , I work in lighting control and have done for a number of years, I’d love to catch up with you about this. I’ve sent you a Fr on Roblox. I imagine we’d have some mutual interests and similar projects.

Hi, sorry for the late response, uni work started to pile up. But I have accepted your request!

This is an absolute brilliant idea, can’t wait to see this in use on the platform further down the line. You’re quite literally revolutionising the Roblox lighting community

1 Like

Dev Update #1 - 11th Oct 2024

Sorry for going quiet had a lot going on, anyway here is a dev update, timeline almost done, it needs to be connected to the DMX server but the visuals are mostly done. The idea is the higher up the timeline the higher priority, so any conflicts will be resolved that way. My next task is scene creation.

Note: UI is not perfect gonna change the scene list down the road

As always feedback is always welcome :slight_smile:
– Gerald

1 Like

you should sell this to roblox for their concert thingies

Roblox: This is officially ours now, our profit, our content, not yours, mine.

Could sell it though, just not giving Roblox full permission to go off and give it to people, and claim it’s their content etc, making a concert with his tech means he has to be credited.

1 Like

Love the progress so far!

I’m not overly clued up on DMX so please forgive me if this request is too outlandish.

I’d love to be able to link this with DJ software like Rekordbox. I haven’t personally been able to utilise the lighting feature in there yet, but it would seem like a fun concept to be able to control Roblox lighting fixtures through Rekordbox’s DMX features

Dev Update #2 - 18th Oct 2024

Had a busy week but I have massively cleaned up the timeline code and added user feedback like borders, and a context menu on right click. The scene designer is coming along nicely but I am working on the connection protocol so there is not much visually to show yet.

As always feedback is always welcome :slight_smile:
– Gerald

2 Likes

Interesting, I have a question, I made a simple dmx to roblox system a few years ago. How it works: you have a server on your PC that captured the dmx with artnet and it was seen on a web (json), roblox captured the web and there you used the data. However, this caused an error due to the number of requests, and in production mode it has a lot of latency.
How do you handle the requests to update the data? And do you have any solution in mind for the latency?

Yes so this a sort of dual system, the plan is that once you finish editing the timeline you produce a single output, which has all data and timestamps so for production only one file is sent. Live music is the only thing that sorta needs 0 latency, generic stage lighting can get away with a little bit.