top of page

PROJEKT

Einführung

 

Spaceballs ist ein Lehrprojekt im Rahmen des Informatikmoduls des Studiengangs ILST20 der Abteilung Maschinenbau der Hochschule Bremen. Die etwa 60 Studierenden eines Jahrgangs teilen sich dazu in 15 Projektteams mit jeweils vier Mitarbeitern auf. Jedes Team programmiert im Laufe des Semesters eine KI (Künstliche Intelligenz) in Matlab, die die autonome Bewegung ihres „Spaceballs” steuert. Am Ende des Semesters tritt im Rahmen eines Turniers jeder Spaceball im Zweikampf gegen die Spaceballs der anderen Teams an.2 Die sich daraus ergebenen Tabelle (Rangliste) fließt zu 50 % in die Informatiknote ein; die verbleibenden 50 % ergeben sich aus der Dokumentation, dem Intro und der Webseite (Originalität, Design, Korrektheit, . . . ). Im Spiel werden  die beweglichen Spaceballs (rot und blau) genau wie die ortsfesten Tankstellen (grün) und Minen (grau) als ausgefüllte Kreise in der Ebene dargestellt. Das Spielfeld wird durch Banden begrenzt. Das Ziel des Spiels ist es, den Gegner mit mehr Treibstoff zu berühren. Dazu fliegt der Spaceball möglichst schnell möglichst viele Tankstellen an und weicht dabei Minen, Banden und gegebenenfalls dem Gegner aus.

Regeln

 

  • Jeder Mitarbeiter führt sein persönliches Projekttagebuch. Tragen Sie bitte jede Woche

    ausführlich ein, was Sie in der Woche zum Projekt beigetragen haben. Einträge lassen sich nicht

    nachträglich korrigieren. Am Ende des Semesters muss für jede Veranstaltungswoche mindestens in Eintrag vorhanden sein.

 

  • Jeder  Mitarbeiter  stellt an mindestens  fünf Terminen seinen Projektstand in einer 15-minütigen  Minipräsentation1  dem  Dozenten vor.  Dazu tragen  Sie dann bitte jeweils einen Terminvorschlag während der regulären Informatikveranstaltungszeiten unter http://prof.red/contact/calendar.htm ein. Ihr Terminvorschlag sollte dabei möglichst direkt im Anschluss vor oder nach einem anderen Termin liegen. Zusätzlich zu den Pflichtterminen können Sie natürlich jederzeit Hilfe- und Diskussionstermine vorschlagen. Bitte verwenden Sie als Titel des Terminvorschlags einfach nur Ihren Namen.

 

  • Jedes Team erstellt

    • die Matlab-Datei beschleunigung, in der die KI die momentane Beschleunigung(srichtung) definiert – die Matlab-Datei team_daten, in der der Name des Teams und die Namen und Aufgaben aller

    • Mitarbeiter definiert sind

    • für jeden Mitarbeiter eine JPG-Datei mitarbeiter.jpg mit einem Portrait (Kopfbild), auf dem der

    • Mitarbeiter deutlich zu erkennen ist – die WAV-Datei intro.wav für die Vorstellung des Teams

    • die JPG-Datei Logo.jpg als Teamlogo – eine ausführliche, in LATEX (beispielsweise mit [4])

    • geschriebene Dokumentation des Projektes

    • eine Website, auf der das Projekt in allen Details beschrieben ist

  • Bleiben Sie trotz der Wettbewerbssituation bitte fair und hilfsbereit den anderen Teams gegenüber.

 

  • Abgabetermin der für das Turnier benötigten Dateien (s. o.) ist am 12.1.2016. Das Turnier findet dann am 19.1.2016 statt. Die Dokumentation und die Website4 müssen bis zum 29.1.2016 fertig sein.

 

  • Die Teamnote setzt sich schließlich folgendermaßen zusammen

    • 50 % Turnierrangliste

    • 25 % Dokumentation

    • 20 % Website

    • 5 % Portraits, Intro, Logo

 

  • Verwenden Sie bitte nur numerische und keine symbolischen Berechnungen, da das tausendfache Aufrufen der symbolic engine in beschleunigung die Rechenzeit sehr stark vergrößert. Lösen Sie gegebenenfalls Gleichungen einmalig außerhalb von Spaceballs und benutzen Sie den Ergebnisterm in beschleunigung. Die Verwendung symbolischer Ausdrücke wie syms, solve, subs, wird als kapitaler Fehler gewertet.

 

  • Die Simulationsumgebung ist nicht wasserdicht. Sie könnten sie austricksen. Sie könnten beispielsweise die in der Struktur spiel vorhandenen Grafikhandles missbrauchen, um beliebige Objekte auf dem Spielfeld zu verändern (beispielsweise auch die Position eines Spaceballs). Widerstehen Sie bitte der Versuchung. Manipulationen dieser Art werden als Täuschungsversuche gewertet.

Spielablauf

 

Jeder Spaceball verfügt zur Steuerung über eine Schubdüse, über die ihn seine KI in jede Richtung beschleunigen kann. Das Spiel endet, sobald eine der drei Bedingungen eintritt:

 

  • Beide Spaceballs treffen mit unterschiedlicher Treibstoffmenge aufeinander.

  • Ein Spaceball berührt eine Mine oder eine Bande.

  • Das Ende der Spielzeit (60 Sekunden) ist erreicht. Wenn ein Spaceball mehr Treibstoff als der Gegner besitzt und den Gegner berührt, gewinnt er das Spiel und erhält einen Punkt in der Tabelle.

 

Wenn beide Spaceballs einander mit gleicher Treibstoffmenge berühren, geschieht überhaupt nichts und das Spiel geht weiter. Ebenfalls einen Punkt erhält ein Spaceball, dessen Gegner eine Mine oder Bande berührt. Wenn nach Ablauf der Spielzeit beide Spaceballs die gleiche Menge Treibstoff besitzen, erhalten beide Teams keinen Punkt. Träges Herumlungern und Campen zahlt sich also nicht aus. Damit sich ein unterlegener Spaceball nicht einfach nur hinter einer Mine verstecken kann, verschwindet, nachdem alle Tankstellen aufgebraucht sind, alle drei Sekunden eine Mine.

 

Tankstellen, Minen, Banden

 

Sobald ein Spaceball eine Tankstelle berührt, nimmt der Spaceball eine Treibstoffeinheit auf und die Tankstelle verschwindet. Der Tankvorgang selbst benötigt dabei keine Zeit. Wenn ein Spaceball eine Mine oder eine Bande berührt, endet das Spiel sofort mit dem Sieg des Gegners. Wie in Abbildung 1.1 zu sehen ist, werden die jeweils gleichgroßen Tankstellen und Minen vor Beginn jedes Spiels zufällig aber symmetrisch (links ↔ rechts) verteilt. Auf diese

 

Anzeigen

 

Neben den Tankstellen, den Minen und den Spaceballs selbst werden auf dem Spielfeld (in der Mitte von Abbildung 1.1) die Spuren der bisher zurückgelegten Wege (rote und blaue gestrichelte Linien), die Geschwindigkeitsvektoren (Länge und Richtung der schwarzen Linien) und die Schub- bzw. Beschleunigungsvektoren (rote und blaue Dreiecke) dargestellt. Diese zusätzlichen Informationen können durch Anklicken der entsprechenden Auswahlfelder links unten neben dem Spielfeld an- bzw. abgeschaltet werden. Mit dem Spur-Schieberegler lässt sich die Länge der Spur zwischen 0 % (linker Anschlag) und 100 % (rechter Anschlag) einstellen. Links und rechts oben neben dem Spielfeld werden die Logos und die Namen des Teams darstellt. Darunter wird für jeden Spaceball jeweils angezeigt, wie viele Tankeinheiten er schon aufgenommen hat. Zusätzlich wird die Tanksituation dadurch verdeutlicht, dass ein Spaceball mit weniger Treibstoff ungesättigter (blasser, heller) dargestellt wird. So hat in der abgebildeten Situation der blaue Spaceball gerade seine zweite Tankstelle besucht; er wird daher in sattem Blau dargestellt. Der rote Spaceball hat hingegen erst eine Treibstoffration aufgenommen und erscheint deshalb in einem blasseren Rotton. Rechts unten neben dem Spielfeld kann die Simulation durch den Zeitlupen-Schieberegler verlangsamt oder durch Anklicken des Zeitraffer-Auswahlfeldes beschleunigt werden. Alle Einstellungen können auch während der Simulation verändert werden.

bottom of page