# 🎮 1. Ročník - Python Game Jam! 🎮 Vítejte u vašeho prvního skutečného programátorského hackathonu! Vaším úkolem bude během vymezeného času vymyslet, naprogramovat a odprezentovat vlastní hru v Pythonu. Nejde o to udělat další GTA 6. Jde o to zkusit si zrealizovat vlastní nápad, naučit se řešit chyby a hlavně se u toho bavit! --- ## 📜 Pravidla Game Jamu 1. **Samostatná práce:** Z důvodu spravedlivého hodnocení (známkování) pracuje každý sám za sebe. Na hře pracujete jako jednotlivci (sólo vývojáři). Nemusíte se bát, pokud vaše hra nebude mít dokonalou grafiku, hodnotí se hlavně váš nápad a kód! 2. **Technologie:** Hra musí běžet v **Pythonu**. Můžete použít: * Čistý Python v terminálu (Textové adventury) * Knihovnu **Pygame** nebo **Pygame Zero** (Skákačky, střílečky, arkády) * Engine **Ren'Py** (Vizuální novely a příběhové hry) 3. **Používání umělé inteligence (ChatGPT, Claude, atd.):** * **JE POVOLENO!** Jsme v moderní době a vývojáři AI běžně používají. * **POZOR NA JEDNU VĚC:** Během hodnocení může dojít k obhajobě kódu. Pravděpodobně k tomu nedojde, ale pokud bude ve vašem programu nějaká nejasnost nebo podezřele složitý blok kódu, zeptám se vás, jak to funguje. AI používejte jako *pomocníka* a *vysvětlovače*, ne jako někoho, kdo za vás napíše kód, kterému sami nerozumíte. 4. **Vlastní assety:** Obrázky a zvuky si můžete buď nakreslit sami (např. v Malování, Piskel), nebo si je stáhnout z internetu (hrajeme to jen ve škole, takže autorská práva teď tolik neřešíme, ale nesmí to být nic vulgárního). --- ## 🏆 Jak se bude hodnotit? Na konci Game Jamu si všechny hry společně zahrajeme a zhodnotíme je podle následujících 3 kritérií: 1. **Hratelnost a Funkčnost (40 %)** * Dává hra smysl? * Dá se to hrát, nebo to po 5 vteřinách spadne a vyhodí chybovou hlášku? (I nejjednodušší funkční Pong je lepší než nádherná 3D hra, která nejde spustit). 2. **Originalita a Zábavnost (30 %)** * Je to vtipné? Má to zajímavý nápad? * Použili jste vlastní (třeba i vtipné/ošklivé) obrázky sebe nebo spolužáků místo stažených grafik? Oceňuje se kreativní přístup! 3. **Čistota kódu a porozumění (30 %)** * Kód by měl být přehledný a měli byste mu rozumět. Ukážete mi, na co jste nejvíce pyšní. * *Vyhrazuji si právo se vás zeptat na to, co dělá konkrétní část vašeho kódu, pokud v něm objevím nějakou nejasnost. To je prevence proti bezmyšlenkovitému kopírování.* --- ## 💡 Tipy pro přežití * **Začněte v malém (KISS - Keep It Simple, Stupid):** Váš první cíl je mít na obrazovce čtverec, se kterým jde hýbat. Až to funguje, udělejte ze čtverce loď. Až to funguje, přidejte střelbu. NIKDY nezačínejte tím, že zkusíte naprogramovat všechno najednou. * **Koukejte do repozitáře:** Ve složce `pygame` (na gitu) máte hned několik hotových her (Pong, Skákačka, Střílečka). Klidně si jednu vezměte jako základ a předělejte ji k nepoznání! * **Bavte se:** Kódování her má být zábava. Když se zaseknete, zeptejte se učitele, zeptejte se AI nebo zkuste problém obejít jinak. **Hodně štěstí a ať vám kompilátor (a Pygame) slouží!**