Jak picogame funguje
Tahle stránka je myšlenkový model, na kterém picogame stojí. Žádné nastavování, žádné detaily API — jen pár nápadů, díky kterým ti všechno ostatní zapadne. Pokud jsi už dělal hry jinde, tohle je zároveň nejrychlejší způsob, jak si namapovat to, co znáš, na picogame.
Hlavní myšlenka: popiš scénu, pak řekni, co se pohnulo
Sekce “Hlavní myšlenka: popiš scénu, pak řekni, co se pohnulo”Většina obrazovky hry se mezi snímky nemění — pozadí zůstává na místě, pohybuje se jen pár věcí. picogame je kolem toho postavený.
Scénu popíšeš jednou (tyhle sprity, tahle tilemapa, tohle pozadí) a pak každý snímek
jen změníš to, co se pohnulo (ball.x += 3) a zavoláš scene.refresh(). Engine zjistí,
které malé obdélníky se skutečně změnily, a překreslí jen je — nepřekresluje celou
obrazovku. Nic se nepohnulo? Na displej se nic neposílá.
Proto skutečné hry běží plynule na malinkém, pomalém čipu: práce na každý snímek je úměrná tomu, kolik se změnilo, ne velikosti obrazovky. Tohle dostaneš zdarma — nikdy to neřešíš sám.
Stavební díly, ze kterých skládáš scénu
Sekce “Stavební díly, ze kterých skládáš scénu”S těmito pojmy se budeš setkávat všude. Každý z nich je prostě druh věci, kterou můžeš vložit do scény:
- Sprite — pohyblivý obrázek: hráč, nepřítel, střela, mince. Má pozici, lze ho překlopit, animovat přes frame, škálovat a otáčet.
- Tilemap — velká mřížka složená z malé sady obrázků dlaždic: úroveň, dlážděné pozadí, cihlová zeď. Levná, protože mřížka ukládá jedno číslo na buňku místo každého pixelu.
- Bitmap — samotný obrázek, který sprite nebo dlaždice kreslí. Můžeš ho vygenerovat v kódu (kruh, obdélník) nebo ho převést z PNG.
- Scene — kontejner, který drží všechno výše uvedené a kreslí to v pořadí. Přidáváš do něj věci a každý snímek ho obnovíš.
- Kamera — scéna má pohled, kterým můžeš pohybovat (
set_view), takže svět může být větší než obrazovka a posouvat se, jak hráč chodí.
Existuje ještě pár specializovanějších dílů (kreslicí Canvas, celosnímkové efekty StripDraw, Particles) — po těch sáhneš, až je budeš potřebovat. Pro „co kdy” viz průvodce funkcemi.
Herní smyčka
Sekce “Herní smyčka”Každá hra v picogame má stejný tvar:
- Čti vstup — která tlačítka jsou stisknutá.
- Aktualizuj — pohni věcmi, spusť herní pravidla, vytvoř a odeber objekty.
- Obnov —
scene.refresh()vykreslí změny. - Počkej — hodiny omezí snímkovou frekvenci, aby hra běžela stálou rychlostí.
while True: buttons.poll() # 1. vstup ball.x += speed # 2. aktualizace scene.refresh() # 3. vykresli, co se změnilo clock.tick() # 4. udrž snímkovou frekvenciVšechno ostatní — kolize, zvuk, skóre — se děje v kroku 2. To je celá struktura hry v picogame.
Nejdřív stavíš na svém počítači
Sekce “Nejdřív stavíš na svém počítači”picogame přichází se simulátorem: úplně stejný herní kód běží na tvém PC, buď jako headless snímky obrazovky (skvělé pro rychlé kontroly), nebo jako živé, hratelné okno. Navrhuješ, ladíš a iteruješ bez dotyku hardwaru — hotovou hru zkopíruješ na zařízení až nakonec. Zařízení i simulátor spouští stejný kód, takže co vidíš na obrazovce, to dostaneš.
Kam dál
Sekce “Kam dál”- Vytvoř svou první hru — uveď to do praxe za pět minut.
- Tutoriály — tři skutečné hry, jedna myšlenka na krok.
- Průvodce funkcemi — jakmile znáš tvar, tohle je „který nástroj na kterou práci”.
- Referenční příručka API — přesný a úplný seznam, když potřebuješ přesné signatury.