Rozdział 20 · Tworzenie gier z Pygame

Jak działa tworzenie gier

Zanim przejdziemy do Pygame, przyjrzyjmy się, czym jest tworzenie gier jako rzemiosło: role, skala i droga od pomysłu do wydania.

Piłka z poprzedniej sekcji już podskakuje — najwyższy czas cofnąć się o krok i zobaczyć, w jaki świat właśnie weszliśmy. Tworzenie gier (game development, gamedev) — to nie jedna umiejętność, lecz rzemiosło na styku programowania, designu i sztuki. Niewielką grę całkiem może stworzyć jedna osoba — właśnie to zrobiłeś. W miarę rozwoju projektu zazwyczaj rośnie też liczba wyspecjalizowanych ról, a duże komercyjne gry tworzą duże zespoły.

Role w tworzeniu gier

W dużym studiu za każdą z tych ról odpowiada osobna osoba lub cały zespół; w projekcie indie ta sama osoba często łączy trzy-cztery role jednocześnie — a pracując nad mini-projektami tego rozdziału, już byliście jednocześnie programistą, projektantem i testerem.

Kto tworzy grę
Projektant gier
Wymyśla zasady gry
Równoważy złożoność
Pisze dokument projektowania gry
Programista
Implementuje reguły w kodzie
Pisze pętlę gry
Optymalizacja wydajności
Artysta / Animator
Rysuje sprite'y i tła
Przygotowuje animacje postaci
Ustala styl wizualny
Inżynier dźwięku
Pisze muzykę
Nagrywa efekty dźwiękowe
Redukuje dźwięk dla zdarzeń gry
Producent
Planowanie terminów
Zarządza zespołem
Pilnuje budżetu
QA-tester
Szuka błędów
Kontroluje równowagę
Gra w grę setki razy przed premierą

Indie i AAA

Gry indie zazwyczaj tworzą niezależni deweloperzy lub małe zespoły, często bez dużego wydawcy. «AAA» — oznaczenie dużych projektów komercyjnych z dużymi zespołami, znacznymi budżetami i długim cyklem produkcyjnym. To nie są ścisłe kategorie z wyraźną granicą: rzeczywiste projekty znacznie różnią się skalą, a wiele zespołów znajduje się gdzieś pośrodku.

CharakterystykaProjekt indieDuży projekt AAA-
KomendaOd pojedynczego dewelopera do małego lub średniego zespołuZazwyczaj duży zespół specjalistów z różnych dziedzin
Okres rozwojuOd kilku miesięcy do kilku latZazwyczaj kilka lat
Podejmowanie decyzjiDecyzje często podejmowane są szybciej i przez mniej osóbZmiany mogą wymagać koordynacji między wieloma zespołami
NarzędziaGotowe do użycia silniki, biblioteki i dostępne narzędzia programistyczneGotowe lub własne technologie i wewnętrzne narzędzia
SiłaElastyczność i swoboda eksperymentowaniaSkala produkcji i duże zasoby
Pygame dla pierwszych prototypów indie
Projekty edukacyjne tego rozdziału są napisane w tym samym duchu, co wiele gier indie: mały zespół (w twoim przypadku — jedna osoba), ogólnodostępne narzędzie, szybkie eksperymenty. Różnica między projektem edukacyjnym a prawdziwym wydaniem indie zwykle nie tkwi w narzędziu, lecz w tym, ile iteracji dzieli prototyp od gotowej gry.

Droga od pomysłu do premiery

Żadna gra nie pojawia się gotowa od razu. Proces ma typowe etapy — w konkretnym projekcie ich nazwy i granice mogą się różnić, ale ogólna logika jest podobna zarówno w AAA-studiach, jak i u jednej osoby z laptopem:

Koncept
pomysł, kluczowe mechaniki
na papierze lub w głowie
Przedprodukcja
plan, ocena objętości pracy
wybór narzędzi i technologii
jeśli mechanika nie działa, przerób koncepcję od nowa
Prototyp
sprawdza same mechaniki
minimum kodu, często jednorazowego
pokazuje, jaka będzie jakość wydania
Vertical slice
mały, gotowy element gry
blisko jakości finalnej wersji
Produkcja
większość kodu i treści
poziomy, postacie, dźwięk
Alpha
w konkretnym projekcie kryteria mogą się różnić
zazwyczaj: główna funkcjonalność jest już dostępna i testowana w zespole
Beta
zwykle: zawartość prawie się nie zmienia
testowanie na zewnątrz, polowanie na owady
Premiera
gra należy do graczy
życie gry trwa dalej po premierze
Wsparcie po wydaniu
łatki, balans, nowa zawartość
Piłka odbijająca się od ścian to już działający prototyp: minimalna mechanika, jaką można wypróbować. To jedna z najczęstszych opcji drogi od pomysłu do premiery — nie jedyny poprawny schemat.
Prototypowanie i vertical slice to różne zadania
Prototyp odpowiada na pytanie "czy sam pomysł działa" — kod w nim jest prawie zawsze jednorazowy, a jakość obrazu i tekstu nie ma znaczenia. Vertical slice odpowiada na inne pytanie: "jak będzie wyglądać i jak będzie wyglądać gotowa gra" — to już niewielka, ale pełnoprawna część zbliżona do docelowej jakości, często jednocześnie sprawdza pipeline produkcyjny projektu. W praktyce zespół może zbudować architekturę techniczną (sekcja 20.26) wcześniej, nawet na etapie prototypu, a zadania prototypu i vertical slice się pokrywają: różne projekty organizują te etapy na swój sposób.