å Utvikle spill har aldri vært enklere. Spillet utvikling plattformer som Enhet gjør det mulig å lage alt fra enkle 2D-plattformspill for å fullt detaljerte 3D første person skytespill. Unity er gratis for små utviklere, og det er et vell av tutorials på hvordan best å bruke editor for å prototype dine ideer.
Lære å bruke Unity programmet vil bare få deg så langt. Den virkelige kjernen av spillet vil være en kode som bestemmer dens atferd., Arbeider ut hvilket språk til å lære spill utvikling kan være vanskelig—men i tilfelle av Enhet, det er enkelt.
1. Det Beste Valget: C#
For alle som starter med Unity, eller noen med kjennskap til objekt-orientert programmering, C# er riktig språk for å lære om Enhet. Faktisk, C# er det eneste språket som er verdt å lære for plattformen, og med god grunn.
Enhet bruker Mono, som er en cross-platform implementering av Microsoft ‘ s .NET framework. C# er det primære språket .NET, og alle Enhet bibliotek er bygget ved hjelp av C# – kode., Å si at C# er språket som Enhet ikke ville være en overdrivelse. Unity har gjort det klart at de anser C# for å være det eneste språket for bruk med motoren fremover.
Dette er gode nyheter, som C# er et kraftig språk og lett å lære. Unity er bare ett av mange gode grunner til å lære seg C#, og hvis du er en nybegynner, kan du selv finne det mer tilgjengelig. Utvikle spill gir struktur til læring, og prosjekt-basert mål føre til større forståelse av nye fag.,
Det er mange programmeringsspråk, så hvilken skal du velge én å lære? Her er flere grunner til å lære seg C#.
Med innføringen av C# jobb system og ECS, Unity er å skyve hva som kan gjøres med C# videre og videre, og nye Utbrudd kompilatoren gjør det raskere enn noen gang før.
2. Den Aktuelle Alternativ: JavaScript
Enhet også støtter JavaScript—kjent som UnityScript., Siden utgivelsen, JavaScript har satt side ved side med C# som en komplett Enhet utvikling språk. Enhet scripting referanse hadde eksempelet koden i både C# og JavaScript for de fleste elementer i biblioteket.
Dette var nyttig for utviklere som kommer fra en JavaScript-bakgrunn som tross forskjeller i hvordan koden er strukturert de kunne bruke kjente syntaks. Det var imidlertid et problem.
Mens UnityScript synes lik JavaScript—det er det ikke. UnityScript har klasser, noe som JavaScript ikke., Funksjoner i JavaScript som flere variable erklæring og valgfritt semi-kolon er ikke tilgjengelig i UnityScript.
Kanskje det som er avgjørende, søker etter JavaScript hjelpe på Unity prosjekter har alltid forårsaket forvirring som de fleste referert til det som JavaScript snarere enn UnityScript. Resultatene for både web design og utvikling uklare sammen, og forskjellen mellom språkene var et poeng av stridigheter i ren JavaScript-utviklere.,
Kanskje ikke overraskende, Samhold annonserte at de skulle trekke tilbake støtte for UnityScript, og det er nå en tidslinje i stedet for å sette det. Du kan fortsatt bruke JavaScript og Enhet, men at det kommer til å komme til en slutt, hvorfor ville du?
3. Den Gamle Tredje Valg: Boo
I de tidlige dagene av Samhold, og det var muligheten til å bruke Boo—en Python-lignende språk. Dette er kanskje overraskende som Rodrigo B. De Oliveira, Boo ‘ s designer, og arbeidet for Samhold. Språket er kompatibel med .NET og Mono, og vil være fullt implementert med spillet motor. Hva gikk galt?,
Ikke nok folk brukte det, sannsynligvis forutsatt at det var bare prøver å imitere Python. Over tid, Samhold droppet støtte for Boo, og de kommende endringer UnityScript vil gjengi alle gamle Boo skript ubrukelig i fellesskap. Noen vil kanskje se dette som en mulighet, Boo som var en stor forsøk på Python-lignende syntaks for .NET programmering.
Elskere av Python har en annen mulighet, men.
4. Merkelig Valg: IronPython
Hvis du ønsker å utvikle spill, Python er sannsynligvis ikke språket for deg, men det er mulig., I hans Microsoft Utvikler Samfunnet blogg, Charlie Calvert skisserer hvordan å kjøre Python fra C#— men det er ikke for pyser. Nesten ti år senere, IronPython er fortsatt i aktiv utvikling.
I kort, vil du trenger å laste ned den IronPython biblioteker fra GitHub og referanse dem i C# prosjektet. Dette vil tillate deg å ringe Python-skript fra C# skript mye som deg, ville noen andre bibliotek. IronPython også mulighet for å ringe .NET bibliotek fra Python. Så nyttige som dette høres ut, siden Samhold er avhengig av C# denne funksjonaliteten hjelper ikke.,
IronPython—og IronRuby, det er søster prosjekt knytte C# med programmeringsspråket Ruby—er fantastiske prosjekter, men de er ikke praktisk for bruk med Unity.
5. Det Interessante Valg: Lua
En av de bedre implementering av en ekstern språk for Unity er MoonSharp—en Lua tolk. Dette prosjektet er ikke ment å erstatte C# som språk, mer fungere som en bro. Den perfekte use case for MoonSharp ville være å legge på en måte for spillere av spillet til å lage modifikasjoner til spillet i Lua språk.,
Du kan også bruke den til å beskrive objekter og design nivåer separat fra din kjernevirksomhet spillet kode.
Hvis du allerede er kodet i C# og leter etter en interessant måte å samhandle med din kode, MoonSharp er verdt å vurdere. Siden det er tilgjengelig gratis på Unity er Ressurs-butikken, kan du importere dem direkte inn i dine prosjekter.
6. Beste Språket for Plugins: C/C++
til Tross for den robust Enhet bibliotek og alle tilgjengelige verktøy for C# gir, noen ganger ønsker du kanskje dine egne skript., De viktigste grunnene til at folk velger plugins inkluderer hastighet, eller tilgang til et codebase allerede skrevet på et annet språk. Bygningen disse skriptene inn i DLL-plugins sparer omforming kode og kan forbedre ytelse i enkelte tilfeller.
I de fleste tilfeller, C++ vil være det språket som brukes for plugin skapelse, men C ville fungere like godt. Så lenge koden bygger inn en DLL-fil, kan det være plassert i Enhet er plugin-mappen og som det refereres til i koden. Sannsynligheten er, imidlertid, hvis du allerede er komfortabel med koding i C/C++, at læring C# ville være en relativt enkel oppgave!
7., Nye Språk for Plugins: Rust
Rust er et språk med mye buzz rundt det. Erfarne programmerere elsker det for den utrolige mengden av kontroll, og det gir samtidig unngå fallgruvene for å skrive i mindre trygt språk som C++. Rust var laget av Mozilla i 2009, som en måte for utviklere å utvikle høy ytelse programvare raskt.
Mens det ikke er mulig å skrive Rust i Enhet direkte, kan du få tilgang til funksjoner og metoder som er skrevet i Rust fra din Enhet kode. Jim Fleming dekker hvordan du gjør det i detalj i sitt innlegg på Medium.,
Hvis dette virker kjent, det er fordi dette er en annen måte å lage Native Plugins. Ved å utnytte Rust ‘ s evne til å samhandle med andre språk, kan du ringe Rust-funksjoner direkte fra C# – koden ved hjelp av Unity er DllImport attributtet. Naturligvis, det er flere skritt i mellom, og å lese Jim ‘ s oppfølging post sammen med å få en god forståelse av FFIs (utenlandske funksjon grensesnitt) anbefales!
En Enkelt Valg
Unity ‘ s holdning til et språk som ikke er C# er klar, og stadige forbedringer til Enhet stole på denne single-mindedness., Par dette med Microsofts kontinuerlige forbedring av C# som språk og læring C# for Enhet game development er en no-brainer. Og pass på å sjekke ut Unity Lære for en lettere måte å lære spillet utvikling.
Dette er ikke det eneste alternativet om, Unity er bare én motor, og det er nok av spill utvikling programvare alternativer å velge fra.
- Programmering
- JavaScript
- Spill Utvikling
- C
- Enhet
Om Forfatteren
Ian Buckley er en freelance journalist, musiker, artist og video-produsent som bor i Berlin, Tyskland. Når han ikke skriver eller på scenen, han er fiksing og triksing med DIY elektronikk eller kode i håp om å bli en gal vitenskapsmann.
Mer Fra Ian Buckley