Start din Game Dev Journey med enkelheden i 24a2

Start din Game Dev Journey med enkelheden i 24a2
Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

24a2 er en meget grundlæggende, men fuldt operationel, spilmotor til JavaScript-programmører. Det har et usædvanligt udseende og følelse, men du kan bruge det til at lære det grundlæggende i spilprogrammering.





Med understøttelse af en spilløkke, farverig grafik og enkel input har 24a2 alt, hvad du behøver for at skabe små spil med minimal indsats.





Windows 10 computer vil ikke starte

Tjek 24a2 ud og start din rejse mod fuld spiludvikling i dag.





Hvad er 24a2?

24a2 er en lille open source-motor, der hjælper dig med at bygge grundlæggende spil. Det er meget nemt at lære, og alt hvad du behøver for at begynde at bygge dine spil er en webbrowser og en teksteditor.

24a2 tager sit navn fra sin opløsning: 24 x 24. Selv sammenlignet med andre minimalistiske motorer som PICO-8 , med sin 128 x 128 opløsning, er dette lille! 24a2 bruger cirkulære 'pixels' med store mellemrum mellem dem, så det ser ret karakteristisk ud.



  Et grundlæggende skispil med spilleren vist på en sti i midten af ​​to grønne områder.

Du vil sandsynligvis ikke bruge 24a2 til at komme op med det næste smash hit videospil, men det er egentlig ikke meningen. 24a2 er perfekt til begyndere, og du kan bruge den til at lære nogle af de grundlæggende koncepter bag spiludvikling.

Det er også fantastisk til prototyping af et kernekoncept. Hvis du opdager, at du bliver distraheret af kompleks spilfysik eller sprite-animationer, bør det hjælpe dig med at fokusere, hvis du fjerner alt det.





Hvad mere er, er 24a2-kildekoden en enkelt TypeScript-fil . Du kan bruge den til inspiration eller endda ændre den til at skabe din egen, mere avancerede spilmotor.

Hvordan bruger du 24a2?

Start med en grundlæggende skabelon til dit spil:





 <html> 
  <head>
    <script
      src="https://cdn.jsdelivr.net/gh/jamesroutley/24a2/build/engine.js">
    </script>
    <script src="game.js"></script>
  </head>
  <body></body>
</html>

Bemærk, hvordan dette bruger et indholdsleveringsnetværk (cdn.jsdelivr.net) til at hente engine.js fil, så du ikke engang behøver at downloade eller installere noget.

Det andet script, game.js , er til din egen spilkode. Start med den absolutte minimumsarbejdskode for at kontrollere, at alt fungerer korrekt:

new Game({}).run();

Dette lille program viser standard 24a2-gitteret i din webbrowser:

  Standard 24x24-gitteret af lysegrå cirkler, der udgør 24a2's playfield.

Dernæst vil du gerne gøre dig bekendt med 24a2s tilbagekaldsfunktioner, der udgør kernen i motoren. Disse koncepter kan overføres på tværs af spilmotorer, så at lære, hvordan de fungerer, vil gavne dig ud over din brug af 24a2.

Der er en håndfuld væsentlige funktioner, som du kan definere og videregive til Game()-konstruktøren via en config objekt.

 let config = { 
  create: create,
  update: update,
  onKeyPress: onKeyPress,
  onDotClicked: onDotClicked
};

let game = new Game(config);
game.run();

24a2 kalder den funktion, du angiver i config.create, når den starter op. Du kan bruge dette til at initialisere dit spils egen konfiguration, opsætte datastrukturer osv.

 function create(game) {}

Opdateringsfunktionen kører periodisk i løbet af dit spil. Dette er hovedspillets loop som i andre motorer normalt består af separate trin til at opdatere spiltilstand og gentegne skærmen. Med 24a2 vil du håndtere begge operationer i denne funktion.

 function update(game) {}

Til sidst, for at fange input, vil du gerne håndtere piletasttryk, museklik eller begge dele. 24a2 sender en retning til din onKeyPress-funktion, når afspilleren trykker på en piletast. Den sender x- og y-koordinaterne til onDotClicked, hvis de klikker på en prik med deres mus.

 function onKeyPress(direction) {} 
function onDotClicked(x, y) {}

Hvilken slags spil kan du oprette med 24a2?

Det 24a2 websted indeholder tre eksempelspil inklusive en tutorial. De andre, den viser, er et simpelt Snake-spil og en skiudfordring.

Det GitHub-depot indeholder links til nogle andre spil, inklusive Space Invaders, Tic-Tac-Toe og et minimalt Paint-program. You Killed a Bear er mere avanceret, og Maze Craze er en god demonstration af, hvordan man lagger yderligere grafik oven på standardgitteret.

24MadRush er en Tetris 'klon', som gør stor brug af farvepaletten. Det starter også med en innovativ spilbar tutorial, der demonstrerer dens funktioner.

  24MadRush, et faldende blokspil med en lap af blandede farveprikker på de nederste 4 rækker.

De tekniske specifikationer for 24a2-spil

24a2 er meget begrænset, designmæssigt. Men dette giver en glimrende mulighed for kreativitet. En af de gode råd til at være mere kreativ er at omfavne begrænsninger.

Udover den begrænsede opløsning begrænser 24a2 dig til:

  • En farvepalet med kun ni farver: dem i regnbuen plus sort og grå.
  • Meget grundlæggende input: piletasttryk og museklik på prikgitteret.
  • Stilhed: der er ingen støtte til musik eller lydeffekter overhovedet.

Du kan dog altid skrive supplerende JavaScript-kode for at udvide dit spil ud over disse begrænsninger. Og da motoren er open source, er du fri til at udvikle den på den måde, du finder passende.

Anspor dig selv til større ting med 24a2

Prøv at teste dig selv med 24a2. Genskab et klassisk spil eller opfind et af dine egne. Turn-baserede spil, ligesom brætspil, vil fungere meget godt med motoren.

Hvis 24a2 tænder din passion for spiludvikling, er der masser af muligheder for at fortsætte rejsen. PICO-8, Godot, Unity og GameMaker er alle populære valg.