About collaboration and the bge....

this is going to kill the bge if the bge does not evolve…

We need multi-user blending in the trunk, and a chat app.
http://playcanvas.com/

my gpuless beast was running shaders in it…

???

I would say CraftStudio is more interesting personally for multi-user game creation, but I don’t think either is something that would hurt the BGE as a game engine. Multi-person blend usage might be nice for collaboration, but it’s not necessary. And in-app chat is something that isn’t really necessary since you do have the option of other chat applications. It’s not a “social game engine”, but you can make games in it fine.

This is an interesting service. I don’t know the details of their API (I assume it’s a JavaScript engine …), but I’m guessing it provides a reasonable feature set.

Anyway, I’m pretty sure that it’s not going to “kill the bge”, or anything else; It’s just one more platform.

If you think you absolutely need those services to make something worthwhile, then you should just use that instead of the BGE. However, I would argue that “real-time” collaboration tools are not as effective as people think, and that it generally wouldn’t help developers who can’t use simple email to express complex ideas, because they lack good communication skills, and that’s a fundamental flaw that persists through “chat”, or even full on teleconference services.

For reasonable people who work remotely, proper coordination and work allocation is done beforehand, not in “real-time”, and then everyone works on their portion, in line with their personal schedule. In reality, that’s the only model that actually works, and it requires nothing more than the tools we already have.

In other words: the BGE doesn’t need to “evolve” - it’s more than capable as it stands - developers need to evolve.

As for “gpuless” shaders: You might not have a gpu, but if you have a fairly recent processor, it would have basic graphics hardware, supporting vertex/fragment shaders.

So, it’s not a “playcanvas” feature … I’m not really sure what you were trying to say there.

I guess a voice chat app with a video capture software would make 1 way collaboration possible ( I could watch and ask questions)

Have you ever learned or developed in secondlife?

it’s amazing to see how people do what they do in real time,and if you don’t understand, ask questions in real time,

more like a classroom then a basement.

I don’t know everything, and even looking through the api, does not tell you how to achieve anything, only the commands…

half a game is the “order” and thought behind it,

There are a lot of options to run a team project. It is much easier and flexible to integrate Blender into a team project workflow than the team project workflow into Blender.

A) There are already quite a few options (with other tools) to run a project
B) Blender simply does not have all the tools and it would be huge projects of their own to develop them.

Indeed Blender would benefit from a better support (e.g. merge-able blend files, asset libraries, better workflow).

I agree with Goran - editing the same asset looks fantastic (at the first sight). But changing the same asset at the same time creates conflicts. This is nothing you want to get in a serious game development pipeline.

If you want to “show” or “guide” others this tools might be fine (a sort of schooling).

There are already lots of established applications that do the collaboration thing, e.i. Teamviewer…
Blender is already a big bunddle with modelling, texturing, animation, rendering, game engine, video editting,… and it’s just a tool to use in your project. Don’t ask more of it…
You dont need to use one tool to build your application, is like building a wooden chair with just a hammer, but blender works like a screw driver/hammer/saw, dont ask it to be nails and glue as well. So ,yeah do as Prof Monster sais:

It is much easier and flexible to integrate Blender into a team project workflow than the team project workflow into Blender.

I think streaming my blender viewport and having a video chat together is already doable with OBS (open broadcast software)

however getting more then 1 person together at a time without a virtual “hangout space” is hard.

getting more then 1 person together at a time without a virtual “hangout space” is hard.

The set times for when you’re going to be around. It will always be a problem unless … you communicate.

Any team/collaberative project is about communication and, with non-text files, modularization. So establish how you are going to communicate with collaborators.
I used IRC as a method for communication, and it worked fantastically when I let people know when I would be around. I told people that I would be around from 8-10 GMT (or whatever) each day, and hey presto! People would be on there then as well. If you want to set up an IRC system, try mibbet.com. It’s free, provides real time translation and a host of other features.
But a single system is never good enough. I also used a blenderartists thread, set up a forum, emailed people, and made monthly newsletters to let people know what had happened and inspire them to continue working.
And yes, it was a lot of work, but it was worth it, even though the project is now dead. It taught me a lot about group dynamics.

The other part of team work with Blender is modularization. With ‘normal’ coding collaborative projects, you can use version control systems to merge together files that two people have edited at the same time. Unfortunately, it simply isn’t possible with complex data such as 3d models. So what you have do is:

  1. Split things up into separate files
  2. Let people know what they can and can’t work on.

For this reason I have started using tiddlywiki to assign roles to people. I havn’t used it in major (more than two people) projects yet, but it holds up quite well. Here’s the template I use for my projects (see attached zip). And hey look! I’ve come back to communication again. When people know what to do, they do it!
***Blender isn’t the only collaborative stuff I’ve done. A lot of the projects I do at uni are 2-5 people groups, and, as you may guess, communication is important. SO I’ll write a bumph of stuff about how I collaborate while doing, well, anything.

Interesting to note is that the only ‘real time’ thing we share via computer is voice. When assembling a final report, we occasionally use screensharing so people can check you have got things lined up correctly. But this is generally only for the last hour or two.
To do this communication, we use skype, again, because we are cheap, and it is free. I did at one stage get a chance to use some proprietary adobe proprietary ‘collaboration system’ that provided video (like skype) as well as remote desktoping, a virtual whiteboard, file up/download etc. But, despite all these features, it provided little more than skype. Collaborative features sound great, but nothing will ever beat communication.

To collaborate files, we use dropbox, because we can also have it on the uni server. Edit things locally, get the output via remote desktop session etc. But even though files are synced between us, we have file conflicts unless we constantly talk. A general map of our conversation goes along the lines of:

Me: “I’m having difficulty with … here”
Another person: “Oh, I did … near that, I’ll take a look”
Me: “Ok, I’ll stop editing it, it should update to the newest version in a few seconds”
The other person: “There we go, I’m editing it now”
The other person: “The problem was … and I’ve done a bit of work on it, you can finish it up while I get back to doing …”
Me: “Ok, Have you saved it?”
Other person: “Yup, a new revision should come through soon”
Me: “There it is, Can I edit it now?”
Other person: “Yup, I’ve closed it”

And so on. Conversation like that seems boring, but it sure does help in small projects like the ones we do.

Kind of implied from that is that things are broken up into chunks. This means one person isn’t sitting doing nothing while the other person is editing the file. With coding this is easy. You can split things up into functions, scripts, code-files. Modern VCS make this a breeze, so long as people only edit what they’re meant to, and you use a consistant set of input/output arguments. Again communication is key. (btw, google drive is great for report writing)
Similar things apply to any sort of file, but without the advantage of being able to merge them. So you have to split everything into smaller files and combine them. In blender, take advantage of libload, or link files into other files, and do it down to a small level. A single file for a single character. Take a look at Prof. Monsters Wall-e project if you want to know how to break things up. He’s done a great job there.

Final piece of advice (in case you didn’t read the above wall of text). Talk and communicate. Without that, nothing with a group will work.

Attachments

Development Notebook.zip (123 KB)