7 Unity Game-utvecklingsspråk att lära sig: Vilket är bäst?
Annons
Att utveckla spel har aldrig varit enklare. Spelutvecklingsplattformar som Unity gör det möjligt att skapa allt från enkla 2D-plattformsspelare till helt detaljerade 3D-personers shooters. Enhet är gratis för små utvecklare, och det finns en mängd självstudier om hur du bäst kan använda redigeraren för att prototypa dina idéer.
Att lära sig använda Unity-programmet kommer bara att få dig så långt. Den verkliga kärnan i ditt spel är koden som avgör dess beteende. Det kan vara svårt att arbeta ut vilket språk man ska lära sig för spelutveckling - men i fallet med Enhet är det enkelt.
1. Det bästa valet: C #
För alla som börjar med Unity, eller någon med tidigare kunskap om objektorienterad programmering, är C # rätt språk att lära sig för Unity. Faktum är att C # är det enda språket som är värt att lära sig för plattformen, och med goda skäl.
Unity använder Mono, som är en plattformsimplementering 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 enhetens språk skulle inte vara en överdrift. Enhet har gjort det klart att de anser att C # är det enda språket som ska användas med motorn framöver.
Det här är goda nyheter, eftersom C # är ett kraftfullt språk och lätt att lära sig. Enhet är bara en av många goda skäl för att lära sig C # 7 Praktiska skäl att lära sig C # Programmering 7 Praktiska skäl att lära sig C # Programmering Det finns många programmeringsspråk, så vilket ska du välja att lära dig? Här är flera skäl att lära sig C #. Läs mer, och om du är nybörjare kan du till och med hitta det mer tillgängligt. Att utveckla spel ger struktur för lärandet och projektbaserade mål leder till ökad förståelse för nya ämnen.
Med introduktionen av C # jobbsystemet och ECS driver Unity det 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 satt sida vid sida med C # som ett fullt utbyggt Unity-utvecklingsspråk. Unity-skriptreferensen hade exempelkod i både C # och JavaScript för de flesta element i biblioteket.
Detta var användbart för utvecklare som kommer från en JavaScript-bakgrund eftersom trots skillnader i hur koden var strukturerad kunde de använda bekanta syntax. Det var emellertid ett problem.
Även om UnityScript verkar likna JavaScript - så är det inte. UnityScript har klasser, något som JavaScript inte gör. Funktioner i JavaScript, såsom flera variabla deklarationer och valfria halvkolon är inte tillgängliga i UnityScript.
Kanske avgörande, att söka efter JavaScript-hjälp på Unity-projekt har alltid orsakat förvirring eftersom de flesta hänvisade till det som JavaScript snarare än UnityScript. Resultaten för både webbdesign och spelutveckling suddigades ihop, och skillnaden mellan språken var en poäng för tvister om JavaScript-utvecklare.
Kanske överraskande meddelade Unity att de skulle dra tillbaka stödet för UnityScript, och det finns nu en tidslinje för att stänga av det. Du kan fortfarande använda JavaScript med Unity, men att veta att det kommer att ta slut, varför skulle du göra det?
3. Det gamla tredje valet: Boo
I Unitys tidiga dagar fanns alternativet 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 vara fullt implementerat med spelmotorn. Vad gick fel?
Inte tillräckligt många människor använde det, antagde antagligen att det bara försökte imitera Python. Med tiden tappade Unity stöd för Boo, och de kommande ändringarna i 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. The Odd Choice: IronPython
Om du vill utveckla spel är Python förmodligen inte språket för dig 4 skäl varför Python inte är programmeringsspråket för dig 4 skäl varför Python inte är programmeringsspråket för dig Python-programmeringsspråket är extremt populärt, men här är några skäl till varför du kanske vill undvika Python. Läs mer, 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 svaghjärtade. Nästan tio år senare är IronPython fortfarande i aktiv utveckling.
Kort sagt måste du ladda ner IronPython-biblioteken 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 du skulle göra i något annat bibliotek. IronPython tillåter också att ringa .NET-bibliotek från Python. Lika användbart som det här låter, eftersom Unity förlitar sig på C # hjälper inte den här funktionen.
IronPython — och IronRuby, det är systerprojekt som länkar C # med Ruby-programmeringsspråket - är fantastiska projekt, men de är inte praktiska att använda 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 ett 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 spellägen på Lua-språket.
Du kan också använda den för att beskriva objekt och designnivåer separat från din grundläggande spelkod.
Om du redan kodar i C # och letar efter ett intressant sätt att gränssnitta med din kod, är MoonSharp värt att överväga. Eftersom det finns gratis i Unitys Asset-butik kan du importera det 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, kanske du ibland vill ha dina egna plugins. De främsta orsakerna till att människor väljer plugins inkluderar hastighet eller tillgång till en kodbas som redan är skriven på ett annat språk. Genom att bygga dessa skript i DLL-plugins sparar ny omvandlingskod och kan i vissa fall förbättra prestandan.
I de flesta fall är C ++ det språk som används för att skapa plugin, men C skulle fungera lika bra. Så länge koden byggs in i en DLL kan den placeras i Unitys plugin-mapp och hänvisas till i kod. Sannolikheten är dock att om du redan är bekväm att koda i C / C ++, att lära sig C # skulle vara en relativt enkel uppgift!
7. Nytt språk för plugins: Rust
Rust är ett språk med mycket surr runt det. Erfaren programmerare älskar det för den otroliga mängden kontroll det ger samtidigt som man undviker fallgroparna med 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 i 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 infödda plugins. Genom att utnyttja Rusts förmåga att gränssnittet med andra språk kan du ringa Rustfunktioner direkt från C # -kod med Unitys DllImport- attribut. Naturligtvis finns det flera steg däremellan, och det rekommenderas att läsa Jims uppföljningspost tillsammans med att få en god förståelse av FFI: er (främmande funktionsgränssnitt)!
Ett enkelt val
Enhetens inställning till alla språk som inte är C # är tydlig, och de ständiga förbättringarna för 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 Unity Learn för ett enklare sätt att lära sig spelutveckling Unity Learn är det enklaste sättet att behärska spelutveckling Unity Learn är det enklaste sättet att behärska spelutveckling Vill du börja utveckla dina egna spel? Unity Learn är det bästa och enklaste sättet att lära sig och behärska det du behöver veta. Läs mer .
Detta är dock inte ditt enda alternativ, Enhet är bara en motor, och det finns många spelutvecklingsprogramvara 5 Gratis spelutvecklingsverktyg för att göra dina egna spel 5 Gratis spelutvecklingsprogramverktyg för att göra dina egna spel Gratis spelutvecklingsprogramvara är ett bra sätt att börja göra videospel. Vi har sammanställt marknadens bästa spelprogramvara. Läs mer att välja mellan.
Utforska mer om: C, Spelutveckling, JavaScript, Enhet.