Cloud Edit Beta (Multi Build Studio) Available for Beta Users

Surely sounds will only replicate if the object is replicated. Don’t plugins put their sounds in the coregui? You could also put them in the camera.

2 Likes

I found that properties like HttpEnabled in HttpService, FilteringEnabled, StreamingEnabled in Workspace and LoadStringEnabled in ServerScriptService can’t be changed in Cloud Edit, and those is also only setable in studio.

Davidii and I have built an entire game in cloud edit and it’s been awesome. A few quirks, but it’s been a great development process.

Like Cheatmaster18, we’ve found that checking FilteringEnabled would usually not publish. Sometimes it would, sometimes it wouldn’t. I’m currently unable to get the game back to filtering. Whenever I check the property and even manually publish the place to the group slot, it’s still false when joining a server or reopening the file.

Another property that similarly doesn’t work is StarterPlayer.CameraMaxZoomDistance.

My co-developer, ShareYourProfanity, has noted that despite several attempts at setting an UnionOperation’s CollisionFidelity to Box, it reverts to Default when he goes back in our cloud edit place.

Other than that, he wasn’t able to see changes I made to a LinkedSource before I published it from the Game Explorer window - well, that was a first time experience with Linked Source, so I know the procedure now, though I would assume we would all be able to see such changes in Cloud Edit.

Same problem as @Defaultio, CameraMaxZoomDistance reverts. I bet there are a couple more, which we have yet to find.

Though, it’s pretty fun working in Cloud Edit :smiley: And fast progress too!

Not to dispute your original argument, Echo, but I had to argue against your supporting evidence against collaboration.

Collaborative work is really useful, and live script editing is both more intuitive and useful. It has practical use, just like an AI to drive your car has practical use.

The problem is, as you said, it’s a fantasy. It may be hard to implement it.

The way everyone in the professional software development world does. Through communication.

Although communication is vital, working with other people is more effective than doing something yourself. Do you think a single person programmed Windows by itself? ROBLOX by itself? Any piece of software you use daily by yourself? Collaboration is a vital part of successful software development.

This argument against collaboration is unconvincing.

I think what you’re trying to say, @EchoReaper is that it is not worth it. However, I found your argument entirely unconvincing because it argued against collaboration, not against the cost/gains of the value proposition of a live script editor. It’s nothing personal, I just think an argument against collaboration is wrong.

It was not an argument against collaboration. It was an explanation of how Google-docs-esque programming editors would be detrimental to collaboration in most cases. As build mentioned, it does have its niches where it can be useful (i.e. teaching), but programming in the same file and at the same time is a recipe for disaster.

Yes, collaboration is vital, but they did not use the programmer’s equivalent of Google Docs to design them. They likely made changes to their own local copies and merged the changes with a master. Communication is good. Constantly communicating in real time while you need to concentrate is past the point where communication becomes destructive. Try programming and talking on the phone at the same time – you can’t. Why? Because programming isn’t something you can do half paying attention. Programming isn’t some step-by-step process – you have to decide and determine what you will do, and that takes brainpower.

Pretty much what you’re telling me is “Collaboration is great so that means Google docs editing (a form of collaboration) is automatically great too” (faulty comparison fallacy).

@Quenty I think the sole reason he doesn’t find it that valuable is because he doesn’t spend time working with other people.

Personally I don’t find many frequent uses for it yet but I do believe it’ll be a cornerstone to legitimate development ‘studios.’

I work with other people – both in ROBLOX and in school. It’s because I work with other people that I understand Google docs editing is a fantasy that won’t actually work. See:

To work on the same thing at the same time, you have to communicate real-time. You can’t concentrate on programming if you’re doing that.

Google Docs was released in 2007, so companies have had plenty of time to hop on board the collaborative, real-time editing for programming, but they haven’t (because of what I posted earlier) – the reason it isn’t being used isn’t because it’s new and nobody knew about it until recently.

…do you have any evidence of companies not using auto updating editors?

Combining voip and the ability to see each other type is actually pretty powerful, I’ve tried this in several projects and it works fine, you don’t have to be there in person with the other guy working on the code to work efficiently.

(I’m not fond of comparing this with business life, not only because I have no clue if they may use script editors which support multi-editing, but I also think a feature like that is extremely important for creative collaboration, sharing and learning which are some of the points that ROBLOX emphasizes upon, and are not necessarily important for most businesses.)

Obviously you’re not going to work in pairs (or more) 100% of the time, but it’s nice to have the option, especially when you’re showing someone else the ropes of your code or assisting them with / reviewing a difficult piece of code. Since everything in cloud edit already provides real-time updates (moving parts, unioning stuff, editing terrain, editing other properties of instances) it seems really strange not to have this kind of mechanism also apply to the script editor, instead of having this lock mechanism.

At the least it would be great if we could get real-time read updates on the code itself and only one person being able to write to the script at a time. But like I also said before, it’s not a high priority feature.

There are countless professional source control products on the market (e.g. Git, Mercurial, Subversion, Fossil, Bazaar, darcs, etc), but I haven’t been able to find a single product designed for collaborative real-time programming or a mention of one currently being developed (if you know of any, please let me know so I’m not in the dark). If a sizable amount of companies were interested in and/or using collaborative real-time programming for professional projects, there would be products available or in development for them. (the “real time code editing” website you’ll find are not suited for real projects – look for products that are actually designed for professional projects)

@buildthomas: Yes, teaching and code review were the niches I mentioned you posted in post #120. I am not discounting collaborative, real-time editing because it doesn’t have any uses. I am clarifying that collaborative, real-time editing cannot be productively used for initially programming (initially as in not including revision) a project. It’s up to ROBLOX whether to implement it or not, but as I mentioned in my original post, if it’s just for review/teaching, it probably won’t happen.

Yes, completely agree with that, similarly to how you probably won’t actually need some functionality that source control provides (e.g. merging) in the early stages of a project, when it’s just a single person working on a certain subset of files at a time and mostly only adding things rather than removing/editing them.

I think code review becomes increasingly important as the size and duration of the project increases, and since we’ve seen a steep increase of the complexity of ROBLOX games over the years it seems like these kind of tools may have a better purpose in the future. We’ll see what they plan to do with this I suppose.

Looks like it was a mistake to use the word “initially”. By initially I meant 100% of the programming minus the revision part. Not just when you were starting out. Yeah, neither are useful for solo programmers because they’re designed for multiple people. Source control, however, is useful when you start working with multiple people, while realtime collaborative editing is not useful (close to “not at all”) for actually programming projects with multiple people (minus revision of course).

Yeah, it’s ultimately ROBLOX’s decision.

Not everybody is the same as you. I’ve done this multiple times without any problems.

I have a friend who I help a lot with scripting and he helps me a lot with building, currently whenever he needs my help he had to copy his script, paste it into Skype and send it to me, I then copy it into studio and send it back to test, if there is an error then he has to copy it into Skype, I have to paste it into studio, etc etc.

As you stated in your post about friend request restrictions, arguments against an idea do not help.

Please do not go against an idea just because you personally will not find it useful.

4 Likes

thelolguy301

1 Like

Love to hear from ROBLOX staff when the new build of this awesome feature is online !

@thelolguy301 check the first post for instructions on how to get access.

@Velibor sorry for the lack of transparency :(. We are releasing incremental fixes every week, though most fixes aren’t very noticable on their own. In the recent release we added a studio player-list widget showing who is in the session along with the ability to publish immediately (not waiting for the next 5m server publish). In the release Wednesday night we should have:

  • Remote selection rendering in 3d view (shows in yellow higlight what other people have selected)
  • Fix for a few CSG issues (biggest one was when Player A unions Player B couldn’t separate)
  • Improved Animation Editor support (though still uses run service)
  • Support CloudEdit on places that aren’t the root place of the universe

In the following week’s release we should have a bunch of fixes for terrain undo/redo going out, along with support for changing HttpEnabled/FilteringEnabled/StreamingEnabled and LoadstringEnabled, camera zoom, and a few other things, but work is still early for those other things so I’m not sure if they’ll make it into the release.

8 Likes

To update on the script editor I mentioned a few weeks ago, the biggest problem I’m having is merely replicating the full behavior of the script editor in Lua, alongside with a networking model which locks editing to per line rather than per script.

I really want to encourage you guys at Roblox to consider an official implementation of allowing multiple people to edit Lua code.

How I see it working:

  • Should be 100% based on LinkedSource, not per script object.
  • Each line of code has an internal object orientated functionality that can be moved around the script, undone/redone, and can only be edited by one person at a time.
  • Changes to scripts can only be published to the LinkedSource if there are no syntax errors.
  • Each player has a marker showing where they are focused on a line of code.
  • Linked Sources should have rollback functionality, and a log history of changes and who pushed the changes to the LinkedSource, and what time they were pushed at.
  • Ideally some kind of chat we can use in the editor.
3 Likes

@Maximum_ADHD Thank you for the suggestions wrt to real time interactive code editing (like Cloud9). We currently have two buckets for work on Cloud edit: bugs/features that we think we need to complete before we open the feature to general use (e.g. Undo being more predictable and stable), and the rest of things that improve the experience but have reasonable workarounds in the mean time. At the moment real time interactive code editing is in the second bucket (to be completed after public launch).

If you are okay with using LinkedScripts as a medium, there are some workarounds. You may have noticed for LinkedScripts that it keeps your changes locally until you publish. The way studio does this is by creating files in Roblox/UnpublishedChanges/[universeId]/Script/[scriptName]. If studio finds a file there, it treats it as an unpublished change for that linked script. If you use some source control (e.g. git) with a real time editor (like cloud9) you can do your edits in cloud9, then sync your git repo to that directory, and studio should pick up your changes (you may need to hit the reload button on the Game Explorer).

5 Likes