Vil du begynde spiludvikling i Unity?  Du har brug for fortrolighed med et af disse Unity-kompatible sprog.

7 enhedsspiludviklingssprog at lære: Hvilken er bedst?

Reklame At udvikle spil har aldrig været lettere. Spiludviklingsplatforme som Unity gør det muligt at skabe alt fra enkle 2D-platformspillere til fuldt detaljerede 3D-personers shooters. Enhed er gratis for små udviklere, og der er et væld af tutorials om, hvordan du bedst kan bruge redaktøren til at prototype dine ideer. At

Reklame

At udvikle spil har aldrig været lettere. Spiludviklingsplatforme som Unity gør det muligt at skabe alt fra enkle 2D-platformspillere til fuldt detaljerede 3D-personers shooters. Enhed er gratis for små udviklere, og der er et væld af tutorials om, hvordan du bedst kan bruge redaktøren til at prototype dine ideer.

At lære, hvordan man bruger Unity-programmet, kommer dig kun så langt. Den virkelige kerne i dit spil vil være den kode, der bestemmer dets opførsel. Det kan være svært at finde ud af, hvilket sprog man skal lære til spiludvikling - men i tilfælde af enhed er det enkelt.

1. Det bedste valg: C ​​#

For alle, der starter med Unity, eller enhver med tidligere viden om objektorienteret programmering, er C # det rigtige sprog at lære for Unity. Faktisk er C # det eneste sprog, der er værd at lære for platformen, og med god grund.

Unity bruger Mono, som er en tværplatform-implementering af Microsofts .NET-ramme. C # er det primære sprog på .NET, og alle Unitys biblioteker er bygget ved hjælp af C # -kode. At sige, at C # er enhedssprog, ville ikke være en overdrivelse. Enhed har gjort det klart, at de betragter C # som det eneste sprog, der skal bruges med motoren fremover.

Dette er gode nyheder, da C # er et magtfuldt sprog og let at lære. Enhed er kun en af ​​mange gode grunde til at lære C # 7 Praktiske grunde til at lære C # Programmering 7 Praktiske grunde til at lære C # Programmering Der er mange programmeringssprog, så hvilken skal du vælge et for at lære? Her er flere grunde til at lære C #. Læs mere, og hvis du er nybegynder, kan du endda finde den mere tilgængelig. Udvikling af spil giver struktur til læring, og projektbaserede mål fører til større forståelse af nye fag.

Med introduktionen af ​​C # jobsystemet og ECS ​​skubber Unity, hvad der kan gøres med C #, længere og længere, og den nye Burst-kompilator gør det hurtigere end nogensinde før.

2. Det nuværende alternativ: JavaScript

Unity understøtter også JavaScript - kendt som UnityScript. Siden frigivelsen har JavaScript siddet side om side med C # som et fuldt udstyret enhedsudviklingssprog. Reference til Unity-scripting havde eksempelkode i både C # og JavaScript for de fleste elementer i biblioteket.

Dette var nyttigt for udviklere, der kom fra en JavaScript-baggrund, da de trods forskelle i den måde, koden var struktureret på, kunne bruge kendt syntaks. Der var dog et problem.

Mens UnityScript ligner JavaScript, er det ikke. UnityScript har klasser, noget JavaScript ikke gør. Funktioner i JavaScript som flere forskellige variabeldeklarationer og valgfri semi-colons er ikke tilgængelige i UnityScript.

Måske afgørende, at søgning efter JavaScript-hjælp til Unity-projekter altid har skabt forvirring, da de fleste omtalte det som JavaScript i stedet for UnityScript. Resultaterne for både webdesign og spiludvikling blev uskarpe, og forskellen mellem sprogene var et pointer til ren JavaScript-udviklere.

Måske er det overraskende, at Unity annoncerede, at de ville trække støtte til UnityScript tilbage, og der er nu en tidslinje på plads til at nedlægge den. Du kan stadig bruge JavaScript sammen med Unity, men vel vidende, at det kommer til at ende, hvorfor ville du så?

3. Det gamle tredje valg: Boo

I de tidlige dage af Unity var der muligheden for at bruge Boo - et Python-lignende sprog. Dette er måske ikke overraskende, da Rodrigo B. De Oliveira, Boos designer, arbejdede for Unity. Sproget er kompatibelt med .NET og Mono og ville være fuldt implementeret med spilmotoren. Hvad gik galt?

Ikke nok mennesker brugte det, antagede sandsynligvis, at det blot forsøgte at efterligne Python. Over tid faldt Unity support til Boo, og de kommende ændringer til UnityScript vil gøre alle gamle Boo-scripter unyttige i Unity. Nogle kan se dette som en ubesvaret mulighed, da Boo var et stort forsøg på Python-lignende syntaks til .NET-programmering.

Elskere af Python har dog en anden mulighed.

4. The Odd Choice: IronPython

Hvis du vil udvikle spil, er Python sandsynligvis ikke sproget for dig 4 grunde til, at Python ikke er programmeringssproget for dig 4 grunde til, at Python ikke er programmeringssproget for dig Python-programmeringssprog er ekstremt populært, men her er et par grunde til, at du måske ønsker at undgå Python. Læs mere, men det er muligt. I sin Microsoft Developer Community-blog beskriver Charlie Calvert, hvordan man kører Python fra C # - men det er ikke for svage hjerter. Næsten ti år senere er IronPython stadig i aktiv udvikling.

Kort sagt skal du downloade IronPython-bibliotekerne fra GitHub og referere dem til dit C # -projekt. Dette giver dig mulighed for at kalde Python-scripts fra C #-scripts, ligesom du ville gøre for et hvilket som helst andet bibliotek. IronPython giver også mulighed for at ringe til .NET-biblioteker fra Python. Så nyttig som dette lyder, da Unity er afhængig af C #, denne funktion hjælper ikke.

IronPython — og IronRuby, det er søsterprojekt, der forbinder C # med Ruby-programmeringssprog - er fantastiske projekter, men de er ikke praktiske til brug sammen med Unity.

5. Det interessante valg: Lua

En af de bedre implementeringer af et eksternt sprog for Unity er MoonSharp - en Lua-tolk. Dette projekt er ikke designet til at erstatte C # som et sprog, mere fungere som en bro. Det perfekte brudssag til MoonSharp ville være at tilføje på en måde for spillere af dit spil at oprette spiltilstande på Lua-sproget.

Du kan også bruge det til at beskrive objekter og designniveauer separat fra din kerne-spilkode.

Hvis du allerede koder i C # og leder efter en interessant måde at interface med din kode, er MoonSharp værd at overveje. Da det er gratis tilgængeligt i Unity Asset-butik, kan du importere det direkte til dine projekter.

6. Bedste sprog til plugins: C / C ++

På trods af det robuste Unity-bibliotek og alle de tilgængelige værktøjer, som C # giver, kan du nogle gange have lyst til dine egne plugins. De vigtigste grunde til, at folk vælger plugins, inkluderer hastighed eller adgang til en kodebase, der allerede er skrevet på et andet sprog. Opbygning af disse scripts i DLL-plugins gemmer genoparbejdningskode og kan forbedre ydeevnen i nogle tilfælde.

I de fleste tilfælde vil C ++ være det sprog, der bruges til oprettelse af plugin, men C ville fungere lige så godt. Så længe koden indbygges i en DLL, kan den placeres i Unitys plugin-mappe og henvises til i kode. Sandsynligheden er dog, hvis du allerede er komfortabel med at kode i C / C ++, at det at lære C # ville være en relativt simpel opgave!

7. Nyt sprog til plugins: Rust

Rust er et sprog med en masse brummer omkring det. Erfarne programmører elsker det for den utrolige mængde kontrol, det giver, samtidig med at man undgår faldgruberne ved at skrive på mindre sikre sprog som C ++. Rust blev oprettet af Mozilla i 2009 som en måde for udviklere at hurtigt udvikle højtydende software.

Selvom det ikke er muligt at skrive Rust i Unity direkte, kan du få adgang til funktioner og metoder, der er skrevet i Rust fra din Unity-kode. Jim Fleming dækker, hvordan man gør det detaljeret i sit indlæg på Medium.

Hvis dette synes velkendt, er det fordi dette er en anden måde at oprette indfødte plugins på. Ved at udnytte Rust's evne til at interface med andre sprog kan du kalde Rustfunktioner direkte fra C # -kode ved hjælp af Unity's DllImport- attribut. Der er naturligvis flere trin imellem, og det anbefales at læse Jims opfølgningspost sammen med at få en god forståelse af FFI'er (udenlandske funktionsgrænseflader)!

Et simpelt valg

Enhedens holdning til ethvert sprog, der ikke er C #, er klar, og de konstante forbedringer af Enhed er afhængige af denne enfoldighed. Par dette sammen med Microsofts fortsatte forbedring af C # som sprog, og at lære C # for Unity-spiludvikling er en no-brainer. Og sørg for at tjekke Unity Learn for en lettere måde at lære spiludvikling Unity Learn er den nemmeste måde at mestre spiludvikling Unity Learn er den nemmeste måde at mestre spiludvikling Vil du begynde at udvikle dine egne spil? Unity Learn er den bedste og nemmeste måde at lære og mestre, hvad du har brug for at vide. Læs mere .

Dette er dog ikke din eneste mulighed. Enhed er kun en motor, og der er masser af softwareudviklingssoftwaremuligheder 5 Gratis spiludviklingssoftwareværktøjer til at lave dine egne spil 5 Gratis spiludviklingssoftwareværktøjer til at lave dine egne spil Gratis spiludviklingssoftware er en fantastisk måde at starte videospilfremstilling. Vi har samlet den bedste spilsoftware på markedet. Læs mere at vælge imellem.

Udforsk mere om: C, Spiludvikling, JavaScript, Enhed.