În acest articol, vom explora mai multe motoare de joc și cadre, evidențiind unele dintre avantajele cheie pe care le oferă fiecare dintre ele. După ce ați citit acest articol, veți avea mai multe opțiuni de alegere pentru a face următorul mare succes. Rețineți că ne concentrăm doar asupra aspectelor 2D ale acestor platforme. Să începem.
Cocos2d este un cadru gratuit, open-source, compatibil atât cu Swift, cât și cu obiectivul C. Dispune de suport pentru iOS și OS X și suportă și Android prin pluginul SpriteBuilder Android, cu condiția ca codul dvs. să fie scris în Obiectiv-C. Suportul rapid pentru Android este în curs de dezvoltare.
Proiectele din Cocos2d sunt create prin intermediul SpriteBuilder, un mediu grafic de proiectare pe care îl puteți folosi pentru prototipul rapid și pentru a construi jocuri. Nu aveți obligația de a utiliza SpriteBuilder pentru a vă construi jocul, însă crearea de proiecte trebuie făcută prin SpriteBuilder.
Managementul scenelor se face prin CCDirector
clasa, care poate folosi numeroase tranziții cu CCTransition
clasă. Acesta oferă animații prin CCAnimation
clasă și acțiuni, cum ar fi mutarea, scara și rotirea, cu ajutorul lui CCAction
clasă. Cocos2d are suport pentru sistemele de particule cu CCParticleSystem
clasa și are suport pentru hărți de țiglă cu CCTiledMap
clasă.
Cocos2d utilizează de asemenea OpenGL ca motor de randare. Folosește Chipmunk ca motor de fizică. Dacă vă bucurați de obiectivul C sau Swift și doriți să vă dezvoltați pentru mai multe platforme (iOS și Android), atunci Cocos2d este un cadru care merită luat în considerare.
Cocos2d-x este un port C ++ al Cocos2d care se poate compila la multe alte platforme. Cocos2d-x se poate compila la iOS, Android, Windows Phone, OS X, Windows și Linux.
Cocos2d-x nu vine cu SpriteBuilder. Cu toate acestea, au câteva proiecte interesante, cum ar fi Cocos Creator, care oferă cadrul, editarea scenelor, depanarea, previzualizarea jocurilor și publicarea pe mai multe platforme.
Unitatea este un motor de joc mobil care acceptă C # și UnityScript, o limbă proiectată special pentru Unity și modelată după JavaScript. Acesta este cross-platform și poate fi implementat pe mai multe platforme, inclusiv PlayStation și Xbox. Există o ediție gratuită disponibilă și o ediție profesională care oferă mai multe caracteristici. Mai multe informații sunt disponibile pe site-ul Unity.
Există un editor de sprite încorporat în care puteți tăia vizual imaginile și o fereastră de animator care vă permite să așezați și să organizați animații și să adăugați animații de cadre cheie la sprite. De asemenea, este posibilă proiectarea vizuală a sistemelor de particule în cadrul editorului Unity.
Unitatea utilizează propriul motor de proprietate fizică. Unitatea are o cameră încorporată, care simplifică navigarea în lumea jocurilor. Puteți să vizualizați vizual scenele, iar Unity are un sistem de interfață cu componente, cum ar fi butoanele, glisoarele și meniurile. Există, de asemenea, suport pentru împachetarea sprite în cadrul editorului Unity.
Unitatea este o putere atunci când vine vorba de motoare de joc. Dacă aveți nevoie de o soluție cross-platform care are capacitatea de a utiliza o gamă largă de dispozitive și preferați să programați fie în C #, fie în UnityScript, atunci Unity este o alegere bună. Un alt lucru frumos despre Unitate este magazinul de bunuri în care poți găsi sau cumpăra active pe care le poți folosi în jocurile tale.
SpriteKit este cadrul propriu de dezvoltare al jocurilor 2D de la Apple. Acesta este disponibil numai pe iOS și OS X. SpriteKit acceptă atât Swift cât și Obiectiv-C, o combinație a celor două.
Managementul scenelor se face cu SKView
clasa și există o mare varietate de tranziții cu SKTransition
clasă. În centrul acțiunii SpriteKit sunt acțiuni, instanța SKAction
clasa, care sunt folosite pentru a muta, roti, și scala obiecte de jocuri. Acțiunile pot fi, de asemenea, utilizate pentru a reda sunete și a executa cod personalizat.
SpriteKit are un editor de scenă în care puteți proiecta vizual nivelurile jocului dvs. De asemenea, este disponibil un editor de particule în care puteți proiecta vizual sistemele de particule. Există un număr de sisteme de particule pre-proiectate, cum ar fi focul și ploaia.
SpriteKit folosește Box2D pentru motorul fizic. SpriteKit oferă un ambalaj prietenos în jurul Box2D, ceea ce îl face foarte ușor de utilizat. SpriteKit are, de asemenea, o cameră încorporată prin SKCameraNode
clasa, ceea ce facilitează navigarea în lumea jocurilor.
Dacă sunteți legat de ecosistemul Apple, atunci SpriteKit este o alegere foarte bună.
Titanium este un cadru care utilizează JavaScript ca limbaj de programare. În timp ce se folosește mai mult în mod tradițional pentru a construi aplicații în loc de jocuri, poate fi o platformă viabilă de dezvoltare a jocurilor. Este gratuit pentru utilizare în timpul dezvoltării. Dacă doriți să vă publicați jocul, aveți nevoie de o licență.
Titanium acceptă multe controale native de pe iOS și Android. Acest lucru facilitează animarea vederilor și a imaginilor. Am construit un joc de Blackjack, complet cu animații și un efect frumos de flipping cu titanium.
Unul dintre lucrurile frumoase despre Titanium este piața pentru descărcarea modulelor personalizate. Există, de exemplu, un modul Box2D pe care îl puteți conecta la aplicația dvs. Dacă nu aveți nevoie de complexitatea Box2D, atunci folosind un sistem de coliziune simplu delimitator poate funcționa la fel de bine.
În timp ce Titanium nu ar fi ideal pentru jocuri cu o mulțime de piese în mișcare și explozii de particule, folosirea lui pentru jocuri simple de cărți, jocuri trivia și jocuri cu un număr limitat de obiecte în mișcare reprezintă mai mult decât o opțiune viabilă.
PhoneGap vă permite să vă luați abilitățile existente în HTML, CSS și JavaScript și să le pregătiți ca o aplicație mobilă. Modul în care funcționează este prin încorporarea unei vizualizări web în aplicație și încărcarea activelor în vizualizarea respectivă. Aceasta înseamnă că puteți utiliza API Canvas pentru a crea jocuri.
PhoneGap permite accesul la API-uri native, cum ar fi aparatul de fotografiat al dispozitivului, microfonul și, cel mai important pentru dezvoltarea jocului, accelerometrul.
La baza sa, PhoneGap este destul de simplă. Este nevoie de o aplicație bazată pe HTML și o folosește ca o aplicație mobilă utilizând o vizualizare web.
Vom analiza două alte biblioteci JavaScript pe care le puteți utiliza pentru a crea un joc Canvas / WebGL, Phaser și CreateJS.
Phaser este un framework open-source JavaScript pentru scrierea de jocuri 2D. Utilizează Canvas sau WebGL dacă este disponibil.
Phaser are suport pentru animații, particule și tweens pentru a muta, a scala și a roti sprite. Are suport încorporat pentru hărți de țiglă și utilizează trei motoare fizice diferite, în funcție de nevoile dvs. De asemenea, are o cameră încorporată, ceea ce face ca navigarea în lumea jocurilor să fie simplă.
Există câteva pluginuri disponibile pentru Phaser, inclusiv un designer de sisteme de particule și un plugin Box2D. Dacă JavaScript este limba dvs. de alegere, atunci Phaser, în combinație cu PhoneGap, ar putea fi o alegere bună.
CreateJS este o suită de patru biblioteci open source diferite:
EaselJS este o bibliotecă bazată pe API Canvas și poate utiliza WebGL dacă este disponibilă. TweenJS este axat pe elemente de tweening, în timp ce SoundJS este destinat redării audio. Nu în ultimul rând, PreloadJS ajută la preîncărcarea activelor.
EaselJS are suport pentru foile și filtrele sprite pe care le puteți plasa pe elementele dvs. Este deasemenea o Formă
clasa ar trebui să aveți de a face desen vectorial. Mutarea, scalarea și rotirea se face prin încorporarea bibliotecii TweenJS în jocul tău.
În timp ce CreateJS nu are multe API-uri adaptate dezvoltării jocului, este scris în JavaScript, astfel încât să puteți include orice biblioteci JavaScript suplimentare pe care le doriți, cum ar fi un port JavaScript al Box2D. O bibliotecă pe care am reușit să o folosesc în trecut este o bibliotecă de detectare a coliziunilor pentru EaselJS.
Am scris cateva articole despre CreateJS pe Envato Tuts +. Dacă sunteți în căutarea unei introduceri detaliate la aceste biblioteci, atunci puteți găsi aceste interesante:
Unreal Engine este un motor de joc care utilizează C ++ ca limbaj de programare. Este liber să fie folosit cu limite. Pentru mai multe detalii, vizitați site-ul Web Unreal Engine. Puteți implementa jocul pe iOS și Android.
Unreal Engine include un editor Blueprint, care vă permite să faceți script-ul vizual fără a fi nevoie de programare. Editorul vă permite să proiectați nivele de joc, să adăugați simulare fizică, interfață utilizator, animații, efecte vizuale și multe altele, într-o manieră vizuală.
Corona SDK este un kit de dezvoltare software care utilizează Lua ca limbaj de scripting. Este disponibil pe Windows și pe OS X. Puteți dezvolta gratuit jocurile și aplicațiile dvs. cu Corona SDK, însă Perk, compania care a achiziționat Corona Labs, oferă un model de întreprindere care oferă acces la biblioteci native / API-uri și alte câteva caracteristici. Accesați site-ul web pentru mai multe informații despre tarifare.
Corona SDK exporta în iOS, Android, Kindle și Windows Phone 8. Exporturile Windows și OS X sunt în beta private și vor apărea în curând.
Corona Labs oferă și alte caracteristici atractive, cum ar fi Corona Editor, un plugin Sublime Text care include un program de depanare, completarea codului și câteva alte opțiuni frumoase. Compozitorul GUI, disponibil pe OS X, vă oferă un mediu grafic în care puteți proiecta nivelele jocului și puteți vedea modul în care obiectele interacționează unul cu altul utilizând motorul fizicii Corona.
Corona SDK utilizează OpenGL ca motor de randare și Box2D pentru fizică. Motorul său de fizică oferă o împachetare în jurul Box2D, ceea ce face mai ușor de utilizat. Corona SDK include peste o mie de API-uri pe care le puteți utiliza pentru a vă construi jocurile.
De asemenea, are o gestionare a scenelor încorporate prin biblioteca compozitorului și oferă o bibliotecă de tranziție excelentă care vă ajută să mutați, să scalați și să rotiți activele grafice ale jocului.
Din păcate, SDK Corona nu are opțiunea de a construi atlase sprite și de a folosi forme complexe pentru detecția coliziunilor fizice poate fi dificilă. Cu toate acestea, există câteva aplicații terță parte care pot ușura această durere, cum ar fi Texture Packer și Physics Editor.
În general, Corona SDK este un SDK excelent pentru a explora dacă sunteți în căutarea unei soluții cross-platform și doriți ușurința limbajului de scripting Lua.
Gideros, ca și Corona, folosește Lua ca limbaj de scripting. Gideros este gratuit și open-source și se poate compila la iOS, Android, Windows Phone, OS X, Windows și Windows RT.
În timp ce Lua nu este un limbaj de programare orientat pe obiecte cu un sistem bazat pe clasă, Gideros oferă un API bazat pe clase, permițând dezvoltatorilor să scrie cod curat și reutilizabil.
Gideros are un manager de scenă cu tot felul de tranziții, a MovieClip
clasa pentru animații și oferă posibilitatea adăugării prin biblioteca GTween, care vă permite să mutați, să scalați, să rotiți entități și mai mult.
Gideros, cum ar fi Corona, folosește Box2D pentru fizică, deși API-ul Box2D al lui Gideros este puțin mai aproape de API-ul Box2D original și, prin urmare, ușor mai dificil de utilizat.
Acesta oferă câteva instrumente suplimentare, cum ar fi un instrument de împachetare a texturilor și un creator de fonturi, care poate fi găsit în directorul instalării. Gideros vă permite să testați instantaneu proiectele pe dispozitivul mobil printr-o conexiune Wi-Fi.
Ca și în cazul Corona, aceasta este o platformă excelentă dacă căutați o dezvoltare pe mai multe platforme cu ușurința limbajului de programare Lua.
AndEngine este un cadru de dezvoltare mobil pentru Android. Este gratuit și open-source. Cu toate acestea, după cum indică numele, este numai pentru Android. AndEngine, la fel ca multe alte platforme mobile, utilizează OpenGL ca motor de randare și folosește Box2D ca motor de fizică printr-o extensie.
AndEngine are suport pentru sprite animate, sisteme de particule și permite modificarea entităților prin modificarea entității. AndEngine oferă, de asemenea, o aparat foto
clasa care vă permite să vă deplasați cu ușurință în lumea jocurilor.
Nu există nicio gestionare dedicată a scenelor în AndEngine, dar puteți găsi o mulțime de exemple despre cum să construiți un manager de scenă simplu. Dacă doriți să lansați numai o aplicație Android și Java este limba dvs. de alegere, atunci acest cadru este o opțiune bună.
libGDX este un alt cadru de dezvoltare a jocului Java. Acesta este cross-platform și poate compila la Windows, OS X, Linux, Android, iOS, Blackberry și HTML5. libGDX folosește de asemenea OpenGL ca motor de randare și folosește Box2D pentru simularea fizicii.
libGDX are a aparat foto
clasa, an Acțiune
pentru a muta, a scala și a roti obiecte și aParticleEmitter
pentru afișarea particulelor. Are suport pentru hărți de ceramică prinTiledMap
clasa, care poate fi utilizată cu editorul de plăci.
libGDX vine cu câteva instrumente suplimentare, cum ar fi un pachet de texturi, un editor de particule și un generator de fonturi bitmap.
Dacă Java este limba preferată și doriți să creați un joc cross-platform, atunci libGDX este un cadru bun pentru a examina.
În acest articol, am trecut peste mai multe cadre și motoare de dezvoltare a jocurilor. Acum ar trebui să aveți o idee mai bună despre soluțiile care se potrivesc cel mai bine necesităților dvs. și cele ale jocului următor. Vă mulțumim pentru lectură și sper că ați găsit articolul util.