Praktyczny przewodnik po audycie projektu Unity
Przejmujesz projekt w Unity? Co sprawdzić, zanim zaczniesz od nowa.
Autor: Artem Shkabura ·
Projekt Unity, który utknął, może wyglądać gorzej, niż jest w rzeczywistości. Brakujący SDK, nieudokumentowany krok kompilacji lub porzucona usługa mogą ukrywać użyteczny produkt. Jednocześnie przekonujące demo może maskować poważne problemy z wydaniem.
Jako założyciel firmy lub producent musisz wiedzieć, co realnie może przynieść kolejna inwestycja. Zaczynam od pytań o to, co chcesz wydać, co już działa i jakie problemy mogą uniemożliwić ukończenie. Do pierwszej rozmowy wystarczy krótki opis; przed udostępnieniem poufnych materiałów lub dostępu do kodu źródłowego możemy uzgodnić umowę o poufności (NDA).
01
Zachowaj to, co przejąłeś
Zachowaj historię repozytorium, ostatnią działającą kompilację i wszelkie notatki konfiguracyjne. Zapisz wersję Unity Editor i platformę docelową przed otwarciem projektu w innej wersji. Zachowaj oryginał i analizuj osobną kopię roboczą.
Pierwszy przydatny rezultat to odtwarzalna kompilacja: na innym komputerze można wykonać udokumentowane kroki i uzyskać działającą aplikację. Jeśli to się nie uda, zapisz dokładną blokadę i brakującą zależność. „Nie kompiluje się” to ustalenie do zbadania, a nie wystarczający dowód za przepisaniem.
Unity zaleca tworzenie kopii zapasowych przed aktualizacjami i ocenę, czy korzyści uzasadniają wysiłek. Stosuję tę samą dyscyplinę przed zmianą bazy przejętego projektu.
Unity: aktualizacja projektu Unity02
Sprawdź narzędzia, usługi i konta potrzebne projektowi
Sprawdzam wersję edytora, potok renderowania, pakiety Unity, zasoby Asset Store, wtyczki natywne i zewnętrzne SDK. Przegląd obejmuje również narzędzia kompilacji, środowiska backendu, dostęp do podpisywania i kontrolę nad wymaganymi kontami.
Dla każdej krytycznej zależności ustal wersję, dostępność, zgodność i osobę odpowiedzialną. Wtyczka utrzymywana przez nieudokumentowane lokalne zmiany wymaga innego podejścia niż taka, którą można zainstalować bez zmian.
Przechowuj manifest pakietów i plik blokady razem z projektem. Plik blokady Unity zapisuje rozstrzygnięte zależności pakietów i powinien być wersjonowany, aby odtwarzać ten sam zestaw na różnych komputerach. Niedostępna usługa lub brakujące źródła mogą bardziej określać zakres przywrócenia niż wiek kodu C#.
Unity: rozstrzyganie zależności i pliki blokady03
Przetestuj wydajność na docelowych urządzeniach
„Na moim komputerze działa płynnie” nie potwierdza gotowości na urządzenia mobilne lub gogle. Wybieram reprezentatywny sprzęt i powtarzalne scenariusze: uruchomienie, intensywny moment rozgrywki, przejście sceny i dłuższą sesję, gdy ma zastosowanie.
Szukam obciążenia CPU lub GPU, wzrostu użycia pamięci, opóźnień ładowania i powtarzanych alokacji, a następnie łączę ustalenia z problemem widocznym dla gracza. Zapisuj urządzenie, wersję kompilacji, ustawienia i kroki, aby porównania były miarodajne.
Unity zaleca profilowanie na docelowej platformie. Editor Play Mode współdzieli zasoby z edytorem i nie odzwierciedla dokładnie wydajności urządzenia. Kompilacje deweloperskie obsługują połączenie z Unity Profiler. Profilowanie kieruje diagnozą; sprawdzam też proponowaną poprawkę w docelowej konfiguracji wydania, zanim uznam problem za rozwiązany.
Unity: profilowanie aplikacji04
Sprawdź zapisane postępy, zakupy i analitykę
Udane uruchomienie to tylko część zgodności. Dotychczasowi gracze mogą mieć zapisany postęp, odblokowaną zawartość, zakupy lub stan po stronie serwera.
Ustalam, gdzie znajdują się te dane, i testuję reprezentatywne stare zapisy względem proponowanych zmian. Sprawdzaj przerwane wczytywanie, brakujące dane i błędy migracji. Przed zmianą formatów lub identyfikatorów uzgodnij, co musi przetrwać, co może się zmienić i jak działa odzyskiwanie.
Następnie przejdź pełną ścieżkę progresji: zacznij, zdobądź lub odblokuj coś, zapisz, uruchom ponownie i kontynuuj. Zweryfikuj powiązane zdarzenia analityczne, w tym ich znaczenie i kontekst wersji. Jeśli historyczne śledzenie jest niewiarygodne, kolejne wydanie może ustalić bazę pomiarową; nie może automatycznie udowodnić poprawy retencji.
05
Sprawdź największą niewiadomą na małym, działającym przykładzie
Przed wyceną dużej zmiany kodu lub budowy od nowa uzgadniam mały test: pytanie, na które ma odpowiedzieć, limit prac i warunki uznania wyniku za udany.
Na przykład: czy jeden reprezentatywny poziom może wczytać istniejący zapis, zakończyć pętlę rozgrywki, wysłać oczekiwane zdarzenia i zmieścić się w uzgodnionym budżecie wydajności na docelowym telefonie?
Test powinien obejmować systemy, które najprawdopodobniej mogą uniemożliwić wydanie gry. Przebudowa odrębnego menu mówi niewiele o postępach gracza czy usługach platformy. Ustal limit prac z wyprzedzeniem i zapisz, co test potwierdził, co się nie udało i co nadal pozostaje niewiadomą.
06
Wybierz kolejny krok na podstawie ustaleń.
Rekomendacja powinna wyjaśniać, co wykazał przegląd, dlaczego ma to znaczenie i jakie prace wykonać dalej.
- Dokończ
Główna część gry działa, a pozostałe prace można jasno wymienić i oszacować.
Następny krok: Napraw problemy uniemożliwiające wydanie i przetestuj uzgodnione funkcje.
- Refaktoryzacja
Określone systemy regularnie powodują awarie lub utrudniają niezbędne zmiany.
Następny krok: Popraw jedną część kodu i sprawdź, czy powiązane funkcje nadal działają.
- Przebuduj
Istniejący kod nie pozwala rozsądnie obsłużyć wymaganych funkcji, nawet po rozważeniu praktycznych możliwości naprawy.
Następny krok: Przetestuj sposób zastąpienia kodu i zaplanuj przeniesienie istniejących danych graczy.
Niewielki płatny przegląd projektu może pomóc zdecydować, co robić dalej. Przed rozpoczęciem uzgadniamy pytanie, wymagany dostęp, limit prac i to, co otrzymasz. Dostajesz działającą wersję lub wyjaśnienie, co uniemożliwia jej przygotowanie, listę ustaleń według priorytetów i propozycję następnego kroku z jasno opisanymi założeniami.
Konkretny przykład powiązanej rozgrywki, zapisu i progresji znajdziesz w projekcie Polar Station Survival— gra z wieloma powiązanymi systemami, w której byłem jedynym programistą Unity.