Neue Medien

1/2015 - Medienpädagogik und E-Learning

Serious Games in Unity 3D

Zur Programmierung von Spielen im medienpädagogischen Sektor

AutorIn: Martin Müllner

Serious Games finden im Unterricht immer mehr Anwendung. Problematisch gestaltet sich die Implementierung, weil digitale Lernspiele über eine Vielzahl an Schwächen verfügen. Wollen Sie nicht auch Spiele selbst programmieren und ausprobieren!

1. Serious Games im unterrichtlichen Kontext

Serious Games finden im Unterricht immer mehr Anwendung. Problematisch gestaltet sich die Implementierung, weil digitale Lernspiele über eine Vielzahl an Schwächen verfügen.

Daher sollen Lernspiele:

  • › "einfach zu bedienen sein.
  • › Möglichkeiten zur Adaption für den eigenen Unterricht bieten.
  • › adaptierte Inhalte mit anderen teilen können.
  • › den Alltagserfahrungen von SchülerInnen entsprechen (3D Welten).
  • › auf möglichst vielen Plattformen parallel lauffähig sein.
  • › ohne Administrationsrechte in die EDV Struktur einer Schule integrierbar sein.
  • › ressourcenschonend sein." (Müllner 2014: 195)

Diese Bedingungen werden derzeit von keinem Spiel vollends erfüllt. Dies gestaltet sich als sehr problematisch. Aufgrund dieser Problematik erscheint es sinnvoll Computerspiele für den Unterricht selbst zu entwickeln und für andere Lehrkräfte und SchülerInnen verfügbar zu machen.

2. Unity 3D im Informatikunterricht

Unity 3D ist ideal für den Einsatz im unterrichtlichen Kontext. Dieses Tool ermöglicht es sowohl PädagogInnen, als auch SchülerInnen auf kreative Art und Weise selbst faszinierende 2D oder 3D Spielewelten zu erschaffen.

Unity 3D als Programmiertool eignet sich aus folgenden Gründen für den unterrichtlichen Einsatz:

  • Plattformunabhängigkeit
  • Programmieren per Drag and Drop ist möglich
  • die Programmiersprache kann gewählt werden
  • Objekte innerhalb der Programmumgebung können einfach bearbeitet werden
  • Unity 3D ist als Freeware erhältlich
  • Online Store mit vielen nützlichen Objekten zur schnellen Erstellung von Programmen
  • sehr detaillierte Datenbank zu Programmbefehlen
  • große Community, die mit Rat und Tat zur Seite steht

Die gute Einsetzbarkeit von Unity im Unterricht beruht aber nicht nur auf den genannten Punkten, denn Unity ist deshalb so leistungsfähig und breitgefächert einsetzbar, weil es mit Scriptsprachen und zugleich objektorientiert arbeitet. Durch diesen Umstand hat eine Lehrkraft jederzeit die Möglichkeit mit SchülerInnen einfache Programme auf Objektbasis zu erstellen. So ist es auch ohne Programmierkenntnisse möglich, ansehnliche Physiksimulationen zu verschiedensten Feldern zu erstellen. Diese sind nach erfolgter Kompilierung anschließend für beinahe jedes Betriebssystem verfügbar. Daher ist es in diesem Kontext möglich eine Differenzierung soweit durchzuführen, dass jede Schülerin und jeder Schüler ein Programm erstellt, welches auf das eigene Smartphone zugeschnitten ist.

Vertiefend ist Unity 3D zu betrachten, wenn Scriptsprachen zur Programmierung verwendet werden. Dafür stehen drei Programmiersprachen zur Verfügung. Für AnfängerInnen ist JavaScript zu empfehlen, weil die Befehlsstruktur wesentlich einfacher zu verstehen ist. So ist eine Lehrkraft und die SchülerInnen durchaus in der Lage innerhalb kürzester Zeit ein Programm zur Bewegungssteuerung von Objekten zu schreiben. Hierfür werden in der Regel maximal fünf Programmierzeilen benötigt.

2.1. 3D Umgebungen selbst erstellen

Die Erstellung einer spannenden dreidimensionalen Umgebung ist im Unterricht auch für AnfängerInnen als unproblematisch zu sehen. Hierbei sei aber gesagt, dass zu Beginn die Lehrkraft auf die Lernenden und ihre Handlungen sehr achten muss, weil in Unity manche Dinge nicht einfach rückgängig zu machen sind.

Spannend im Unterrichtlichen Kontext zeigt sich die Tatsache, dass auch AnfängerInnen sehr schnell Ergebnisse erreichen können. So bietet Unity 3D die Möglichkeit einen fertig animierten Charakter aus dem Asset Store zu importieren. Anschließend brauchen nur noch sehr einfache Scripts für die Ausführung der Animationen geschrieben werden.

3. Die Programmierung eines Spiels in Unity 3D Mit SchülerInnen im Unterricht

Objekte ohne entsprechende Programmierung sind in Unity immer statisch. Erst durch die Zuordnung eines Scripts zu einem Objekt werden Befehle automatisch ausgeführt und Animationen, Bewegungen, Geräusche usw. gestartet.

Grundsätzlich ist die Logik des programmierten Spiels sehr einfach, denn es sind nur wenige Faktoren die berücksichtigt werden müssen.

Zu diesen gehören:

  • Bewege ein Objekt auf einem Terrain
  • Erlaube externe Eingaben einer Tastatur
  • Gib eine Rückmeldung zu den Eingabebefehlen

Um dies zu erreichen müssen einfache Scripts mit den Objekten des Spiels per Drag and Drop verbunden werden. Im Folgenden erfolgt eine detaillierte Anleitung, wie in Unity 3D ein einfaches dreidimensionales Spiel erstellt werden kann. An dieser Stelle sei gesagt, dass hier nur die technische Komponente behandelt werden kann. Die pädagogisch-praktische Umsetzung muss von interessierten Lehrkräften selbst bewerkstelligt werden.

3.1. Programmierung eines Labyrinth Adventure für den IT-Unterricht

Als vorbereitende Maßnahme zu diesem Spiel müssen die SchülerInnen oder die Lehrkraft im Vorfeld ein dreidimensionales Spielfeld erstellen, welches den jeweiligen Vorstellungen entspricht. Als geeignet erweist sich hier Google Sketchup, weil hier keine Kosten anfallen und der Funktionsumfang des CAD-Programms doch sehr groß ist. Im vorliegenden Fall wurden zwei dreidimensionale Objekte erstellt [Spielfeld], die das Spielfeld darstellen. Sobald dies geschehen ist kann mit der eigentlichen Arbeit in Unity begonnen werden. Zuerst muss ein neues Projekt erstellt werden um anschließend die fertige dreidimensionale Geometrie per Drag and Drop einzufügen.

Nach dem Importieren des Spielfelds sieht das Feld selbst sehr unansehnlich aus. Hierzu muss die Nutzerin oder der Nutzer einfach das Spielfeld selbst anklicken und im Fenster rechts einfach eine gewünschte Textur ziehen. Hierbei kann sogar jedes beliebige Bild verwendet werden. Als Hinweis gilt an dieser Stelle, wenn diese Prozedur nicht funktioniert, muss die Geometrie mit einem UV-Mapper behandelt werden.

Weiters sind im nun sichtbaren Fenster die Funktion Rigidbody und ein sogenannter Mesh-Collider eingebunden werden. Dies geschieht direkt im Inspector Fenster. Rigidbody ist eine Physiksimulation, die automatisch physikalische Gesetze simuliert. Mesh Collider ist ebenfalls als unumgänglich zu bezeichnen, weil erst dadurch die "Wände" eine feste Konsistenz bekommen und der zukünftige Spielball nicht durch das Feld selbst hindurchfällt.

Das einzig fehlende Objekt des Spiels selbst ist jetzt noch der Spielbal. Dieser wird erzeugt, indem Die Nutzerin oder der Nutzer unter dem Reiter "Create Game Object" einfach Sphere auswählen. Nun muss auch hier noch die Eigenschaft Rigidbody eingefügt werden und der Ball passend über dem Spielfeld. Bereits jetzt besteht die Möglichkeit, eine Simulation durchzuführen. Nur leider fällt bei dieser der Ball einfach nur auf das Spielefeld und es passiert nichts weiter. Um dieses Problem zu lösen ist nur noch ein kurzes Script nötig. [Script für Eingabebefehle] Wie in der Abbildung zu sehen, werden für jeden Tastendruck im Spiel nur zwei Befehle benötigt, die eine entsprechende Handlung setzen. Sobald dieses Script erstellt wurde, kann es per Drag and Drop einfach dem Spielfeld hinzugefügt werden. Ab diesem Zeitpunkt wird das neue Game bereits bei der Simulation richtig ausgeführt und es steht einer Veröffentlichung nichts mehr im Weg. Zu diesem Zweck muss die Userin oder der User nur auf den Reiter "File" gehen und die Option "build and run" auswählen. In dem sichbaren Menü kann nun das gewünschte Betriebssystem gewählt werden. Wenn das Betriebssystem ausgewählt wurde, erhält man eine entsprechende Dateiausgabe die in dem gewählten System voll funktionsfähig ist.

4. Resümee

Unity eignet sich nicht nur für professionelle ProgrammiererInnen, sondern auch für NutzerInnen die über keine Vorkenntnisse verfügen. Aufgrund des Umstandes, dass Unity zudem noch kostenlos zur Verfügung steht, ist dies die optimale Einsteigerplattform für Schulen und Universitäten. Hinzu kommt, dass in Unity nicht zwingend Spiele programmiert werden müssen und daher der Fokus nicht unbedingt auf Spielen liegen muss. Wie gezeigt ist es aber dennoch möglich in sehr kurzer Zeit und mit geringem Aufwand ein Spiel zu erzeugen, welches auf fast allen bekannten Plattformen lauffähig ist.


Literatur

Müllner, M. (2014): Adventure Trip 3D: Selbstgemacht in Unity. In W. Kaminski, M. Lorber, W. Kaminski, & M. Lorber (Hrsg.), Spielwelt – Weltspiel: Narration, Interaktion und Kooperation im Computerspiel. München: kopaed, 195–205.

Tags

unity 3d