C# ist eine der beliebtesten Programmiersprachen, die für die Erstellung von Spielen in der Unity Game Engine verwendet wird. Experiences (Spiele, AR/VR-Apps usw.), die mit Unity erstellt wurden, haben fast 3 Milliarden Geräte weltweit erreicht und wurden in den letzten 12 Monaten 24 Milliarden Mal installiert. Wir sprachen mit Harrison Ferrone, Softwareingenieur, Spieleentwickler, kreativer Technologe und Autor des Buches „Learning C# by Developing Games with Unity 2019“. Wir sprachen darüber, warum C# für die Spieleentwicklung verwendet wird, über die aktuelle Version Unity 2019.2 und über einige Tipps und Tricks für diejenigen, die Spiele mit Unity entwickeln.
Über C# und Spieleentwicklung
Warum wird C# so häufig für die Spieleentwicklung verwendet? Wie ist es im Vergleich zu C++? Wie wird C# in anderen Bereichen wie Mobile- und Web-Entwicklung eingesetzt?
Ich denke, Unity hat sich aufgrund der Lernkurve und der Geschichte mit Microsoft für C# anstelle von Javascript oder Boo entschieden.
Meiner Erfahrung nach ist C# einfacher zu erlernen als Sprachen wie C++, und diese Zugänglichkeit ist ein großer Anreiz für Spieleentwickler und Programmierer im Allgemeinen. Mit der Xamarin-Entwicklung für mobile Geräte und ASP.NET-Webanwendungen ist die Sprache C# in absehbarer Zeit nicht mehr aufzuhalten.
Was sind C#-Skripte? Wie nützlich sind sie für die Erstellung von Spielen mit Unity?
C#-Skripte sind die Code-Dateien, die das Verhalten in Unity speichern und alles, was die Engine tut, steuern. Obwohl es viele neue Tools gibt, die es einem Entwickler ermöglichen, ein Spiel ohne sie zu erstellen, sind Skripte immer noch der beste Weg, um benutzerdefinierte Aktionen und Interaktionen innerhalb einer Spielumgebung zu erstellen.
Tipp der Redaktion: Um zu erfahren, wie man ein C#-Skript in Unity erstellt, können Sie Kapitel 1 von Harrison Ferrones Buch „Learning C# by Developing Games with Unity 2019“ durchlesen.
Warum Harrison sein Buch „Learning C# by Developing Games with Unity 2019“ geschrieben hat
Erzählen Sie uns die Motivation hinter dem Schreiben Ihres Buches „Learning C# by Developing Games with Unity 2019“. Warum ist die Entwicklung von Unity-Spielen ein guter Weg, um die Programmiersprache C# zu lernen? Warum bevorzugen Sie Unity gegenüber anderen Game-Engines?
Meine Hauptmotivation für das Schreiben des Buches war eine zweifache. Erstens wollte ich immer Schriftsteller werden, also war es naheliegend, meine Liebe zur Technik mit einem Lebenstraum zu verbinden. Zweitens wollte ich ein Buch für Anfänger schreiben, das sich an die Zielgruppe der Anfänger richtet und sie nicht aus den Augen verliert.
Im Hinblick auf die Wahl von Spielen als Lernmedium habe ich festgestellt, dass etwas Interessantes und Neues zu machen, während man eine neue Fähigkeit erlernt, dazu führt, dass man den Stoff besser aufnimmt und insgesamt mehr Spaß hat. Unity war schon immer meine Lieblings-Engine, weil die Oberfläche sehr intuitiv und einfach zu bedienen ist.
Sie haben drei Jahre Erfahrung in der Entwicklung von iOS-Anwendungen in Swift. Sie haben auch eine Reihe von Artikeln und Tutorials dazu auf der Website von Ray Wenderlich. Vor kurzem haben Sie begonnen, sich mit C++ und der Unreal Engine 4 zu beschäftigen. Wie sind Sie zum Spieldesign und zur Unity-Entwicklung gekommen? Was hat dein Interesse an der Entwicklung von Spielen geweckt?
Ich bin eigentlich zuerst zum Game Design und zur Unity-Entwicklung gekommen, vor der ganzen iOS- und Swift-Erfahrung. Es war mein Hauptfach an der Universität, und obwohl ich nach meinem Abschluss keinen Job in der Spieleindustrie finden konnte, habe ich daran als Leidenschaft festgehalten.
Über die Entwicklung von Spielen
Die neueste Version von Unity, Unity 2019.2, hat eine Reihe interessanter Features wie ProBuilder, Shader Graph und Effekte, 2D-Animation, Burst Compiler, etc. Was sind einige Ihrer Lieblingsfunktionen in dieser Version? Was sind Ihre Erwartungen an Unity 2019.3?
Ich bin wirklich begeistert von ProBuilder in dieser Version, da es eine große Zeitersparnis für jemanden ist, der so künstlerisch herausgefordert ist wie ich. Ich denke, dass Tools wie dieses das Spielfeld für unabhängige Entwickler ebnen werden, die vielleicht keinen Zugang zur Umgebung oder zu Level Buildern haben.
Was sind einige wesentliche Tipps und Tricks, die ein Spieleentwickler bei der Arbeit in Unity beachten muss? Was sind die Do’s und Don’ts?
Ich würde sagen, das Wichtigste, was man bei der Arbeit mit Unity beachten sollte, ist die Komponentenarchitektur, auf der es aufgebaut ist. Wenn Sie Ihre eigenen Skripte schreiben, denken Sie darüber nach, wie sie in ihre einzelnen Funktionen aufgeteilt werden können und strukturieren Sie sie so – mit Zweck. Es gibt nichts Schlimmeres, als ein riesiges, aufgeblähtes C#-Skript zu haben, das alles Mögliche macht, und es an ein einziges Spielobjekt in Ihrem Projekt anzuhängen, um dann festzustellen, dass es eigentlich in seine Einzelteile zerlegt werden müsste.
Was sind heute die größten Herausforderungen im Bereich der Spieleentwicklung? Was ist Ihr Rat für diejenigen, die Spiele mit C# entwickeln?
Das richtige Publikum zu erreichen, ist immer die Herausforderung Nummer eins in jeder Branche, und bei der Spieleentwicklung ist das nicht anders. Das gilt besonders für Indie-Entwickler, denn sie müssen sich immer bewusst sein, für wen sie ihr Spiel entwickeln und ihre Spiele entsprechend gestalten und programmieren. Was die Ratschläge angeht, sage ich immer das Gleiche – lernen Sie Design Patterns und agile Entwicklungsmethoden, sie werden neue Wege für professionelle Programmierung und Projektmanagement eröffnen.
Rust wurde als einer der Nachfolger der C-Sprachfamilie angepriesen. Auch der aktuelle Stand der Spieleentwicklung in Rust ist recht ermutigend. Was sind Ihre Gedanken zu Rust für die Spieleentwicklung? Glauben Sie, dass große Spiele-Engines wie Unity und Unreal in Zukunft Rust für die Spieleentwicklung unterstützen werden?
Ich habe keine Erfahrung mit Rust, aber es ist unwahrscheinlich, dass große Engines wie Unity und Unreal eine neue Sprache übernehmen werden, da eine Umstellung dieser Größenordnung mit enormen Kosten verbunden wäre. Das lässt aber auch die Möglichkeit offen, dass in der Zukunft eine andere Engine um Rust herum entwickelt wird, die auf Spiele, mobile und/oder Web-Entwicklung abzielt.
Über den Autor
Harrison Ferrone wurde in Chicago, IL, geboren und ist überall aufgewachsen. An den meisten Tagen findet man ihn bei der Erstellung von Lehrinhalten für LinkedIn Learning und Pluralsight oder als technischer Redakteur für die Website von Ray Wenderlich. Nach ein paar Jahren als iOS-Entwickler bei kleinen Start-ups und einem Fortune-500-Unternehmen, stürzte er sich in eine Karriere als Lehrer und hat nie zurückgeblickt. Während dieser ganzen Zeit hat er viele Bücher gekauft, ein paar Katzen angeschafft, im Ausland gearbeitet und sich immer wieder gefragt, warum Neuromancer nicht auf mehr Lehrplänen zu finden ist. Sie können ihm auf Linkedin und GitHub folgen.