Acum câteva săptămâni, am postat despre experiența mea încercând să creez un prototip într-o grămadă de motoare / cadre de jocuri 2D diferite pentru a afla ce le face să bifeze.

Dacă cumpărați un motor pentru următorul dvs. joc 2D, acest articol vă va oferi câteva lucruri de luat în considerare care vă pot ajuta în procesul de discernământ.

Rețineți că nu încerc să acopăr fiecare motor de joc 2D de acolo; nici nu poziționez un motor sau cadru peste altul. Aceste recomandări provin din experiența mea personală folosind diferite motoare și cadre pentru prototipare.

Și dacă preferați să vizionați în loc să citiți, am creat o versiune video a acestei postări (vizionare de 26 de minute):

Conţinut

Reacţiona

La prima vedere, s-ar putea să vă gândiți „Reacţiona este un cadru frontal pentru realizarea de site-uri web interactive. Nu este un motor de joc! “Și ați fi în mare parte corect.

React nu oferă suport nativ pentru elementele de bază ale dezvoltării jocurilor, cum ar fi, de exemplu, fizica 2D, dar acesta face manipulați starea extrem de bine. Dacă sunteți deja dezvoltator JavaScript și doriți să asociați React cu ceva de genul boardgame.io pentru a crea un joc 2D simplu, ați putea obține un prototip funcțional destul de repede.

Pentru toate celelalte tipuri de jocuri 2D, veți dori să căutați în altă parte.

Unitate

Unitate s-a făcut omniprezent în spațiile de dezvoltare a jocurilor 2D și 3D. L-aș poziționa ca un motor de joc 3D excelent și unul 2D care poate fi reparat.

Editorul Unity este destul de complex, cu o mulțime de meniuri imbricate care necesită ceva timp pentru a vă înfășura capul (consultați acest articol pentru un tur al caracteristicilor sale 2D). Dacă nu aveți deja un fundal în C #, pe care Unity îl folosește pentru scriptare, veți dori să îl analizați înainte de a învăța Unity, deoarece acest lucru vă va ușura curba generală de învățare.

Unity face, de asemenea, o mulțime de lucruri „în mod greu” atunci când vine vorba de dezvoltarea jocului 2D, ceea ce nu face simt nativ comparativ cu alte motoare de joc. Crearea unei lumi de joc 2D în Unity, de exemplu, se simte de parcă aruncați un avion 2D într-un spațiu 3D mare, iar lucruri precum animația și perfecțiunea pixelilor sunt mai ciudate decât în ​​alte motoare specifice 2D.

Puteți crea orice tip de joc 2D cu Unity dacă sunteți dispus să vă luptați cu editorul și cu idiosincrasiile 3D care stau la baza acestuia. Are un sprijin comunitar extins și veți găsi că lucrul cu C # este o încântare. În plus, Magazinul de active Unity are tot felul de artă și șabloane pe care le puteți descărca și cumpăra, dar cumpărător aveți grijă: ați putea petrece cât mai mult timp rescriind codul altcuiva pentru a se potrivi proiectului dvs., așa cum ați face doar de la zero.

Unitatea este, în general, gratuită, dar prețurile devin mai complexe dacă doriți să utilizați Tot are de oferit (vezi această pagină pentru mai multe detalii).

Godot

Godot este un motor de jocuri 2D și 3D cu sursă gratuită și deschisă care acceptă GDScript, C # și chiar C ++ și Python dacă sunteți dispus să faceți o grămadă de greutăți pentru a le face să funcționeze. Suportă un flux de lucru în stil nod și este foarte ușor.

Dacă sunteți) dispus să investiți în învățarea GDScript sau b) deja foarte bun la C #, C ++ sau Python, probabil că veți fi bine în Godot, mai ales dacă vă place să lucrați cu software open source. În caz contrar, s-ar putea să vă simțiți ușor frustrat, deoarece nu există aproape atât de mult suport pentru C # sau alte limbi, cât există pentru GDScript. Totuși, Godot este un motor plăcut cu care să lucrezi și, deși este posibil să nu aibă același pedigree și sprijin comunitar ca ceva de genul Unity, dacă ești un auto-starter, s-ar putea să te simți bine acasă.

Construiți 3

Dacă doriți doar să creați jocuri 2D și nu vă interesează limbajul de programare sau taxele de abonament, veți găsi Construiți 3 să aveți tot ce aveți nevoie pentru a demara și a începe o demonstrație rapidă. Toată munca dvs. va fi realizată într-un browser, folosind instrumente de glisare și plasare (și asistență JavaScript personalizată, dacă aveți nevoie).

Cu toate acestea, nu vă așteptați să aveți o experiență productivă semnificativă cu Construct 3 gratuit. Există o demonstrație simplă pe care o puteți încerca, dar dezvoltarea impactantă a jocului cu Construct 3 este blocată în spatele unui perete de plată și la acest abonament.

Game Maker Studio 2

Game Maker Studio 2 are un editor ușor de utilizat, care acceptă un limbaj proprietar numit, în mod corespunzător, Game Maker Language (GML), împreună cu scripturi vizuale. Are, de asemenea, o mulțime de tutoriale, un suport comunitar excelent și un magazin de active (care vine cu aceleași avertismente ca Unity’s, de mai sus).

Fluxul general de lucru al Game Maker Studio 2 și realizarea unor lucruri precum animarea spriturilor, configurarea lumii jocului și așa mai departe, sunt simple și intuitive. S-ar putea ca GML să nu fie ceașca ta de ceai dacă provii dintr-un alt limbaj de programare mai utilizat și aș vrea nu recomandă-l ca primă introducere pentru a învăța cum să codezi. Acesta folosește unele dintre conceptele de bază ale programării, dar nu detalii importante, cum ar fi cele mai bune practici de codare sau modul de scriere a unui cod curat.

În plus, puteți încerca Game Maker Studio 2 cu o perioadă de încercare gratuită de 30 de zile, dar va trebui să plătiți pentru a-l utiliza în continuare după acel moment.

Phaser 3

Dacă doriți să codificați Tot și aflați multe despre ecosistemul JavaScript în timp ce îl faceți, verificați Phaser 3 (sau așteptați Phaser 4, care este pe drum).

Phaser este un cadru JavaScript ușor și puternic pentru a crea jocuri 2D. În timp ce Phaser 2 a fost extrem de bine documentat și a avut un sprijin comunitar excelent, Phaser 3 este exact opusul. Există o documentație oficială bună și o grămadă de exemple (fără prea mult context în jurul lor, trebuie spus) și o cantitate îngrozitor de mică de tutoriale.

Așteptați-vă să construiți totul singur, dar dacă sunteți în căutarea suportului ES6 sau TypeScript sau dacă doriți într-adevăr doriți să vă lustruiți abilitățile ca dezvoltator JavaScript, veți putea parcurge un drum lung cu Phaser 3.

Din motive de corectitudine, ar trebui să menționez alte două motoare de jocuri 2D care mi-au fost recomandate de când am început să scriu pe această temă: LÖVE 2D, care folosește Lua și MonoGame, care acceptă C #. Nu am folosit niciunul dintre ei (sau altele, cum ar fi PyGame), și nu pot vorbi cu privire la utilitatea lor, dar ar putea fi în valoare de verificare.

Anunță-mă ce motor de joc 2D folosești și de ce!

Dacă v-a plăcut acest articol, vă rugăm să luați în considerare verificându-mi jocurile și cărțile, abonându-mă la canalul meu YouTube, sau aderarea la Entromanta Discordie.

MS Farzan, Ph.D. a scris și a lucrat pentru companii de jocuri video de profil și site-uri editoriale precum Electronic Arts, Perfect World Entertainment, Modus Games și MMORPG.com și a servit ca Community Manager pentru jocuri precum Dungeons & Dragons Neverwinter și Mass Effect: Andromeda. El este directorul creativ și principalul designer de jocuri Entromancy: Un RPG Cyberpunk Fantasy și autor al Trilogia Nightpath. Găsiți MS Farzan pe Twitter @sumator.