Pygame játékfejlesztés MI támogatással

  • Nits László
Type of plan
Projektterv
Sector
Információs és kommunikációs technológiák
Topic, learning area
Objektumorientált programozás (OOP) és külső könyvtárak (Pygame) használata MI segítségével
Vocational subjects
Competences, skills to be developed
Digitális készségek
Kommunikáció és együttműködés
Kreativitás és innováció
Kritikus gondolkodás és problémamegoldás
Vocational competences, skills to be developed
A tanulók képesek legyenek egy komplex, több állományból álló Python-Pygame-OOP projektet készíteni.
Teaching method
AI-alapú egyéni és csoportmunka
aktív tanulás
Játékalapú tanulás
General subject(s)
Learning and development goals
A tanulók képesek legyenek egy komplex Pygame projektet strukturálni. Az OOP elveket alkalmazni játékobjektumokon. Az MI eszközök tudatos használata új könyvtárak megismerésére és hibakeresésre. Csoportmunka és verziókezelés gyakorlása
Concepts
pygame, oop, python, AI, clean coding, verziókezelés, type hinting
Required tools
Számítógép, VS Code editor, Python környezet, Pygame könyvtár, MI asszisztensek a kódmagyarázathoz és dokumentációhoz, GitHub a projektmenedzsmenthez és kódmegosztáshoz
Duration
8-10 óra
Materials released before class or for a project

Játékfejlesztés Pygame modul használatával lejátszási lista 23 oktató videóval: Játékfejlesztés - YouTube

Introductory part and preparation of the lesson / project plan

1. fázis: Bevezetés, előkészítés és tervezés (1-2 óra)

  • Csoportok alakítása (3 fő) és a projekt (pl. Space Invaders) céljainak kitűzése.
  • Az MI eszközök használatának etikai és technikai megbeszélése (hogyan kérdezzünk, hogy megértsük a logikát).
  • A GitHub mintaprojekt (GitHub - schmidtnandor/space-invaders · GitHub) szerkezetének elemzése: Miért van szükség külön fájlokra (pl. alien.py, player.py, config.py)?
Implementation of the lesson / project plan

2. fázis: Alapok és Osztályszerkezet (2 óra)

  • A PyGame ablak inicializálása és a fő játékhurok létrehozása MI segítségével.
  • Az alapvető osztályok vázának megírása típusjelölésekkel (pl. def __init__(self, x: int, y: int) -> None:).
  • A grafikai elemek beimportálása és megjelenítése a képernyőn.

3. fázis: Játéklogika és Interakciók (3-4 óra)

  • A mozgás (billentyűzetkezelés) és a lövés mechanikájának implementálása.
  • Ütközésdetektálás (Collision detection) kidolgozása a pygame.sprite modul segítségével, MI támogatással.
  • A "tiszta kód" felülvizsgálata: beszélő változónevek, rövid metódusok, redundancia kerülése.

4. fázis: Finomhangolás és Dokumentáció (1-2 óra)

  • Menürendszer, pontszámítás és "Game Over" képernyő hozzáadása.
  • A kód kommentezése és a README.md fájl elkészítése a mintaprojekthez hasonlóan.
  • Tesztelés és hibajavítás.
Digital tools used
ChatGPT
Copilot
Gemini
Google Tanterem
Google Meet
Google NotebookLM
Moodle
Other tool not included in the previous list
VS Code fejlesztői környezet, VS Code bővítmények
Evaluation plan

Az értékelés nemcsak a kész termékre, hanem a folyamatra is kiterjed, a projekt során folyamatosan értékelem a diákokat a következő szempontokon keresztül:

  • Technikai megvalósítás: Működik-e a játék? Megfelelő-e az OOP struktúra?
  • Kódminőség ellenőrző lista: (lsd. mellékletek)
  • MI használat: Hogyan segítette az MI a tanulást?
  • Együttműködés: A csoporttagok közötti munkamegosztás hatékonysága.
  • Prompt napló értékelése (lsd. mellékletek)
  • Meglévő és új ismeretek alkalmazása.
  • Hibakeresés és javítás, tesztelés.
Differentiation
  • Erősebb csoportok: Bonyolultabb ellenség-minták (pl. Boss harc), részecske-effektek vagy többszintű pályarendszer implementálása.
  • Segítségre szorulók: Előre elkészített sablonok (pl. egy működő játékhurok vagy konfigurációs fájl) biztosítása, szorosabb mentori támogatás az MI-vel való promptolásban.
Homework, project task

Otthoni feladatok, részfeladatok megoldása a mentor segítségével és együttműködésével. 

Fájl csatolása
Kód_minősége.docx (16.57 килобајта)
Prompt_napló_értékelése.docx (16.15 килобајта)