Přeskočit na obsah

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álbonus používáz (CC0)
01-bouncecihlová zeď = CC0 cihlová textura přebarvená do 4 barev řádků (míček/pálka zůstávají generované)Kenney Tiny Dungeon
02-starshiploď (16 předrotovaných frames) + laserová střelaKenney Pixel Shmup
03-questtileset (podlaha/láva/sud/cihla/dveře/truhla) + hrdina + sliz + minceKenney Tiny Dungeon

Spuštění jednoho:

python3 sim/run.py tutorials/03-quest/bonus_art.py --shot /tmp/out.png

Pipeline: 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 8

poté ve hře:

import hero_art
hero = 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 exportu Sheet 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 v jako frame v, takže udělej frame 0 prázdný/transparentní a své tiles dej na 1, 2, 3… (přesně tak bonus_art mapuje 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 pak ship.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“.

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íš.