Simulan ang Iyong Game Dev Journey Sa Simpleng 24a2

Simulan ang Iyong Game Dev Journey Sa Simpleng 24a2
Ang mga mambabasang tulad mo ay tumutulong sa pagsuporta sa MUO. Kapag bumili ka gamit ang mga link sa aming site, maaari kaming makakuha ng isang affiliate na komisyon. Magbasa pa.

Ang 24a2 ay isang napaka-basic, ngunit ganap na gumagana, na makina ng laro para sa mga programmer ng JavaScript. Mayroon itong hindi pangkaraniwang hitsura at pakiramdam, ngunit magagamit mo ito upang matutunan ang mga pangunahing kaalaman ng programming ng laro.





Sa suporta para sa isang loop ng laro, makulay na graphics, at simpleng input, nasa 24a2 ang lahat ng kailangan mo upang lumikha ng maliliit na laro na may kaunting pagsisikap.





Tingnan ang 24a2 at simulan ang iyong paglalakbay patungo sa ganap na pagbuo ng laro ngayon.





Ano ang 24a2?

24a2 ay isang maliit, open-source na engine na tumutulong sa iyong bumuo ng mga pangunahing laro. Napakadaling matutunan at ang kailangan mo lang upang simulan ang pagbuo ng iyong mga laro ay isang web browser at isang text editor.

Kinuha ng 24a2 ang pangalan nito mula sa resolution nito: 24 x 24. Kahit kumpara sa iba minimalistic na makina tulad ng PICO-8 , na may 128 x 128 na resolution, ito ay maliit! Gumagamit ang 24a2 ng mga pabilog na 'pixel', na may malalaking puwang sa pagitan ng mga ito, kaya medyo kakaiba ang hitsura nito.



paano ako magtatala ng isang tawag sa telepono sa iphone
  Isang pangunahing laro ng skiing kung saan ipinapakita ang manlalaro sa isang pathway sa gitna ng dalawang berdeng lugar.

Malamang na hindi mo gagamitin ang 24a2 para makabuo ng susunod na smash hit na video game, ngunit hindi talaga iyon ang punto. Ang 24a2 ay perpekto para sa mga nagsisimula, at magagamit mo ito upang matutunan ang ilan sa mga pangunahing konsepto sa likod ng pagbuo ng laro.

Mahusay din ito para sa prototyping ng isang pangunahing konsepto. Kung nakita mo ang iyong sarili na ginulo ng kumplikadong pisika ng laro o sprite animation, ang pagtanggal ng lahat ng iyon ay makakatulong sa iyong tumutok.





Higit pa rito, ang 24a2 source code ay a nag-iisang TypeScript file . Maaari mo itong gamitin para sa inspirasyon, o kahit na baguhin ito, upang lumikha ng iyong sarili, mas advanced na engine ng laro.

Paano Mo Ginagamit ang 24a2?

Magsimula sa isang pangunahing template para sa iyong laro:





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

Pansinin kung paano ito gumagamit ng network ng paghahatid ng nilalaman (cdn.jsdelivr.net) upang pagmulan ang engine.js file, kaya hindi mo na kailangan pang mag-download o mag-install ng anuman.

Ang pangalawang script, laro.js , ay para sa sarili mong code ng laro. Magsimula sa ganap na minimum na working code, upang suriin ang lahat ng gumagana nang maayos:

new Game({}).run();

Ipapakita ng maliit na program na ito ang default na 24a2 grid sa iyong web browser:

  Ang default na 24x24 grid ng mga light gray na bilog na bumubuo sa 24a2's playfield.

Susunod, gugustuhin mong maging pamilyar sa mga callback function ng 24a2 na bumubuo sa core ng engine. Ang mga konseptong ito ay naililipat sa mga game engine, kaya ang pag-aaral kung paano gumagana ang mga ito ay makikinabang sa iyo nang higit pa sa iyong paggamit ng 24a2.

Mayroong ilang mahahalagang function na maaari mong tukuyin at ipasa sa Game() constructor sa pamamagitan ng a config bagay.

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

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

Tinatawag ng 24a2 ang function na iyong tinukoy sa config.create kapag nagsimula ito. Magagamit mo ito upang simulan ang sariling configuration ng iyong laro, mag-set up ng mga istruktura ng data, atbp.

 function create(game) {}

Pana-panahong tumatakbo ang function ng pag-update para sa tagal ng iyong laro. Ito ay ang pangunahing loop ng laro na, sa iba pang mga makina, ay karaniwang binubuo ng mga hiwalay na hakbang upang i-update ang estado ng laro at i-redraw ang screen. Sa 24a2, hahawakan mo ang parehong mga operasyon sa function na ito.

 function update(game) {}

Panghuli, upang makuha ang input, gugustuhin mong pangasiwaan ang mga pagpindot sa arrow key, pag-click ng mouse, o pareho. Ang 24a2 ay nagpapasa ng direksyon sa iyong onKeyPress function kapag pinindot ng player ang isang arrow key. Ipinapasa nito ang mga x at y na coordinate sa onDotClicked kung nag-click sila sa isang tuldok gamit ang kanilang mouse.

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

Anong Mga Uri ng Laro ang Magagawa Mo Gamit ang 24a2?

Ang 24a2 site naglalaman ng tatlong halimbawang laro kasama ang isang tutorial. Ang iba pang ipinapakita nito ay isang simpleng larong Ahas at isang hamon sa Skiing.

Ang GitHub repository may kasamang mga link sa ilang iba pang mga laro kabilang ang Space invaders, Tic-Tac-Toe, at isang minimal na Paint program. Ang You Killed a Bear ay mas advanced at ang Maze Craze ay isang magandang demonstrasyon kung paano mag-layer ng mga karagdagang graphics sa ibabaw ng karaniwang grid.

Ang 24MadRush ay isang 'clone' ng Tetris na mahusay na gumagamit ng paleta ng kulay. Nagsisimula din ito sa isang makabagong nape-play na tutorial na nagpapakita ng mga tampok nito.

  24MadRush, isang falling-block na laro na may patch ng magkahalong kulay na mga tuldok sa ibabang 4 na row.

Ang Mga Teknikal na Pagtutukoy ng 24a2 Games

Ang 24a2 ay napakalimitado, ayon sa disenyo. Ngunit nagbibigay ito ng isang mahusay na pagkakataon para sa pagkamalikhain. Isa sa mga nangungunang mga tip para sa pagiging mas malikhain ay upang yakapin ang mga hadlang.

Bukod sa limitadong resolution nito, pinaghihigpitan ka ng 24a2 na:

  • Isang paleta ng kulay na siyam lang ang kulay: ang mga nasa bahaghari kasama ang itim at kulay abo.
  • Napakapangunahing input: mga pagpindot sa arrow key at pag-click ng mouse sa dot grid.
  • Katahimikan: walang suporta para sa musika o sound effects kahit ano pa man.

Gayunpaman, maaari kang sumulat anumang oras ng karagdagang JavaScript code upang palawigin ang iyong laro nang higit sa mga limitasyong ito. At, dahil open-source ang makina, malaya kang bumuo nito sa alinmang paraan na nakikita mong angkop.

Hikayatin ang Iyong Sarili sa Mas Malalaking Bagay Gamit ang 24a2

Subukang subukan ang iyong sarili gamit ang 24a2. Muling lumikha ng isang klasikong laro o mag-imbento ng isa sa iyong sarili. Ang mga turn-based na laro, tulad ng mga board game, ay gagana nang mahusay sa makina.

Kung ang 24a2 ay nag-aapoy sa iyong pagkahilig para sa game dev, maraming pagkakataon upang ipagpatuloy ang paglalakbay. Ang PICO-8, Godot, Unity, at GameMaker ay lahat ng sikat na pagpipilian.