1
\$\begingroup\$

My team and I are currently creating a 3D tower defense game with Unity and are compromised of me a few animators modelers and programmers. However as I am still fairly new to Unity I have trouble figuring out ways to collaborate with them. I know not what practices or advice I could get on the front of developing this game. I was hoping someone here might have some insight as to how best to collaborate with all team members and what one might do to get a better flow of information and help or assistance when working on this project. We are all about an hour or more away from each other so we must work remotely to collaborate. Thank you in advance.

\$\endgroup\$
1
\$\begingroup\$

It depends on many factors so this answer will have to be rather vague. There's also almost nothing Unity specific in your situation.

First off, there are several completely different ways to use Unity, and most of them are equally right. You will have to find a way all teammates agree with.

Regarding tools, source control is mandatory. If you know about source control, chose whatever people on the team are most familiar with. If you don't, use git. It will take the team a few days to get familiar with it, and they will screw up in the beginning, but this is the single most valuable tool you need for collaboration. Make sure you have a central repository where everyone checks in their code at least once a week (if you're doing this professionally full time: once a day), and which should always be working. Use Continuous Integration to make sure it works builds.

Beyond that you need regular team calls with a medium of your choice, could be WhatsApp, Skype, some fancy meeting software, or maybe even something totally crazy like landlines (if you can figure out how to do group calls with those). In these meeting the team needs to share what everyone's been working on, and what everyone is going to work on. Make sure people can use the same tool to contact each other whenever they want/need, and also provide a way to have collaborative whiteboard sessions - this can be done with whiteboard plugins on skype, or with teamviewer and paint, or in a million other ways.

Next, to share the vision of the product you may need a Wiki. Diagrams of how screens interact, paper drafts of GUI screens, description of the story, all that stuff goes there.

Last but not least you need to manage a shared todo list. Something like fogbugz, rally, or jira.

Now, for the slightly more Unity specific stuff, the programmers should use mock objects as prefabs, e.g. a cube for a tower, until the designers have the actual object ready, so the designers can simply replace the prefab and everything still works.

All the gritty details of how the people want to share the work, how much of the work should be done by the designers vs the programmers, and how much code the designers should touch depends 100% on your team members, so the team will figure that out during the team calls.

\$\endgroup\$
  • \$\begingroup\$ Thank you so much for the help. To clarify on one point you said to create a cohesive vision and information on the game, to create a Wiki. Are there such things as private wikias? Where would one go to do that? \$\endgroup\$ – Jacob Neal Jan 3 '16 at 8:33
  • \$\begingroup\$ @JacobNeal Many other services have something like a wiki integrated. I think Kiln has one, and Atlassian Confluence is nice. If cost is an issue, cheapest would be to set up a server with one of the many open source wikis, but that's only cheaper if you don't need to pay for server maintenance and backups. \$\endgroup\$ – Peter Jan 3 '16 at 16:29
  • \$\begingroup\$ If I just wanted a simple guide or small-ish database to the game's lore and concepts and story points and such, but not online, how would I go about doing that? Currently my team uses Basecamp by the way, and switching is not the best option. \$\endgroup\$ – Jacob Neal Jan 4 '16 at 5:48
  • \$\begingroup\$ @JacobNeal Some source control hosts like github have a Wiki, and you can always use a wiki which you run locally on each pc and synchronize with source control - you could use something like TWiki to do that, but I haven't personally tried that. It's very important that everyone can contribute, so you can easily spot if there are conflicting or new ideas about some aspects of the game, and decide which of these ideas to pursue. \$\endgroup\$ – Peter Jan 4 '16 at 12:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.