The tools y’all have put together are fantastic but without an offline option I am finding it makes projects of any complexity or > very small team size difficult to manage. Main issues:
Speed and reliability
RE issue #1: In the couple of weeks we’ve been trying out PlayCanvas we’ve already hit at least one instance where the servers were down and we were unable to work for an entire morning. Also, while the loading times are normally “fast”, any little hiccups start to add up very quickly.
RE issue #2: What is the recommended way to work with forking and experimental features? So far I am not finding collaboration workable in this regard. My team members and I need to be able to branch and break things, but only locally.
I apologize if this sounds harsh but the frustration is because for the most part the editor is awesome! I get that you guys are trying to do something new with how teams work and collaborate online, but at least for us we’d be able to take the engine more seriously if the editor could slide into our regular workflow. I understand this is not an easy change to make, so are there any recent changes to your plans for this, or has there been any work done in this regard?
Hi @tbriley. I’m aware of an outage on 23rd March - is that the one you mean? I’m not aware of any other downtime in the last few months. Let me know of any other instances and I’ll follow up with the team. Ultimately, downtime is exceptionally rare but it has been known to happen.
At the same time, we occasionally have developers contact us to report issues and we can sometimes deploy a fix in literally minutes which simply isn’t possible with ‘traditional’ game engines.
Also, while the loading times are normally “fast”, any little hiccups start to add up very quickly.
If you find loading stalls for some reason, a quick refresh can remedy things quickly. PlayCanvas leverages your browser cache and reloads should be very fast.
What is the recommended way to work with forking and experimental features?
@yaustar suggests a workflow that is fine for some devs. You can copy/paste entity hierarchies across scenes and even projects. You may be interested to know that there has been significant discussion internally about branching/merging projects - we believe this could be a massive win for enabling larger teams to coordinate. Although we expect to start work on a solution in the near future, I can’t make any promises about dates.
Regarding the loading times, another week in and these stalls and server disconnections are really adding up in a big way to our production time. For example, I will make a change to some values in the inspector, reload the game, and the changes won’t be there - none of the changes I made in the scene go through. So I’m forced to reload the page and make them again. This is exacerbated by the fact that I’m located in China. There is a big market here for lightweight browser apps that work in WeChat by the way
Even if these things were less frequent, my own feedback on the matter is that most teams want more fine grained control over workflow and versioning than what any single unified solution could provide. Unity for example has been trying hard at this for years (Collab being the latest example) - it’s a noble endeavor but ultimately not something we’re at all interested in. And if we were forced to use their Collab feature in order to collaborate the Unity editor would be a much less attractive sell; what’s a feature to some is “getting in the way” to others.
Again I don’t mean this to be rude, I hope you take this as constructive and maybe at the end of the day we’re simply not your target. But what we need is basically a lightweight set of tools so that our artists / designers / programmers / whoever have an easy to use visual way of setting up “scene as configuration”, blueprinting out entities (ie, some way of defining a notion of “prefab”), etc. Maybe eventually we could find a “realtime”, service based workflow that makes sense but at the moment it actually hurts.
One possible solution (for our needs) would be an option to run everything through a local server - we already have one for other needs anyway. This would at least solve the connection issues for us. But again even better would be some kind of option to run things entirely locally if desired. Anyway I’d be happy to go more into detail with your product team discussing these issues further if y’all are interested