Kulisy powstawania gry FIFA Manager 10

Kulisy

KulisyWiele osób zaczynając grać w grę nie zdaje sobie sprawy ile trudu i czasu kosztuje jej przygotowanie. W poniższym artykule chciałbym przedstawić wam kulisy powstawania FIFA Manager 10, od etapu przygotowania do wydania finalnej wersji. Myślę, że dla każdej osoby grającej w serię, jak również nie mających styczności z tą grą, będzie to ciekawy artykuł.

Jest najważniejszym etapem przed rozpoczęciem produkcji gry i trwa od listopada do grudnia. Wszystko to, co zobaczycie w finalnej wersji rozpoczyna się od przygotowania dokumentacji zwanej „design documents”. Znajdziemy w nim podział na tzw. kamienie milowe czyli podział pracy na kilka etapów. Ich ilość oraz przewidziany czas realizacji zależy od producentów (w wersji 10 było ich łącznie 4, a czas realizacji każdego z nich trwał około 6 tygodni). W FIFA Manager nad tym dokumentem pracują 2 osoby ze studia Bright Future (Gerald oraz Adrian). W dokumentacji zawarte są m.in. informacje na temat planowych innowacji, które mają być dodane do gry. Każdy z nowych elementów trzeba dokładnie opisać i ustalić czas jaki potrzebny jest na jego realizację. Wszystkie te elementy są konsultowane w między czasie z programistami, projektantami oraz QA (Quality Assurance – zapewnienie jakości) w celu ustalenia jak najlepszego rozwoju danej opcji. Dobrym przykładem obrazującym etap wstępnej produkcji jest tworzenie trybu online do wersji FIFA Manager.

Jedna z pięciu koncepcji wyglądu menu do trybu online
Zanim przystąpiono do kreowania tej części gry, odbyły się liczne konsultacje wewnątrz studia mające określić charakter rozgrywki. Decyzja o uproszczenie modelu gry online względem wersji offline podyktowana była długością przetwarzania i przekazywania danych między użytkownikami. W związku z tym należało również uprościć wygląd interfejsu do czterech kategorii, pod którymi miały być zawarte najważniejsze opcje menedżerskie. Tutaj dochodzimy do kolejnego ważnego punktu przy tworzeniu gry, chodzi mi o concept art czyli ilustracje graficzną, w tym wypadku interfejsu. Zanim osiągnięto finalny wygląd 96 ekranów jaki ujrzeliście w grze, powstało pięć innych koncepcji budowy samego menu. Jak to wyglądało możecie zobaczyć klikając na zdjęcie umieszczone po prawej stronie.

 

Sam design menu to nie wszystko, trzeba również opracować projekty pozostałych ekranów w grze. W celu wyrównania szans dla każdego użytkownika, model rozgrywki podzielono na etapy: główne menu, tygodniowy postęp, rynek transferowy oraz dzień meczowy. Tak więc user, który szybko zakończył swoje działania w menu nie znajdzie się bez obecności swego rywala na rynku transferowym. Aby urozmaicić rozgrywkę do gry dodano również takie elementy jak bonus race oraz menedżer miesiąca. Sama opcja bonus race jest nie jako koniecznością, którą musieli wprowadzić autorzy, ponieważ gry nie da się kontynuować jeśli każdy z użytkowników nie jest gotów. W związku z tym wprowadzono limit czasowy oraz bonusowe punkty za szybkie zakończenie rundy, co przy osiągnięciu danego poziomu skutkuje dodatkowym funduszem budżetowym.

 

Ciekawostki: Baza danych

FIFAM 08 Grywalnych krajów: 49, z tego 35 z oryginalnymi danymi , Lig: 135, Klubów: 3,257, Zawodników: 24,267 (stan na dzień wydania)

FIFAM 09 Grywalnych krajów: 56, z tego 41 z oryginalnymi danymi, Lig: 151, Klubów: 3,524, Zawodników: 28,564 (stan na dzień wydania)

FIFAM 10 Grywalnych krajów: 61, z tego 48 z oryginalnymi danymi, Lig: 168, Klubów: 3957, Zawodników: 37,398 (stan na dzień wydania) Jednak poważniejszą decyzją było ustalenie poziomu zawodników. O ile od początku w serii FIFA Manager towarzyszy nam system poziomów od 0 do 99, tak w przypadku trybu online by się on nie sprawdził. Wstępne koncepcje zakładały system od 1 do 10, lecz w tym przypadku większość poziomów zawodników kształtowa się na podobnym poziomie (w zależności od kraju). Powodowało to problem w założeniach treningowych, chodzi tu głównie o zbyt szybki rozwój zawodnika do maksymalnego poziomu. Dlatego też projektanci poszli na kompromis i postanowili wprowadzić system 1-20. Do tego na podstawie pewnych wartości z oryginalnej bazy danych dodano 11 specjalnych umiejętności w celu podkreślenia odmienności zawodników (w podstawowej wersji gry jest ich 43). Rynek transferowy był kolejnym elementem, w którym twórcy musieli podjąć poważne decyzje. Główne założenia polegały na szybkiej możliwości przeprowadzenia transferów jak również interakcji z innymi graczami. Na podstawie powyższych kryteriów powstał tryb aukcji z limitem czasowym, podczas którego musisz podjąć odpowiednie decyzje odnośnie zakupu. Ostatecznym elementem do omówienia była kwestia przedstawienia dnia meczowego w trybie online. Z powodów technicznych (dużej ilości obliczeń) z góry założono, że w grę wchodzi tylko tryb tekstowy z wersji 09. Tak oto powstał wstępny design document przedstawiający główne założenia trybu online. Oczywiście tryb offline jest również w nim ujęty. Głównymi elementami dotyczącymi tej podstawowej wersji gry był nowy układ graficzny oraz wprowadzenie rozdzielczości HD. Gdy tylko główne założenia są ustalone, zespół przystępuje do następnego cyklu zwanego…

 

Produkcja

Programista z zespołu FIFA podczas pracy nad analizą zachowania zawodnika podczas wykonywania rzutu wolnego.
Etap ten charakteryzuje się realizacją kryteriów zawartych w design documents, który cały czas jest tworzony (łączny czas to około 4 miesiące). Produkcja zaczyna się w styczniu i trwa do połowy lipca. W tym czasie główny programista zleca swojemu zespołowi realizację konkretnych celów. Po ustaleniach następuje transformacja opisanej opcji do odpowiedniego kodu źródłowego lub skryptu. Wszystko to tworzone jest na wewnętrznych narzędziach studia. Jakie jest to oprogramowanie i z jakich konkretnych języków się składa jest tajemnicą. W związku z tym nie mogę opisać procesu samego tworzenia kodu gry.  Jak wygląda dalszy etap produkcji nie jest tajemnicą, dlatego postaram się go wam właśnie przybliżyć. Gdy tylko dany skrypt, bądź też kod źródłowy zostanie opracowany. Przeprowadzane są na nim testy w celu wyszukania jak najbardziej oczywistych błędów. Wszystkie nieścisłości w działaniu funkcji są zgłaszane z powrotem do programistów przez dział QA.  Kiedy błędy zostaną wyeliminowane, taką opcje można dodać do bulidu gry. Mianem bulidu określa się proces kompilacji plików z kodem źródłowym na kod wykonywalny. Najprościej tłumacząc, to co napisze programista jest bezużyteczne, ponieważ komputer działający w systemie binarnym (0, 1) nie jest w stanie nic zrozumieć. Dlatego do zmiany kodu napisanego w języku programowania (człowiek) na kod maszynowy (komputer) służy kompilator. Za działanie wszystkich części kodów odpowiedzialny jest silnik gry, który zajmuje się interakcją elementów gry. Każda nowa wersja bulidu to kolejny etap rozwoju gry, który jest testowany wewnątrz studia. Oczywiście na produkcję składa się kilka innych elementów jak zbieranie danych oraz grafika, czas przybliżyć kolejny element decydujący o finalnym wyglądzie gry…

 

Grafika

W dzisiejszych czasach jest ona jednym z podstawowych, jak nie głównym elementem decydującym o zakupie. Gry których wygląd jest monotonny, nie odnoszą takich sukcesów jak produkcje stawiające na ogólnie pojętą jakość. Tak również jest z serią FIFA Manager, która stara się wraz z kolejną edycją zadowolić samym gameplayem jak również grafiką. Podczas tworzenia każdej produkcji interfejs jest jedną z ważniejszych rzeczy, zbyt skomplikowany odrzuci graczy natomiast intuicyjny sam zachęci do gry. Starając się zachować układ znany nam od kilku wersji, a jednocześnie dodać nowe elementy do interfejsu autorzy zastosowali w wersji 10 koncepcję biurka, która już przy tworzeniu dawała dwie korzyści. Pierwszą z nich było danie doświadczonym użytkownikom możliwość organizacji informacji na ekranie, dzięki 20 widżetom.

Jedna z pięciu koncepcji wyglądu menu start do trybu offline
Drugą jest dowolna zmiana wyglądu swojego wirtualnego miejsca pracy za pomocą małych obiektów jak np. szalik w barwach klubowych czy też filiżanka kawy. Prace koncepcyjne dotyczące wyglądu, trwają przeważnie od 4 do 8 tygodni, a wraz z nimi zaczyna się przekształcanie 885 ekranów gry (z statystykami jest ich ponad 1000) pod nowy design. Podobnie jak miało to miejsce w trybie online, również tutaj powstaje kilka propozycji, z których wybiera się jedną. Inne koncepcje menu startowego brane pod uwagę podczas prac, możecie zobaczyć na ilustracji obok. Budowa każdego z  ekranów gry sprowadza się do rozmieszczenia odpowiednich opcji na danym oknie. Za pomocą współrzędnych x i y  ustala się pozycje grafiki, ikon oraz tekstu na tle o wymiarach 1024×768 (z wyłączeniem elementów menu start). Razem z tym tworzone są „aktywne strefy” czyli miejsca, które po kliknięciu lub najechaniu spowodują wykonanie danej akcji np. włączenie automatycznej zmiany składu. Czas teraz przyjrzeć się najbardziej rozbudowanemu elementowi graficznemu w grze czyli trybowi 3D.

 

 

Zaczniemy od omówienia najważniejszej kwestii, która jest nierozwiązalnie powiązana z grafiką 3D czyli silnik graficzny. To właśnie ta część kodu aplikacji odpowiedzialna jest za tworzenie grafiki 3D na ekranie komputera. W FIFA Manager 10 do renderowania czyli prezentacji wyjściowego wyglądu trybu po dodaniu min. odbić, cieni oraz załamań światła, odpowiada w większości silnik FIFA 10. Do każdego silnika opracowywane są przez studio narzędzia (w tym wypadku EA), z których korzystają graficy przy tworzeniu postaci, twarzy itp.  bez ingerencji w sam kod silnika.

Na pierwszym zdjęciu widzimy zasadę obrazująca technikę motion capture. Na dalszych zdjęciach możemy zobaczyć prace w studio EA w Vancouver.
Studio Bright Future korzysta w większości przypadków z elementów już stworzonych do gry FIFA, jednak warto przybliżyć każdemu z was ten proces. Wszystko zaczyna się od zbudowania trójwymiarowego modelu reprezentującego postać ludzką. Model taki składa się z różnych figur geometrycznych przeważnie są to trójkąty, każdy z wierzchołków tworzących go to tak tzw. face czyli widoczna powierzchnia na którą nakłada się teksturę. W przypadku bardzo rozbudowanych modeli liczba elementów, z których się składa może wynosić ponad tysiąc.

Aby każdy ruch jak wślizg czy też podanie wyglądało jak najbardziej realnie, wykorzystuje się technikę zwaną motion capture. Wszystko zaczyna się od ubrania prawdziwego zawodnika w czarny strój, na którym umieszczone są w specjalnych miejscach tzw. markery. Te czujniki to dla rozmieszczonych w całym studiu kamer, dane odnośnie dokładnego ruchu postaci. Obraz wykonywanych czynności jest automatycznie generowany na ekranie w postaci modelu, który widzi zawodnik. Nad przebiegiem całej sesji czuwa sztab techników oraz reżyser, który decyduje jakie sytuacje ma wykonać piłkarz.

Aby jeszcze bardziej urealistycznić w grze zachowanie podobnie jak ma to miejsce przy technice motion capture stosuje się tzw. performance capture polegające na odzwierciedleniu mimiki twarzy. W tym wypadku stosuje się o wiele mniejsze markery i umieszcza się je w konkretnych miejscach np. w koło ust lub na rzęsach. Dzięki temu w przerywnikach możemy zobaczyć jak w realny sposób zawodnik reaguje po zdobyciu bramki lub też wyraża swoje niezadowolenie po otrzymanej kartce. W dziedzinie grafiki wykorzystuje się również technikę laserowego skanu całej twarzy z częścią tułowia na podstawie, którego powstaje tzw. siatka. Jest ona odzwierciedleniem ukształtowania twarzy danego zawodnika i stosowana jest w przypadku znanych zawodników jak Kaka czy też Ronaldinho. Kiedy taki model jest gotowy nakłada się na niego takie tekstury jak oczy, kolor skóry, włosy oraz inne indywidualne cechy. Każdej z tekstur ustawia się odpowiednie parametry jak np. odbicie światła.Proces ten najlepiej obrazuje ilustracja umieszczona powyżej z FIFA 10 przedstawiająca Rooneya przed etapem nałożenia tekstury. W celu zachowania płynności gry podczas samej rozgrywki wykorzystywane są tekstury o mniejszej jakości niż ma to miejsce w tzw. cut scenkach. Oczywiście opisałem same modele, a na grę składają się jeszcze inne elementy jak puchary, stadiony, otoczenia stadionowe, itd. Również to tworzy się w programie graficznym, w którym łączy się poszczególne zbiory punktów w przestrzeni 3D, za pomocą różnych form geometrycznych jak trójkąty, linie, zakrzywione powierzchnie, itp.

Jako że bryła stadionu w zależności od skomplikowania jest dość trudna do zrobienia jako całość. Cały model dzieli się na tzw. warstwy, które w połączeniu dają kompletną bryłę jaką możecie zobaczyć na zdjęciu obok. Gdy „konstrukcja” taka jest gotowa w odpowiedniej skali oczywiście, w innym wypadku mógłby wystąpić problem po dodaniu tekstury murawy, której część mogła by się znaleźć pod trybunami. Następnym etapem jest dodawanie tekstur oraz ustalania dodatkowych miejsc na „zmienną” zawartość.  Chodzi mi tutaj o elementy,  które sami możemy dodać jak flagi. Podczas ładowania trybu 3D silnik graficzny sprawdza czy we wskazanej lokalizacji ustalonej przez programistów nie ma np. plików o identyfikatorze,  którego aktualnie potrzebuje. Gdy tylko taki element jest dostępny, wczytuje go i rozmieszcza w miejscach ustalonych przez grafików. W innym wypadku wczytywana jest domyślna tekstura. Ciągła współpraca między studiem Bright Future a EA Canada oraz innymi oddziałami  producenta na świecie gwarantuje nam jak największą jakość grafiki 2D i 3D w grze. Czas przyjrzeć się kolejnemu etapowi,  bez którego cała otoczka graficzna była by niczym…

 

Dane

Zaczniemy od najważniejszej kwestii w grze menedżerskiej czyli bazie danych. Każde loga klubowe, nazwiska zawodników, puchary itp. są objęte licencją FIFA lub poszczególnych właścicieli danej ligi. Bez niej nie można w żaden sposób wykorzystywać materiałów w grze. Za nabywanie licencji jest odpowiedzialny producent gry czyli EA.Ciekawostki: Tryb tekstowy

Plik lokalizacyjny trybu tekstowego zawiera łącznie:

5,277 różnych linii tekstu (oryginalnie)
5,300 różnych linii tekstu po Update 1
5,400 różnych linii tekstu po Update 2
Łącznie daje to ponad 250,000 różnych warunków i efektów statystycznych. W wersji oznaczonej numerem 10 było 48 krajów, na które uzyskano licencje. W oparciu o nie można było przystąpić do prac nad całą bazą, w niemieckim studiu odpowiadają za to dwie osoby Adrian Wahl oraz Oliver Tunkel (tylko Francja i Wielka Brytania). Mają oni pod sobą zespół tzw. researcherów czyli osób zajmujących się budową bazy danych do gry. Ich praca rozpoczyna się na przełomie lipca po otrzymaniu edytora bazy danych do aktualnej wersji. W krajach takich jak Anglia gdzie jest aż 6 licencjonowanych lig pracuje kilka osób, którzy dzielą się pracą między sobą. Co pewien czas prace wysyłane są do koordynatorów, którzy analizują opracowania i na bieżąco zwracają uwagę na błędy.

Kompletna baza danych nie zawierająca błędów wysyłana jest do studia na początku września, a zaraz po sprawdzeniu dodawana do bulidu. Same prace nad bazą są kontynuowane w dalszym ciągu i mają one wychwycić nie znalezione do tej pory błędy, które naprawiane są w kolejnych patchach. Na przełomie lutego cały zespół przystępuje do prac nad ostatnią aktualizacją bazy o zimowe transfery, które ujęte będą w updata 4. Warto dodać że naszą polską Ekstraklasę tworzyła dwójka osób ze strony FIFAM.info byli nimi oczywiście Liber oraz Marcel. W między czasie tworzone są również inne elementy jak historyczne wyniki czyli statystyki meczów sięgające nawet roku 1960 (Bundesliga). Aktualnie na tą część składa się opis 253 sezonów zawierających 8 860 dni meczowych oraz 77 742 pojedynczych wyników meczy. Wraz z rozpoczęciem produkcji tworzy się także lokalizacje gry, których dostępnych na dzień dzisiejszy jest 6. Główny plik lokalizacyjny składa się z 6 części jak pomoc, tryb tekstowy, strona, gazeta, maile oraz główne tłumaczenie. Wszystkie nowe teksty są najpierw dodawane w języku niemieckim, a później tłumaczone na język angielski. Kiedy wiadomo, że każda z opcji została zaimpletowana i opisana zgodnie design dokumentem pliki przekazuje się pozostałym tłumaczom. Najbardziej rozbudowanym plikiem pod względem wielkości jest główny plik zawierający na tą chwilę 26 612 linii tekstu. W grze również są jeszcze tłumaczone dwa pliki odpowiedzialne za edytor oraz pytania podczas wywiadów.

Warto dodać, że wersja niemiecka oraz od dwóch lat polska (stworzona przez FIFAM.info) posiada jeszcze dodatkowy plik lokalizacyjny dodający na koniec każdego ze spotkań komentarze trenerów, kibiców oraz piłkarzy na temat meczu. Na tym etapie zaczyna się również tworzenie instrukcji oraz projektowanie okładek, ostatnim elementem zajmuje się specjalny odział w Electronic Arts. Przez cały proces produkcji pracuje również specjalna grupa ds. zgodności technicznej, która sprawdza grę pod różnymi konfiguracjami szukając problemów z kompatybilnością. Na podstawie tego powstaje później lista wymagań sprzętowych i obsługiwanych układów granicznych. Oczywiście silnik gry przez cały czas jest optymalizowany w celu zapewnienia jak największej szybkości działania oraz niezawodności.

Gdy zrealizowane zostaną wszystkie założenia ustalone w design dokumencie. Produkcja gry przechodzi do statusu alfa czyli mniejszego kamienia milowego (5 w całym etapie), który trwa zazwyczaj 2 tygodnie. W tym czasie sprawdza się grę pod kątem kolejnych błędów i eliminuje się je przed kolejnym ważnym etapem podczas tworzenia gry…

 

Beta testy

Wszystko co przeczytanie o etapie beta testów musiało być zaakceptowane przez studio Bright Future.Ciekawostki: Zdjęcia

Aktualnie w grze zawarte jest:

Ponad 10 000 zdjęć zawodników
393 zdjęć XXL zawodników
233 zdjęć miast
160 zdjęć stadionów
50 grafik pucharów
553 oryginalnych herbów (+1,416 generowanych herbów) Wielu z was zadziwi ten fakt jest to jednak prawda, a wynika ona z podpisanej umowy jaką mam zawartą z Electronic Arts jako beta tester tejże gry. Beta testy są przedostatnim kamieniem milowym zbliżającym grę do wersji finalnej. Na początku sierpnia pod testy zespół otrzymał nowy tryb online, a na początku września tryb offline. Na potrzeby testów na forum utworzono specjalny temat, w którym z resztą zespołu odpowiedzialnego za ten element produkcji omawialiśmy poszczególne kwestie.

Wiadomo, że każda gra na etapie tworzenia zawiera bugi, które należy wyeliminować przed wydaniem. Do zgłaszania błędów odkrytych w testach służy specjalny program online,  w którym na bieżąco widzimy co już jest zgłoszone a co nie. Każdy odkryty bug musieliśmy opisać w następujący sposób: co znalazłem, jaki jest rezultat, krok do reprodukcji oraz czego oczekuję.  Szczególnie ważnym elementem był tutaj krok trzeci czyli jak doprowadzić do tego błędu. Czasami po wydarzeniu się danego bugu samemu trzeba było analizować własne poczynania, ponieważ na tym etapie jest to bardzo ważne. Czasami bywa tak, że ktoś zapomni wspomnieć np. iż włączył jakąś opcję, przez co autorzy nie mogą od razu dojść, w którym momencie występuje owy błąd. Aby jeszcze bardziej podkreślić ważność każdego z bugów oznaczaliśmy, każde zgłoszenie za pomocą czterech liter alfabetu (od A do D). Sygnatura zgłoszenia oparta literą A sygnalizuje poważany błąd kończący się crashem, natomiast D mało znaczący błąd np. w lokalizacji. Każde ze zgłoszeń zostaje oznaczone specjalnym ID przez QA i po próbie otworzenia uzyskuje status potwierdzonego lub zwróconego.

W ostatnim przypadku użytkownik proszony jest o dodatkowe informacje, takie jak konfiguracja sprzętowa lub zapis samej rozgrywki,  po której następuje błąd. Każdy z problemów,  który został rozwiązany przez studio pojawia się na liście zmian, do której mamy dostęp z programu. Co kilka tygodni wydawany jest zbiorczy patch eliminujący zgłoszone przez beta testerów problemy. Wtedy też każdy przystępuje do próby odtworzenia błędu zgłoszonego w raporcie przez siebie lub kolegę, który uzyskał status naprawiony. Jeśli takowy błąd po updacie nie jest możliwy do odtworzenia po krótkiej informacji od testera dany raport zostaje zamknięty lub podany jeszcze raz weryfikacji. Na początku października, gdy gra osiąga status RTM (gotowa do produkcji) większość z was pomyśli, że tym samym kończy się ten etap. Nic bardziej mylnego, zespół ds. beta testów nadal skupia się na wyszukiwaniu błędów, które zostaną tym razem ujęte w jednej z aktualizacji. Praca całego teamu kończy się w momencie wydania 3 aktualizacji do gry.

Na zakończenie tego artykułu chciałbym podziękować wszystkim, którzy w mniejszym lub większym stopniu przyczynili się do jego powstania. Przede wszystkim dziękuje takim osobom jak: Cord Westhoff, za pomoc w opisaniu trybu online, Bernhard Maiberg, bez którego nie mógłbym zaprezentować wam screenów z koncepcyjnymi wyglądami obu trybów oraz Soren Stob, który koordynował te prace. Dziękuje również kolegom z redakcji, Bart6qx, Kily i Piterson za pomoc w redagowaniu tekstu i swoje sugestie odnośnie jego ostatecznego kształtu. Jeżeli kogokolwiek pominąłem to przepraszam. Mam nadzieje, że ten tekst przybliżył każdemu z Was ten skomplikowany proces, jakim jest tworzenie gry. Poniżej w celu uzupełnia artykułu prezentuje dodatkowo  4 obrazki przedstawiające proces produkcji.