niedziela, 2 marca 2014

Praca grupowa w Unity3D



Podczas tegorocznego KrakJamu (krakowska edycja Global Game Jam) przyszło mi z kolegami tworzyć grę z wykorzystaniem narzędzia Unity3D. Samo Unity jako narzędzie do tworzenia gier spisuje się wyśmienicie, jednak praca grupowa niestety nie jest tak prosta. Na czas samego konkursu udostępniono wszystkim chętnym profesjonalną wersję Unity wraz z Team License do pracy grupowej jednak uznaliśmy, że nie ma sensu dodatkowo marnować czas na poznawanie narzędzia którego i tak w wersji standardowej nie ma.

Niestety wykorzystanie samego git-a do przechowywania plików nie pomoże. Za każdym razem gdy będziemy wysyłać naszą wersję plików będą pojawiać się konflikty w plikach binarnych których nie można zmergować.

Prostym rozwiązaniem jest utworzenie pliku .gitignore który zablokuje dodawanie niepotrzebnych plików do repozytorium. Zawartość pliku .gitignore powinna wyglądać następująco:


.DS_Store
Library
Temp
Assembly-CSharp-vs.csproj
Assembly-CSharp.csproj
MirrorMirror-csharp.sln
MirrorMirror.sln
MirrorMirror.userprefs
Assembly-UnityScript-Editor-vs.unityproj
Assembly-UnityScript-Editor.unityproj
Assembly-UnityScript-vs.unityproj
Assembly-UnityScript.unityproj


Powyższy plik .gitignore zapobiega dodawaniu niepotrzebnych plików do repozytorium, ale to nie wystarczy, potrzebujemy również specjalnego podejścia do projektu. Jak to było u nas?

Nasza gra zawierała tylko jeden poziom (w końcu tylko 48 godzin programowania). Na początek stworzyliśmy poziom podstawowy w którym umieściliśmy naszą postać oraz dodaliśmy jej skrypty umożliwiające jej poruszanie. Poziom taki został wysłany do repozytorium po czym każdy  z nas na skopiował go tworząc własny level1_nazwa_uzytkownika. Dzięki temu każdy mógł tworzyć własną część gry u Siebie. Jeśli jakaś część była skończona można było wprowadzić ją do głównego poziomu wcześniej informując resztę, że będzie się grzebało w tym pliku.

Nie jest to może rozwiązanie super wygodne, jednak zdało egzamin. Jeśli macie lepsze metody na pracę grupową z Unity z chęcią poczytam o nich w komentarzach.



Jeśli chodzi o nasz projekt z KrakJam to udało nam się zdobyć pierwsze miejsce tworząc grę pod tytułem Mirror. W grę można pograć przez przeglądarkę oraz pobrać kod źródłowy dostępny na github.

Brak komentarzy:

Prześlij komentarz