As a Roblox developer, it is currently too hard to visualise, plan and overview client/server interactions within studio.
At the moment we to properly plan out the client/server model of our games we need to use third-party software to draw up diagrams, which can be a bit of a nuisance.
It is also very likely that the original plans become obsolete over the development process of a game, so they become unreliable.
One possible solution to this is to include a diagrammatic preview of client/server interactions within studio.
This new window will allow developers to see Local and Server Scripts as well as Remote Events/Functions within the window, and see how they’re connected - please see the below image as an example of how this may work.
This view will be populated when a script or event is inserted into the Explorer window.
On the left of the screen you’ll notice a section for tools (‘Tool Box Area’) - such tools would include; Select, Pan, Zoom, Connect, and Text.
The first three tools are self explanatory. The Connect tool is used for connecting the present Server/Local scripts and Events together.
The Text tool would be a simple text box you could insert to, for example add a description.
Thank you for considering and please reply with questions, suggestions or feedback on this request.
Maybe it’s because I’m not a visual person, but what is the point of this? It would literally be the same thing each time… LocalScript > RemoteEvent > ServerScript. At the most it would be different names each time.
So, one example is - if you have many scripts in your place that communicate with each other - it can get very confusing very quickly to recognise which scripts talk to each other.
For example, you may have a server-sided ‘Game Script’ that handles starting matches, handling time, declaring winners, leaderboards, etc, and you may have several Local Scripts (leaderboard script, player tools, whatever) that interact with this main server script.
Being able to look at the above window and say - ‘Ah, these local scripts talk to this server script with this remote’ would be a very nice feature to have.
This would be even more useful the larger the game you had, if you was using many scripts locally or on the server.
One more thing - this would be a huge benefit to new developers who are learning the client/server model. Just in the past two days I've spoken to 2 or 3 developers teaching them about this model.
Visualising a problem goes a long way to helping people learn new concepts, and it would certainly be a benefit to my brain - even though I’ve been used to the Client/Server model for years, Remotes can still confuse me, and I find it very easy to get lost when dealing with them.
Of course, that could purely be down to poor planning on my part. Still, I think this would be a neat little feature that, personally I haven’t seen in any other game development engine.
I see. I feel like this really wouldn’t be a problem though if your game was organized.
I usually always have one main server script specifically for handling remote events, and if it makes sense to not have that script handle an event (e.g in a tool) I try to keep that new event and its logic organized and specific too. As for the client, I usually (once again) only have a few scripts for each specific thing.
Obviously noobs don’t really have organized games (or do they?..) but then I’d imagine this is the least of their problems.
That being said, I think it would be possible to make a plugin for this. I think it’s kind of a weird use case for this to be official…
Like MrLonely said, you could easily make a plugin for this, but why? Visualization really isn’t needed for this. The process of remotes are pretty straightforward.