View
621
Download
1
Category
Preview:
DESCRIPTION
Slajdy z wykładu na konferencji WGK 2013
Citation preview
czyli jak dokumentować swoją pracę, aby po 20 latach móc napisać o tym książkę
Ocalić od zapomnienia
Maciej Miąsik, WGK 2013
Projekty pomniejsze: 2013: Big 2 Bonanza 2011: Call of Juarez: The Cartel 2010: Jodie Drake and the
World in Peril 2011: Wiedźmin 2: Zabójcy
Królów 2008: Wiedźmin (Edycja
Rozszerzona) 2007: Overclocked: A History
of Violence 1997: Wyspa 7 Skarbów 1997: Katharsis 1996: A.D. 2044
Projekty główne: 2012: Neuroshima Apocalypse 2007: Wiedźmin 2004: Sentinel: Descendants in
Time 2003: Mysterious Journey II:
Chameleon 2003: Codename: Nina 2001: Schizm: Mysterious
Journey 1998: Reah: Face the Unknown 1996: Fire Fight 1994: Heartlight PC 1994: Robbo 1992: Electro Body (aka Electro
Man)
O mnie
O prawdę, bo prawda jest najciekawsza, czyli kwestie historyczne, czyli jak to tam było.
O sentymenty, czyli powroty do gier młodości.
O nowe możliwości, czyli nowe edycje, remake’i oraz nowe platformy.
O dobre pomysły, które zawsze można wykorzystać ponownie.
O co chodzi?
Kwestie historyczne
Czasem ktoś naprawdę chce napisać książkę/artykuł o naszych grach.
Zostaniemy zaproszeni na wspominkową konferencję.
Chcemy powspominać stare czasy.Uczymy innych na naszych błędach.Chcemy przypomnieć sobie dawnych kolegów i zapomniane projekty.
Dlaczego kogoś to obchodzi?
Poczta elektroniczna jest łatwa w archiwizacji.
Archwizujemy i backupujemy.Dbajmy o ponadczasowe formaty
(np. mbox).Nie kasujemy poczty, poza spamem.
Poczta skarbnicą wiedzy
From: "Tim Sweeney" <TIM@epicgames.com>To: mail@xland.krakow.plDate: Wed, 29 Mar 1995 02:56:49 ESTSubject: Excessively Excellent!
Hi, Mark just sent me Excessive Speed a few minutes ago. This game is *EXCELLENT*. Very impressive work, guys! This is going to be the best-looking driving game on the PC -- it looks *much* better than anything else I've seen.
This game is going to be a big hit!
We'll start playing through it and writing down suggestions. This game needs a lot of fine-tuning, but it's not really very far away from completion.
Thanks! Keep up the great work!
-Tim
---------------------------------------------------------------------Tim Sweeney (tim@epicgames.com), Epic MegaGames, Inc. FTP:ftp.uml.edu
Poczta
Archiwizujemy co się da:Dokumenty designerskie.Dokumenty marketingowe.Dokumenty biznesowe, koniecznie
umowy!Dokumenty menedżerskie – plany,
harmonogramy.Dokumentacja fotograficzna. Inne: notatki, notatniki, koncepty, serwetki.
Dokumentacja projektowa
Dokumentacja projektowa
Działające wersje gry przy ważnych milestone’ach.
Regularne snapshoty – gry jako całości, oraz działań poszczególnych ludzi.
Filmiki z prototypów oraz postępów rozgrywki.
RSS czy inny zapis historii prac z programów wspierających zarządzanie (jeśli to możliwe).
Dokumentacja postępów
Zdjęcia i filmiki:Z pracy w biurze i poza nim.Z integracji i zabawy.Z premier i innych powiązanych wydarzeń.
Wspomnienie socjalne
Sentymentalne granie
Gramy, by powróciły wspomnienia.Ktoś inny poprosi o możliwość
zagrania w naszą „vintage” grę.Będziemy chcieli pochwalić się przed znajomymi lub rodziną (szczególnie dziećmi).
Będziemy chcieli użyć własnej gry jako przykładu w edukacji/prezentacji.
Dlaczego
Działające wersje (buildy) gry, wolne od zależności i dziwnych systemów, np. DRM.
Emulatory czy wirtualne maszyny.Czasem oryginalny hardware.Będą problemy:
Kłopoty z emulacją i wirtualizacją – konfiguracja, brak akceleracji.
Nie zawsze łatwo stworzyć build bez zależności, szczególnie w przypadku gier online.
Klucze i certyfikaty.
Co będzie potrzebne
Nowe możliwości
Nowe platformy ożywiają stare schematy rozgrywki.
Czasem drobny facelifting to wszystko, czego trzeba – bo reszta daje radę.
Częściej jednak musimy dokonać większych zmian – remake, ale zachowując sedno starej gry.
Mamy też okazję „uwolnić” grę spod reżimu praw autorskich – prawdziwe abandoware.
Dlaczego
Kody źródłowe oraz biblioteki zależne.Środowisko programistyczne –
edytory, kompilatory, skrypty buildujące.
Dane gry (assets), najlepiej także w wersjach źródłowych
Często także emulacja lub wirtualna maszyna ze starym systemem operacyjnym.
Co będzie potrzebne
Pomysły
Odrzucone prototypy z jednej gry mogą przydać się w innej.
Oszczędzajmy sobie ponownego prototypowania.
Mechanizmy rozgrywki można recyklingować.
Historie raz opowiedziane można opowiedzieć ponownie.
Stare gry i prototypy źródłem cennej wiedzy oraz pomysłów
Trzymajmy odrzucone prototypy, najlepiej w działającej formie, bez zależności.
Jeśli powyższe nie jest możliwe, przynajmniej zgrywajmy z prototypów filmiki.
Trzymajmy prototypy
Archiwizować trzeba umieć!
Sprawy techniczne
Dobre systemy nazewnictwa.Eleganckie źródła, trochę komentarzy.Dobra struktura plików i bibliotek.Zależności archiwizowane ze źródłami.Skrypty buildujące (automatyzacja).Źródła assetów, najlepiej w osobnym
eleganckim repozytorium.Regularnie archiwizowane działające buildy.
Porządek!
Trzymamy pełne historie – kto wie, co może się przydać.
Systemy się zmieniają – migrujmy repozytoria na nowe wersje.
Archiwizujmy całe serwery z oprogramowaniem i danymi – fizycznie lub wirtualnie.
Systemy kontroli wersji
Archiwizacja kompilatorów.Archiwizacja innych narzędzi.Archiwizacja kompletnych środowisk w
obrazach maszyn wirtualnych.
Środowiska developerskie
Backup, backup i jeszcze raz backup!On site.Off site.Cloud.
Backupy trzeba weryfikować – testy odzyskiwania, testy buildowania.
Rozmnażajmy backupy i archiwa, szczególnie przy rozstaniach.
Nośniki nie są wieczne! Odświeżanie.
Redundancja przyjacielem
IANAL!
Kwestie prawne
Najlepiej zachować je dla siebie.Trzeba wiedzieć, kto po dekadzie je
posiada (jeśli nie my).Jeśli prawa przysługują grupie, po
rozpadzie warto kogoś umocować do łatwiejszego dysponowania.
Unikajmy blokady przez jednostki.Przenosimy prawa majątkowe, ale
dzieła mogą zostać u nas (sprawdzić umowę).
Prawa autorskie
To umowa zachowania poufności, a nie umowa wymazania pamięci.
Zadbajmy, aby umowa NDA kiedyś wygasała (5, 10 lat).
NDA
Firmy upadają i w raz z nimi giną nasze dzieła (Sprawdzić, czy to nie Beretta istniejąca od 1526).
Zadbajmy o własne kopie, nawet jeśli to nie będzie w100% zgodne papierami.
Korporacje też umierają
Podsumowanie
Trzeba proces dokumentowania prac i archiwizacji efektów uwzględniać w harmonogramach, bo zajmuje to czas.
Koniec projektu/produkcji powinien obowiązkowo kończyć się porządną archiwizacją z myślą o odległej przyszłości.
Dbajmy, aby archiwa mogły przetrwać.
Nie oszczędzajmy na przestrzeni dyskowej, nieustannie przecież tanieje.
Nie archiwizujesz – żałujesz
DesigneromProducentomArtystomKoderomWłaścicielom praw autorskich
To opłaca się każdemu
Dobre archiwa to kopalnia wiedzy designerskiej, produkcyjnej, edukacyjnej i historycznej.
Niech ta wiedza nie ginie bezpowrotnie.
Nie możemy polegać na innych w kwestii archiwizacji naszych dzieł – to
nasz obowiązek.
Przykłady
Praktycznie abandonware. Wciąż grane i wspominane.W 2006 roku zaproponowałem
„uwolnienie” gier na licencji CC-BY-SA.Miałem źródła, dane i biblioteki zależne.Znalazłem kompilator Borland C++ 3.1.Przekompilowałem w emulatorze
DOSBox zmieniając stosownie notę copyright.
Puściłem w świat.
Epic Puzzle Pack
Aktywiści projektu ScummVM wyrazili chęć sportowania gry na ten system i wiele platform go wspierających.
Nie było problemu ze zgodą właściciela praw autorskich.
Nie mam źródeł. Być może ma je jedyny programista, ale nie zgodził się ich udostępnić.
Nie udało się ocalić projektu od zapomnienia.
Reah
Niedoceniona, bo dobra, pierwsza polska gra dla Electronic Arts.
Jest kompletny backup, danych i źródeł.Nie udało mi się uruchomić samej gry –
konieczna wirtualizacja Windows 95.Nie wiadomo, kto właściwie ma do gry
prawa autorskie – Epic nie ma umowy w archiwach elektronicznych, EA ma to w nosie, ja nie zatrzymałem kopii umowy.
„Modernizacja” tkwi w zawieszeniu.
Fire Fight
Taka zabawa – wierny port gry Electro Man w Pythonie, open source.
Wprawka programistyczna po godzinach.
Koszmarny kod źródłowy – brak praktycznie komentarzy, sprytne makra, choć jest bardzo bazowa dokumentacja.
Próba analizy kodu to prawdziwa męka – nie starczyło mi cierpliwości.
PyElectroMan
Ukończona – pełna beta – ale nie wydana gra platformowa.
Doskonały przykład edukacyjny.Nietypowe narzędzie (3D Game Studio).Nie uruchamia się poprawnie we
współczesnych systemach.Wirtualizacje bez akceleracji nie dają
rady.Nie wszystko stracone.
Mag
Społecznościowa gra online.Aplikacja rozproszona – serwer i klient.Serwer – Java, Frontend – Flash, Core –
Unity 3D.Zależna od Facebook API.Różne repozytoria, różne środowiska.Nie mamy koncepcji na archiwizację,
szczególnie z uwzględnieniem przyszłego upadku FB.
Neuroshima Apocalypse
Recommended