7 limbi Unity Game Development pentru a învăța: care este cel mai bun?

7 limbi Unity Game Development pentru a învăța: care este cel mai bun?

Dezvoltarea jocurilor nu a fost niciodată mai ușoară. Platformele de dezvoltare a jocurilor precum Unity fac posibilă crearea de la platforme 2D simple la shootere 3D complet detaliate pentru prima persoană. Unity este gratuit pentru dezvoltatorii mici și există o mulțime de tutoriale despre cum să utilizați cel mai bine editorul pentru a vă prototipa ideile.





Învățarea modului de utilizare a programului Unity vă va aduce până acum. Nucleul real al jocului tău va fi codul care determină comportamentul acestuia. Determinarea limbii de învățat pentru dezvoltarea jocului poate fi dificilă - dar în cazul Unity, este simplu.





cea mai bună distribuție Linux pentru dezvoltarea web

1. Cea mai bună alegere: C #

Pentru oricine începe cu Unity sau oricine are cunoștințe anterioare de programare orientată pe obiecte, C # este limbajul potrivit pentru a învăța pentru Unity. De fapt, C # este singura limbă care merită învățată pentru platformă și cu un motiv întemeiat.





Unity folosește Mono, care este o implementare pe mai multe platforme a cadrului .NET al Microsoft. C # este limba principală a .NET și toate bibliotecile Unity sunt construite folosind codul C #. A spune că C # este limbajul Unității nu ar fi o exagerare. Unity a arătat clar că consideră că C # este singura limbă care poate fi utilizată cu motorul în viitor.

Aceasta este o veste bună, deoarece C # este un limbaj puternic și ușor de învățat. Unitatea este doar una dintre multe motive bune pentru a învăța C # , și dacă sunteți începător, s-ar putea chiar să îl găsiți mai accesibil. Dezvoltarea jocurilor oferă structură învățării, iar obiectivele bazate pe proiecte conduc la o mai bună înțelegere a noilor subiecte.



Odată cu introducerea Sistemul de locuri de muncă C # și ECS , Unity împinge ceea ce se poate face cu C # din ce în ce mai mult, iar noul compilator Burst îl face mai rapid ca niciodată.

2. Alternativa actuală: JavaScript

Unity acceptă, de asemenea, JavaScript --- cunoscut sub numele de UnityScript. De la lansare, JavaScript s-a așezat cot la cot cu C # ca limbaj de dezvoltare Unity cu funcții complete. Referința de script Unity avea un exemplu de cod atât în ​​C #, cât și în JavaScript pentru majoritatea elementelor bibliotecii.





Acest lucru a fost util pentru dezvoltatorii care provin dintr-un fundal JavaScript deoarece, în ciuda diferențelor în modul de structurare a codului, ei puteau folosi sintaxa familiară. A existat, totuși, o problemă.

În timp ce UnityScript pare similar cu JavaScript --- nu este. UnityScript are clase, ceea ce JavaScript nu are. Funcțiile JavaScript, cum ar fi declarația variabilă multiplă și punctele și virgulele opționale, nu sunt disponibile în UnityScript.





Poate esențial, căutarea ajutorului JavaScript pentru proiectele Unity a provocat întotdeauna confuzie, deoarece majoritatea oamenilor au făcut referire la acesta mai degrabă ca JavaScript, decât ca UnityScript. Rezultatele atât pentru designul web, cât și pentru dezvoltarea jocurilor s-au estompat, iar diferența dintre limbi a reprezentat un punct de dispută pentru dezvoltatorii JavaScript pur.

Poate în mod surprinzător, Unity a anunțat că vor retrage suportul pentru UnityScript și există acum un cronologie în loc pentru a o dezafecta . Puteți utiliza în continuare JavaScript cu Unity, dar știind că se va încheia, de ce ați face-o?

3. Vechea a treia alegere: Boo

În primele zile ale Unity, a existat opțiunea de a utiliza Boo --- un limbaj asemănător cu Python. Acest lucru este probabil surprinzător ca Rodrigo B. De Oliveira, Designerul lui Boo , a lucrat pentru Unity. Limbajul este compatibil cu .NET și Mono și ar fi complet implementat cu motorul de joc. Ce a mers prost?

Nu s-au folosit destui oameni, presupunând probabil că a încercat doar să imite Python. De-a lungul timpului, Unity a renunțat la suportul pentru Boo, iar viitoarele modificări aduse UnityScript vor face ca toate scripturile vechi Boo să fie inutile în Unity. Unii s-ar putea să vadă acest lucru ca pe o oportunitate ratată, deoarece Boo a fost o încercare excelentă de sintaxă de tip Python pentru programarea .NET.

Iubitorii de Python au însă o altă opțiune.

4. Alegerea ciudată: IronPython

Dacă doriți să dezvoltați jocuri, Python probabil nu este limba pentru dvs., dar este posibil. În blogul său Microsoft Developer Community, Charlie Calvert subliniază cum se execută Python din C # --- dar nu este pentru cei slabi. Aproape zece ani mai târziu, IronPython este încă în dezvoltare activă.

Pe scurt, va trebui să descărcați fișierul Bibliotecile IronPython de la GitHub și faceți referire la acestea în proiectul dvs. C #. Acest lucru vă va permite să apelați scripturi Python din scripturi C # la fel ca orice altă bibliotecă. IronPython permite, de asemenea apelarea bibliotecilor .NET din Python . Pe cât de util pare acest lucru, deoarece Unity se bazează pe C #, această funcționalitate nu ajută.

IronPython --- și IronRuby, proiectul său care leagă C # de limbajul de programare Ruby --- sunt proiecte fantastice, dar nu sunt practice pentru utilizare cu Unity.

5. Alegerea interesantă: Lua

Una dintre cele mai bune implementări ale unui limbaj extern pentru Unity este MoonSharp --- un interpret Lua. Acest proiect nu este conceput pentru a înlocui C # ca limbă, mai mult ca rol de punte. Cazul de utilizare perfect pentru MoonSharp ar fi adăugarea într-un mod pentru ca jucătorii jocului dvs. să creeze moduri de joc în limba Lua.

De asemenea, îl puteți folosi pentru a descrie obiecte și niveluri de proiectare separat de codul de bază al jocului.

Dacă deja codificați în C # și căutați o modalitate interesantă de interfață cu codul dvs., MoonSharp merită luat în considerare. Deoarece este disponibil gratuit pe Magazinul de active Unity , îl puteți importa direct în proiectele dvs.

6. Cea mai bună limbă pentru pluginuri: C / C ++

În ciuda bibliotecii robuste Unity și a tuturor instrumentelor disponibile pe care le oferă C #, uneori este posibil să doriți propriile pluginuri. Principalele motive pentru care oamenii optează pentru pluginuri includ viteza sau accesul la o bază de cod deja scrisă în altă limbă. Construirea acestor scripturi în plugin-uri DLL salvează refacerea codului și poate îmbunătăți performanța în unele cazuri.

În majoritatea cazurilor, C ++ va fi limbajul utilizat pentru crearea pluginului, dar C ar funcționa la fel de bine. Atâta timp cât codul se încorporează într-un DLL, acesta poate fi plasat în folderul de pluginuri Unity și menționat în cod. Probabilitatea este, totuși, dacă sunteți deja confortabil să codați în C / C ++, că învățarea C # ar fi o sarcină relativ simplă!

ce poți face cu adresa Mac a cuiva

7. Limbaj nou pentru pluginuri: Rust

Rugina este un limbaj cu o mulțime de buzz în jurul său. Programatorilor cu experiență le place mult pentru controlul incredibil pe care îl oferă, evitând în același timp capcanele scrierii în limbi mai puțin sigure, cum ar fi C ++. Rust a fost creat de Mozilla în 2009, ca o modalitate pentru dezvoltatori de a dezvolta rapid software de înaltă performanță.

Deși nu este posibil să scrieți direct Rust în Unity, puteți accesa funcțiile și metodele scrise în Rust din codul dvs. Unity. Jim Fleming prezintă cum să o faci în detaliu în postarea sa pe Medium .

Dacă acest lucru pare familiar, este pentru că acesta este un alt mod de a crea pluginuri native. Utilizând capacitatea Rust de a interfața cu alte limbi, puteți apela funcțiile Rust direct din codul C # folosind Unity DllImport atribut. Bineînțeles, există mai mulți pași între și citind postarea de urmărire a lui Jim împreună cu obținerea unei bune înțelegeri a FFI-urilor (interfețe cu funcții străine) este recomandat!

O alegere simplă

Atitudinea Unity față de orice limbă care nu este C # este clară, iar îmbunătățirile constante ale Unity se bazează pe această mentalitate unică. Cuplați acest lucru cu îmbunătățirea continuă de către Microsoft a C # ca limbă, iar învățarea C # pentru dezvoltarea jocului Unity este o nebunie. Și asigurați-vă că verificați Unity Learn pentru o modalitate mai ușoară de a învăța dezvoltarea jocului .

Cu toate acestea, aceasta nu este singura dvs. opțiune, Unity este un singur motor și există o mulțime de opțiuni software pentru dezvoltarea jocului a alege din.

Acțiune Acțiune Tweet E-mail Canon vs. Nikon: Ce marcă de camere este mai bună?

Canon și Nikon sunt cele mai mari două nume din industria camerelor. Dar ce marcă oferă o gamă mai bună de camere și obiective?

Citiți în continuare
Subiecte asemănătoare
  • Programare
  • JavaScript
  • Dezvoltarea jocului
  • C
  • Unitate
Despre autor Ian Buckley(216 articole publicate)

Ian Buckley este un jurnalist independent, muzician, interpret și producător video care locuiește în Berlin, Germania. Când nu scrie sau pe scenă, se ocupă de electronice sau coduri DIY în speranța de a deveni un om de știință nebun.

Mai multe de la Ian Buckley

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona