Slik lager du et ekte Game Boy Advance-spill med AI (og spiller det på ekte maskinvare)
Også på: English · Español · Deutsch · Français · Português · Italiano · Nederlands · Svenska · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · Русский · 日本語 · 한국어 · 繁體中文
For å lage et Game Boy Advance-spill med AI åpner du Shiny Gen (i en nettleser på shinygen.ai/play, eller appen på iPhone, iPad og Android), starter et nytt spill, velger GBA-motor og beskriver spillet du vil ha. AI-agenten skriver spillet, kompilerer det til en ekte GBA-kassett, spiller det for å finne og rette feil, og du laster ned .gba-ROM-en, noe som krever ett hvilket som helst kjøp, fra en startpakke til $2.99. ROM-en kjører i GBA-emulatorer og på en ekte Game Boy Advance med et flash-kort.
Denne veiledningen går gjennom det steg for steg, og tar så for seg hva slags spill som fungerer godt, de ærlige begrensningene og spørsmålene folk stiller oftest.
Hva GBA-motoren er
GBA-motoren er en motor vi har skrevet som kompilerer nye spill fra prompten din. Den er ikke en emulator og ikke en ROM-laster: GBA-, GBC-, N64-, GameCube- og DS-motorene kompilerer spill du lager i Shiny Gen, og kan ikke spille kommersielle ROM-er eller ROM-er fra tredjeparter.
Spillet ditt skrives i et lite C-lignende språk (filen heter main.sgba). Shiny Gen kompilerer det til ARM-maskinkode på din egen enhet, pakker grafikken og lyden din inn i kassetten og spiller den kassetten. Det finnes ingen egen forhåndsvisningsversjon: spillet du spiller i appen, er selve kassetten.
Dette trenger du
- En moderne nettleser, eller Shiny Gen-appen fra App Store eller Google Play.
- En gratis Shiny Gen-konto. Nye kontoer starter med gratis edelstener, som er det AI-en bruker.
- For å laste ned ROM-en: ett hvilket som helst kjøp, fra en startpakke til $2.99.
- For å spille på ekte maskinvare: en Game Boy Advance og et GBA-flash-kort. Emulatorer trenger ingenting annet.
Steg for steg
1. Start et nytt spill og velg GBA-motoren
Trykk på +-knappen. Under Agent i appen velger du Ny. Den neste skjermen heter Velg en motor: velg GBA-motor.
Et nytt GBA-spill åpnes i redigeringsverktøyet. Det starter som en tom kassett med vilje, med en tom init() (kjører én gang) og frame() (kjører seksti ganger i sekundet), så agenten bygger det du beskriver, i stedet for å redigere en mal du ikke ba om.

2. Beskriv spillet
Åpne Agent-fanen nederst i redigeringsverktøyet og skriv det du vil ha i Chat-visningen. En nyttig første melding sier hva slags spill det er, hva spilleren gjør, kontrollene (GBA har en D-pad, A, B, L, R, Start og Select), målet og utseendet.
For eksempel: "Lag et eventyr sett ovenfra på GBA. En rev utforsker en skog, snakker med landsbyboere i tekstbokser og samler fem lykter. D-pad for å gå, A for å snakke, Start for pause. Lagre fremgangen når spilleren hviler ved et leirbål."
Knappen ved siden av skrivefeltet velger modellen, og den innebygde agenten faktureres i edelstener etter faktisk bruk.
3. Se agenten bygge og teste det
Agenten vet at den jobber med en kassett. Den leser språkreferansen for GBA, skriver koden og bygger den. Hvis byggingen feiler, sier kompilatoren hva og hvor (linje, kolonne og hva du skal skrive i stedet), og agenten retter det. Så spiller den spillet selv:
- Kjører kassetten og leser byggerapporten, også hvor full kassetten er.
- Tar skjermbilder av skjermen på 240 x 160 for å sjekke hva som faktisk tegnes.
- Trykker på knappene (A, B, L, R, Start, Select og D-paden) for å spille det den har bygd.
- Leser tilbake verdier som spillet rapporterer, så den kan se at helten flyttet seg eller at poengsummen gikk opp, i stedet for å gjette.
- Retter det som er ødelagt og prøver igjen.
Den kan også lage grafikken og lyden: sprites, bakgrunner og musikk, som legges inn i kassetten etter navn. Generering av ressurser bruker edelstener.
4. Endre det ved å snakke med den
Når den første versjonen kjører, fortsetter du i den samme chatten. Små, konkrete ønsker fungerer best: "Legg til en tittelskjerm", "Gjør det andre området til en hule med mørkere farger", "Tekstboksen blir stående åpen etter at jeg går vekk; lukk den." Si hva du så i stedet for å gjette på årsaken; agenten kan gjenskape det ved å spille spillet.
Du kan også åpne Kode-visningen og redigere main.sgba selv. Å redigere koden for hånd koster ingenting, og en bygging bytter inn den nye kassetten uten at du mister lagringen din.
5. Spill det i appen
Spillet spilles rett i redigeringsverktøyet og fra spillets kort. På en mobil eller et nettbrett ligger kontrollene på skjermen: en D-pad til venstre, A og B til høyre, og L, R, Start og Select rundt dem. På en datamaskin spiller du med tastaturet: piltastene, Z for A, X for B, A og S for L og R, Enter for Start og Shift for Select. En spillkontroller fungerer også, og du kan tilordne knappene på nytt i kontrollerinnstillingene.
Spillet lagrer til sin egen batterilagring, slik en kassett gjør, så du kan gå ut og komme tilbake dit du var.

6. Last ned ROM-en
Trykk Del, og deretter Export .gba ROM. Eksport krever ett hvilket som helst kjøp, fra en startpakke til $2.99; knappen vises for alle eiere, og uten kjøp sender den deg til butikken i stedet. Knappen finnes for spill du eier.
Før du får filen, bygger Shiny Gen kassetten på nytt hvis noe er endret, starter den så i en ny emulator og sjekker at den kommer opp. Du får en .gba-fil med navn etter spillet ditt. ROM-en åpner med en kort Shiny Gen-startskjerm, og lagringen din er ikke med, så en kopi du gir til noen, starter fra begynnelsen.
Hvor filen havner, avhenger av enheten: en vanlig nedlasting i en nettleser, og Arkiver i Filer-arket i appen for iPhone og iPad. Android-appen kan ikke lagre filen ennå; åpne spillet på shinygen.ai i en nettleser på mobilen eller datamaskinen for å laste det ned, noe som krever det samme ene kjøpet.

7. Spill det på ekte maskinvare
Et flash-kort er en GBA-kassett med et spor for minnekort i stedet for ett fast spill. Du kopierer ROM-filer over på kortet, og kassetten viser en meny med dem når konsollen slås på. Vi har spilt ROM-er laget på denne måten på en ekte Game Boy Advance og en Nintendo DS Lite, lagring inkludert.
De generelle stegene (håndboken til kassetten din har de nøyaktige):
- Kopier
.gba-filen over på SD- eller microSD-kortet til kassetten. Noen kassetter trenger også sine egne systemfiler på kortet først. - Sett kortet i kassetten og kassetten i Game Boy Advance.
- Slå den på og velg spillet ditt fra menyen på kassetten.
Noen kassetter spør om en lagringstype for hvert spill. ROM-ene våre bruker 128 KB (1 Mbit) flash-lagring og oppgir det inne i ROM-en, som er slik flash-kort og emulatorer vanligvis oppdager det av seg selv. Hvis kassetten spør, velg 128 KB eller 1M flash. Lagring fungerer da på kassetten slik den gjør på en original kassett.
For å spille uten maskinvare kan en hvilken som helst GBA-emulator åpne filen: for eksempel mGBA på en datamaskin, eller Delta på en iPhone.
Hva slags spill som fungerer godt
GBA-spillene i katalogen vår viser bredden. Du kan spille alle gratis i nettleseren, og remikse hvilket som helst av dem til din egen kopi som du endrer med agenten:
- Rollespill der du samler monstre: Shiny Monsters Advance, med en by, tekstbokser og monsterkamper. Det bytter og kjemper med monstre mot de andre Shiny Monsters-spillene over internett.
- Racing med et roterende "Mode 7"-gulv: Shiny Kart Advance, åtte førere på tre baner.
- Arkade: Shiny Pinball, et flipperspill i verdensrommet.
- Action og overlevelse: Shiny Swarm, der våpnene skyter av seg selv og du holder stand mot bølger av fiender.
- Små, rolige spill: Spark Garden og Ember Courier.

Generelt fungerer spill som passer maskinen best: eventyr og rollespill sett ovenfra, plattformspill, puslespill, skytespill, racing på et roterende gulv og alt som er bygd av fliser og sprites. Motoren støtter rullende lag, sprites som roterer og skaleres, gjennomsiktige effekter, tekstbokser, musikk og lydeffekter.
Begrensninger
GBA-motoren har de samme grensene som den ekte maskinen, og noen ting er ikke bygd ennå:
- Maskinens egne grenser. En skjerm på 240 x 160; opptil 128 sprites samtidig, hver på maks 64 x 64 piksler; farger i paletter på 16; 256 KB arbeidsminne til spillets data. Det finnes ikke flyttall, så posisjoner bruker fastkommatall. Hver bygging rapporterer hvor fullt hvert budsjett er, så du ser en grense komme før du når den.
- Ingen 3D. En GBA tegner 2D-fliser og sprites. "Mode 7"-gulvet gir racingspill et 3D-preg, men det er et rotert og skalert 2D-bilde.
- Bare nye spill. Den kan ikke åpne eller spille en ROM som noen andre har laget, og du kan ikke importere en ROM for å redigere den.
- Ingen linkkabel på maskinvare ennå. Bytte og kamper mellom Shiny Monsters-spillene fungerer over internett i Shiny Gen. Spill over en ekte linkkabel mellom to konsoller er ikke bevist, så det lover vi ikke.
- Lagringen blir hos deg. ROM-en har ikke med fremgangen din, og Shiny Gen tar vare på lagringen i appen på kontoen din.
- Nedlasting krever et kjøp, og Android-appen kan ikke lagre filen ennå. Eksport av ROM-en krever ett hvilket som helst kjøp, fra $2.99; på Android laster du den ned fra en nettleser.
De andre retromotorene
GBA er en av fem retromotorer vi har skrevet, og alle fungerer på samme måte: velg motoren, beskriv spillet, så bygger og tester agenten det. GBC lager en Game Boy Color-ROM, N64 en N64-ROM, GameCube en .dol-fil og DS en .nds-fil med to skjermer, og eksport av hvilken som helst av dem krever det samme ene kjøpet, fra $2.99. Vil du heller ha et moderne 2D- eller 3D-spill, er Godot-motoren det sjette valget på den samme skjermen. Se hvordan Shiny Gen er sammenlignet med andre AI-spillskapere.
Vanlige spørsmål
Kan AI lage et Game Boy Advance-spill?
Ja. I Shiny Gen velger du GBA-motoren og beskriver spillet; AI-agenten skriver koden, kompilerer en ekte GBA-kassett, spiller den med knappene for å finne feil og retter dem. Du kan laste ned .gba-ROM-en etter ett hvilket som helst kjøp, fra $2.99.
Er det en ekte GBA-ROM?
Ja. Det er et standard .gba-kassettbilde, kompilert til ARM-maskinkode, med et gyldig kassetthode. Shiny Gen starter hver ROM i en ny emulator før du får den, og vi har spilt disse ROM-ene, lagring inkludert, på en ekte Game Boy Advance og en DS Lite med et flash-kort.
Kan den spille Pokemon eller andre kommersielle ROM-er?
Nei. GBA-motoren er ikke en emulator og ikke en ROM-laster. Den kompilerer nye spill som du lager i Shiny Gen, og kan ikke spille kommersielle ROM-er eller ROM-er fra tredjeparter.
Må jeg kunne kode?
Nei. Du beskriver spillet, og agenten skriver og tester koden. Hvis du vil, kan du lese og redigere koden i Kode-visningen; å redigere den for hånd koster ingenting.
Kan jeg selge et GBA-spill jeg har laget?
Ja. Du eier det du lager, og Shiny Gen tar ingen andel av inntektene (vilkårene for bruk, del 4). Du kan selge selve ROM-filen; å eksportere den krever ett hvilket som helst kjøp, fra $2.99.
Hvilke enheter fungerer ROM-en på?
GBA-emulatorer, som mGBA på en datamaskin eller Delta på en iPhone, og ekte maskinvare med et flash-kort. Vi har testet den på en Game Boy Advance og en Nintendo DS Lite, lagring inkludert, og den skal fungere på alle konsoller og håndholdte enheter som spiller GBA-kassetter, som Game Boy Advance SP.
Hvilken lagringstype bør jeg velge på flash-kortet?
128 KB (1 Mbit) flash. ROM-en oppgir det, så kassetter og emulatorer finner det vanligvis uten å spørre.
Er det gratis?
Å lage, spille og dele spill er gratis. AI-generering og den innebygde agenten bruker edelstener, og nye kontoer får gratis edelstener. Nedlasting av ROM-en krever ett hvilket som helst kjøp, fra en startpakke til $2.99. Hele listen finner du på prissiden.