7 jezika za razvoj Unity igara za učenje: koji je najbolji?

7 jezika za razvoj Unity igara za učenje: koji je najbolji?

Razvoj igara nikada nije bio lakši. Platforme za razvoj igara poput Unity omogućuju stvaranje svega, od jednostavnih 2D platformera do potpuno detaljnih 3D pucačina iz prvog lica. Unity je besplatan za male programere, a postoji i mnoštvo vodiča o tome kako najbolje koristiti uređivač za izradu prototipa svojih ideja.





Učenjem korištenja programa Unity do sada ćete stići. Prava jezgra vaše igre bit će kôd koji određuje njeno ponašanje. Određivanje jezika za učenje igara može biti teško --- ali u slučaju Unityja, to je jednostavno.





kako instalirati google play na fire tabletu

1. Najbolji izbor: C#

Za svakoga tko započinje s Unityjem ili nekoga tko ima predznanje o objektno orijentiranom programiranju, C# je pravi jezik za učenje za Unity. Zapravo, C# je jedini jezik vrijedan učenja za platformu, i to s razlogom.





Unity koristi Mono, koji je implementacija više platformi Microsoftovog .NET okvira. C# je primarni jezik .NET -a, a sve Unityjeve knjižnice izgrađene su pomoću C# koda. Reći da je C# jezik Unityja ne bi bilo pretjerivanje. Unity je jasno dao do znanja da smatraju C# jedinim jezikom koji se koristi s motorom naprijed.

Ovo je dobra vijest jer je C# moćan jezik i lako ga je naučiti. Jedinstvo je samo jedno od mnogih dobri razlozi za učenje C# , a ako ste početnik, možda vam se čak učini i pristupačnijim. Razvoj igara daje strukturu učenju, a ciljevi temeljeni na projektu dovode do boljeg razumijevanja novih predmeta.



Uvođenjem C# sustav poslova i ECS , Unity gura sve što se može učiniti s C# sve dalje, a novi Burst prevoditelj čini ga bržim nego ikad prije.

2. Trenutna alternativa: JavaScript

Unity također podržava JavaScript --- poznat kao UnityScript. Od objavljivanja, JavaScript sjedi rame uz rame s C# kao potpuno opremljenim Unity jezikom za razvoj. Referenca skriptiranja Unity imala je primjer koda u C# i JavaScript za većinu elemenata biblioteke.





Ovo je bilo korisno za programere koji dolaze iz JavaScript pozadine jer su unatoč razlikama u načinu strukturiranja koda mogli koristiti poznatu sintaksu. Postojao je, međutim, problem.

Iako se UnityScript čini sličnim JavaScriptu-nije. UnityScript ima klase, nešto što JavaScript nema. Značajke JavaScripta, poput deklaracije više varijabli i izbornih zareza, nisu dostupne u UnityScript-u.





Možda je najvažnije to što je traženje pomoći za JavaScript na projektima Unity uvijek izazivalo zabunu jer ga je većina ljudi nazivala JavaScript, a ne UnityScript. Rezultati i za web dizajn i za razvoj igara zamaglili su se zajedno, a razlika između jezika bila je točka osporavanja čistih JavaScript programera.

Možda nije iznenađujuće što je Unity najavio da će povući podršku za UnityScript, a sada postoji vremenski rok za njegovo ukidanje . I dalje možete koristiti JavaScript s Unityjem, ali znajući da će doći kraj, zašto biste to učinili?

3. Stari treći izbor: Boo

U prvim danima Unityja postojala je mogućnost korištenja Boo --- jezika sličnog Pythonu. To možda nije iznenađujuće jer Rodrigo B. De Oliveira, Boov dizajner , radio za Unity. Jezik je kompatibilan s .NET -om i Mono -om i u potpunosti bi se implementirao s engineom za igre. Što je pošlo po zlu?

Nije ga koristilo dovoljno ljudi, vjerojatno pod pretpostavkom da je samo pokušavao oponašati Python. S vremenom je Unity odustao od podrške za Boo, a nadolazeće promjene UnityScript -a učinit će sve stare Boo skripte beskorisnim u Unityju. Neki bi ovo mogli vidjeti kao propuštenu priliku, jer je Boo bio odličan pokušaj u sintaksi sličnoj Pythonu za programiranje .NET-a.

Ljubitelji Pythona ipak imaju drugu mogućnost.

4. Čudan izbor: IronPython

Ako želite razvijati igre, Python vjerojatno nije jezik za vas, ali je moguće. U svom blogu Microsoft Developer Community, Charlie Calvert ocrtava kako pokrenuti Python iz C# --- ali to nije za osobe slabog srca. Gotovo deset godina kasnije, IronPython je još uvijek u aktivnom razvoju.

Ukratko, morat ćete preuzeti Knjižnice IronPython s GitHub -a i referencirajte ih u svom C# projektu. To će vam omogućiti pozivanje Python skripti iz C# skripti slično kao i bilo kojoj drugoj knjižnici. IronPython također dopušta pozivanje .NET knjižnica iz Pythona . Koliko god ovo zvučalo korisno, budući da se Unity oslanja na C#, ova funkcija ne pomaže.

IronPython --- i IronRuby, sestrinski projekt koji povezuje C# s programskim jezikom Ruby --- fantastični su projekti, ali nisu praktični za upotrebu s Unityjem.

5. Zanimljiv izbor: Lua

Jedna od boljih implementacija vanjskog jezika za Unity je MoonSharp --- tumač Lua. Ovaj projekt nije osmišljen da zamijeni C# kao jezik, već djeluje kao most. Savršen slučaj upotrebe MoonSharpa bio bi dodati na neki način igračima vaše igre stvaranje modova igara na jeziku Lua.

Također ga možete koristiti za opisivanje objekata i razina dizajna odvojeno od osnovnog koda igre.

Ako već kodirate u C# i tražite zanimljiv način sučelja s vašim kodom, MoonSharp vrijedi razmotriti. Budući da je dostupan besplatno na Unity's Asset trgovina , možete ga uvesti izravno u svoje projekte.

6. Najbolji jezik za dodatke: C/C ++

Unatoč robusnoj Unity knjižnici i svim dostupnim alatima koje C# daje, ponekad ćete možda htjeti vlastite dodatke. Glavni razlozi zašto se ljudi odlučuju za dodatke uključuju brzinu ili pristup bazi kodova koja je već napisana na drugom jeziku. Ugradnja ovih skripti u DLL dodatke sprema prepravljeni kod i može poboljšati performanse u nekim slučajevima.

U većini slučajeva, C ++ će biti jezik koji se koristi za izradu dodataka, ali C bi jednako dobro radio. Sve dok se kôd ugrađuje u DLL, može se staviti u mapu dodataka Unity i referencirati u kodu. Vjerojatnost je, međutim, ako vam je već ugodno kodiranje u C/C ++, učenje C# bilo bi relativno jednostavan zadatak!

xbox one x kontroler se neprestano isključuje

7. Novi jezik za dodatke: Rust

Rust je jezik s puno brujanja oko sebe. Iskusni programeri obožavaju ga zbog nevjerojatne količine kontrole koju daje, a izbjegavaju zamke pisanja na manje sigurnim jezicima poput C ++. Rust je Mozilla stvorila 2009. godine kao način za programere da brzo razviju softver visokih performansi.

Iako nije moguće izravno upisati Rust u Unity, možete pristupiti funkcijama i metodama napisanim u Rustu iz vašeg Unity koda. Jim Fleming detaljno opisuje kako to učiniti u svom postu na Mediumu .

Ako vam se ovo čini poznatim, to je zato što je ovo još jedan način za stvaranje izvornih dodataka. Koristeći Rustovu sposobnost sučelja s drugim jezicima, možete pozvati Rust funkcije izravno iz C# koda pomoću Unityja DllImport atribut. Naravno, postoji nekoliko koraka između, i čitajući Jim -ov post uz dobro razumijevanje FFI -a (sučelja stranih funkcija) se savjetuje!

Jednostavan izbor

Stav Unityja prema bilo kojem jeziku koji nije C# jasan je, a stalna poboljšanja Unityja oslanjaju se na to jednoumlje. Spojite to s Microsoftovim kontinuiranim poboljšanjem C# kao jezika, a učenje C# za razvoj igara Unity nije jednostavno. I svakako provjerite Unity Learn za lakši način učenja razvoja igara .

Ipak, ovo nije vaša jedina mogućnost, Unity je samo jedan motor, a ima ih dosta softverske mogućnosti razvoja igara izabrati od.

Udio Udio Cvrkut E -pošta Canon protiv Nikona: Koja je marka fotoaparata bolja?

Canon i Nikon dva su najveća imena u industriji fotoaparata. No, koja marka nudi bolju ponudu kamera i objektiva?

Pročitajte Dalje
Povezane teme
  • Programiranje
  • JavaScript
  • Razvoj igara
  • C
  • Jedinstvo
O autoru Ian Buckley(216 objavljenih članaka)

Ian Buckley je slobodni novinar, glazbenik, izvođač i video producent koji živi u Berlinu, Njemačka. Kad ne piše ili je na pozornici, petlja s DIY elektronikom ili kodom u nadi da će postati ludi znanstvenik.

Više od Iana Buckleyja

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu