Přeskočit na obsah

Desktopový simulátor

Ve webovém Playgroundu si můžeš picogame vyzkoušet přímo v prohlížeči. Desktopový simulátor nabízí stejné API hry na počítači a hodí se pro práci s místními soubory, převedenou grafikou PNG, automatické ukládání snímků a skriptované běhy z příkazové řádky.

Je součástí repozitáře (sim/). Naklonuj picogame a máš všechno: simulátor, hry i pomocníky picogame_*.

Terminal window
git clone https://github.com/MakerClassCZ/picogame
cd picogame

Režim bez okna, který vykreslí snímky a uloží výsledný obrázek, funguje rovnou. Pro interaktivní okno nainstaluj pygame:

Terminal window
pip install pygame

Hraj v okně (výchozí, když je nainstalovaný pygame; při startu vypíše ovládání):

Terminal window
python3 sim/run.py demos/picogame_flappy.py

Vykresli několik snímků bez okna a ulož výsledný obrázek pro dokumentaci, testy nebo CI:

Terminal window
python3 sim/run.py demos/picogame_flappy.py --frames 80 --shot shot.png
Přepínač Co dělá
--backend pygame / pil vynutí interaktivní okno / běh bez okna. Ve výchozím nastavení se otevře okno, pokud je pygame nainstalovaný; jinak běží simulátor bez něj. --shot a --profile také okno neotevírají.
--frames N vykreslí N snímků a skončí (výchozí 150)
--shot FILE uloží PNG posledního snímku
--hold RIGHT,A drží tyto klávesy po celý běh, takže hru řídíš bez klávesnice
--keys 20:A:2,40:RIGHT,60:-RIGHT skriptovaná časová osa vstupu: snímek:TLAČÍTKO stiskne a drží, snímek:-TLAČÍTKO pustí, snímek:TLAČÍTKO:n ťukne na n snímků (1–2snímkový ťuk je to, co potřebuje just_pressed)
--fast přeskočí realtime spánek mezi snímky (dt zůstává nominální) — soak na 3600 snímků doběhne za vteřiny
--shot-at N pořídí --shot screenshot na snímku N místo posledního
--shots N pořídí N snímků rozložených po celém běhu do JEDNOHO kontaktního archu (jméno určí --shot) a řekne, jestli se mezi nimi obraz mění — zamrzlá hra nebo hra, která pořád stojí na titulní obrazovce, vypadá na jediném screenshotu dobře, tady je to vidět. Když běh spadne, zapíšou se snímky, které stihl.
--profile vypíše časování fází + report trvale držených alokací (warm-up vs druhá polovina běhu)

V živém okně: šipky nebo WASD pohyb; F (nebo Ctrl) = A, G (nebo Space) = B, R/Q = X, T/E = Y.

Oba nabízejí stejné API směrem ke hře, takže stejný kód hry běží v obou. Pod kapotou se ale liší (prohlížeč spouští nativní C modul zkompilovaný do WASM; desktopový simulátor je referenční implementace v Pythonu), takže časování, chování RAM, zvuk a efekty panelu jsou jen aproximace — tyhle věci si ověř na zařízení.

Webový Playground Desktopový simulátor
Nastavení žádné, běží v prohlížeči naklonovat repo (plus pygame pro okno)
Nejlepší na vyzkoušení nápadu, sdílení odkazu, první kroky soubory s grafikou, snímky bez okna, automatizaci z příkazové řádky, místní vývoj
Grafika tvary generované kódem vlastní PNG a převedená grafika

Až hra běží dobře, zkopíruj ji na desku a ověř časování, ovládání, zvuk a spotřebu paměti. Viz Spuštění na hardwaru.