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ędne | Wiele można zrobić bez kodu |
| Kontrola nad szczegółami | Bardziej bezpośrednia kontrola nad cyklem i decyzje na niskim szczeblu | Bardziej gotowa konstrukcja; stopień sterowania zależy od silnika |
| Edytor scen wizualnych | Brak – scena jest budowana przez kod | Zwykle jest |
| Wbudowana fizyka/światło | Nie – sam to implementujesz lub łączysz osobno | Zwykle jest gotowa od razu |
| Co otrzymujesz w zamian | Głębokie zrozumienie, jak gra działa od środka na zewnątrz | Szybkość 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ć.