Wil je beginnen met game-ontwikkeling in Unity?  U moet bekend zijn met een van deze Unity-compatibele talen.

7 Unity Game Development Talen om te leren: welke is het beste?

Advertentie Games ontwikkelen is nog nooit zo eenvoudig geweest. Platforms voor game-ontwikkeling zoals Unity maken het mogelijk om alles te maken, van eenvoudige 2D-platformspelers tot volledig gedetailleerde 3D first-person shooters. Unity is gratis voor kleine ontwikkelaars en er is een schat aan tutorials over hoe u de editor het beste kunt gebruiken om een ​​prototype van uw ideeën te maken. Ler

Advertentie

Games ontwikkelen is nog nooit zo eenvoudig geweest. Platforms voor game-ontwikkeling zoals Unity maken het mogelijk om alles te maken, van eenvoudige 2D-platformspelers tot volledig gedetailleerde 3D first-person shooters. Unity is gratis voor kleine ontwikkelaars en er is een schat aan tutorials over hoe u de editor het beste kunt gebruiken om een ​​prototype van uw ideeën te maken.

Leren hoe het Unity-programma te gebruiken, zal je alleen maar zover brengen. De echte kern van je spel zal de code zijn die het gedrag bepaalt. Uitzoeken welke taal je moet leren voor game-ontwikkeling kan moeilijk zijn, maar in het geval van Unity is het eenvoudig.

1. De beste keuze: C #

Voor iedereen die begint met Unity, of iemand met voorkennis van objectgeoriënteerd programmeren, is C # de juiste taal om voor Unity te leren. C # is eigenlijk de enige taal die het leren waard is voor het platform, en met goede reden.

Unity gebruikt Mono, een platformonafhankelijke implementatie van het .NET-framework van Microsoft. C # is de primaire taal van .NET en alle bibliotheken van Unity zijn gebouwd met C # -code. Zeggen dat C # de taal van eenheid is, zou niet overdreven zijn. Unity heeft duidelijk gemaakt dat zij C # beschouwen als de enige taal voor gebruik met de motor in de toekomst.

Dit is goed nieuws, want C # is een krachtige taal en gemakkelijk te leren. Eenheid is slechts een van de vele goede redenen om C # 7 te leren Praktische redenen om te leren C # programmeren 7 Praktische redenen om te leren C # programmeren Er zijn veel programmeertalen, dus welke moet je kiezen om te leren? Hier zijn verschillende redenen om C # te leren. Lees meer, en als je een beginner bent, vind je het misschien zelfs meer toegankelijk. Het ontwikkelen van games geeft structuur aan leren en projectmatige doelen leiden tot een beter begrip van nieuwe onderwerpen.

Met de introductie van het C # -systeem en ECS duwt Unity steeds verder wat er met C # kan worden gedaan, en de nieuwe Burst-compiler maakt het sneller dan ooit tevoren.

2. Het huidige alternatief: JavaScript

Unity ondersteunt ook JavaScript - bekend als UnityScript. Sinds de release staat JavaScript naast C # als een volledige Unity-ontwikkeltaal. De scriptreferentie van Unity had voorbeeldcode in zowel C # als JavaScript voor de meeste elementen van de bibliotheek.

Dit was handig voor ontwikkelaars met een JavaScript-achtergrond, want ondanks verschillen in de manier waarop code was gestructureerd, konden ze vertrouwde syntaxis gebruiken. Er was echter een probleem.

Hoewel UnityScript lijkt op JavaScript, is dat niet het geval. UnityScript heeft klassen, iets dat JavaScript niet heeft. Functies van JavaScript zoals declaratie van meerdere variabelen en optionele puntkomma's zijn niet beschikbaar in UnityScript.

Misschien is het cruciaal dat het zoeken naar JavaScript-hulp bij Unity-projecten altijd voor verwarring heeft gezorgd, omdat de meeste mensen het JavaScript noemden in plaats van UnityScript. Resultaten voor zowel webontwerp als game-ontwikkeling vervaagden samen, en het verschil tussen de talen was een punt van discussie voor pure JavaScript-ontwikkelaars.

Misschien niet verrassend, kondigde Unity aan dat ze de ondersteuning voor UnityScript zouden intrekken, en er is nu een tijdlijn om het buiten gebruik te stellen. U kunt JavaScript nog steeds met Unity gebruiken, maar wetende dat het tot een einde komt, waarom zou u dat doen?

3. De oude derde keuze: boe

In de begindagen van Unity was er de optie om Boo te gebruiken - een Python-achtige taal. Dit is misschien niet zo verwonderlijk omdat Rodrigo B. De Oliveira, de ontwerper van Boo, voor Unity werkte. De taal is compatibel met .NET en Mono en zou volledig worden geïmplementeerd met de game-engine. Wat ging er mis?

Niet genoeg mensen gebruikten het, waarschijnlijk aannemend dat het alleen maar probeerde Python te imiteren. In de loop van de tijd heeft Unity de ondersteuning voor Boo stopgezet en de aankomende wijzigingen in UnityScript maken alle oude Boo-scripts onbruikbaar in Unity. Sommigen zien dit misschien als een gemiste kans, omdat Boo een geweldige poging was tot Python-achtige syntaxis voor .NET-programmering.

Liefhebbers van Python hebben echter een andere optie.

4. De oneven keuze: IronPython

Als je games wilt ontwikkelen, is Python waarschijnlijk niet de taal voor jou 4 Redenen waarom Python niet de programmeertaal voor jou is 4 Redenen waarom Python niet de programmeertaal voor jou is De programmeertaal Python is enorm populair, maar hier zijn een paar redenen waarom u Python wilt vermijden. Lees meer, maar het is mogelijk. In zijn Microsoft Developer Community-blog schetst Charlie Calvert hoe je Python kunt uitvoeren vanaf C # - maar het is niet voor angsthazen. Bijna tien jaar later is IronPython nog steeds in actieve ontwikkeling.

Kortom, u moet de IronPython-bibliotheken van GitHub downloaden en ernaar verwijzen in uw C # -project. Hiermee kunt u Python-scripts uit C # -scripts aanroepen, net zoals elke andere bibliotheek. IronPython maakt het ook mogelijk om .NET-bibliotheken aan te roepen vanuit Python. Hoe nuttig dit ook klinkt, aangezien Unity afhankelijk is van C #, helpt deze functionaliteit niet.

IronPython - en IronRuby, het zusterproject dat C # koppelt aan de programmeertaal Ruby - zijn fantastische projecten, maar ze zijn niet praktisch voor gebruik met Unity.

5. De interessante keuze: Lua

Een van de betere implementaties van een externe taal voor Unity is MoonSharp - een Lua-tolk. Dit project is niet ontworpen om C # als een taal te vervangen, meer als een brug. Het perfecte gebruik van MoonSharp zou zijn om spelers op een manier toe te voegen om spelmods in de Lua-taal te maken.

Je kunt het ook gebruiken om objecten en ontwerpniveaus afzonderlijk van je kernspelcode te beschrijven.

Als u al codeert in C # en op zoek bent naar een interessante manier om te communiceren met uw code, is MoonSharp het overwegen waard. Omdat het gratis beschikbaar is in de Asset Store van Unity, kunt u het rechtstreeks in uw projecten importeren.

6. Beste taal voor plug-ins: C / C ++

Ondanks de robuuste Unity-bibliotheek en alle beschikbare tools die C # biedt, wilt u soms uw eigen plug-ins. De belangrijkste redenen waarom mensen voor plug-ins kiezen, zijn snelheid of toegang tot een codebase die al in een andere taal is geschreven. Het inbouwen van deze scripts in DLL-plug-ins bespaart remaking-code en kan in sommige gevallen de prestaties verbeteren.

In de meeste gevallen is C ++ de taal die wordt gebruikt voor het maken van plug-ins, maar C zou even goed werken. Zolang de code in een DLL wordt ingebouwd, kan deze in de plug-inmap van Unity worden geplaatst en ernaar worden verwezen in code. De kans is echter dat als u al vertrouwd bent met coderen in C / C ++, het leren van C # een relatief eenvoudige taak is!

7. Nieuwe taal voor plug-ins: Rust

Roest is een taal met veel gezoem eromheen. Ervaren programmeurs zijn er dol op vanwege de ongelooflijke hoeveelheid controle die het geeft, terwijl ze de valkuilen van het schrijven in minder veilige talen zoals C ++ vermijden. Rust is gemaakt door Mozilla in 2009, als een manier voor ontwikkelaars om snel krachtige software te ontwikkelen.

Hoewel het niet mogelijk is om Rust in Unity rechtstreeks te schrijven, kun je vanuit je Unity-code toegang krijgen tot functies en methoden die in Rust zijn geschreven. Jim Fleming gaat in zijn post op Medium in detail in op hoe dit te doen.

Als dit bekend voorkomt, is dit omdat dit een andere manier is om native plug-ins te maken. Door gebruik te maken van het vermogen van Rust om te communiceren met andere talen, kunt u Rust-functies rechtstreeks vanuit de C # -code gebruiken met behulp van het kenmerk DllImport van Unity. Natuurlijk zijn er verschillende stappen daartussen, en het is raadzaam om de follow-up van Jim te lezen en een goed begrip te krijgen van FFI's (interfaces voor buitenlandse functies)!

Een eenvoudige keuze

De houding van Unity ten opzichte van elke taal die geen C # is, is duidelijk en de voortdurende verbeteringen aan Unity zijn afhankelijk van deze eenduidigheid. Koppel dit aan de voortdurende verbetering van Microsoft van C # als taal, en het leren van C # voor Unity game-ontwikkeling is een no-brainer. En bekijk zeker Unity Learn voor een eenvoudigere manier om game-ontwikkeling te leren Unity Learn is de gemakkelijkste manier om game-ontwikkeling onder de knie te krijgen Unity Learn is de gemakkelijkste manier om game-ontwikkeling onder de knie te krijgen Wil je beginnen met het ontwikkelen van je eigen games? Unity Learn is de beste en gemakkelijkste manier om te leren en te beheersen wat u moet weten. Lees verder .

Dit is echter niet je enige optie, Unity is slechts één engine en er zijn tal van software-opties voor game-ontwikkeling 5 Gratis software-tools voor game-ontwikkeling om je eigen games te maken 5 Gratis software-tools voor game-ontwikkeling om je eigen games te maken Gratis software voor game-ontwikkeling is een geweldige manier om het maken van videogames te starten. We hebben de beste gamesoftware op de markt samengesteld. Lees meer om uit te kiezen.

Ontdek meer over: C, Game Development, JavaScript, Unity.