7 enhetsspelutvecklingsspråk att lära sig: Vilket är bäst?

7 enhetsspelutvecklingsspråk att lära sig: Vilket är bäst?

Att utveckla spel har aldrig varit enklare. Spelutvecklingsplattformar som Unity gör det möjligt att skapa allt från enkla 2D-plattformsspel till fullständigt detaljerade 3D-förstapersonsskjutare. Enhet är gratis för små utvecklare, och det finns en mängd tutorials om hur du bäst använder redigeraren för att prototypa dina idéer.





Att lära sig att använda Unity -programmet kommer bara att nå dig så långt. Den verkliga kärnan i ditt spel kommer att vara koden som bestämmer dess beteende. Att räkna ut vilket språk som ska läras för spelutveckling kan vara svårt --- men för Unity är det enkelt.





hur man bygger en smart spegel

1. Det bästa valet: C#

För alla som börjar med Unity, eller alla med tidigare kunskaper i objektorienterad programmering, är C# rätt språk att lära sig för Unity. Faktum är att C# är det enda språk som är värt att lära sig för plattformen, och med goda skäl.





Unity använder Mono, som är en plattformsoberoende implementering av Microsofts .NET-ramverk. C# är det primära språket i .NET, och alla Unitys bibliotek är byggda med C# -kod. Att säga att C# är enhetsspråket skulle inte vara en överdrift. Unity har gjort det klart att de anser att C# är det enda språket som ska användas med motorn framåt.

Detta är goda nyheter, eftersom C# är ett kraftfullt språk och lätt att lära sig. Enhet är bara en av många bra skäl att lära sig C# , och om du är nybörjare kan du till och med tycka att det är mer tillgängligt. Att utveckla spel ger struktur åt lärande, och projektbaserade mål leder till större förståelse för nya ämnen.



Med introduktionen av C# jobbsystem och ECS , Unity driver på vad som kan göras med C# längre och längre, och den nya Burst -kompilatorn gör det snabbare än någonsin tidigare.

2. Det nuvarande alternativet: JavaScript

Unity stöder också JavaScript --- känd som UnityScript. Sedan lanseringen har JavaScript legat sida vid sida med C# som ett fullt utvecklat Unity-utvecklingsspråk. Unity -skriptreferensen hade exempelkod i både C# och JavaScript för de flesta elementen i biblioteket.





Detta var användbart för utvecklare som kommer från en JavaScript -bakgrund, eftersom de kunde använda bekant syntax trots skillnader i hur koden strukturerades. Det var dock ett problem.

Även om UnityScript liknar JavaScript --- så är det inte det. UnityScript har klasser, något som JavaScript inte har. Funktioner i JavaScript som multipel variabeldeklaration och valfria halvkolon är inte tillgängliga i UnityScript.





Kanske avgörande är att sökning efter JavaScript -hjälp i Unity -projekt alltid har orsakat förvirring eftersom de flesta kallade det JavaScript snarare än UnityScript. Resultat för både webbdesign och spelutveckling suddades ut, och skillnaden mellan språken var en stridspunkt för rena JavaScript -utvecklare.

Kanske överraskande meddelade Unity att de skulle dra tillbaka stödet för UnityScript, och det finns nu en tidslinje på plats för att avlägsna den . Du kan fortfarande använda JavaScript med Unity, men att veta att det kommer att ta slut, varför skulle du?

3. Det gamla tredje valet: Boo

I de första dagarna av Unity fanns det möjlighet att använda Boo --- ett Python-liknande språk. Detta är kanske inte förvånande eftersom Rodrigo B. De Oliveira, Boos designer , arbetade för Unity. Språket är kompatibelt med .NET och Mono och skulle implementeras fullt ut med spelmotorn. Vad gick fel?

Det var inte tillräckligt många som använde det, antagligen troligt att det bara var att försöka imitera Python. Med tiden tappade Unity stödet för Boo, och de kommande ändringarna av UnityScript kommer att göra alla gamla Boo -skript värdelösa i Unity. Vissa kanske ser detta som en missad möjlighet, eftersom Boo var ett bra försök till Python-liknande syntax för .NET-programmering.

Älskare av Python har dock ett annat alternativ.

4. Det udda valet: IronPython

Om du vill utveckla spel är Python förmodligen inte språket för dig, men det är möjligt. I sin Microsoft Developer Community -blogg beskriver Charlie Calvert hur man kör Python från C# --- men det är inte för svagt hjärta. Nästan tio år senare är IronPython fortfarande i aktiv utveckling.

Kort sagt, du måste ladda ner IronPython -bibliotek från GitHub och referera till dem i ditt C# -projekt. Detta gör att du kan ringa Python -skript från C# -skript ungefär som med alla andra bibliotek. IronPython tillåter också anropar .NET -bibliotek från Python . Så användbart som det låter, eftersom Unity förlitar sig på C# hjälper denna funktion inte.

IronPython --- och IronRuby, det är systerprojekt som länkar C# till programmeringsspråket Ruby --- är fantastiska projekt, men de är inte praktiska för användning med Unity.

5. Det intressanta valet: Lua

En av de bättre implementeringarna av ett externt språk för Unity är MoonSharp --- en Lua-tolk. Detta projekt är inte utformat för att ersätta C# som språk, mer fungera som en bro. Det perfekta användningsfallet för MoonSharp skulle vara att lägga till på ett sätt för spelare i ditt spel att skapa spelmods på Lua -språket.

Du kan också använda den för att beskriva objekt och designnivåer separat från din kärnkod.

Om du redan kodar i C# och letar efter ett intressant sätt att interagera med din kod, är MoonSharp värt att överväga. Eftersom det är tillgängligt gratis på Unity's Asset -butik kan du importera den direkt till dina projekt.

6. Bästa språket för plugins: C/C ++

Trots det robusta Unity -biblioteket och alla tillgängliga verktyg som C# ger kan du ibland vilja ha egna plugins. De främsta anledningarna till att människor väljer plugins inkluderar hastighet eller tillgång till en kodbas som redan är skriven på ett annat språk. Att bygga dessa skript i DLL -plugins sparar omarbetningskod och kan i vissa fall förbättra prestandan.

I de flesta fall kommer C ++ att vara det språk som används för att skapa plugin, men C skulle fungera lika bra. Så länge koden bygger in i en DLL kan den placeras i Unitys plugin -mapp och refereras till i kod. Sannolikheten är dock att om du redan är bekväm med att koda i C/C ++, skulle inlärning av C# vara en relativt enkel uppgift!

hur man gör en mod för minecraft

7. Nytt språk för plugins: Rost

Rost är ett språk med mycket surr runt det. Erfarna programmerare älskar det för den otroliga kontrollen det ger samtidigt som de undviker fallgroparna att skriva på mindre säkra språk som C ++. Rust skapades av Mozilla 2009, som ett sätt för utvecklare att snabbt utveckla högpresterande programvara.

Även om det inte är möjligt att skriva Rust in Unity direkt, kan du komma åt funktioner och metoder skrivna i Rust från din Unity -kod. Jim Fleming beskriver hur man gör det i detalj i sitt inlägg på Medium .

Om detta verkar bekant beror det på att det här är ett annat sätt att skapa inbyggda plugins. Genom att utnyttja Rusts förmåga att interagera med andra språk kan du ringa till Rust -funktioner direkt från C# -koden med Unity's DllImport attribut. Naturligtvis finns det flera steg emellan, och läser Jims uppföljningsinlägg tillsammans med att få en god förståelse för FFI (gränssnitt för främmande funktioner) rekommenderas!

Ett enkelt val

Enhetens inställning till alla språk som inte är C# är tydlig, och de ständiga förbättringarna av Unity förlitar sig på denna enfaldighet. Koppla ihop detta med Microsofts fortsatta förbättring av C# som språk, och att lära sig C# för Unity-spelutveckling är en no-brainer. Och se till att kolla in Unity Lär dig för ett enklare sätt att lära dig spelutveckling .

Detta är dock inte ditt enda alternativ, Unity är bara en motor, och det finns gott om alternativ för spelutveckling att välja ifrån.

Dela med sig Dela med sig Tweet E-post Canon vs Nikon: Vilket kameramärke är bättre?

Canon och Nikon är de två största namnen i kameraindustrin. Men vilket märke erbjuder den bättre sortimentet av kameror och objektiv?

Läs Nästa
Relaterade ämnen
  • Programmering
  • JavaScript
  • Spelutveckling
  • C
  • Enhet
Om författaren Ian Buckley(216 artiklar publicerade)

Ian Buckley är frilansjournalist, musiker, artist och videoproducent som bor i Berlin, Tyskland. När han inte skriver eller på scenen, pysslar han med DIY -elektronik eller kod i hopp om att bli en galet forskare.

Mer från Ian Buckley

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera