Spiele zu entwickeln war noch nie einfacher. Spielentwicklungsplattformen wie Unity ermöglichen es, alles von einfachen 2D-Plattformspielern bis hin zu detaillierten 3D-Ego-Shootern zu erstellen. Unity ist für kleine Entwickler kostenlos und es gibt eine Fülle von Tutorials, wie Sie den Editor am besten zum Prototypen Ihrer Ideen verwenden können.
Das Erlernen der Verwendung des Unity-Programms bringt Sie nur so weit. Der eigentliche Kern Ihres Spiels wird der Code sein, der sein Verhalten bestimmt., Herauszufinden, welche Sprache für die Spieleentwicklung zu lernen ist, kann schwierig sein – – – aber im Fall von Unity ist es einfach.
1. Die beste Wahl: C#
Für alle, die mit Unity beginnen, oder für alle, die Vorkenntnisse in objektorientierter Programmierung haben, ist C# die richtige Sprache, um für Unity zu lernen. Tatsächlich ist C# die einzige Sprache, die es wert ist, für die Plattform gelernt zu werden, und das aus gutem Grund.
Unity verwendet Mono, eine plattformübergreifende Implementierung von Microsofts.NET Framework. C# ist die Hauptsprache von. NET, und alle Bibliotheken von Unity werden mit C# – Code erstellt., Zu sagen, dass C# die Sprache der Einheit ist, wäre keine Übertreibung. Unity hat deutlich gemacht, dass sie C# als die einzige Sprache für die zukünftige Verwendung mit der Engine betrachten.
Dies ist eine gute Nachricht, da C# eine leistungsstarke und leicht zu erlernende Sprache ist. Unity ist nur einer von vielen guten Gründen, C# zu lernen, und wenn Sie ein Anfänger sind, können Sie es sogar zugänglicher finden. Die Entwicklung von Spielen gibt dem Lernen Struktur, und projektbasierte Ziele führen zu einem besseren Verständnis neuer Themen.,
Es gibt viele Programmiersprachen. Hier sind mehrere Gründe, C#zu lernen.
Mit der Einführung des C# – Jobsystems und des ECS treibt Unity das, was mit C# möglich ist, immer weiter voran, und der neue Burst-Compiler macht es schneller als je zuvor.
2. Die Aktuelle Alternative: JavaScript
Einheit unterstützt auch JavaScript – —bekannt als UnityScript., Seit der Veröffentlichung hat JavaScript Seite an Seite mit C# als voll funktionsfähige Unity-Entwicklungssprache gesessen. Die Unity-Skriptreferenz enthielt Beispielcode in C# und JavaScript für die meisten Elemente der Bibliothek.
Dies war nützlich für Entwickler, die aus einem JavaScript-Hintergrund kamen, da sie trotz der Unterschiede in der Art und Weise, wie Code strukturiert war, vertraute Syntax verwenden konnten. Es gab jedoch ein problem.
Während UnityScript JavaScript ähnlich zu sein scheint – – – ist es nicht. UnityScript hat Klassen, etwas, das JavaScript nicht tut., Funktionen von JavaScript wie die Deklaration mehrerer Variablen und optionale Semikolons sind in UnityScript nicht verfügbar.
Vielleicht entscheidend ist, dass die Suche nach JavaScript-Hilfe in Unity-Projekten immer zu Verwirrung geführt hat, da die meisten Leute es eher als JavaScript als als UnityScript bezeichnet haben. Die Ergebnisse sowohl für das Webdesign als auch für die Spieleentwicklung verschwommen zusammen, und der Unterschied zwischen den Sprachen war ein Streitpunkt für reine JavaScript-Entwickler.,
Es überrascht nicht, dass Unity angekündigt hat, die Unterstützung für UnityScript zurückzuziehen, und es gibt jetzt einen Zeitplan für die Außerbetriebnahme. Sie können JavaScript immer noch mit Unity verwenden, aber wenn Sie wissen, dass es zu Ende gehen wird, warum sollten Sie?
3. Die alte dritte Wahl: Boo
In den frühen Tagen der Einheit gab es die Möglichkeit, Boo—eine Python-ähnliche Sprache zu verwenden. Dies ist vielleicht nicht überraschend, da Rodrigo B. De Oliveira, Boos Designer, für Unity gearbeitet hat. Die Sprache ist kompatibel mit. NET und Mono und würde vollständig mit der Game Engine implementiert werden. Was ist schief gelaufen?,
Nicht genug Leute benutzten es, wahrscheinlich unter der Annahme, dass es nur versuchte, Python nachzuahmen. Im Laufe der Zeit hat Unity die Unterstützung für Boo eingestellt, und die bevorstehenden Änderungen an UnityScript machen alle alten Boo-Skripte in Unity unbrauchbar. Einige sehen dies möglicherweise als verpasste Gelegenheit, da Boo ein großartiger Versuch einer Python-ähnlichen Syntax für.NET-Programmierung war.
Liebhaber von Python haben jedoch eine andere Option.
4. Die seltsame Wahl: IronPython
Wenn Sie Spiele entwickeln möchten, ist Python wahrscheinlich nicht die Sprache für Sie, aber es ist möglich., In seinem Microsoft Developer Community Blog beschreibt Charlie Calvert, wie Python von C# ausgeführt wird – – – aber es ist nichts für schwache Nerven. Fast zehn Jahre später befindet sich IronPython noch in aktiver Entwicklung.
Kurz gesagt, Sie müssen die IronPython-Bibliotheken von GitHub herunterladen und in Ihrem C# – Projekt referenzieren. Auf diese Weise können Sie Python-Skripte wie jede andere Bibliothek aus C# – Skripten aufrufen. IronPython ermöglicht auch den Aufruf von. NET-Bibliotheken aus Python. So nützlich das klingt, da Unity auf C# angewiesen ist, hilft diese Funktionalität nicht.,
IronPython – – – und IronRuby, es ist ein Schwesterprojekt, das C# mit der Ruby-Programmiersprache verbindet – – – sind fantastische Projekte, aber sie sind nicht praktisch für die Verwendung mit Unity.
5. Die interessante Wahl: Lua
Eine der besseren Implementierungen einer externen Sprache für Unity ist MoonSharp – – – ein Lua-Interpreter. Dieses Projekt soll C# nicht als Sprache ersetzen, sondern eher als Brücke fungieren. Der perfekte Anwendungsfall für MoonSharp wäre, Spieler Ihres Spiels so hinzuzufügen, dass sie Spielmods in der Lua-Sprache erstellen können.,
Sie können es auch verwenden, um Objekte und Designebenen getrennt von Ihrem Kernspielcode zu beschreiben.
Wenn Sie bereits in C# codieren und nach einer interessanten Möglichkeit suchen, mit Ihrem Code zu interagieren, ist MoonSharp eine Überlegung wert. Da es kostenlos im Asset Store von Unity verfügbar ist, können Sie es direkt in Ihre Projekte importieren.
6. Beste Sprache für Plugins: C/C++
Trotz der robusten Unity-Bibliothek und aller verfügbaren Tools, die C# bietet, möchten Sie manchmal Ihre eigenen Plugins., Die Hauptgründe für die Entscheidung für Plugins sind Geschwindigkeit oder der Zugriff auf eine Codebasis, die bereits in einer anderen Sprache geschrieben ist. Das Erstellen dieser Skripte in DLL-Plugins spart Remaking-Code und kann in einigen Fällen die Leistung verbessern.
In den meisten Fällen wird C++ die Sprache sein, die für die Plugin-Erstellung verwendet wird, aber C würde genauso gut funktionieren. Solange der Code in eine DLL integriert ist, kann er im Plugin-Ordner von Unity abgelegt und im Code referenziert werden. Die Wahrscheinlichkeit ist jedoch, wenn Sie bereits mit dem Codieren in C/C++ vertraut sind, dass das Erlernen von C# eine relativ einfache Aufgabe wäre!
7., Neue Sprache für Plugins: Rust
Rust ist eine Sprache mit viel Buzz um sie herum. Erfahrene Programmierer lieben es für die unglaubliche Menge an Kontrolle, die es gibt, während sie die Fallstricke des Schreibens in weniger sicheren Sprachen wie C++vermeiden. Rust wurde 2009 von Mozilla entwickelt, um Entwicklern schnell leistungsstarke Software zu entwickeln.
Obwohl es nicht möglich ist, Rust direkt in Unity zu schreiben, können Sie über Ihren Unity-Code auf in Rust geschriebene Funktionen und Methoden zugreifen. Jim Fleming behandelt, wie es im Detail in seinem Beitrag auf Medium zu tun.,
Wenn dies vertraut erscheint, liegt es daran, dass dies eine andere Möglichkeit ist, native Plugins zu erstellen. Durch die Nutzung der Fähigkeit von Rust, mit anderen Sprachen zu kommunizieren, können Sie Rust-Funktionen mithilfe des DllImport-Attributs von Unity direkt aus C# – Code aufrufen. Natürlich gibt es mehrere Schritte dazwischen, und es wird empfohlen, Jims Follow-up-Beitrag zusammen mit einem guten Verständnis von FFIs (Foreign Function Interfaces) zu lesen!
Ein Einfache Wahl
Unity ‚ s Haltung zu einer Sprache, die nicht C# ist klar, und die ständigen Verbesserungen, die zu einer Einheit verlassen sich auf diese Zielstrebigkeit., Kombinieren Sie dies mit Microsofts kontinuierlicher Verbesserung von C# als Sprache, und das Erlernen von C# für die Unity-Spieleentwicklung ist ein Kinderspiel. Und schauen Sie sich Unity Learn an, um die Spieleentwicklung einfacher zu erlernen.
Dies ist jedoch nicht Ihre einzige Option, Unity ist nur eine Engine und es stehen viele Optionen für Spieleentwicklungssoftware zur Auswahl.
- Programmierung
- JavaScript
- Game Development
- C
- Einheit
Über Den Autor
Ian Buckley, freier journalist, Musiker, performer und video producer living in Berlin, Deutschland. Wenn er nicht schreibt oder auf der Bühne steht, bastelt er an DIY-Elektronik oder Code in der Hoffnung, ein verrückter Wissenschaftler zu werden.
Mehr Von Ian Buckley