9

Click here to load reader

CS108 Bootcamp 2011 Intro - Jarwars

Embed Size (px)

Citation preview

Page 1: CS108 Bootcamp 2011 Intro - Jarwars

Ein Programmieren II Projekt vonBasil Kohler

Christopher Scherb Lukas Probst und

Kevin Urban

Page 2: CS108 Bootcamp 2011 Intro - Jarwars

Einführung

Mischung zwischen Space Invaders und Tower Defense

Ziel: Java Tasse vor „Bösem“ beschützen

2D – Echtzeitspiel im Comicstyle

Page 3: CS108 Bootcamp 2011 Intro - Jarwars

Architektur

Aufgeteilt in Server und Client

Server berechnet die Logik

Client zeichnet nur Daten vom Server

Grafik wird mit OpenGL berechnet (JOGL)

Chat/Verwaltung über TCP

Spielstatus über UDP

Level in XML-Dateien (mit JDOM ausgelesen)

Page 4: CS108 Bootcamp 2011 Intro - Jarwars

Server-Client-Aufbau

Page 5: CS108 Bootcamp 2011 Intro - Jarwars

SpielregelnBeschütze Java-Tasse vor „bösem“ Code

Spieler:

Gemeinsamer Lebenszähler (Tasse)

Spieler können sich nur auf der Kreisbahn bewegen

Spieler können gerade nach vorne schießen

Auschalten der Gegner gibt Punkte

Zwischen den Waves kann geskillt werden

Gegner:

Unterscheiden sich in ihrem Leben und Bewegungsablauf

Können nicht schießen

Falls sie die Tasse erreichen, verliert diese Leben

Falls sie einen Spieler erreichen „schocken“ sie diesen

Page 6: CS108 Bootcamp 2011 Intro - Jarwars

GUI

GUI ist in Swing geschrieben

Spielegrafik wird in OpenGL berechnet

Mit der GUI kann der Client Spiele erstellen und verwalten

GUI besitzt einen Dialog, der den Spieler durch das Spiel führt

Page 7: CS108 Bootcamp 2011 Intro - Jarwars

Das Spiel

LIVE DEMO

Page 8: CS108 Bootcamp 2011 Intro - Jarwars

Dokumentation

PDF-Benutzerhandbuch im ZIP-Archiv

Entwickler-Doku im Wiki:http://jarwars.internet-freaks.net/wiki/index.php?title=Entwickler-Doku

Javadoc im Netz:http://jarwars.internet-freaks.net/doc/

Projekt-Tagebuch:http://jarwars.internet-freaks.net/wordpress/

Page 9: CS108 Bootcamp 2011 Intro - Jarwars

Lessons Learned

JOGL ist nur schwer betriebsystem- und architekturabhängig einbindbar

Jar-File hat noch Abhängigkeiten (→ ZIP-Archiv)

Multi-Threading erfordert mühsames und mehrfaches Debugging

Gruppenarbeit erfordert genaue Absprachen

Hat bei uns gut funktioniert

Manchmal trotz Javadoc schwer fremden Code zu verstehen

Entwicklung im Team macht viel Spaß