Spiludvikling er en kompleks proces. Udover at skrive kode, skal udvikleren også finde en måde at inkorporere lyd, musik, grafik og logik på en sammenhængende måde.
PICO-8-spilmotoren fjerner kompleksiteten og lader udvikleren fokusere på de mest essentielle aspekter af den idé, de ønsker at udføre.
I denne artikel vil vi undersøge, hvad der er unikt ved PICO-8-spilmotoren, og hvordan den giver udviklere mulighed for at fremvise deres kreativitet på trods af det begrænsede medie.
Hvad er PICO-8-konsollen?
Når du spiller et PICO-8-spil, kan du afvise det som en emulator for en retro konsol fra 1980'erne. Pixelkunsten og 8-bit musik og lydeffekter kan endda give dig en smule nostalgi.
Du kan blive overrasket over at finde ud af, at PICO-8 blev udgivet i 2015. Faktisk var PICO-8 aldrig en konsol til at begynde med!
PEAK-8 er en virtuel spilmotor skabt af Lexaloffle Games.
Spilmotoren er en emulator til en fiktiv videospilkonsol. Ligesom almindelige konsoller har PICO-8 sit eget sæt af maskinspecifikationer, visningsformat og udviklingsværktøjer.
Den eneste forskel er, at PICO-8 faktisk ikke eksisterer i den virkelige verden.
Hvorfor skulle der være interesse for en fantasy-konsol?
Fantasy-konsoller såsom PICO-8 og TIC-80 give udviklere en chance for at skabe programmer med en eller anden form for begrænsning.
Populære videospilmotorer såsom Unity giver udvikleren mulighed for at skabe ethvert spil, de ønsker. Selvom dette er godt i praksis, efterlader det udvikleren med snesevis af beslutninger at træffe.
Begrænsningerne for en fantasy-konsol som PICO-8 giver udviklere miljøet til at blive mere kreative. For eksempel behøver PICO-8-udviklere ikke tænke på, hvilken opløsning de skal gengive deres spil. Hvert spil fungerer med en opløsning på 128×128.
På samme måde giver den begrænsede palet med 16 farver spildesignere en begrænsning, der fremtvinger ensartede farveskemaer.
Programmering i PICO-8
Programmering i PICO-8 kan også være bekendt for brugere, der har arbejdet med programmeringssproget Lua. Implementeringen af Lua inkluderet i PICO-8 er dog kun en delmængde af den faktiske programmeringssprog.
PICO-8 begrænser også, hvor meget kode du må skrive for hvert program.
Hver vogn må højst indeholde 8192 tokens. Tokens kan være en variabel, streng, operator eller nøgleord.
For eksempel koden a=1
indeholder tre tokens.
Denne begrænsning tvinger udviklere til at finde mere effektive måder at kode deres spil på.
PICO-8 vogne
Hvert PICO-8-spil kan deles gennem en spilpatron eller kort sagt "vogn".
Disse digitale spilpatroner er faktisk kun billeder. Hver vogn indeholder alle spillets oplysninger.
Hvordan bliver et helt spil gemt i et enkelt billede?
PICO-8 bruger en steganografisk proces til at gemme data i et PNG-billede. Hver PICO-8 byte er lagret i de to mindst signifikante bits af hver af de fire kanaler. Da hvert billede har en dimension på 160×205 pixels, kan hvert billede indeholde op til 32,800 bytes spildata.
Hver PICO-8 spilfil indeholder data om programkode, grafik, lyd og musik. Du kan bruge software som f.eks picotool at gennemse de data, der findes i enhver PICO-8-vogn.
PICO-8 Fællesskab
PICO-8 har et aktivt fællesskab af programmører og videospiludviklere. Mange af disse udviklere blev tiltrukket af ideen om at udvikle et videospil under retro-konsol-lignende begrænsninger.
Du kan gennemse tusindvis af forskellige spil på officiel hjemmeside. Disse spil spænder fra bare-bones proof of concepts til fuldgyldige spil, der kunne være blevet kommercielt udgivet på en egentlig konsol.
PICO-8-fællesskabet frigiver også det meste af deres arbejde under en open source-licens. Brugere kan tage et kig på, hvordan andre mennesker programmerer deres spil.
Game jams og samarbejder er også stærkt opmuntret. Faktisk en spil jam i 2016 førte til udviklingen af det meget populære platformspil Celeste.
Nøglefunktioner
Her er nogle af de vigtigste funktioner, som PICO-8 spilmotoren tilbyder.
- Spilmotoren inkluderer værktøjer til redigering af kode, musik og sprites indbygget i konsollen
- PICO-8 er cross-platform kompatibel.
- Hver PICO-8-vogn kan have op til 64 lyde. Lydeditoren lader dig styre frekvensen, instrumentet og lydstyrken for hver tone, der bruges til hver lydeffekt
- PICO-8 giver dig mulighed for at have 256 8×8 sprites.
- Konsollen giver mulighed for to 6-knaps controllere via et tilsluttet tastatur.
- PICO-8's Lua programmeringssprogsimplementering giver udviklere grundlæggende programmeringsfunktioner såsom variabler, funktioner, loops og tabeller.
- Brugere kan også skrive kode i en ekstern editor, hvis det er nødvendigt
Fordele og ulemper ved at udvikle i PICO-8
FORDELE
- PICO-8 er lille og nem at installere.
- Begrænsninger tvinger udvikleren til at skrive effektivt.
- Programmeringssprog er nemt at lære
- De fleste PICO-8-spil er open source, hvilket giver dig mulighed for at lære af PICO-8-fællesskabet.
ULEMPER
- Begrænset til 2D spiludvikling
- PICO-8 koster i øjeblikket $15 at spille
- Mangel på biblioteker betyder, at du muligvis skal kode grundlæggende funktioner fra bunden
- Manglende kodefuldførelse og automatisk indrykning
Oprettelse af et prøveprogram
I dette afsnit gennemgår vi, hvad brugeren vil opleve, når de opretter deres første spil.
Efter at have installeret spillet i dit valgte OS, er åbning af PICO-8-programmet så simpelt som at klikke på PICO-8-genvejsikonet.
Brugeren vil blive mødt med en kort animation efterfulgt af PICO-8-konsolskærmen.
Type PRINT(“HELLOWORLD”)
ind i konsollen og tryk på Enter. Tillykke, du har lige udført dit første PICO-8-program.
Lad os begynde at skabe et nyt projekt. Indtast kommandoen i konsollen SAVE <program_name>
.
For at åbne et projekt skal du skrive LOAD <PROJECT_NAME>.p8
Tryk på Esc-tasten for at gå ind i PICO-8-kodeeditoren. I nederste højre hjørne kan du holde styr på, hvor mange tokens der er tilbage, der skal bruges i din kode.
PICO-8 understøtter brugen af variabler.
Brugere kan også definere funktioner, som de kan kalde andre steder i programmet.
PICO-8 understøtter også brugen af tabeller. Udviklere, der er fortrolige med Lua, husker muligvis, at tabeller er de eneste databeholdere, der er tilgængelige i Lua-programmeringssproget.
PICO-8 inkluderer en indbygget spilløkke, der kører 30 gange i sekundet. Både funktionen _update() og _draw() er nødvendig for at løkken kan udføres.
PICO-8s indbyggede sprite-editor hjælper dig med at designe udseendet af dine sprites i spillet og baggrundskunst. Editoren giver også brugeren mulighed for at indstille animationscyklusser til hver af deres aktiver.
I konsollen kan vi skrive kommandoen RUN efter indlæsning af spillet for at starte en forekomst af programmet.
Vi har dækket lidt af, hvad der er muligt i PICO-8. Jeg anbefaler stærkt at gennemse officiel dokumentation og community wiki for at lære mere om motoren.
Jeg anbefaler også at kigge igennem PICO-ATE, en hub af væsentlige guider og ressourcer kompileret af udvikleren Andrew Reist.
Konklusion
Jeg kan relatere skrivespil i PICO-8-konsollen til at skrive en haiku. Haikuens stramme struktur giver digteren udfordringen at formidle et koncept på kun tre linjer og sytten stavelser. På samme måde udfordrer PICO-8 udvikleren til at skabe en oplevelse givet et begrænset antal kode, grafik og lyde.
PICO-8 er måske ikke egnet til at skabe de seneste triple-A-titler, men det var aldrig ment til det.
Motoren skinner i at give begynderudviklere en chance for at udforske udfordringerne ved spildesign og -udvikling. PICO-8 er enkel nok til, at folk, der er helt nye til spiludvikling, kan begynde at bruge.
Men ved at gennemse de spil, der er lavet af fællesskabet, har jeg set, at PICO-8 også er en måde for erfarne spiludviklere at udfordre sig selv på.
Er du interesseret i at prøve PICO-8?
Giv en kommentar