Skutečná grafika v tutoriálech (a vaše vlastní)
Každý tutoriál přibaluje bonus_art.py — hotovou závěrečnou hru přeskinovanou
skutečnou, volnou CC0 pixel artovou grafikou. Dokazují klíčovou myšlenku enginu:
grafika je ortogonální ke kódu. Udělejte diff bonus_art.py proti jeho step8/step9
a nezměnilo se téměř nic kromě bitmap.
| Tutoriál | bonus používá | z (CC0) |
|---|---|---|
| 01-bounce | cihlová zeď = CC0 cihlová textura přebarvená do 4 barev řádků (míček/pálka zůstávají generované) | Kenney Tiny Dungeon |
| 02-starship | loď (16 předrotovaných frames) + laserová střela | Kenney Pixel Shmup |
| 03-quest | tileset (podlaha/láva/sud/cihla/dveře/truhla) + hrdina + sliz + mince | Kenney Tiny Dungeon |
Spuštění jednoho:
python3 sim/run.py tutorials/03-quest/bonus_art.py --shot /tmp/out.pngPipeline: jakékoli PNG → picogame sprite
Sekce “Pipeline: jakékoli PNG → picogame sprite”tools/png2picogame.py promění PNG v drobný Python modul vystavující bitmap(pg):
python3 tools/png2picogame.py hero.png -o hero_art.py --frames 8poté ve hře:
import hero_arthero = pg.Sprite(hero_art.bitmap(pg), x, y) # drop-in replacement for any shp.*()Možnosti:
--frames N— PNG je horizontální pruh N stejně širokých frames (zleva→doprava).--tile WxH— PNG je mřížka W×H tiles; přepakuje je do horizontálního atlasu (použij pro mřížkové listy; počet výstupních frames = počet tiles).- formát je automatický (PAL8 pokud ≤256 barev, jinak RGB565); transparentnost pochází z alpha kanálu PNG (alpha ≥128 = neprůhledné); barvy se vydávají v pořadí ST7789 wire order.
Pravidla rozvržení (aby to prostě fungovalo)
Sekce “Pravidla rozvržení (aby to prostě fungovalo)”- Horizontální pruh, stejně široké frames. (Mřížky: použij
--tile WxH, nebo v Aseprite exportuSheet Type: Horizontal, Trim OFF.) - Transparentnost = alpha kanál (jeden zapnuto/vypnuto klíč, žádné prolínání). Tvrdé hrany pixelů; vyhni se měkké/antialiasované alpha — kvantizuje se špatně.
- Tilesety: engine kreslí hodnotu tile
vjako framev, takže udělej frame 0 prázdný/transparentní a své tiles dej na 1, 2, 3… (přesně takbonus_artmapuje hodnoty mapy na skutečné tiles). - Rotace: engine žádnou nemá — napeč rotace do frames. Loď ze Starship je Kenney sprite
rotovaný do 16 frames offline (viz, jak skripty na straně
tools/staví pruh), a pakship.frame = angle.
Použití vlastní grafiky z Aseprite
Sekce “Použití vlastní grafiky z Aseprite”File → Export Sprite Sheet → Sheet Type: Horizontal, Trim OFF, Padding 0 → to je
přesně ten pruh, který png2picogame chce. Navrhuj v režimu Indexed s malou paletou
(nebo RGBA s průhledným pozadím). Animační Frame Tags mohou řídit rozsahy frames.
Kde získat víc (zdarma)
Sekce “Kde získat víc (zdarma)”- kenney.nl — vše CC0, bez nutnosti uvádět autora. (Použili jsme Pixel Shmup + Tiny Dungeon.)
- Přebarvování CC0 grafiky je povolené a často nejrychlejší řešení: cihly z Bounce jsou jeden šedý tile z Tiny Dungeon vynásobený do 4 barev — textura skutečné grafiky, paleta jakou chceš.
- itch.io (filtr CC0), OpenGameArt (filtr CC0). Vyhni se grafice pod CC-BY-SA / GPL.
- Kompletní přehled najdeš v poznámce projektové paměti „picogame art sources“.
Licencování / kredity
Sekce “Licencování / kredity”Veškerá přibalená grafika je CC0 (volné dílo, není vyžadováno uvádění autora). Zdrojová
PNG, která jsme použili, žijí v assets/kenney/ se souborem assets/kenney/CREDITS.txt.
I u CC0 je slušnost ponechat poznámku s kredity, když hru zveřejníš.