24a2 is een zeer eenvoudige, maar volledig operationele game-engine voor JavaScript-programmeurs. Het ziet er ongewoon uit en voelt aan, maar je kunt het gebruiken om de grondbeginselen van het programmeren van games te leren.
Met ondersteuning voor een gameloop, kleurrijke graphics en eenvoudige invoer heeft 24a2 alles wat je nodig hebt om met minimale inspanning kleine games te maken.
Bekijk 24a2 en begin vandaag nog aan je reis naar volledige game-ontwikkeling.
Wat is 24a2?
24a2 is een kleine, open-source engine die je helpt bij het bouwen van basisspellen. Het is heel gemakkelijk te leren en alles wat je nodig hebt om te beginnen met het bouwen van je games is een webbrowser en een teksteditor.
24a2 ontleent zijn naam aan de resolutie: 24 x 24. Zelfs in vergelijking met andere minimalistische motoren zoals PICO-8, met een resolutie van 128 x 128 is dit klein! 24a2 gebruikt cirkelvormige 'pixels', met grote openingen ertussen, dus het ziet er nogal apart uit.
Je zult 24a2 waarschijnlijk niet gebruiken om met de volgende videogame te komen, maar daar gaat het niet echt om. 24a2 is perfect voor beginners en je kunt het gebruiken om enkele van de fundamentele concepten achter game-ontwikkeling te leren.
Het is ook geweldig voor het maken van prototypen van een kernconcept. Als je merkt dat je wordt afgeleid door complexe spelfysica of sprite-animaties, kun je je beter concentreren als je dat allemaal weghaalt.
Bovendien is de 24a2-broncode een enkel TypeScript-bestand. Je kunt het gebruiken als inspiratie, of het zelfs aanpassen om je eigen, meer geavanceerde game-engine te maken.
Hoe gebruik je 24a2?
Begin met een basissjabloon voor je spel:
<html>
<hoofd>
<script
src=" https://cdn.jsdelivr.net/gh/jamesroutley/24a2/build/engine.js">
script>
<scriptsrc="spel.js">script>
hoofd>
<lichaam>lichaam>
html>
Merk op hoe dit een content delivery netwerk (cdn.jsdelivr.net) gebruikt om de bron te vinden motor.js bestand, dus u hoeft niet eens iets te downloaden of te installeren.
Het tweede schrift, spel.js, is voor je eigen spelcode. Begin met de absoluut minimale werkende code, om te controleren of alles naar behoren werkt:
nieuw spel({}).run();
Dit kleine programma zal het standaard 24a2-raster in uw webbrowser weergeven:
Vervolgens wil je vertrouwd raken met de callback-functies van 24a2 die de kern van de engine vormen. Deze concepten zijn overdraagbaar tussen game-engines, dus als u leert hoe ze werken, heeft u meer voordelen dan uw gebruik van 24a2.
Er is een handvol essentiële functies die u kunt definiëren en doorgeven aan de Game()-constructor via een configuratie voorwerp.
laten configuratie = {
creëren: creëren,
bijwerken: bijwerken,
onKeyPress: onKeyPress,
onDotClicked: onDotClicked
};
laten spel = nieuw Spel (configuratie);
spel.run();
24a2 roept de functie aan die u specificeert in config.create wanneer het opstart. Je kunt dit gebruiken om de eigen configuratie van je game te initialiseren, gegevensstructuren in te stellen, enz.
functiecreëren(spel) {}
De updatefunctie wordt periodiek uitgevoerd voor de duur van je game. Dit is de hoofdspellus die, in andere engines, meestal bestaat uit afzonderlijke stappen om de spelstatus bij te werken en het scherm opnieuw te tekenen. Bij 24a2 voer je in deze functie beide bewerkingen uit.
functieupdate(spel) {}
Tot slot, om invoer vast te leggen, wilt u het indrukken van pijltjestoetsen, muisklikken of beide afhandelen. 24a2 geeft een richting door aan uw onKeyPress-functie wanneer de speler op een pijltoets drukt. Het geeft x- en y-coördinaten door aan onDotClicked als ze met hun muis op een punt klikken.
functieopKeyPress(richting) {}
functieonDotClicked(x, j) {}
Welke soorten games kun je maken met 24a2?
De 24a2-site bevat drie voorbeeldspellen inclusief een tutorial. De andere die het laat zien, zijn een eenvoudig Snake-spel en een Ski-uitdaging.
De GitHub-opslagplaats bevat links naar enkele andere spellen, waaronder Space invaders, Tic-Tac-Toe en een minimaal Paint-programma. You Killed a Bear is geavanceerder en Maze Craze is een goede demonstratie van hoe je extra afbeeldingen bovenop het standaardraster kunt plaatsen.
24MadRush is een Tetris ‘kloon’ die veel gebruik maakt van het kleurenpalet. Het begint ook met een innovatieve speelbare tutorial die de functies demonstreert.
De technische specificaties van 24a2 Games
24a2 is per definitie zeer beperkt. Maar dit biedt een uitstekende gelegenheid voor creativiteit. Een van de beste tips om creatiever te zijn is om beperkingen te omarmen.
Naast de beperkte resolutie beperkt 24a2 u tot:
- Een kleurenpalet van slechts negen kleuren: die in de regenboog plus zwart en grijs.
- Zeer eenvoudige invoer: pijltjestoetsen en muisklikken op het puntraster.
- Stilte: er is geen enkele ondersteuning voor muziek of geluidseffecten.
U kunt echter altijd aanvullende JavaScript-code schrijven om uw game buiten deze beperkingen uit te breiden. En aangezien de engine open-source is, bent u vrij om deze naar eigen inzicht te ontwikkelen.
Spoor jezelf aan tot grotere dingen met 24a2
Test jezelf eens met 24a2. Maak een klassiek spel opnieuw of bedenk er zelf een. Turn-based games, zoals bordspellen, zullen heel goed werken met de engine.
Als 24a2 je passie voor game-ontwikkeling aanwakkert, zijn er genoeg mogelijkheden om de reis voort te zetten. PICO-8, Godot, Unity en GameMaker zijn allemaal populaire keuzes.