Rozdział 20 · Tworzenie gier z Pygame

Biblioteka, framework lub silnik: gdzie znajduje się Pygame

Pygame to biblioteka, a nie silnik: dostarcza cegiełki, a strukturę gry budujesz samodzielnie.

„Game Development”

Trzy poziomy narzędzi

Od cegieł do gotowych warsztatów
Biblioteka
Daje pojedyncze „cegły”
Sam budujesz strukturę aplikacji
Pygame jest biblioteka
Ramy
Ustala ogólną strukturę aplikacji
Wypełniasz przewidziane miejsca swoim kodem
Przykład ducha podejścia: Flask z rozdziału 22 dla internetu
Silnik
Pełne środowisko: Edytor wizualny, Fizyka, Światło, Dźwięk od razu po wyjęciu z pudełka
Piszesz mniej kodu, konfigurujesz więcej komponentów
Przykłady: uniwersalne silniki gier z edytorem scen

Pygame jest biblioteką: zapewnia okno, powierzchnię do rysowania, obsługę kluczy i dźwięku, ale pętla gry, kolizje i struktura całego projektu są napisane przez ciebie, z twoją własną ręce. To świadomy kompromis między poziomem kontroli a szybkością startu:

Pygame (biblioteka)Typowy silnik gry
Krzywa uczenia sięMusisz zrozumieć cykl, ramy, współrzędneWiele można zrobić bez kodu
Kontrola nad szczegółamiBardziej bezpośrednia kontrola nad cyklem i decyzje na niskim szczebluBardziej gotowa konstrukcja; stopień sterowania zależy od silnika
Edytor scen wizualnychBrak – scena jest budowana przez kodZwykle jest
Wbudowana fizyka/światłoNie – sam to implementujesz lub łączysz osobnoZwykle jest gotowa od razu
Co otrzymujesz w zamianGłębokie zrozumienie, jak gra działa od środka na zewnątrzSzybkość montażu dużego projektu

Pygame i SDL

Sam Pygame nie rysuje pikseli i nie komunikuje się bezpośrednio z kartą dźwiękową — pod maską opiera się na bibliotece SDL (Simple DirectMedia Layer) napisane w C: Odpowiada za pracę niskopoziomową z oknami, wejściem, grafiką i dźwiękiem na różnych systemów operacyjnych. Pygame nadaje mu wygodną, przypominającą Pythona otoczenie otoczeniem.

Po co uczyć się na bibliotece, jeśli są silniki
Koncepcje, których poznajesz w tym rozdziale — pętla gry, klatka, czas między klatkami, układ współrzędnych, kolizja prostokąta — są przenoszone między narzędziami do tworzenia gier w ich podstawowych ideach, w tym dużymi silnikami wizualnymi. Jednak konkretna architektura, API, timestep fizyczny, model sceny i system kolizji mogą być bardzo różne, a silnik często ukrywa te koncepcje za interfejsem przycisków i suwaków. Ucząc się ich bezpośrednio przez kod, lepiej zrozumiesz, co dzieje się za tymi przyciskami — nie tylko jak je klikać.