W końcu udało mi się stworzyć grę – od początku do końca. Efekt to Shitty Sudoku, które jak nazwa wskazuje, mocno odbiega standardem od produkcji komercyjnych
.
Abstrahując od wyniku eksperymentu, cel główny przedsięwzięcia udało się zrealizować – nabyć doświadczenia i wyciągnąć cenne wnioski. Oto i one:
Dobry plan to podstawa
Przede wszystkim zabierając się za tworzenie gry trzeba mieć konkretną wizję i precyzyjny plan. Stwierdzenie to można w zasadzie przykleić do każdego projektu z dziedziny inżynierii oprogramowania. Jednakże gry są specyficznym przypadkiem, który wyróżnia się dynamiczną zmianą stanów obiektów, w związku z czym trudniej rozwiązać tu problemy wynikające z braku planowania.
Tworzenie na “hurra” skutkuje tym, że już w połowie projektu widać nikłe szanse na osiągnięcie sukcesu. W efekcie następuje szybka demotywacja twórcy i pogłębiająca się degradacja jakości produktu finalnego.
Najpierw prototyp, później oprawa
Podstawowym błędem (który popełniłem z premedytacją
), było zbyt szybka koncentracja na finalnych zasobach graficznych. Profesjonalne tworzenie gier zaczyna się od prototypowania, któremu towarzyszą proste, byle-jakie modele/tekstury/dźwięki. Dopiero na końcu procesu twórczego implementuje się zasoby docelowe.
Ma to dwa zasadnicze plusy. Pierwszy jest taki, że nie koncentrując się na oprawie znacznie szybciej dochodzimy do etapu gotowej mechaniki gry, którą możemy dokładnie sprawdzić i przetestować.
Drugą zaletą prototypowania jest fakt, że nie mając efektywnej oprawy audio-wideo, możemy bezpośrednio przekonać się, czy mechanika gry jest w stanie samodzielnie obronić produkt finalny. Informacja ta jest kluczowa, ponieważ decyduje o tym, czy warto dalej ciągnąć projekt, czy jednak lepiej porzucić go na tym dość wczesnym etapie. A może warto zastanowić się w tym miejscu nad zmianą kierunku? Tak czy inaczej – prototypowanie pozwala uniknąć wielkich rozczarowań i ułatwia podejmowanie radykalnych decyzji.
Architektura – Singleton jest Twoim przyjacielem.
Od początku zabawy z Unity miałem problemy z ogarnięciem efektywnej komunikacji między obiektami. Niby są tu metody wyszukujące obiekty, mechanizmy udostępniające komponenty, ale podchodzę do nich z rezerwą (co wynika zapewne z niewiedzy.) Dopiero implementacja wzorca projektowego Singleton zagwarantowała mi komfort w komunikacji między obiektami. Oczywiście przesadza w każdą stronę jest zła, dlatego nie ma co nadużywać tego wzorca, jednak w fundamentalnych elementach projektu warto go wykorzystać.
Menusy – nie odkładać na koniec
Kolejnym problemem, który pierwotnie wydawał mi się błahy jest implementacja menu. Podczas gdy same mechanizmy działania menusów nie były wyzwaniem, problemem było powiązanie elementów interfejsu z mechanizmami gry. Może nie tyle problem, co niepotrzebną stratą czasu. Dobrze jest integrować rozwijającą się grę i jej zmienne, na które bezpośredni wpływ ma gracz, z interfejsem graficznym.
Oczywiście przy tworzeniu systemu menu trzeba pamiętać o zasadzie prototypowania – proste rozwiązania na początek w zupełności wystarczą. Zbytnie zagłębianie się w interfejs to nic innego jak dekoncentracja i gubienie głównego celu.
Granice możliwości.
Wielu początkujących twórców gier przyzna zapewne, że pomysłów na gry mają bez liku, jednak większość z nich wymaga potężnych zespołów designerów, programistów i artystów. Tymczasem pierwsze kroki w dziedzinie tworzenia gier wideo stawia się zwykle samemu lub w niewielkim zespole. Bardzo istotnym elementem jest więc świadomość ograniczonych zasobów czasowo-finansowych, a także umiejętność dostosowania przedsięwzięcia do aktualnych możliwości. Rzucanie się z motyką na słońce kończy się zawsze porażką, która może tylko zniechęcić. Pamiętajmy więc o ograniczeniach, sprytnie omijajmy przeszkody i przede wszystkim – głęboko wierzmy w to co robimy!
Tym optymistycznym akcentem zakończę wpis i udaję się zagrać w coś, bom dawno tego nie robił
.