7 enhetsspillutviklingsspråk å lære: Hvilket er best?

7 enhetsspillutviklingsspråk å lære: Hvilket er best?

Det har aldri vært enklere å utvikle spill. Spillutviklingsplattformer som Unity gjør det mulig å lage alt fra enkle 2D-plattformspillere til fullstendig detaljerte 3D-førstepersonsskyttere. Unity er gratis for små utviklere, og det er et vell av opplæringsprogrammer om hvordan du best bruker 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 dens oppførsel. Å finne ut hvilket språk du skal lære for spillutvikling kan være vanskelig --- men for Unity er det enkelt.





hva får din snap -score til å stige

1. Det beste valget: C#

For alle som begynner med Unity, eller alle som har 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 hovedspråket for .NET, og alle Unitys biblioteker er bygget med C# -kode. Å si at C# er enhetsspråket, ville ikke være en overdrivelse. Unity har gjort det klart at de anser C# som det eneste språket for bruk med motoren fremover.

Dette er gode nyheter, ettersom C# er et kraftig språk og lett å lære. Samhold er bare en av mange gode grunner til å lære C# , og hvis du er nybegynner, kan du til og med finne det mer tilgjengelig. Å utvikle spill gir struktur til læring, og prosjektbaserte mål fører til større forståelse av nye fag.



Med introduksjonen av C# jobbsystem og ECS , Unity presser 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 sittet 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 elementene i biblioteket.





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

Selv om UnityScript ligner på JavaScript --- er det ikke det. UnityScript har klasser, noe JavaScript ikke gjør. Funksjoner i JavaScript som flere variabeldeklarasjoner og valgfrie semikolon er ikke tilgjengelige i UnityScript.





Kanskje avgjørende, har søking etter JavaScript -hjelp på Unity -prosjekter alltid forårsaket forvirring ettersom 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 stridspunkt for rene JavaScript -utviklere.

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

3. Det gamle tredjevalget: Boo

I de første dagene av Unity var det mulighet for å bruke Boo --- et Python-lignende språk. Dette er kanskje ikke overraskende som Rodrigo B. De Oliveira, Boos designer , jobbet for Unity. Språket er kompatibelt med .NET og Mono og ville bli fullt implementert med spillmotoren. Hva gikk galt?

Ikke nok folk brukte det, antar sannsynligvis at det bare var å prøve å etterligne Python. Over tid droppet Unity støtten til Boo, og de kommende endringene i UnityScript vil gjøre alle gamle Boo -skript ubrukelige i Unity. Noen vil kanskje se dette som en glemt mulighet, ettersom Boo var et flott forsøk på Python-lignende syntaks for .NET-programmering.

Lovers av Python har imidlertid et annet alternativ.

4. The Odd Choice: IronPython

Hvis du vil utvikle spill, er Python sannsynligvis ikke språket for deg, men det er mulig. I sin Microsoft Developer Community -blogg skisserer Charlie Calvert hvordan kjøre Python fra C# --- men det er ikke for svakhjertede. Nesten ti år senere er IronPython fortsatt i aktiv utvikling.

Kort sagt, du må laste ned IronPython -biblioteker fra GitHub og referer til dem i ditt C# -prosjekt. Dette lar deg ringe Python -skript fra C# -skript på samme måte som alle andre bibliotek. IronPython åpner også for ringer .NET -biblioteker fra Python . Så nyttig som dette høres ut, siden Unity er avhengig av C#, hjelper ikke denne funksjonaliteten.

IronPython --- og IronRuby, det er et søsterprosjekt som forbinder C# med programmeringsspråket Ruby --- er fantastiske prosjekter, men de er ikke praktiske for bruk 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. Den perfekte brukskassen for MoonSharp ville være å legge til på en måte for spillere i spillet ditt å lage spillmodus på Lua -språket.

Du kan også bruke den til å beskrive objekter og designnivåer atskilt fra kjernespillkoden.

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

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

Til tross for det robuste Unity -biblioteket og alle de tilgjengelige verktøyene C# gir, kan det være at du noen ganger vil ha dine egne plugins. Hovedårsakene til at folk velger plugins inkluderer hastighet eller tilgang til en kodebase som allerede er skrevet på et annet språk. Ved å bygge disse skriptene inn i DLL -plugins sparer du ny kode og kan forbedre ytelsen i noen tilfeller.

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

hvordan får jeg et snapchat filter

7. Nytt språk for plugins: Rust

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

Selv om det ikke er mulig å skrive Rust in Unity direkte, kan du få tilgang til funksjoner og metoder skrevet i Rust fra din Unity -kode. Jim Fleming dekker hvordan du 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 Rusts evne til å koble til andre språk, kan du ringe Rust -funksjoner direkte fra C# -kode ved hjelp av Unity's DllImport Egenskap. Naturligvis er det flere trinn i mellom, og leser Jims oppfølgingsinnlegg Det anbefales å få en god forståelse av FFI -er (utenlandske funksjonsgrensesnitt)!

Et enkelt valg

Unitys holdning til ethvert språk som ikke er C# er tydelig, og de stadige forbedringene av Unity er avhengige av denne ensinnelsen. Kombiner dette med Microsofts fortsatte forbedring av C# som språk, og å lære C# for Unity-spillutvikling er en no-brainer. Og sørg for å sjekke ut Unity Lær for en enklere måte å lære spillutvikling på .

Dette er imidlertid ikke det eneste alternativet, Unity er bare en motor, og det er mange alternativer for spillutvikling å velge fra.

Dele Dele kvitring E -post Canon vs Nikon: Hvilket kameramerk er bedre?

Canon og Nikon er de to største navnene i kamerabransjen. Men hvilket merke tilbyr den bedre serien med kameraer og objektiver?

Les neste
Relaterte temaer
  • Programmering
  • JavaScript
  • Spillutvikling
  • C
  • Enhet
Om forfatteren Ian Buckley(216 artikler publisert)

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

Mer fra Ian Buckley

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere