7 Unity Game Development-talen om te leren: wat is het beste?

7 Unity Game Development-talen om te leren: wat is het beste?

Het ontwikkelen van games was nog nooit zo eenvoudig. Game-ontwikkelingsplatforms zoals Unity maken het mogelijk om alles te creëren, van eenvoudige 2D-platformgames tot volledig gedetailleerde 3D first-person shooters. Unity is gratis voor kleine ontwikkelaars en er is een schat aan tutorials over hoe je de editor het beste kunt gebruiken om je ideeën te prototypen.





Door te leren hoe u het Unity-programma kunt gebruiken, komt u niet ver. De echte kern van je spel is de code 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.





hoe audiobeschrijving op prime uit te schakelen

1. De beste keuze: C#

Voor iedereen die met Unity begint, of iedereen met eerdere kennis van objectgeoriënteerd programmeren, is C# de juiste taal om voor Unity te leren. In feite is C# de enige taal die het waard is om te leren voor het platform, en terecht.





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. Om te zeggen dat C# de taal van Unity is, zou niet overdreven zijn. Unity heeft duidelijk gemaakt dat ze C# beschouwen als de enige taal voor gebruik met de engine 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# te leren , en als je een beginner bent, vind je het misschien zelfs toegankelijker. Het ontwikkelen van games geeft structuur aan het leren, en projectmatige doelen leiden tot meer begrip van nieuwe onderwerpen.



Met de introductie van de C# job systeem en ECS , Unity pusht wat er met C# kan worden gedaan steeds verder, 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 volledig functionele Unity-ontwikkeltaal. De Unity-scriptingreferentie had voorbeeldcode in zowel C# als JavaScript voor de meeste elementen van de bibliotheek.





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

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





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

Het is misschien niet verwonderlijk dat Unity heeft aangekondigd dat ze de ondersteuning voor UnityScript zouden intrekken, en er is nu een tijdlijn aanwezig om het te ontmantelen . Je kunt nog steeds JavaScript gebruiken met Unity, maar als je weet dat er een einde aan komt, waarom zou je?

3. De oude derde keuze: Boe

In de begindagen van Unity was er de mogelijkheid om Boo --- een Python-achtige taal te gebruiken. Dit is misschien niet verrassend aangezien Rodrigo B. De Oliveira, De ontwerper van Boo , werkte voor Unity. 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 in de veronderstelling dat het alleen maar Python probeerde te imiteren. Na verloop van tijd heeft Unity de ondersteuning voor Boo laten vallen, en de aanstaande wijzigingen in UnityScript zullen alle oude Boo-scripts onbruikbaar maken in Unity. Sommigen zien dit misschien als een gemiste kans, aangezien Boo een geweldige poging was tot Python-achtige syntaxis voor .NET-programmering.

Liefhebbers van Python hebben echter nog een andere optie.

4. De vreemde keuze: IronPython

Als je games wilt ontwikkelen, is Python waarschijnlijk niet de taal voor jou, maar het kan wel. In zijn Microsoft Developer Community-blog schetst Charlie Calvert: hoe Python vanuit C# uit te voeren --- maar het is niet voor angsthazen. Bijna tien jaar later is IronPython nog steeds actief in ontwikkeling.

Kortom, u moet de IronPython-bibliotheken van GitHub en verwijs ernaar in uw C#-project. Hierdoor kun je Python-scripts aanroepen vanuit C#-scripts, net zoals je elke andere bibliotheek zou doen. IronPython zorgt ook voor: aanroepen van .NET-bibliotheken vanuit Python . Hoe nuttig dit ook klinkt, aangezien Unity op C# vertrouwt, 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 taal te vervangen, maar om als een brug te fungeren. De perfecte use-case voor MoonSharp zou zijn om op een manier toe te voegen voor spelers van je game om game-mods in de Lua-taal te maken.

Je zou het ook kunnen gebruiken om objecten en ontwerpniveaus los van je kernspelcode te beschrijven.

Als u al codeert in C# en op zoek bent naar een interessante manier om met uw code te communiceren, is MoonSharp het overwegen waard. Omdat het gratis beschikbaar is op Unity's Asset-winkel , 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, wil je soms misschien je 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. Door deze scripts in DLL-plug-ins in te bouwen, wordt code opnieuw gemaakt en kunnen de prestaties in sommige gevallen worden verbeterd.

In de meeste gevallen zal C++ de taal zijn 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 in de code worden verwezen. De kans is echter groot dat als u al vertrouwd bent met coderen in C/C++, het leren van C# een relatief eenvoudige taak zou zijn!

online bankieren is momenteel niet beschikbaar voor u bank of america

7. Nieuwe taal voor plug-ins: Rust

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

Hoewel het niet mogelijk is om Rust rechtstreeks in Unity te schrijven, hebt u vanuit uw Unity-code toegang tot functies en methoden die in Rust zijn geschreven. Jim Fleming legt in detail uit hoe je het moet doen in zijn bericht op Medium .

Als dit bekend voorkomt, is dat omdat dit een andere manier is om native plug-ins te maken. Door gebruik te maken van de mogelijkheid van Rust om te communiceren met andere talen, kunt u Rust-functies rechtstreeks vanuit C#-code aanroepen met behulp van Unity's DllImport attribuut. Natuurlijk zijn er verschillende stappen tussen, en Jim's vervolgbericht lezen samen met het verkrijgen van een goed begrip van FFI's (buitenlandse functie-interfaces) wordt geadviseerd!

Een eenvoudige keuze

Unity's houding ten opzichte van elke taal die geen C# is, is duidelijk, en de constante verbeteringen aan Unity zijn gebaseerd op deze vastberadenheid. Koppel dit aan Microsoft's voortdurende verbetering van C# als taal, en het leren van C# voor Unity-game-ontwikkeling is een no-brainer. En kom zeker eens kijken Unity Learn voor een eenvoudigere manier om game-ontwikkeling te leren .

Dit is echter niet je enige optie, Unity is maar één motor, en er zijn er genoeg opties voor game-ontwikkelingssoftware kiezen uit.

Deel Deel Tweeten E-mail Canon versus Nikon: welk cameramerk is beter?

Canon en Nikon zijn de twee grootste namen in de camera-industrie. Maar welk merk biedt de betere reeks camera's en lenzen?

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • JavaScript
  • Spelontwikkeling
  • C
  • Eenheid
Over de auteur Ian Buckley(216 artikelen gepubliceerd)

Ian Buckley is een freelance journalist, muzikant, performer en videoproducent die in Berlijn, Duitsland woont. Als hij niet aan het schrijven of op het podium staat, sleutelt hij aan doe-het-zelf-elektronica of code in de hoop een gekke wetenschapper te worden.

Meer van Ian Buckley

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren