Internship for High School Students: Game Programming 2011

Course

  • Lecturer(s):
  • Dates: 04.07.2011 - 15.07.2011, 9:00 - 16:00
  • Curriculum: Internship for High School Students
  • Requirements: None (except for interest in computer science and mathematics)

Description

Dieses Praktikum ist speziell für Schüler der 10.-12. Klasse konzipiert und bietet einen Einstieg in die 3D Spieleprogrammierung. Ausgehend von der vorgegebenen Gameengine Unity3D wird in kleinen Gruppen eine Spielidee für ein Computerspiel, dessen Funktionalität auf ein Schülerpraktikum zugeschnitten ist, ausgearbeitet und mittels einer Java-ähnlichen Skriptsprache implementiert. Dabei werden unter anderem Teamarbeit, Projektmanagement und Softwarearchitektur für interaktive Graphikanwendungen erlernt. Nötige Grundlagen und Vertiefungen im Bereich Programmierung und Mathematik werden im Kurs erarbeitet. Es werden z.B. Konzepte der objekt-orientierten Programmierung vermittelt, die gerade im Kontext graphischer Anwendungen sehr anschaulich zu Tage treten. Desweiteren werden einige Grundlagen der Linearen Algebra (etwa Rotationsmatrizen und Skalarprodukt) im dreidimensionalen Anschauungsraum vertieft, die auch sofort praktische Anwendung in den selbst entwickelten Skript-Programmen finden.

Im Rahmenprogramm wird den Teilnehmern die wissenschaftliche Arbeit in der Informatik durch Vorträge und Live-Demonstrationen nahe gebracht.

Ergebnisse

Der Kurs "Game-Programming" 2011 setzte sich zusammen aus 13 Schülern von 4 verschiedenen Bonner Schulen. Nach einer Einführungs- und Tutorial-Phase wurden in weniger als 6 Tagen reiner Entwicklungszeit 4 vollwertige Spiele realisiert. Die Gruppen zu 3 bzw. 4 Schülern haben in der Zeit alles selbstständig gestaltet: Von der Spielidee über das Programmieren der Spiel-Logik, das Erstellen von Leveln, Testen geeigneter Spielmechaniken und natürlich auch das Generieren von Spielgrafik, Sound und 3D-Modellen. Daneben gab es vertiefende Vorträge zu Themen der Computergrafik, die auch hier auf der Seite zu finden sind.

Folgende Spiele sind in dem Kurs entstanden:

  • Arena Fighter (von Dominik, Christoph und Konstantin)
    Ein Action-Rollenspiel in einer Fantasy-Welt, in welcher der Held aus der Ego-Perspektive heraus gegen Horden von Monstern und auch böse Magier bestehen muss. Besondere Herausforderung bieten die unterschiedlichen Eigenschaften und Verhaltensweisen (KI) der Gegner. Drei unterschiedliche Spielwelten mit Wald-, Lava- und Eis-Elementen versprechen reichlich Abwechslung.
  • Crazy Race (von Nils, Fabian und Niklas)
    Das "verrückte Auto" macht seinem Namen alle Ehre. Auch wenn die Spielwelt annähernd realistisch aussieht, ist die Fahr-Physik auf Action getrimmt, und das Auto vollführt sogar Sprünge auf Tastendruck. Das Spiel ist ein Rennen gegen die Zeit, und es gilt die verschiedenen Hindernisse durch Überfahren spezieller Zonen zu überwinden. Es gibt Zonen, die das Auto beschleunigen oder verlangsamen, aber auch ein extremes Schrumpfen und Wachsen des Autos ist möglich, um z.B. enge Durchgänge zu passieren.
  • Pandy Pyu's Adventures (von Karen, Maik und Mark)
    Ein klassisches Jump&Run ist dieses Spiel nicht, auch wenn man einen Panda-Bären durch Springen und Klettern durch eine 2D-Welt aus Platformen steuert, um kleine Panda-Babys zu retten. Ein wirklich pfiffiges, neues Spielelement ist hier die telekinetische Fähigkeit des Pandas, mit der leichte Objekte (Kisten wie Gegner) über Fernwirkung durch die Welt bewegt werden können. So muss man etwa mehrere Kisten übereinander stapeln, um vorher unerreichbare Platformen zu erklimmen oder brennende Areale unversehrt zu überqueren.
  • Pylon (von Christoph, Malte, Tobi und Felix)
    Hier liegt eine Mischung aus Geschicklichkeits- und Rätsel-Spiel vor. Ziel des Spiels ist es, mit einer rollenden Kugel möglichst viele Pylonen einzusammeln um neue Level freizuschalten - und Level gibt es in diesem Spiel reichlich! Um zum Levelende zu gelangen, müssen (rollend) Todesfelder gemieden, Schlüssel gesammelt, Hebel umgelegt und Teleporter geschickt genutzt werden. Um die Frustrationschwelle auch in sehr kniffligen Leveln gering zu halten, gibt es zum Glück Speicher-Punkte, von denen aus unsere Kugel nach einem zu tiefen Sturz oder dem Berühren einer Todesplatte erneut losrollen darf.

Abschlussvorträge

Am Freitag, dem 15.07.2011, wurden die Ergebnisse des Kurses in einer gemeinsamen Abschlussveranstaltung der Schülerpraktika am Institut für Informatik vorgestellt.

Results

Slides

Additional Documents