IHK-Wettbewerb  – SCHÜLER BAUEN WELTWEIT BRÜCKEN

Sie befinden sich hier: Startseite > Neuigkeiten > 14. Februar 2018

 

Das hiermit eingereichte Projekt ist hauptsächlich aus der Programmier-AG der Schule entwachsen. Mit der Neuausrichtung der AG mit dem neuen Leiter ist die AG zunächst recht klein mit 2 bis 4 Schülern (Es war der Abgang eines Schülers zu verzeichnen sowie ein Schüler, der neu eingestiegen ist) gestartet, hat aber für das kommende Schuljahr eine gute Perspektive für deutliches Wachstum.

Es wurden diverse 3D-Anwendungen und Spiele realisiert. Als abgeschlossenes Projekt wird hier ein einfaches Fußball(-Computer)spiel eingereicht, welches folgende Aspekte beinhaltet.

  • Kennenlernen einer Spiele-engine, dessen Kenntnis vielfältige weitere Projekte vorbereiten kann (Z.B. ferngesteuerte Microcontroller)
  • Einbeziehung anderer Lehrgebiete und Fachschaften:
    • Kunst für die Gestaltung der Optik des Spiels
    • Musik für passende musikalische Begleitung
    • Mathematik und Physik; Insbesondere Vektoren als zentrales Programmierwerkzeug sowie die physikalischen Größen Geschwindigkeit und Beschleunigung
  • Gespräche mit einer professionellen Softwarefirma

 

Konkrete Beschreibung

Unter der Vorgabe einiger Grundvoraussetzungen waren die Schüler angehalten ein einfaches Fußballspiel selbständig zu programmieren.

Hierzu wurde die Spiele-Engine Unity3D verwendet. Dabei handelt es sich um eine professionelle Spiele-Engine, welche auch für kommerzielle Titel verwendet wird. Solange der Jahresverdienst mit den fertigen Produkten unter 100.000$ liegt ist die Nutzung kostenfrei. Wie in vielen Programmierumgebungen üblich (z.B. ArduinoIDE (für Microntrollerprogrammierung) und Processing (für einfache graphische Anwendungen aber auch zur Fernsteuerung von Microcontrollern durch Computer/Smartphones)) wird hier dem Nutzer eine Oberfläche zur Verfügung gestellt, in der es eine programmiertechnische Funktion gibt, die jede Sekunde ca. 60 Mal aufgerufen wird. Jedes Mal, wenn die Funktion aufgerufen wird kann die Logik des Spiels überprüft werden:

  • Wie schnell ist der Ball?
  • Wo sind die Spieler?
  • Wurde ein Tor geschossen?
  • Hat ein Spieler gewonnen?

Ein kurzer Beispiel-Code für die Steuerung der Spieler kann zum Beispiel so aussehen:

// Update is called once per frame
void Update () {
if (Input.GetKey (KeyCode.A)) {
rb.AddForce (-speed, 0, 0);
}
if (Input.GetKey (KeyCode.D)) {
rb.AddForce (speed, 0, 0);
}
if (Input.GetKey (KeyCode.W)) {
rb.AddForce (0, 0, speed);
}
if (Input.GetKey (KeyCode.S)) {
rb.AddForce (0, 0, -speed);
}
}

 

Die Graphik des Spiels kann man aus primitiven Elementen (Quadern, Kugeln, Ebenen etc.) zusammenbauen oder theoretisch auch selber in anderen Programmen modelliert werden.

Man kann ohne großen Aufwand Bilder und Texturen zeichnen und diese dann dem Programm hinzufügen. Die Kunstlehrerin der Schule hat ihre Schüler aus der 6. und 8.Klasse begeistern können solche anzufertigen.

Ebenso hat der Musiklehrer mit dem Orchester diverse kleine Musikstücke aufgenommen, welche das Spiel auch mit Geräuschen untermalen.

Zusammengefasst hat das Spiel folgende Bestandteile:

  • Zwei Spieler spielen an einem Keyboard gegeneinander
  • Wer zuerst drei Tore geschossen hat, hat gewonnen
  • Texturen und Bilder aus dem Kunstunterricht werden integriert
  • Musikstücke vom Orchester wurden eingespielt

 

Bedeutung für die Schule

Dieses Projekt bringt die Schülerinnen und Schüler der Schule zusammen, ermöglicht eine Kollaboration verschiedener Fachbereiche die sonst recht wenig miteinander zu tun haben (Mathematik, Physik, Kunst und Musik (für die Zukunft hat der Englischlehrer Interesse bekundet)).

In dem Projekt gibt es eine gute Durchmischung von Schülern mit deutschen Eltern sowie Schülern mit nichtdeutschen Eltern so dass auf diesem Weg auch eine gute Integration insbesondere auch neuer Schüler stattfindet.

Das Projekt ist dieses Jahr ohne große Vorplanung entstanden bietet aber das Potenzial für die kommenden Jahre noch professioneller gestaltet zu werden. So wurden schon Treffen verabredet, um die Zielsetzung für das nächste Jahr auf die verschiedenen Gruppen optimal zu verteilen.

Ende April findet in der 10. Klasse ein zweiwöchiges Betriebspraktikum statt. In diesem wird unter anderem von der Firma Vector ein Praktikum zum Erlernen des Baus und der Programmierung von Mikrocontrollern angeboten. Die Schüler sollen durch den Bau eines selbstgebauten und programmierten Flugzeugs für Technik und Programmierung begeistert werden.  Das hier eingereichte Projekt kann speziell zur Programmierung dieser Mikrocontroller als wichtige Vorarbeit angesehen werden, da der Programmierstil der Unity3D-Umgebung der ArduinoIDE sehr ähnlich ist. Insbesondere wurde über dieses Projekt Kontakt zu der Firma hergestellt und ermöglicht für die Zukunft weitere Kooperationen.

 

Danksagung und Ausblick

An dieser Stelle soll ausdrücklich den Schülern der Programmier-AG gedankt werden; besonders Kai Schröder für die aufwendige 3D-Gestaltung des Stadiums und der Bälle, sowie Ben Samse für ein Großteil der Programmierung und der sehr zeitaufwendigen Erstellung des Videos.

Außerdem wird Frau Hedberg gedankt für die Motivation der Schüler zu künstlerischen Gestaltung diverser Texturen und dem Titelbild.

Ebenfalls gebührt Herrn Fäßler sowie dem Orchester Dank, für die Erstellung von Soundclips („Jingles“) welche das Computerspiel untermalen.

Schließlich bedanken wir uns bei Herrn Geyer von der Firma Vector, welche eine Besichtigung seiner Softwarefirma ermöglichte sowie im März ein Berufspraktikum zur Programmierung von Mikrocontrollern für einige Schüler der 10. Klasse anbietet.

Sollte  ein Geldpreis mit dem Projekt gewonnen werden, so wird die Programmier-AG von dem Preisgeld Ausrüstung für Programmierung von VR-Projekten anschaffen. (VR-Brille, leistungsfähigen Computer mit schneller Graphikkarte) Der Musiklehrer wünscht sich besseres Equipment zur Aufnahme von Musikstücken.

Tastaturbelegung

Spieler 1:
Steuerung: w,a,s,d
Schuss: Space-Taste
Spieler 2:
Steuerung: Pfeiltasten
Schuss: Rechte STRG-Taste

Materialien

Hier haben Sie Zugang zum Computerspiel und zum Code