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
- 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.
- Live Code Share rendszerben szerkesztik a kódot, így mindig mindenki látja ki min dolgozik.
- 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
- 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.
- Saját gépükön szerkesztik a kódot a résztvevők.
- 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
- Official PICO-8 Manual – everything the engine can do.
- Official PICO-8 Forum – There are many Q&A conversations, so you can possibly find solutions for your problems too.
- PICO-8 Cheat Sheet – One page summary of the manual
- Tutorials by Nerdy Teachers – Collisions, movement, LUA basics, basic game mechanics
- Courses by Nerdy Teachers – They covered everything in a very understandable free course
- Pico-8 Game Dev Tutorials by SpaceCat – Simple and clever solutions for common game mechanics
- Tutorial Series by Lazy Devs – More advanced, very comprehensive tutorials to build full games
- A curated list of awesome PICO-8 resources, carts, tools and more · GitHub
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! 🎮