Podczas tworzenia gry nie chcesz, aby eksperymentalne zmiany, poprawki lub na wpół ukończone pomysły od razu wpływały na cały projekt. Tworzenie wielu gałęzi pozwala tobie i członkom twojego zespołu pracować bezpiecznie razem lub niezależnie od siebie, bez spowalniania ogólnego postępu projektu.
Gałęzie to równoległe wersje głównego projektu, które rozwijają się w różnym tempie i służą do różnych celów.
Projekt może potrzebować jednocześnie wsparcia dla kilku rodzajów pracy. Tworzenie i zarządzanie gałęziami umożliwia to, pozwalając każdemu typowi strumienia pracy istnieć na własnej ścieżce i scalać je dopiero wtedy, gdy będziesz gotowy(-wa). Istnieją różne strategie tworzenia gałęzi, których zespoły używają z różnych powodów, ale jeden typowy paradygmat wykorzystuje następujące elementy:
Gałąź główna: Stabilna, długotrwała gałąź, która stanowi fundament projektu.
Gałąź wersji: Gałęzie, w których prace są testowane i przygotowywane pod konkretną wersję.
Gałąź funkcji: Gałęzie ukierunkowane, w których odbywają się prace nad funkcją, zanim zostaną zintegrowane z gałęzią wersji lub
główną.Gałąź eksperymentalna: Gałęzie, w których można bezpiecznie prowadzić eksperymenty, nie wpływając na cały projekt ani inne gałęzie.
Gałąź główna
Główna gałąź jest najbardziej stabilną wersją projektu, ponieważ stanowi wspólną i niezawodną bazę, z której wywodzą się wszystkie inne gałęzie i do której powracają.
Gałąź główna jest używana do następujących celów:
Scal inną gałąź, gdy praca jest gotowa.
Wykonaj iterację, aby stworzyć stabilną wersję do testów rozgrywki.
Utwórz gałąź dev, która podąża za gałęzią główną. Gałąź dev to miejsce, w którym możesz przetestować stabilność pracy przed połączeniem z główną.
Gałąź wydania
Gałęzie wersji to miejsce, w którym prace są blokowane podczas przygotowywania wersji do testów lub wydania. Gałąź wersji to świetny sposób na uporządkowanie pracy wokół konkretnego celu wersji lub harmonogramu.
Gałąź wydania służy do następujących celów:
Zamroź funkcje, aby wydać określone prace.
Skup się na poprawkach błędów i dopracowywaniu.
Unikaj wprowadzania zmian w ostatniej chwili i rozrastania się zakresu.
Oddzielenie pracy nad wersją do osobnej gałęzi jest szczególnie cenne pod koniec procesu tworzenia, ponieważ:
Prace eksperymentalne mogą trwać dalej, nie powodując problemów dla zespołu.
Zmiany nie są trwałe dla całego projektu, co może skutkować opóźnieniami.
Zespół zawsze wie, co wchodzi w skład wersji.
Gałęzie funkcji
Gałąź funkcji służy do prowadzenia bieżących prac nad funkcją bez wnoszenia ryzyka do gałęzi wersji lub głównej gałęzi. Może istnieć wiele gałęzi funkcji, w których członkowie zespołu mogą swobodnie wprowadzać zmiany bez psucia innych gałęzi projektu.
Gałęzie funkcji są tworzone do pracy nad konkretnym zadaniem, na przykład:
Dodawanie nowego systemu rozgrywki.
Tworzenie przepływu UI.
Dodawanie nowej sekcji mapy.
Gałęzie funkcji są pomocne do następujących celów:
Grupowanie i przeglądanie prac nad funkcją.
Przełączanie między funkcjami w trakcie tworzenia a innymi zadaniami bez tracenia miejsca lub zaśmiecania aktywnej przestrzeni roboczej rozbieżnymi zmianami.
Jeśli zdecydujesz się pójść w innym kierunku, gałąź funkcji można łatwo porzucić, nie wpływając na nikogo innego.
Gałęzie funkcji można łatwo porzucić bez wpływu na pracę innego członka zespołu ani prace w toku.
Gałęzie eksperymentalne
Gałąź eksperymentalna to miejsce, w którym nowe pomysły są bezpiecznie testowane bez przerywania pracy innego członka zespołu. Po sprawdzeniu pomysłu możesz porównać wynik i zadecydować, co zachować. Jeśli pomysł się sprawdzi, możesz scalić zmiany. Jeśli się nie sprawdzi, gałąź można usunąć lub porzucić.
Gałęzie eksperymentalne są używane w następujący sposób:
Tworzenie prototypów mechanik z pomysłów na rozgrywkę.
Testowanie optymalizacji wydajności.
Próbowanie alternatywnej oprawy graficznej lub układu poziomu.