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 for hvordan du best kan bruke redaktøren 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.

instagram viewer

Dette er gode nyheter, da C # er et kraftig språk og lett å lære. Enighet er bare en av mange gode grunner til å lære C # 7 praktiske grunner til å lære seg C # -programmeringDet 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 # jobbsystem og ECS, Unity skyver 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 fremdeles 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 overraskende som 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 folk 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 unyttige i Unity. Noen vil kanskje se dette som en savnet mulighet, da 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, Python er sannsynligvis ikke språket for deg 4 grunner til at Python ikke er programmeringsspråket for degPython-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-biblioteker fra GitHub og referer dem til ditt C # -prosjekt. Dette vil tillate deg å ringe Python-skript fra C #-skript omtrent som i alle andre biblioteker. IronPython åpner også for ringer .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 å 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 å grensesnittet med koden din på, er MoonSharp verdt å vurdere. Siden det er tilgjengelig gratis på Unity's 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 Unity-koden. Jim Fleming dekker hvordan du gjør det i detalj i sitt innlegg på Medium.

Hvis dette virker kjent, skyldes det at 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 # -koden ved å bruke Unity's DllImport Egenskap. Naturligvis er det flere trinn i mellom, og å lese Jims oppfølgingsinnlegg sammen med å få en god forståelse av FFIer (grensesnitt for utenlandske funksjoner) anbefales!

Et enkelt valg

Unitys holdning til hvilket som helst språk som ikke er C #, er tydelig, og de konstante forbedringene av Unity er avhengige av denne ensomhet. Sammenlign dette med Microsofts fortsatte forbedring av C # som språk, og det å lære C # for utvikling av Unity-spill er en ikke-brainer. Og husk å sjekke ut Unity Lær for en enklere måte å lære spillutvikling på Unity Learn er den enkleste måten å mestre spillutviklingVil 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 ikke det eneste alternativet ditt, Unity er bare en motor, og det er nok av spillutvikling programvarealternativer 5 gratis programvareverktøy for spillutvikling for å lage dine egne spillGratis spillutviklingsprogramvare er en flott måte å starte å lage videospill. Vi har samlet den beste spillprogramvaren på markedet. Les mer å velge fra.

Ian Buckley er frilansjournalist, musiker, utøver og videoprodusent bosatt i Berlin, Tyskland. Når han ikke skriver eller på scenen, fikler han med DIY-elektronikk eller kode i håp om å bli en gal forsker.