W październiku 1997 r. dwóch pracowników Angel Studios umieściło na ścianie wiadomość: „1 września 1999 r. wydamy grę, którą ludzie pokochają. Będziemy wiedzieć, że im się podoba, ponieważ do 1 stycznia 2000 roku sprzeda się w dwóch milionach egzemplarzy”.
Wkrótce potem Capcom wybrał Angel Studios do przeniesienia Resident Evil 2 na Nintendo 64. Dyrektor projektu Chris Fodor i główny programista Jamie Briant otrzymali to zadanie i zaczęli przygotowywać podstawy i kompletować zespół. Chociaż obaj mieli wcześniejsze doświadczenia z Nintendo 64, ten ambitny i wymagający projekt szybko pokazał, że tak naprawdę nie wiedzieli, jak działa N64. Jasne, ma procesor i procesor geometrii, układ graficzny i wyjścia ogniowe tu, tu i tam, ale dokładnie na jakiej wysokości spadają maski tlenowe, czy też muszą być uruchamiane ręcznie przez pilota? W ciągu następnych kilku miesięcy system operacyjny został przebudowany, jednostki wektorowe (tak, N64 ma jednostkę wektorową) wyzwoliły się, a N64 oczarowała odkrywaniem swoich tajemnic.
Oryginał Resident Evil 2 dla Playstation obejmował dwie płyty CD. Musieliśmy to zmieścić na jednym naboju. Ale to tylko port, prawda? W naszych rękach mieliśmy klasyczną grę ze świetnym designem, wszystkimi grafikami, dostrojoną i działającą sztuczną inteligencją. Jednak uruchomienie go na N64 wymagało całkiem sprytnego programowania. Było to zadanie, które grupy dyskusyjne, strony internetowe z grami, a może nawet wydawca mieli wątpliwości, że było wykonalne.
Co poszło dobrze
1. Środowisko pracy i zespół
Biorąc pod uwagę, że miał to być projekt bardzo techniczny, niezwykle ważne było, abyśmy mieli silny i spójny zespół programistów. Projekt szybko nabrał tempa, gdy do zespołu dołączył Alex Ehrath, a wkrótce potem ja, w grudniu 1998 r. Alex wniósł bogate doświadczenie, poświęcenie i ciężką pracę. Świeżo po studiach powierzono mi zadanie nakręcenia pełnometrażowego filmu. (Szczegółowe informacje na temat tego, jak dokonano tego wyczynu, można znaleźć w moim artykule „Misja: Compressible — Osiągnięcie pełnoekranowego wideo na Nintendo 64” w nadchodzącym numerze magazynu z września 2000 r. Twórca gier.) Chris Fodor i Jamie Briant sprawowali coś w rodzaju wspólnego przywództwa. Czasami prowadziło to do „zbyt wielu kucharzy w kuchni”, ale najczęściej uzupełniali się oni i zapewniali skuteczne przywództwo przez cały czas trwania projektu. Ken Kamdar pojawił się pod koniec projektu, wnosząc poczucie spokoju i spokoju (a także swoje umiejętności programowania) we właściwym czasie. Na tym etapie reprezentowaliśmy Australię, Niemcy, Anglię, Iran i USA. Nie wybrałbyś tego, ale ta niezwykła mieszanka zapewniała poziom synergii rzadko spotykany w wielu zespołach programistycznych.
Zrzuty ekranu z Resident Evil 2 dla Nintendo 64 |
My, programiści, mieliśmy biurka ustawione w półkolu, zwrócone na zewnątrz, ale nie zaczęło się w ten sposób. Początkowo Chris miał własne biuro, a Alex i Jamie siedzieli dość daleko od siebie, wyznaczając własne terytorium. Jednak już po miesiącu realizacji projektu byliśmy znacznie opóźnieni w stosunku do harmonogramu. Musieliśmy być na bieżąco i komunikować się znacznie częściej.
Postanowiliśmy posiedzieć razem. Kiedy ja i później Ken przybyliśmy na miejsce, po prostu powiększyli półkole. O stanach mózgu i strefie napisano już wiele i jak wspomina Jamie: „Alex czasami przerywał mi, gdy miałem jaja w górze, żeby opowiedzieć mi jakiś naprawdę głupi dowcip, ale gwarantuję, że stracony czas był niczym w porównaniu z zyskasz na efektywności, mając wszystkich na miejscu”. Na początku projektu pojawia się wiele pytań i decyzji do podjęcia. Każdy mógł się przysłuchać, nawet jeśli początkowo nie brał udziału w dyskusji, a często ktoś się odwracał i oferował perłę mądrości lub nowe spojrzenie, które doprowadziło do lepszego rozwiązania. W połowie projektu nauczyliśmy się już lepiej nie przeszkadzać nikomu w głębokich myślach. Ostatecznie myślę, że zaoszczędziliśmy miesiące: „Rozbiło się” [zwrotnica]. [Odwraca głowę] „O tak, to jest błąd lizania – nie naciskaj przycisku B, kiedy to robi [zwrotnica] — i za dziesięć minut sprawdzę rozwiązanie.
Długie, ciężkie godziny zbudowały silne wzajemne zaufanie w grupie. Nie minęło dużo czasu, a wszyscy bez nadzoru zajęliśmy się własnymi zadaniami. Pozwoliło to na elastyczne godziny pracy bez zagrażania wydajności pracy.
2. Osiągnięcie pierwszego kamienia milowego
Jeśli Twoja firma nie wydaje własnych tytułów, oznacza to, że u wydawcy masz zewnętrznego producenta. Kiedy producenci idą na piwo, rozmawiają o tym, jak spóźnieni są ich programiści i narzekają, jak ustawić ich w kolejce. Wielu producentów uważa, że programiści nie mają pojęcia o terminach marketingowych, budżetach i wszystkich innych rzeczach, o których tak naprawdę nie mamy pojęcia. Mówimy innym językiem. Ale jeśli osiągniesz pierwszy kamień milowy, jesteś inny.
Po pierwsze, twój producent ma inną historię do opowiedzenia swojemu szefowi i współpracownikom. Po drugie, stworzyłeś podstawę do komunikacji — pokazałeś, że rozumiesz, co oznacza słowo „termin”. Po zapoznaniu się z pierwszym słowem w słowniku producenta przekonasz się, że jest on wtedy otwarty na dyskusję nad bardziej skomplikowanymi pomysłami, nawet będąc elastycznym w kwestii przyszłych terminów. Wreszcie masz wiarygodność u producenta i wydawcy. Jeśli beztrosko przegapisz swój pierwszy kamień milowy, Twój producent na stałe umieści Cię w koszu na „opiekę nad dzieckiem/rozmowę o dziecku”.
3. Brak przywiązania religijnego
Nigdy nie jest dobrze przywiązywać się zbytnio do czegoś, co zrobiłeś, niezależnie od tego, czy jest to proces biznesowy, algorytm, czy po prostu implementacja. Jeśli coś nie działa, nie rób tego. Jeśli coś zadziałało, ale już nie działa, porzuć to i znajdź coś nowego.
Zastosowaliśmy tę zasadę w naszej komunikacji grupowej. Zaczęliśmy od korzystania z Microsoft Team Manager 97. Nie trwało to nawet miesiąca. Następnie przesunęliśmy nasze biurka w półkole, tak aby wszyscy byli blisko siebie i znajdowali się w tym samym pokoju. To zadziałało bardzo dobrze i tego się trzymaliśmy.
Następnie Jamie postanowił zobaczyć, co by się stało, gdyby wszyscy byli zmuszeni używać tego samego edytora i tych samych opcji klawiatury. W rezultacie nauczysz się nowego edytora w ciągu jednego dnia, będziesz biegle posługiwał się nim w ciągu tygodnia, a każdy będzie mógł usiąść przy Twojej maszynie i używać go tak, jakby był to jego własny.
Korzystaliśmy z systemu zadań Outlooka. Pozornie prosta lista zadań programu Outlook może korzystać z poczty e-mail, aby synchronizować zadania wszystkich osób. Działało to bardzo dobrze przez kilka miesięcy, ale po pewnym czasie używaliśmy go rzadziej. Stało się tak, ponieważ na końcu projektu istniała po prostu cała lista bardzo dobrze znanych rzeczy, które należało zrobić. Spróbowaliśmy bardzo wizualnej prezentacji, robiąc kartki papieru dla każdego zadania i przypinając je na ścianie pod imionami wszystkich osób. I tam pozostały, praktycznie nietknięte, aż do dnia, w którym opublikowaliśmy grę. Zastąpiono je arkuszami kalkulacyjnymi Excel.
Jeśli chodzi o programowanie, takie podejście zdziałało cuda w rozwoju naszego systemu FMV. Nieustające próbowanie wszystkiego, często wielokrotnie (poprawa jakości lub szybkości sprawiła, że odrzucone wcześniej podejście znów stało się wykonalne), przyniosło świetny wynik i nowość w branży — wysokiej jakości wideo na konsoli opartej na kartridżach.
Dowiedzieliśmy się także, jaką wartość ma pisanie kodu pod kątem danego zadania, a nie tego, jakie zadanie może być w przyszłości. Mam nadzieję, że większość programistów uzna to za oczywiste, ale wielu z nas (w tym kiedyś ja) zagubiło się w krainie C++. C++ ma wiele zalet, ale wiele z nich po prostu nie jest opłacalnych ze względu na wydajność i rozmiar na starzejącej się konsoli. Pisząc kod obiektowy bardzo łatwo wpaść w pułapkę próby zaprojektowania nawet rozsądnego systemu. Nie przejmuj się. Przygotuj się na przepisanie wszystkiego. Być może uda Ci się przepisać jakąś sekcję kodu trzy razy szybciej, niż zajęłoby to zaprojektowanie doskonałej hierarchii klas. Najważniejsze jest to, że nie powinieneś przywiązywać się do tego, co masz. Bądź przygotowany, aby to wyrzucić i spróbować czegoś innego.
4. Korzystanie ze szczegółowego harmonogramu i planu
Od samego początku RE2 miał jasny i szczegółowy plan dokładnie tego, co będzie wymagane, z podziałem na bardzo drobne szczegóły. Dzięki tym informacjom nasz zdolny producent, Stewart Spilkin, był w stanie dokładnie zaplanować zadania projektu i alokację zasobów (Stewart odegrał kluczową rolę w radzeniu sobie z trudnościami zewnętrznymi, co pozwoliło nam skoncentrować się na rozwoju, zawsze przybliżając projekt do ukończenia). Nie mogę przecenić znaczenia szczegółowego planu. Zmusza do sprawdzenia i często odkrycia, co tak naprawdę należy zrobić, i pozwala to zaplanować. Nie możesz mieć zbyt wielu szczegółów. Z pewnością był to ambitny harmonogram, ale możliwy do osiągnięcia, co czyniło go zarówno trudnym, jak i satysfakcjonującym.
Nadaliśmy priorytet funkcjom. Gdy zbliżał się ostateczny termin, bezlitośnie pracowaliśmy wyłącznie nad istotnymi, strategicznymi funkcjami. Czasami pojawiały się spory dotyczące tego, które funkcje są, a które nie, ale takie podejście zapewniało, że trzymaliśmy się planu i doprowadziliśmy projekt do końca. Chcieliśmy, żeby nasza gra była idealna, ale musiało się udać. Zrób wszystko, co konieczne, aby pozbyć się problemu, a następnie dokonaj wszystkich poprawek, na które masz czas.
Z prośbami wydawcy dotyczącymi dodania nowych funkcji, szczególnie pod koniec projektu, poradziliśmy sobie bez problemu. Zamiast wewnętrznego ataku „pełzania funkcji”, nadeszło to z zewnątrz. Za każdym razem, gdy proponowano nową funkcję, sprawdzaliśmy, ile potrzeba, aby ją wdrożyć, i przedstawialiśmy uczciwy rachunek tego, ile zasobów będzie wymagało jej wdrożenie. Przykładowo oszacowaliśmy, że przy dodatkowym programiście na pełen etat na pewno uda nam się zrealizować zadanie A, prawdopodobnie zadanie B (80 proc.) i być może zadanie C (20 proc.). Klient miał wówczas wszystkie informacje potrzebne do dokonania wyboru i w większości przypadków wybierał „nie”.
Radzenie sobie z tą dodatkową presją może być stresujące i za każdym razem odciągać Cię od pracy. Możesz jednak zapisać harmonogram i budżet swojego projektu, racjonalnie analizując, co należy zrobić i czego będzie wymagać wdrożenie tej nowej funkcji.
5. Maksymalizacja ponownego użycia
Biorąc pod uwagę ogromną liczbę zasobów udostępnianych przez wersję PSX, o wiele rozsądniej było analizować każdy typ danych (sprite 2D, dane o kolizjach itd.) i wdrażać potok, który następnie przekształcałby zasoby specyficzne dla PSX w coś, co moglibyśmy można czytać i używać na N64. Ponieważ był to port, mogliśmy być pewni, że otrzymalibyśmy wszystkie potrzebne elementy, gdybyśmy po prostu przekształcili je w całości wsadowo, zamiast ręcznie poprawiać każdy z osobna i zaoszczędzić ogromne ilości pieniędzy czasu w ten sposób. Napisanie kodu konwertującego wszystkie duszki 2D do potrzebnego nam formatu zajęło kilka dni, ale ręczne poprawianie tysięcy duszków zajęłoby artyście bardzo dużo czasu.
Kiedy tylko było to możliwe, emulowaliśmy procedury i funkcje sprzętowe specyficzne dla PSX, aby osiągnąć podobne wyniki na N64, maksymalizując ponowne wykorzystanie istniejącego kodu źródłowego.
Źródło: https://www.gamasutra.com/view/feature/131556/postmortem_angel_studios_.php?page=1
- "
- Konto
- Dodatkowy
- AI
- alex
- algorytm
- Wszystkie kategorie
- wśród
- argumenty
- na około
- Sztuka
- artykuł
- artysta
- Aktywa
- Australia
- Niemowlę
- piwo
- deska
- Bug
- biznes
- który
- naładowany
- kontrola
- żeton
- bliższy
- kod
- Studentki
- Komunikacja
- Komunikacja
- sukcesy firma
- koncentrować się
- dane
- dzień
- czynienia
- Wnętrze
- Biurka
- detal
- Deweloper
- deweloperzy
- oprogramowania
- ZROBIŁ
- Dyrektor
- Nie przegap
- Spadek
- redaktor
- Efektywne
- efektywność
- pracowników
- Anglia
- Środowisko
- przewyższać
- okładzina
- Cecha
- Korzyści
- W końcu
- w porządku
- natura
- i terminów, a
- Fix
- format
- świeży
- przyszłość
- gra
- gier
- geometria
- Niemcy
- dobry
- wspaniały
- Zarządzanie
- sprzęt komputerowy
- głowa
- tutaj
- W jaki sposób
- How To
- HTTPS
- pomysł
- Włącznie z
- przemysł
- Informacja
- Iran
- IT
- język
- prowadzić
- Przywództwo
- UCZYĆ SIĘ
- dowiedziałem
- Doprowadziło
- poziom
- Linia
- Lista
- długo
- miłość
- Dokonywanie
- Marketing
- Maski
- Microsoft
- milion
- Misja
- miesięcy
- Nowa cecha
- Nowe funkcje
- Nintendo
- oferta
- koncepcja
- Inne
- Outlook
- Tlen
- Papier
- Ludzie
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- pilot
- playstation
- naciśnij
- producent
- Producenci
- Programowanie
- projekt
- publikować
- jakość
- RE
- Przyczyny
- Zasób
- Zasoby
- Efekt
- bieganie
- rozsądek
- spokój
- shared
- Prosty
- Witryny
- Rozmiar
- umiejętności
- So
- sprzedany
- prędkość
- STAGE
- Staking
- rozpoczęty
- Zjednoczone
- Strategiczny
- system
- Techniczny
- Przyszłość
- czas
- Top
- Kontakt
- Zaufaj
- nas
- us
- wartość
- Wideo
- Bogactwo
- sieć
- tydzień
- Praca
- pisanie