Helion


Szczegóły kursu video

Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę PyGame

Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę PyGame

Obierz kurs na… Pygame!

Pygame to jedna z tych fantastycznych bibliotek, które pozwalają poszerzyć możliwości programowania gier i aplikacji multimedialnych w języku Python. Ostatnio zyskuje coraz większą popularność — w zeszłym roku pojawiła się jej nowa wersja, Pygame 2. Jeśli znasz już język Python i marzysz o tym, by wykorzystać go do kreowania świetnych gier, nie znajdziesz nic lepszego! A jeśli chcesz szybko zaznajomić się z praktyczną stroną programowania z Pygame, trafiłeś na doskonały kurs! Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę Pygame pozwoli Ci odkryć sekrety tej biblioteki i przygotuje Cię do samodzielnego tworzenia w pełni profesjonalnych gier. Autor przeprowadzi Cię przez wszystkie etapy powstawania gry, od otwarcia pierwszego pliku aż po uruchomienie kompilatora Pythona, Nuitki, w celu uzyskania pliku wykonywalnego. Co więcej, tę drogę przejdzie z Tobą aż trzy razy: razem stworzycie trzy solidne gry. Nie pozostawi Cię także bez pomocy w zakresie przygotowania materiałów wyjściowych gry: grafik, dźwięków i muzyki. Ściągnij Pygame i wstąp do świata twórców obłędnych gier!

Czego się nauczysz podczas naszego profesjonalnego szkolenia?

  • Nauczysz się wykorzystywać bibliotekę Pygame i framework Pygame Zero.
  • Zobaczysz, jak dodawać obrazy, czcionki, fonty i inne elementy do gry.
  • Będziesz operować na grafikach 2D i tworzyć animacje.
  • Dowiesz się, jak wykorzystywać dźwięki, muzykę i napisy w grach.
  • Skompilujesz grę do pliku .exe (standardowo w Pythonie nie jest to możliwe).
  • Przygotujesz obsługę zdarzeń myszki i klawiatury.
  • Stworzysz własny i wykorzystasz istniejący mechanizm wykrywania kolizji między obiektami.

Podczas szkolenia Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę Pygame opanujesz także modyfikowanie kodu innych bibliotek w celu dodania do nich funkcjonalności, nauczysz się, jak wykorzystywać w grach niektóre wzorce projektowe (provider, cache, callback) oraz jak stworzyć i obsługiwać kamerę w Pygame. Zaczniesz implementować działania wrogów (a konkretnie podejmowanie przez nich decyzji, by skutecznie zaatakować bohaterów gry). Poznasz mechanizm reagowania na zdarzenia przez sprawdzenie stanu niewidocznej grafiki pod grą (bitmap-based physics).

Ponadto dowiesz się, jak tworzyć własne dźwięki do gry, skąd brać grafiki i inne assety, w jaki sposób radzić sobie z niedoborem umiejętności okołoprogramistycznych (takich jak tworzenie grafik czy muzyki). Następnie sprawdzisz, jak wygląda obsługa warstw w Pygame. W gruncie rzeczy znajdziesz tu wszystko, czego potrzeba, by zbudować prostą grę 2D, od pomysłu po skończony projekt. Kurs zakończysz na poziomie średnio zaawansowanym, w pełni przygotowany do tego, by tworzyć także gry inne niż te zaprezentowane przez autora.

Realizuj własne pomysły na gry!

Autor szkolenia Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę Pygame zapewni Ci wszelkie narzędzia do stworzenia gry, a Tobie pozostanie wymyślić jej treść, wyobrazić ją sobie i przenieść to wyobrażenie na ekran komputera. Wcześniej jednak musisz się zorientować, w jaki sposób operować „światem” (czyli wszystkim, co jest poza widocznym obszarem gry), poznać system wykrywania kolizji, opanować tworzenie prostych animacji i zdobyć nieco wiedzy na temat wszelkich innych zagadnień związanych z wykorzystaniem Pygame. Po ukończeniu kursu będziesz umiał samodzielnie stworzyć takie gry jak Mario Bros., Bomberman, Arkanoid i wiele innych. Znajdziesz tu praktyczną prezentację ogólnych metod, które zawsze działają, i będziesz mógł je zastosować w grze dowolnego typu. Solidne przećwiczenie programowania czterech gier zapewni Ci swobodę w posługiwaniu się różnymi chwytami czy sztuczkami, a także pozwoli dogłębnie poznać specyfikę używanych narzędzi.

W poszukiwaniu nowej rozrywki

Gry są nieodłącznym elementem komputerów i smartfonów. Przykuwają oko i wciągają na długie godziny. Wiele osób (programistów i nie tylko) próbuje tworzyć gry w ten czy inny sposób. W tej dziedzinie Python powoli zdobywa coraz większą popularność — po pierwsze za sprawą najpopularniejszej biblioteki do tworzenia gier (Pygame), a po drugie z powodu świetnego silnika Godot, który pozwala programować w tym języku. Praca z grami to praca z grafikami (zwanymi sprite’ami), dźwiękiem, muzyką, obsługą zdarzeń oraz o wiele trudniejszym debugowaniem niż w przypadku aplikacji niebędących grami. W takich aplikacjach często bardzo trudno jest powtórzyć napotkany błąd, gdyż dana sekwencja występuje dość rzadko. Wymagają one także znacznie więcej testowania. Jeśli programiście zależy na tym, żeby jego gra była bezbłędna, musi w nią długo grać. Ale dla prawdziwego twórcy gier to przecież sama przyjemność!

Tylko dla wtajemniczonych

Popularność Pygame 2, czyli wersji, która jest wykorzystywana podczas tego szkolenia, stale rośnie, a gry, które stworzysz wspólnie z jego autorem, są na takim samym profesjonalnym poziomie, jak komercyjne gry na Steamie. Nie znajdziesz drugiego tak dobrego kursu dla programistów gier z wykorzystaniem Pythona i Pygame. Dzięki niemu nauczysz się tworzyć gry typu:

  • Mario Bros., Prehistoric, Contra, Flappy Bird, Prince of Persia, Mega Man i podobne - gry platformowe, w których kamera chodzi za graczem, a on zwykle przemierza świat, kierując się w prawo;
  • Arkanoid, Timberman, tetris i tower defense - gry dwuwymiarowe, w których gracz musi jakoś pokonać otaczający go niezmienny świat;
  • Bomberman, Tanks, Scorched Earth - gry z równie niezmiennym światem, w których występuje element wroga żyjącego własnym życiem.

Jeśli zależy Ci nie tylko na zabawie w programistę, ale przede wszystkim na rzeczywistym programowaniu doskonałej jakości gier, nie możesz przeoczyć szkolenia Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę Pygame.

  • 1. Zapoznanie z biblioteką Pygame i frameworkiem Pygame Zero
    • 1.1. Wprowadzenie00:01:33
    • 1.2. Przygotowujemy środowisko00:06:13
    • 1.3. Struktura gry w Pygame00:07:48
    • 1.4. Współrzędne w Pygame i innych bibliotekach00:02:57
    • 1.5. Prosta animacja przesunięcia00:12:14
    • 1.6. Zdarzenia w Pygame00:09:33
    • 1.7. Reagujemy na zdarzenia myszki00:04:39
    • 1.8. Obsługa napisów w Pygame00:10:08
    • 1.9. Wprowadzenie do frameworka Pygame Zero00:06:52
    • 1.10. Korzystamy z wbudowanych mechanizmów Pygame Zero00:05:14
    • 1.11. Interakcja z aktorami00:09:31
    • 1.12. Różnice między Pygame i Pygame Zero00:05:26
    • 1.13. Tworzymy uruchamialną grę przy użyciu PyInstaller00:08:48
    • 1.14. Pomysły na poprawę naszej pierwszej gry00:02:19
  • 2. Budujemy klon gry Timberman
    • 2.1. Omówienie pomysłu na grę - klon gry Timberman00:04:29
    • 2.2. Przygotowujemy grę w Pygame Zero00:12:24
    • 2.3. Umieszczamy elementy statyczne00:09:14
    • 2.4. Tworzymy własny mechanizm skalowania00:11:59
    • 2.5. Wprowadzamy pierwsze animacje00:16:22
    • 2.6. Wprowadzamy elementy losowe do gry00:13:52
    • 2.7. Sposoby skalowania obrazów i problemy z nimi związane00:09:54
    • 2.8. Radzimy sobie z problemami położenia grafik00:06:45
    • 2.9. Sposoby rozpieszczania assetów i obsługa kotwicy00:10:17
    • 2.10. Animujemy postać 'drwala' za pomocą dwóch stanów00:11:28
    • 2.11. Piszemy provider gałęzi00:12:11
    • 2.12. Reużywamy obiekty w celu oszczędzania pamięci00:10:18
    • 2.13. Implementujemy możliwość grania w nieskończoność00:09:32
    • 2.14. Imitujemy system wykrywania kolizji00:07:38
    • 2.15. Formułujemy warunki zakończenia gry00:07:55
    • 2.16. Dodajemy punktację do gry00:07:32
    • 2.17. Animacja plastra drewna po ścięciu drzewa00:05:40
    • 2.18. Poprawiamy animację00:02:28
    • 2.19. Tworzymy mechanizm resetowania stanu gry00:05:41
    • 2.20. Tworzymy i dodajemy dźwięki do gry00:04:57
    • 2.21. Kompilujemy grę przy użyciu kompilatora Nuitka00:07:35
    • 2.22. Omawiamy możliwości rozwoju gry Drwal00:02:38
  • 3. Budujemy klon gry Pac-Man
    • 3.1. Omówienie gry Gold Pac-Man00:04:54
    • 3.2. Obsługujemy klawisze ruchu00:16:53
    • 3.3. Animujemy postać Pac-Man00:03:55
    • 3.4. Bitmap-based physics00:11:08
    • 3.5. Programujemy przeciwników (duszki) w grze00:19:43
    • 3.6. Obieramy kierunek przemieszczania się duszków00:09:35
    • 3.7. Wykorzystujemy metodę animate frameworka Pygame Zero00:10:46
    • 3.8. Programujemy decyzyjność duszków00:18:33
    • 3.9. Wczytujemy monety do gry00:11:36
    • 3.10. Wykrywamy kolizje00:10:52
    • 3.11. Resetowanie położenia aktorów00:14:58
    • 3.12. Implementacja rund00:13:24
    • 3.13. Tworzenie tabeli wyników00:17:52
    • 3.14. Udoskonalamy naszą grę00:09:47
    • 3.15. Refaktorujemy kod naszej gry00:15:29
    • 3.16. Kompilujemy grę za pomocą Nuitki00:13:52
    • 3.17. Omawiamy sposoby na ulepszenie gry Gold Pac-Man00:12:44
  • 4. Budujemy grę platformową
    • 4.1. Omówienie gry simple platformer00:03:51
    • 4.2. Budujemy strukturę kodu naszej gry w Pygame00:13:50
    • 4.3. Tworzymy stany postaci00:16:08
    • 4.4. Obsługujemy wewnętrzną animację postaci00:15:48
    • 4.5. Animujemy pozostałe stany postaci00:12:56
    • 4.6. Obsługujemy naciśnięcie wielu klawiszy naraz00:10:18
    • 4.7. Tworzymy ustawienia gry i ustawienia poziomu00:11:19
    • 4.8. Tworzymy klasę kamery00:12:01
    • 4.9. Obsługujemy warstwy00:13:53
    • 4.10. Tworzymy pierwszy poziom w grze00:15:27
    • 4.11. Wybieranie obiektów podejrzanych o kolizję00:17:59
    • 4.12. Dodajemy tło gry00:07:43
    • 4.13. Wstępny mechanizm pionowej kolizji w grze platformowej00:10:36
    • 4.14. Wstępny mechanizm poziomej kolizji w grze platformowej00:15:07
    • 4.15. Omówienie sposobu na zaimplementowanie lepszego detektora kolizji00:03:55
    • 4.16. Budujemy zaawansowany system kolizji00:12:39
    • 4.17. Obsługa grawitacji i odbicia w poziomie sprite'ów00:16:54
    • 4.18. Dodajemy elementy statyczne do gry00:12:37
    • 4.19. Dodajemy drobne poprawki do gry, w tym opóźnioną detekcję spadania00:11:28
    • 4.20. Umieszczamy muzykę i elementy losowe w grze00:12:11
    • 4.21. Omawiamy sposoby na ulepszenie gry simple platformer00:09:28
    • 4.22. Podsumowanie + co dalej00:11:28