Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

24a2 er en veldig enkel, men fullt operativ, spillmotor for JavaScript-programmerere. Den har et uvanlig utseende og følelse, men du kan bruke den til å lære det grunnleggende om spillprogrammering.

Med støtte for en spillløkke, fargerik grafikk og enkel inngang, har 24a2 alt du trenger for å lage små spill med minimal innsats.

Sjekk ut 24a2 og start reisen mot full spillutvikling i dag.

Hva er 24a2?

24a2 er en liten, åpen kildekode-motor som hjelper deg å bygge grunnleggende spill. Det er veldig enkelt å lære, og alt du trenger for å begynne å bygge spillene dine er en nettleser og et tekstredigeringsprogram.

24a2 har fått navnet sitt fra oppløsningen: 24 x 24. Selv sammenlignet med andre minimalistiske motorer som PICO-8, med sin 128 x 128 oppløsning, er dette bitte lite! 24a2 bruker sirkulære "piksler", med store mellomrom mellom dem, så det ser ganske særegent ut.

instagram viewer

Du kommer sannsynligvis ikke til å bruke 24a2 for å komme opp med det neste storslåtte videospillet, men det er egentlig ikke poenget. 24a2 er perfekt for nybegynnere, og du kan bruke den til å lære noen av de grunnleggende konseptene bak spillutvikling.

Det er også flott for prototyping av et kjernekonsept. Hvis du oppdager at du blir distrahert av kompleks spillfysikk eller sprite-animasjoner, bør det å fjerne alt dette hjelpe deg med å fokusere.

Dessuten er 24a2-kildekoden en enkelt TypeScript-fil. Du kan bruke den til inspirasjon, eller til og med endre den, for å lage din egen, mer avanserte spillmotor.

Hvordan bruker du 24a2?

Start med en grunnleggende mal for spillet ditt:

<html>
<hode>
<manus
src=" https://cdn.jsdelivr.net/gh/jamesroutley/24a2/build/engine.js">
manus>
<manussrc="game.js">manus>
hode>
<kropp>kropp>
html>

Legg merke til hvordan dette bruker et innholdsleveringsnettverk (cdn.jsdelivr.net) for å kilde engine.js fil, så du trenger ikke engang å laste ned eller installere noe.

Det andre manuset, game.js, er for din egen spillkode. Start med det absolutte minimumsarbeidskoden, for å sjekke at alt fungerer som det skal:

nytt spill({}).run();

Dette lille programmet vil vise standard 24a2 rutenettet i nettleseren din:

Deretter vil du gjøre deg kjent med 24a2s tilbakeringingsfunksjoner som utgjør kjernen i motoren. Disse konseptene kan overføres på tvers av spillmotorer, så å lære hvordan de fungerer vil være til nytte for deg utover bruken av 24a2.

Det er en håndfull viktige funksjoner som du kan definere og sende til Game()-konstruktøren via en konfig gjenstand.

la config = {
skape: skape,
oppdatering: oppdatering,
onKeyPress: onKeyPress,
onDotClicked: onDotClicked
};

la spill = ny Spill (konfigurasjon);
game.run();

24a2 kaller opp funksjonen du spesifiserer i config.create når den starter opp. Du kan bruke dette til å initialisere spillets egen konfigurasjon, sette opp datastrukturer osv.

funksjonskape(spill) {}

Oppdateringsfunksjonen kjører med jevne mellomrom under spillets varighet. Dette er hovedspillsløyfen som i andre motorer vanligvis består av separate trinn for å oppdatere spillstatus og tegne skjermen på nytt. Med 24a2 vil du håndtere begge operasjonene i denne funksjonen.

funksjonOppdater(spill) {}

Til slutt, for å fange inn input, vil du håndtere piltasttrykk, museklikk eller begge deler. 24a2 sender en retning til onKeyPress-funksjonen når spilleren trykker på en piltast. Den sender x- og y-koordinatene til onDotClicked hvis de klikker på en prikk med musen.

funksjononKeyPress(retning) {}
funksjononDotClicked(x, y) {}

Hva slags spill kan du lage med 24a2?

De 24a2 nettsted inneholder tre eksempelspill inkludert en veiledning. De andre den viser frem er et enkelt Snake-spill og en skiutfordring.

De GitHub-depot inkluderer lenker til noen andre spill, inkludert Space Invaders, Tic-Tac-Toe og et minimalt Paint-program. You Killed a Bear er mer avansert, og Maze Craze er en god demonstrasjon av hvordan du legger ekstra grafikk på toppen av standardrutenettet.

24MadRush er en Tetris 'klone' som gjør stor bruk av fargepaletten. Det starter også med en nyskapende spillbar opplæring som demonstrerer funksjonene.

De tekniske spesifikasjonene til 24a2-spill

24a2 er svært begrenset, etter design. Men dette gir en utmerket mulighet for kreativitet. En av beste tips for å være mer kreativ er å omfavne begrensninger.

I tillegg til den begrensede oppløsningen, begrenser 24a2 deg til:

  • En fargepalett med bare ni farger: de i regnbuen pluss svart og grått.
  • Veldig grunnleggende input: piltasttrykk og museklikk på prikkenettet.
  • Stillhet: det er ingen støtte for musikk eller lydeffekter overhodet.

Du kan imidlertid alltid skrive supplerende JavaScript-kode for å utvide spillet ditt utover disse begrensningene. Og siden motoren er åpen kildekode, står du fritt til å utvikle den på hvilken måte du måtte ønske.

Spør deg selv til større ting med 24a2

Prøv å teste deg selv med 24a2. Gjenskap et klassisk spill eller oppfinn et av dine egne. Turn-baserte spill, som brettspill, vil fungere veldig bra med motoren.

Hvis 24a2 tenner lidenskapen din for spillutvikler, er det mange muligheter til å fortsette reisen. PICO-8, Godot, Unity og GameMaker er alle populære valg.