Leiterwagensimulation

Demo zur Leitersteuerung. Sicht aus dem Hauptsteuerstand.

Demo zur Leitersteuerung. Sicht aus dem Hauptsteuerstand.

Im Wintersemester 12/13 an der Uni Kassel habe ich Rahmen der Veranstaltung „Graphische Simulationen“ eine Simulation für einen Leiterwagen der Feuerwehr erstellt. Dazu sollte mit der Gameengine Unity ein bereits vorhandenes 3D-Modell mit Funktionalitäten ausgestattet werden.

Die Hauptaufgabe war, Informationen bezüglich der Funktionalität des Leiterwagens zu sammeln. Dazu blieb ein Besuch bei der Kasseler Feuerwehr nicht aus. Anschließend mussten die zusammengetragenenen Informationen durch technische Details ergänzt werden und in Unity umgesetzt werden. Dazu wurde auch noch eine Demo zum kennenlernen der Funktionen des Leiterwages entwickelt.

Locksher und Sonwat

Screenshot zu Locksher und Sonwat

Screenshot zu Locksher und Sonwat

Im Rahmen des „3D Game Programming“-Praktikums an der Uni Kassel wurde in diesem Semester ein Action-Adventure Game entwickelt. Dazu wurde die Gamengine Unity verwendet.

Das Spiel erzählt die Geschichte von Locksher und Sonwat (angelehnt an Sherlock und Watson), wie sie Sonwats Frau retten. Dazu musste jeder Praktikumsteilnehmer eine eigene Szene entwickeln, die Locksher und Sonwat meistern müssen, um der Rettung von Sonwats Frau näher zu kommen. Gleichzeitig mussten auch alle nötigen Modelle und Sounds für die Szenen erstellt werden. Ich habe dabei eine 3D-Jump and Run Szene entwickelt.

Zusätzlich zur Entwicklung an sich standen auch Teamwork, Dokumentation und Präsentation im vordergrund. Das Ergebnis kann mit dem Unity Webplayer gespielt und hier gefunden werden.

Projekt zum erstellen 3-dimensionaler Szenen

Unterteilung eines geladenen Objektes.

Unterteilung eines geladenen Objektes.

In zusammenarbeit mit Holger Caesar habe ich während der Semesterferien an einem kleinen Projekt gearbeitet, bei dem es darum ging, 3D Objekte in einer Szene zu positionieren und zu verwalten. Ziel war es, mittels geeigneter Techniken nur Polygone zu zeichnen, die auch im Sichtfeld des Betrachters liegen. Gleichzeitig sollten Objekte bewegt werden können und Kollisionen mit anderen Objekten erkennen. Realisiert wurde die Unterteilung durch verschieden Octrees. So wurden die ganzen Szenen, als auch einzelne Objekte als Octrees abgelegt. Durch Frustum Culling konnten dadurch auch Szenen mit mehreren millionen Polygonen mit guten FPS erstellt werden.

Creep Smash

IngameScreenTowerSelection

In der Veranstaltung „Software Engineering I“ im Sommersemester 2012 habe ich in einem Team von 8 Leuten einen Client für ein Multiplayer Towerdefense spiel entwickelt (in anlehnung an Creep Smash) . Programmiert wurde das ganze in Java und OpenGL durch die LWJGL API. Für die graphische Benutzeroberfläche wurde NiftyGUI verwendet. Neben der Entwicklung des Clients sollte auch ein Map Editor und eine KI entwickelt werden.

In dem Projekt ging es auch darum, die Projektleiterfähigkeiten der Teilnehmer auszubauen. Dazu wurde nach dem Scrum-Modell immer für zwei Wochen ein Scrum-Master und ein Product-Owner ausgewählt, die das Produkt vor einem Kunden präsentieren und die Entwicklung im Team leiten sollten.

RSA-Verschlüsselung

In der Veranstaltung „Diskrete Strukturen II“ an der Uni Kassel im Wintersemester 11/12 wurde das Verschlüsselungsverfahren RSA vorgestellt. Die daraus erhaltenen Informationen wurden von mir genutzt, um ein kleines Tool zu entwickeln, mit dem RSA verschlüsselt und entschlüsselt werden kann. Gleichzeitig unterstützt es noch die Funktion zur generierung von großen Primzahlen, also zur generierung von Schlüsseln für RSA.

Des weiteren kann das Programm auch RSA-Nachrichten knacken, wenn die Schlüssel ungünstig gewählt wurden. Dies ist der Fall, wenn die 2 Schlüssel zum Beispiel sehr nah bei einander liegen oder einer der Schlüssel sehr klein ist.

Bei der Umsetzung wurde Java verwendet. Da alle gängigen Zahlenrepräsentation innerhalb von Java zu klein sind, wurden BigInteger verwendet. Damit können beliebig große Zahlen repräsentiert werden. Allerdings bringt Java von Haus aus nicht alle mathematischen Grundfunktionen für BigInteger mit, sodass unter anderem die Wurzelfunktion selbst realisiert werden musste.

Programmier-AG

Screenshots der Spiele aus der Java-AG

Screenshots der Spiele aus der Java-AG

Die Java-AG war eine von mir ins Leben gerufene AG am Wiprech-Gymnasium in Groitzsch, in der ich mit einigen Mitschülern Spiele programmiert habe. Hier haben wir innerhalb der letzten zwei Jahren, neben unserem Abitur einige spiele programmiert.

Die Spiele wurden in Java programmiert. Als Grafikschnittstelle wurde das von Java2D bereitgestellte Canvas verwendet.

Die Java-AG sollte dazu dienen, neben dem Informatikunterricht eine Programmiersprache zu vertiefen. Gleichzeitig wollten auch alle Teilnehmer lernen, wie man Spiele entwickelt.