Tworzenie gier w Python
Rozpocznij tworzenie gier w Python i poznaj podstawy obsługi bibliotek wykorzystywanych do budowy gier komputerowych. Z czasem zaczniesz tworzyć coraz bardziej rozbudowane projekty, opracujesz własne postacie, mechanikę rozgrywki i interfejs użytkownika.
Proponowany wiek
12 lat+ (lub każdy, kto posiada solidne podstawy Pythona i chce rozwinąć umiejętności!)
Wymagania
Bardzo dobra znajomość podstaw Pythona, chęć nauki zaawansowanych technologii i narzędzi, stabilne połączenie z internetem oraz dobry humor. Reszty nauczymy Cię na zajęciach!
Program kursu – 8 modułów (24 lekcje)
Moduł 1: Wprowadzenie do tworzenia gier w Pythonie +
- Przegląd popularnych bibliotek i silników: Omówienie bibliotek do gier (Pygame, Arcade, Panda3D).
- Instalacja i konfiguracja środowiska: Praca w wirtualnym środowisku, instalacja wybranej biblioteki.
- Struktura prostej gry w Pythonie: Podstawy pętli głównej (game loop), obsługa zdarzeń.
Moduł 2: Podstawy grafiki i animacji +
- Okno gry i rysowanie obiektów: Ustawianie wymiarów okna, kolory, rysowanie figur geometrycznych.
- Ruch i prosta animacja obiektów: Aktualizowanie pozycji, prędkości, grawitacja, prosta fizyka.
- Kolizje i detekcja zderzeń: Podstawowe metody wykrywania kolizji (bounding box, pixel-perfect).
Moduł 3: Wprowadzenie interakcji i sterowania +
- Obsługa klawiatury i myszy: Kluczowe wydarzenia (eventy), tworzenie responsywnego sterowania.
- Menu i GUI: Tworzenie prostych interfejsów (np. start, pauza, koniec gry), obsługa przycisków.
- Dodawanie efektów dźwiękowych i muzyki: Ładowanie plików audio, odtwarzanie w tle.
Moduł 4: Logika i mechanika gry +
- System punktacji i poziomy trudności: Liczenie punktów, aktualizacja wyników, zwiększanie trudności.
- Tworzenie przeciwników i prostego AI: Zasady poruszania się wroga, prosta sztuczna inteligencja.
- Zapisywanie stanu gry i wczytywanie postępu: Przechowywanie wyników i poziomów w plikach (JSON, CSV).
Moduł 5: Zaawansowane funkcje graficzne i animacje +
- Animowane sprite'y i klatki kluczowe: Tworzenie efektu animacji postaci (np. bieganie, skakanie).
- Efekty cząsteczkowe (particles): Dodawanie iskrzenia, dymu, wybuchów – wrażenie dynamiki.
- Obsługa kamer i większych map: Przemieszczanie się „kamery” nad rozległą planszą.
Moduł 6: Projektowanie poziomów i integracja assetów +
- Tworzenie mapy z edytorem poziomów: Przegląd narzędzi (Tiled, LDtk) do tworzenia layoutów 2D.
- Projekty i darmowe zasoby (assety): Gdzie szukać legalnych darmowych grafik, dźwięków, muzyki.
- Praca zespołowa i podział ról: Programista, grafik, projektant poziomów – zrozumienie kluczowych ról.
Moduł 7: Optymalizacja, testowanie i debugowanie gier +
- Profilowanie wydajności: FPS, narzędzia do mierzenia prędkości działania, identyfikacja wąskich gardeł.
- Debugowanie i testy jednostkowe: Jak szybko odnajdywać błędy w kodzie gier.
- Balans i modyfikacje rozgrywki: Regulacja poziomu trudności, analiza opinii testerów.
Moduł 8: Publikacja i dalszy rozwój projektów +
- Tworzenie wersji wykonywalnych (exe, app): Pakowanie gry dla Windows/Mac/Linux (PyInstaller, cx_Freeze).
- Promocja gry i społeczność: Jak dzielić się projektem w internecie (itch.io, GitHub).
- Podsumowanie i kolejne kroki: Prezentacja finalnych projektów, omówienie możliwości rozwoju.
Harmonogram: 1 spotkanie w tygodniu – 60 lub 90 minut
Płatność: 80–100 zł za lekcję
Ilość osób w grupie: 1–4
