It’s good to see that roblox is trying to make scripting easier, but many feel that collaborative editing didn’t really live up to expectations. It’s not really the “collaborative editing” that we wanted, it could have honestly been named “draft editing” to be more accurate.
I feel something like collaborative editing would be extremely useful if you could have two users editing the same script in real time, such as what you see on google docs with multiple users writing on the same doc with changes from the other being sent over immediately. Otherwise, it’s just a draft editing feature that some people find more as a nuisance than an actual benefit.
As much as I do appreicate the effort to bring standards to Roblox, I still don’t understand why as a company you’re re-inventing the wheel when the currently existing products already do the job well. Not to mention, they have years of usage under their belts, showing just how rock solid these already existing standards are …
Thanks for the feedback, @Vmena. We are considering the real-time script collaboration. Do you see this working as a collaboration session between two developers pair programming? Unlike Google Docs, if all script changes were live in the game the game will not be playable at all times. Would that be an issue for you?
Yes, the main benefit would be the ability to pair program remotely. If I were to be teaching my friend how to get started with LuaU through roblox studio, it’s very difficult and time consuming to actually make programs with them. Rather, I’ll usually have to fall back on something like discord to screen share and attempt to explain verbally every time something is wrong as they are writing. If there were say, realtime editing, I could set up specific parts of the script, make small corrections, or easily point out sections of code which need review while he is writing code. He is seeing my changes immediately, rather than limiting the program to one editor at a time. Another example would include me reviewing my friend’s code and adding notes as he is writing to let him know how to improve in certain areas of his program. When he gets the chance, he will go back to those areas for a minute and update them, then resume on what he was doing further down in the script.
With the current system, he would have to exit the script and stop everything he’s writing while I add comments, then once I finish adding comments I must leave the script so he can continue writing and address my comments. This isn’t much different with Collaborative Editing (draft editing), except the extra step would be committing drafts between each of us making changes to the same code.
I don’t quite know what you mean by live, but when I say live I do not mean immediately published into the game but rather taking effect in real time. (Player 1 deletes line 1, Player 2 who is also editing the script sees the removal of line 1 immediately.) If by live you mean within studio, and the script possibly throwing an error when one partner decides to test while another is writing, then I personally don’t see a problem with this behavior. If we are using normal script editing and my partner exits his script without it being done, then the broken script will error when the game is tested. So in a sense, you would have to tell your partner to bring the script into a functional form before testing it, but that’s not much of a difference from what we have now. Alternatively, real time editing like this could also be in the form of drafts. If the game has Collaborative Editing (draft editing) enabled, then you wouldn’t have to worry about your partner working on a script while you are testing because the changes aren’t yet pushed. All partners would share the same drafts and you could enter your partner’s draft and work on it with him in real time. The draft feature would be toggle-able, and so would the live editing feature.
I would absolutely love the introduction of live editing. I think I can speak for others when I say that this would be an amazing feature to add to studio. I actually created a plugin prototype to add live editing functionality, however it was incredibly buggy and inefficient.
Here’s a video showing the concept.
Would the editing be similar to this?
I think it’s important to highlight other users cursors so that it’s easier to see where a person is editing, otherwise it becomes easy to over-write each others work.
That’s quite impressive you tried to build a plug-in for it, @GammaShock. Yes, we have realtime awareness in script (similar to how we show it in 3D view) on our backlog and it includes showing presence and cursor of the collaborators in the script.