7 Unity -spiludviklingssprog at lære: Hvilket er bedst?

7 Unity -spiludviklingssprog at lære: Hvilket er bedst?

Det har aldrig været lettere at udvikle spil. Spiludviklingsplatforme som Unity gør det muligt at skabe alt fra simple 2D-platformere til fuldstændigt detaljerede 3D first-person shooters. Unity er gratis for små udviklere, og der er et væld af tutorials om, hvordan man bedst bruger editoren til at prototype dine ideer.





At lære at bruge Unity -programmet får dig kun så langt. Den virkelige kerne i dit spil vil være koden, der bestemmer dens adfærd. Det kan være svært at finde ud af, hvilket sprog der skal læres til spiludvikling --- men i tilfælde af Unity er det enkelt.





hvordan man aktiverer flash i chrome

1. Det bedste valg: C#

For alle, der starter med Unity, eller alle med tidligere kendskab til 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ærplatformsimplementering af Microsofts .NET framework. C# er det primære sprog i .NET, og alle Unity's biblioteker er bygget ved hjælp af C# -kode. At sige, at C# er enhedens sprog, ville ikke være en overdrivelse. Unity har gjort det klart, at de anser C# for at være det eneste sprog til brug med motoren fremover.

Dette er gode nyheder, da C# er et kraftfuldt sprog og let at lære. Enhed er bare en af ​​mange gode grunde til at lære C# , og hvis du er nybegynder, kan du endda finde det mere tilgængeligt. Udvikling af spil giver læring struktur, og projektbaserede mål fører til større forståelse for nye emner.



Med introduktionen af C# jobsystem og ECS , Unity presser på, 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 aktuelle alternativ: JavaScript

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





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

Selvom UnityScript ligner JavaScript --- er det ikke det. UnityScript har klasser, noget som JavaScript ikke gør. Funktioner i JavaScript som flere variable deklarationer og valgfrie semikolon er ikke tilgængelige i UnityScript.





Måske afgørende, at søgning efter JavaScript -hjælp på Unity -projekter altid har skabt forvirring, da de fleste mennesker omtalte det som JavaScript snarere end UnityScript. Resultater for både webdesign og spiludvikling slørede sammen, og forskellen mellem sprogene var et stridspunkt for rene JavaScript -udviklere.

Måske overraskende meddelte Unity, at de ville trække støtten til UnityScript tilbage, og der er nu en tidslinje på plads for at fjerne den . Du kan stadig bruge JavaScript 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 mulighed 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, sandsynligvis ved at antage at det blot forsøgte at efterligne Python. Over tid droppede Unity support til Boo, og de kommende ændringer af UnityScript vil gøre alle gamle Boo -scripts ubrugelige i Unity. Nogle vil måske se dette som en forpasset mulighed, da Boo var et stort forsøg på Python-lignende syntaks for .NET-programmering.

Elskere af Python har dog en anden mulighed.

4. Det ulige valg: IronPython

Hvis du vil udvikle spil, er Python sandsynligvis ikke sproget for dig, men det er muligt. I sin Microsoft Developer Community -blog skitserer Charlie Calvert hvordan man kører Python fra C# --- men det er ikke for svaghjertede. Næsten ti år senere er IronPython stadig i aktiv udvikling.

Kort sagt skal du downloade IronPython -biblioteker fra GitHub og referer til dem i dit C# -projekt. Dette giver dig mulighed for at ringe til Python -scripts fra C# -scripts, ligesom du ville gøre med ethvert andet bibliotek. IronPython giver også mulighed for kalder .NET -biblioteker fra Python . Så nyttigt som det lyder, da Unity er afhængig af C# hjælper denne funktionalitet ikke.

IronPython --- og IronRuby, det er søsterprojekt, der forbinder C# med programmeringssproget Ruby --- er fantastiske projekter, men de er ikke praktiske til brug 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 sprog, mere fungere som en bro. Den perfekte brugstilfælde for MoonSharp ville være at tilføje på en måde for spillere i dit spil at oprette spilmods på Lua -sproget.

Du kan også bruge den til at beskrive objekter og designniveauer adskilt fra din kernespilskode.

Hvis du allerede koder i C# og leder efter en interessant måde at interagere med din kode, er MoonSharp værd at overveje. Da den er tilgængelig gratis på Unity's 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, C# giver, kan du nogle gange have dine egne plugins. Hovedårsagerne til, at folk vælger plugins inkluderer hastighed eller adgang til en kodebase, der allerede er skrevet på et andet sprog. Ved at opbygge disse scripts i DLL -plugins gemmes genindretningskode og kan i nogle tilfælde forbedre ydeevnen.

I de fleste tilfælde vil C ++ være det sprog, der bruges til plugin -oprettelse, men C ville fungere lige så godt. Så længe koden bygger ind i en DLL, kan den placeres i Unitys plugin -mappe og refereres til kode. Sandsynligheden er imidlertid, at hvis du allerede er tryg ved at kode i C/C ++, ville det at lære C# være en relativt enkel opgave!

hvordan man bruger de nye snapchat filtre

7. Nyt sprog til plugins: Rust

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

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

Hvis dette virker bekendt, skyldes det, at det er en anden måde at oprette indbyggede plugins på. Ved at udnytte Rusts evne til at interagere med andre sprog, kan du ringe til Rust -funktioner direkte fra C# -kode ved hjælp af Unity's DllImport attribut. Naturligvis er der flere trin imellem, og læser Jims opfølgende indlæg sammen med at få en god forståelse af FFI'er (udenlandske funktionsgrænseflader) anbefales!

Et simpelt valg

Unitys holdning til ethvert sprog, der ikke er C#, er klart, og de konstante forbedringer af Unity er afhængige af denne ensartethed. Kombiner dette 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 ud Unity Lær for en lettere måde at lære spiludvikling på .

Dette er dog ikke din eneste mulighed, Unity er kun en motor, og der er masser af muligheder for spiludvikling at vælge imellem.

Del Del Tweet E -mail Canon vs Nikon: Hvilket kameramærke er bedre?

Canon og Nikon er de to største navne i kameraindustrien. Men hvilket mærke tilbyder den bedre serie af kameraer og objektiver?

Læs Næste
Relaterede emner
  • Programmering
  • JavaScript
  • Spiludvikling
  • C
  • Enhed
Om forfatteren Ian Buckley(216 artikler udgivet)

Ian Buckley er freelance journalist, musiker, performer og videoproducent bosat i Berlin, Tyskland. Når han ikke skriver eller på scenen, piller han med DIY -elektronik eller kode i håb om at blive en gal videnskabsmand.

Mere fra Ian Buckley

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere