Přeskočit na obsah

Tvoje první hra

Cíl: červený míček, který řídíš po obrazovce šipkami. Asi pět minut, přímo v prohlížeči — nic se neinstaluje. Pokud přečteš tucet řádků Pythonu, zvládneš to.

1. Napiš kód a spusť ho

Sekce “1. Napiš kód a spusť ho”

Tady je celá hra, zhruba tucet řádků. Stiskni Vyzkoušet, počkej na spuštění v prohlížeči a pak míček ovládej šipkami.

import picogame as pg
import picogame_game # nastavení jedním voláním
import picogame_input # tlačítka
import picogame_clock # časování snímků
import picogame_shapes as shapes # tvorba jednoduchých bitmap v kódu
# Převezmeme obrazovku a získáme scénu, do které budeme kreslit.
scene, _, _ = picogame_game.setup(background=pg.rgb565(20, 24, 40))
buttons = picogame_input.Buttons()
clock = picogame_clock.Clock(30) # cílíme na 30 snímků za sekundu
# Červený míček — kruh 24 px nakreslený v kódu, takže zatím nepotřebujeme žádnou grafiku.
ball = pg.Sprite(shapes.circle(24, pg.rgb565(230, 80, 80)), 150, 110)
scene.add(ball)
# Herní smyčka: čti vstup, pohni, překresli — donekonečna.
while True:
buttons.poll()
ball.x += (buttons.is_pressed(buttons.RIGHT) - buttons.is_pressed(buttons.LEFT)) * 3
ball.y += (buttons.is_pressed(buttons.DOWN) - buttons.is_pressed(buttons.UP)) * 3
scene.refresh()
clock.tick()
▶ Vyzkoušet v prohlížeči

V prohlížeči teď běží engine picogame: nativní C modul zkompilovaný do WASM. Uprav kód, stiskni Spustit a změna se hned projeví. Pro delší experimenty otevři Playground.

Celou hru nesou jen čtyři myšlenky; zbytek jsou detaily, na které narazíš později:

Řádek Myšlenka
picogame_game.setup(...) Vrací scénu, do které kreslíš, a dva pomocné buffery. Zatím je nepotřebuješ, proto je v scene, _, _ zahodíš. Volání nastaví displej a vyčistí obrazovku.
pg.Sprite(shapes.circle(...), x, y) Sprite je pohyblivý obrázek. Tady je tím obrázkem kruh, který jsme vygenerovali v kódu; později to bude tvoje vlastní grafika.
scene.add(ball) Vloží sprite do scény, aby se vykreslil.
smyčka while Herní smyčka: každý snímek čti vstup, změň věci, pak scene.refresh(). Engine překreslí jen to, co se pohnulo.
  • Pokračuj na svém PC. Chceš rychlejší cyklus úprav a spuštění nebo vlastní grafické soubory? Spusť stejnou hru v desktopovém simulátoru: jeden git clone, pak python3 sim/run.py.
  • Uč se krok za krokem. Tutoriály postaví Breakout, pak střílečku a nakonec RPG, vždy jedna nová myšlenka na krok.
  • Pochop princip enginu. Jak picogame funguje vysvětlí engine za pět minut, aby další věci dávaly smysl.
  • Dej to na zařízení. Až budeš připravený na hardware, viz Spuštění na hardwaru.