Ingyenes PICO-8 Játékfejlesztés Mini Kurzus

Szia! 👋 Ez a kurzus arra való, hogy pár óra alatt megtanuld a PICO-8 alapjait, és felkészülten érkezz a szeptemberi szegedi PICO Game Jam-re. Nem kell hozzá előzetes programozói tudás – csak kedv a kísérletezéshez. Nézd végig sorban a videókat, kódolj velük együtt, és a végén már a saját, működő játékodat fogod tesztelni PICO-8-ban.


Tipp: Minden videónál bekapcsolható angol felirat, sokuknál magyar is.

Mi az a PICO-8?

A PICO-8 egy úgynevezett „fantasy console” – egy retro stílusú játék fejlesztő és futtató eszköz, amiben minden egy helyen van: kódot írsz, pixel art grafikát rajzolsz, zenét és hangeffekteket csinálsz, majd az egészet egyetlen fájlba (.p8 vagy .p8.png) mentheted el, amit bárki ki tud próbálni az online education edition-el.


Miért PICO-8-at tanuljak kezdő játékfejlesztőként?

Mert gyorsan látod az eredményt, és nem veszel el a beállítások és motor-funkciók dzsungelében. A PICO-8 korlátai (kis felbontás, kevés szín, karakterlimit a kódban) pontosan azért jók kezdőknek, mert lehetetlen bennük elveszni – csak alkotni lehet.


PICO-8 Játékfejlesztés alapjai

Ez a szekció a kurzus gerince. Nyisd meg mellette a PICO-8-at (Az Education Edition ingyenes, online és mindent tud, ami nekünk kell), és próbáld ki amit bemutatnak!

Gyors áttekintés

Így tanulj hatékonyan játékfejlesztést: Everything You Need To Start Making Games (As A Beginner)

PICO-8 használata részletesen

LUA Programozás

Mi az a forráskód?

Függvények és Argumentumok

PICO-8 alap Függvények

If elágazás

Függvény visszatérési érték

For ciklus

Tables (Objektumok vagy struktúrák)

Tipp: Ebben a videóban még részletesebben és érthetően bemutatják a LUA nyelvet: Learn to code with Lua!

Sprite-ok

Tipp: Ha bővebben is érdekel a PICO-8 programozása, Nerdy Teachers csinált róla egy részletes ingyenes kurzus: PICO-8 Course – Coding Introduction


Game & Visual Design

Egy jó játék nem csak jól működik, hanem jól is néz ki. Nézd meg, hogyan tervezz frappáns pixel art grafikát és pályákat.

Pixel Art

Map Tile Design


Kollaboratív programozás

Ha csapatban dolgoztok, hamar szembesültök egy problémával: mindenki ugyanazon az egyetlen szöveges fájlon szeretne dolgozni egyszerre (a PICO-8 játék tulajdonképpen nem más, mint egy szöveges fájl, benne a kóddal és a grafikával). Ha csak egymásnak küldözgetitek a fájlt, hamar káosz lesz belőle – ez egy évtizedek óta ismert probléma az IT-ban, amire több megoldás is létezik:

  • A programozóknak erre a profi megoldása a Git, de azt elég komplikált gyorsan megtanulni.
  • A Google egyszerű megoldása a Docs – mindenki ugyanazt a dokumentumot szerkeszti élőben.
  • Vannak Google Docs-szerű, kifejezetten kódra kitalált online szerkesztők is, ahol élőben látod, ki mit csinál éppen.

Online eszközök (Ajánlott)

A gyakorlatban hogy néz ez ki?

Két bevált módszer, hogy csapatban hogyan érdemes PICO-8 kódot írni:

A) Élő, közös szerkesztés

  1. Csapattagok megbeszélik a kódnak ki melyik részén fog dolgozni. Ennek a szeparálására a tab-ok nagyon jók.
  2. Live Code Share rendszerben szerkesztik a kódot, így mindig mindenki látja ki min dolgozik.
  3. Teszteléshez letöltik, betöltik PICO-8-ba, majd futtatják a kódot.

Ennek a hátránya, ha valami nem jó, nem tudod te rontottál e el valamit, vagy a többiek valamit nem fejeztek még be. Előnye hogy folyton látni ki mit csinál.

B) Egyéni munka + szinkronizálás

  1. Csapattagok megbeszélik a kódnak ki melyik részén fog dolgozni. Ennek a szeparálására a tab-ok nagyon jók.
  2. Saját gépükön szerkesztik a kódot a résztvevők.
  3. Amikor kész vannak egy kis funkcióval, bemásolják a Live Code Share rendszerbe, majd letöltik és tesztelik a fent lévő kódot is.

Ennek előnye, hogy mindenki a saját tempójában, zavartalanul dolgozhat. Hátránya, hogy ha két ember ugyanazt a részt módosítja egyszerre, a frissítéskor felülírhatjátok egymás munkáját – ezért érdemes előre pontosan leosztani, ki melyik tab-on dolgozik.

A grafikát csakis PICO-8-ban tudjátok szerkeszteni, ezért azt egyszerre csakis egy ember szerkessze, aztán töltse fel a módosításokat a közös dokkumentumba.

Mindig beszéljétek meg éppen ki dolgozik épp a grafikán!

Profi, de komplikált eszközök

Kezdőknek nem ajánlott, csak ha már ismered, használod ezeket.

  • Veziókezelés: Git + GitHub
  • Kód szerkesztés: VS Code + PICO-8 bővítmények – How to Use VS Code with PICO-8
    • Realtime collaborative coding is megoldható vele a LiveShare bővítménnyel
  • AI integráció: GitHub Copilot vagy Cursor PICO-8 bővítményekkel tökéletesen működik
    • Más eszközökhöz LUA beágyazás kellhet a .p8 file-ba: #INCLUDE

Hatékony AI használat

Az AI lehet a legjobb programozó haverod, ha jól használod. Íme pár ajánlott eszköz:

Nagyon fontos hogy értse a kontextust

Egy AI csak annyira tud segíteni, amennyi információt kap tőled. Mielőtt kérdezel, mindig add meg neki:

  • Hogy PICO-8-ról és LUA-ról van szó – Ha nem mondod meg, nem mindig ismeri föl, hogy ez milyen játék motor. Akár a PICO-8 Manual-t is érdemes lehet neki megadni, hogy az alapján dolgozzon!
  • A teljes kódodat (vagy legalább az érintett tab-okat), ne csak egy kiragadott sort.
  • Mit szeretnél elérni, és mi történik jelenleg a kívánt működés helyett.
  • Hogy kezdő vagy – így egyszerűbb, jobban kommentezett kódot és magyarázatot fogsz kapni.

Példa Prompt-ok

  • „Ez a LUA kód egy PICO-8 játékban a karakter ugrását csinálja, de túl magasra ugrik. Itt a kód: [beillesztett kód]. Hogyan csökkentsem az ugrás magasságát anélkül, hogy elrontanám a gravitációt?”
  • „Kezdő vagyok PICO-8-ban. Írj egy egyszerű _update() és _draw() függvényt, ami egy 8×8-as sprite-ot mozgat a nyilakkal, és magyarázd is el soronként, mit csinál.”
  • „Hogyan tudok egyszerű ütközésvizsgálatot (collision detection) csinálni PICO-8-ban egy játékos és egy fal tile között, kezdőknek érthetően elmagyarázva?”
  • „Magyarázd el kezdőknek könnyen érhetően mit csinál az alábbbi PICO-8 kód!”


Segédanyagok


Feladat

1. Nézd meg az alábbi videót és közben programozd le a játékot!

2. Ha szeretnéd egészítsd ki a játékod további elemekkel!

  • Egyedi design: cseréld le a placeholder grafikát saját pixel art sprite-okra és tile-okra.
  • Camera Scrolling: ha a pálya nagyobb, mint a képernyő, mozgasd a kamerát a játékossal együtt.
  • Jobb irányítás: simítsd a mozgást (pl. gyorsulás, lassulás), hogy ne legyen „csúszós” vagy túl éles.
  • Láva: adj hozzá egy tile-t, ami sebzést vagy azonnali halált okoz, ha hozzáér a játékos.
  • Víz: adj hozzá úszást vagy lassabb mozgást a víz tile-okon.
  • Lövés: adj a játékosnak lövési képességet, pl. gombnyomásra induljon el egy lövedék.
  • Dash: adj egy gyors, rövid rásegítést a mozgáshoz, pl. gombnyomásra.
  • Ellenségek: adj hozzá egyszerű AI-t – mozgó vagy a játékost üldöző ellenfeleket.

3. Mentsd el .p8 formátumban a játékod

4. Ha a jelentkezésnél már kész van a játékod, csatold az űrlapohoz, ha még nincs, küldd el nekünk e-mail-ben: barna.gergely.hu@gmail.com


Gratulálunk, ha eddig eljutottál – ez már majdnem annyi tudás, amennyi a Game Jamen is kelleni fog! Ha elakadtál valahol, görgess vissza a Segédanyagok listához, vagy vesd be a fenti AI tippeket. Sok sikert, és találkozunk a PICO Game Jam-en Szegeden! 🎮