Vil du begynne spillutvikling i Unity?  Du trenger å bli kjent med et av disse Unity-kompatible språkene.

7 Unity Game Development Språk å lære: Hvilket er best?

Annonse Det har aldri vært enklere å utvikle spill. Spillutviklingsplattformer som Unity gjør det mulig å lage alt fra enkle 2D-plattformspillere til fullt detaljerte 3D førstepersonsskyttere. Unity er gratis for små utviklere, og det er et hav av veiledninger om hvordan du best kan bruke redigeringsprogrammet til å prototype ideene dine. Å lær

Annonse

Det har aldri vært enklere å utvikle spill. Spillutviklingsplattformer som Unity gjør det mulig å lage alt fra enkle 2D-plattformspillere til fullt detaljerte 3D førstepersonsskyttere. Unity er gratis for små utviklere, og det er et hav av veiledninger om hvordan du best kan bruke redigeringsprogrammet til å prototype ideene dine.

Å lære å bruke Unity-programmet vil bare komme deg så langt. Den virkelige kjernen i spillet ditt vil være koden som bestemmer atferden. Det kan være vanskelig å jobbe ut hvilket språk man skal lære for spillutvikling - men i tilfelle av Enhet er det enkelt.

1. Det beste valget: C #

For alle som begynner med Unity, eller alle med tidligere kunnskap om objektorientert programmering, er C # det riktige språket å lære for Unity. Faktisk er C # det eneste språket som er verdt å lære for plattformen, og med god grunn.

Unity bruker Mono, som er en plattformsimplementering av Microsofts .NET-rammeverk. C # er det primære språket i .NET, og alle Unitys biblioteker er bygd med C # -kode. Å si at C # er språk for enhet, ville ikke være en overdrivelse. Unity har gjort det klart at de anser C # for å være det eneste språket som skal brukes med motoren fremover.

Dette er gode nyheter, da C # er et kraftig språk og lett å lære. Enhet er bare en av mange gode grunner til å lære C # 7 Praktiske grunner til å lære C # Programmering 7 Praktiske grunner til å lære C # Programmering Det er mange programmeringsspråk, så hvilket bør du velge et å lære? Her er flere grunner til å lære C #. Les mer, og hvis du er en nybegynner, kan du til og med finne den mer tilgjengelig. Å utvikle spill gir struktur for læring, og prosjektbaserte mål fører til større forståelse av nye fag.

Med introduksjonen av C # jobbsystemet og ECS, presser Unity det som kan gjøres med C # lenger og lenger, og den nye Burst-kompilatoren gjør det raskere enn noen gang før.

2. Det nåværende alternativet: JavaScript

Unity støtter også JavaScript - kjent som UnityScript. Siden utgivelsen har JavaScript satt side om side med C # som et fullt utstyrt Unity-utviklingsspråk. Unity-skriptreferansen hadde eksempelkode i både C # og JavaScript for de fleste elementer i biblioteket.

Dette var nyttig for utviklere som kommer fra en JavaScript-bakgrunn, til tross for forskjeller i måten koden var strukturert på, de kunne bruke kjent syntaks. Det var imidlertid et problem.

Selv om UnityScript virker som JavaScript, er det ikke det. UnityScript har klasser, noe JavaScript ikke gjør. Funksjoner av JavaScript som flere variabler deklarasjon og valgfrie semikolon er ikke tilgjengelig i UnityScript.

Kanskje avgjørende, å søke etter JavaScript-hjelp på Unity-prosjekter har alltid forårsaket forvirring, da de fleste omtalte det som JavaScript i stedet for UnityScript. Resultatene for både webdesign og spillutvikling ble uskarpe, og forskjellen mellom språkene var et poeng av strid til rene JavaScript-utviklere.

Kanskje overraskende kunngjorde Unity at de kom til å trekke støtten for UnityScript, og det er nå en tidslinje på plass for å ta den ut. Du kan fortsatt bruke JavaScript sammen med Unity, men å vite at det kommer til å bli slutt, hvorfor ville du gjort det?

3. Det gamle tredje valget: Boo

I de første dagene av Unity var det muligheten til å bruke Boo - et Python-aktig språk. Dette er kanskje ikke overraskende da Rodrigo B. De Oliveira, Boos designer, jobbet for Unity. Språket er kompatibelt med .NET og Mono og vil være fullt implementert med spillmotoren. Hva gikk galt?

Ikke nok mennesker brukte det, antok antagelig at det bare prøvde å etterligne Python. Over tid droppet Unity støtte for Boo, og de kommende endringene i UnityScript vil gjøre alle gamle Boo-skript ubrukelige i Unity. Noen vil kanskje se dette som en savnet mulighet, ettersom Boo var et stort forsøk på Python-lignende syntaks for .NET-programmering.

Lovers of Python har imidlertid et annet alternativ.

4. The Odd Choice: IronPython

Hvis du vil utvikle spill, er Python sannsynligvis ikke språket for deg 4 grunner til at Python ikke er programmeringsspråket for deg 4 grunner til at Python ikke er programmeringsspråket for deg Python-programmeringsspråket er ekstremt populært, men her er noen få grunner til at du kanskje vil unngå Python. Les mer, men det er mulig. I sin Microsoft Developer Community-blogg skisserer Charlie Calvert hvordan du kjører Python fra C # - men det er ikke for svakhjertede. Nesten ti år senere er IronPython fortsatt i aktiv utvikling.

Kort sagt, må du laste ned IronPython-bibliotekene fra GitHub og referere dem til C # -prosjektet ditt. Dette vil tillate deg å ringe Python-skript fra C #-skript omtrent som i alle andre biblioteker. IronPython åpner også for å ringe .NET-biblioteker fra Python. Så nyttig som dette høres ut, siden Unity er avhengig av C #, denne funksjonaliteten hjelper ikke.

IronPython - og IronRuby, det er søsterprosjektet som kobler C # til Ruby-programmeringsspråket - er fantastiske prosjekter, men de er ikke praktiske å bruke med Unity.

5. Det interessante valget: Lua

En av de bedre implementeringene av et eksternt språk for Unity er MoonSharp - en Lua-tolk. Dette prosjektet er ikke designet for å erstatte C # som språk, mer fungere som en bro. Det perfekte bruksområdet for MoonSharp ville være å legge til på en måte for spillere av spillet ditt å lage spillmodus på Lua-språket.

Du kan også bruke den til å beskrive objekter og designnivåer separat fra kjernekodekoden.

Hvis du allerede koder i C # og leter etter en interessant måte å grense til koden din, er MoonSharp verdt å vurdere. Siden det er tilgjengelig gratis i Unity Asset-butikk, kan du importere det direkte til prosjektene dine.

6. Beste språk for plugins: C / C ++

Til tross for det robuste Unity-biblioteket og alle tilgjengelige verktøy C # gir, kan det være lurt å ha egne plugins. De viktigste grunnene til at folk velger plugins inkluderer hastighet, eller tilgang til en kodebase som allerede er skrevet på et annet språk. Å bygge disse skriptene i DLL-plugins sparer ny kode om nyinnspilling og kan forbedre ytelsen i noen tilfeller.

I de fleste tilfeller vil C ++ være språket som brukes for plugin-oppretting, men C vil fungere like bra. Så lenge koden bygger seg inn i en DLL, kan den plasseres i Unitys plugin-mappe og refereres til i kode. Sannsynligheten er imidlertid at hvis du allerede er komfortabel med å kode i C / C ++, vil det å lære C # være en relativt enkel oppgave!

7. Nytt språk for plugins: Rust

Rust er et språk med mye surr rundt seg. Erfarne programmerere elsker det for den utrolige mengden kontroll det gir, mens de unngår fallgruvene ved å skrive på mindre trygge språk som C ++. Rust ble opprettet av Mozilla i 2009, som en måte for utviklere å raskt utvikle programvare med høy ytelse.

Selv om det ikke er mulig å skrive Rust i Unity direkte, kan du få tilgang til funksjoner og metoder skrevet i Rust fra din Unity-kode. Jim Fleming dekker hvordan jeg gjør det i detalj i sitt innlegg på Medium.

Hvis dette virker kjent, er det fordi dette er en annen måte å lage Native Plugins. Ved å utnytte Rust muligheten til å grensesnitt med andre språk, kan du ringe Rust-funksjoner direkte fra C # -kode ved å bruke Unitys DllImport- attributt. Naturligvis er det flere trinn i mellom, og det anbefales å lese Jims oppfølgingspost sammen med å få en god forståelse av FFI-er (utenlandske funksjonsgrensesnitt)!

Et enkelt valg

Unity's holdning til hvilket som helst språk som ikke er C #, er tydelig, og de konstante forbedringene av Unity er avhengige av denne ensomhet. Koble dette sammen med Microsofts fortsatte forbedring av C # som språk, og det å lære C # for Unity-spillutvikling er ingen hjerner. Og husk å sjekke Unity Learn for en enklere måte å lære spillutvikling Unity Learn er den enkleste måten å mestre spillutvikling Unity Learn er den enkleste måten å mestre spillutvikling Vil du begynne å utvikle dine egne spill? Unity Learn er den beste og enkleste måten å lære og mestre det du trenger å vite. Les mer .

Dette er imidlertid ikke det eneste alternativet, Enhet er bare en motor, og det er mange alternativer for spillutviklingsprogramvare. 5 Gratis spillutviklingsprogramvareverktøy for å lage dine egne spill. 5 Gratis spillutviklingsprogramvareverktøy for å lage dine egne spill. er en flott måte å begynne å lage videospill på. Vi har samlet den beste spillprogramvaren på markedet. Les mer å velge mellom.

Utforsk mer om: C, Spillutvikling, JavaScript, Enhet.