Gruppe 2: Marcel Neidinger, Sein Coray, Mirjam Brülisauer
YOB
Meilenstein III
Run before they come
Was bisher geschah: Die Idee
Die Ausgangslage
- Gefangen in Labyrinth
- Orientierungslos
- Tag und Nachtwechsel
Die Lösung
- Erkunde das Labyrinth
- Finde den Ausgang
aber …
- die Monster
Spielstatus
Die Daten
- Position
- Inventar
- Ausrüstung
Mehrere Spiele
- ServerGameController hält mehrere Spiele
- Player sieht alle Lobbies NUR ein Spiel joinbar
Doppelte Buchführung (HashMap’s)
Verwaltung der Spieler
- SQL mit DerbyDB
Spielregeln
- Kollisionsdetektion
Server überprüft Position
- Monster
Server überprüft Position, Lebenspunkte, Inventar
Laufwege, User Interaktion
Netzwerkprotokoll: Idee
- Commands sind doppelt definiert
CommandXY
+ getName():String
+ getCallString():String
+ act(String… par):boolean
+ init(Controller… con):void
+ match(String s):boolean
ServerCommandXY
+ getName():String
+ getCallString():String
+ act(String… par):boolean
+ init(Controller… con):void
+ match(String s):boolean
Server
ClientCommandXY
+ getName():String
+ getCallString():String
+ act(String… par):boolean
+ init(Controller… con):void
+ match(String s):boolean
Client
Shared
Netzwerkprotokoll: Idee
- Enum definiert valide Commands in Kategorien („Namespaces“)
INIT LOBBY
CHAT
WELCOME
LOGIN
REGISTER
LIST_GAMES
LIST_PLAYERS
GET_CHAT_HISTORYJOIN
NEWMSG
BEEP
TALK_TO_SERVER
GET_USER_INFO
Netzwerkprotokoll: Aufbau
- NetzwerkController läuft in Loop (Client und Server)
NetworkController NetworkController
sendXY()
Paket
- Assozierter Sockets für jeden Client auf Server
Netzwerkprotokoll: Chat
- Server zentraler Verwalter
Client #1
Server
NEW_MSG:C2:Careful you must be
Client #2
NEW_MSG:C2:Careful you must be
- Kein P2P
Netzwerkprotokoll: Broadcast
- Server zentraler Verwalter
Client #1
Server
NEW_MSG:ALL:it’s a trap
Client #2
NEW_MSG:ALL:it’s a trap
NEW
_M
SG:ALL:it’s a
trap
trap
Client #2
NEW_MSG:ALL:it’s a trap
Arbeitsplan: Probleme
Absprung eines Teammitglieds
Qualitätssicherung
Coding Conventions Continious Integration
Meetings
Qualitätssicherung:CI
Kontinuierliche Integration (auch fortlaufende oder permanente
Integration; englisch: continuous integration) ist ein Begriff aus der
Software-Entwicklung, der den Prozess des fortlaufenden
Zusammenfügens von Komponenten zu einer Anwendung beschreibt.
[…] Typische Aktionen sind das Übersetzen und Linken der
Anwendungsteile […] Üblicherweise wird dafür nicht nur das
Gesamtsystem neu gebaut, sondern es werden auch automatisierte
Tests durchgeführt und Softwaremetriken erstellt.
Quelle: http://de.wikipedia.org/wiki/Kontinuierliche_Integration
Qualitätssicherung:CI
Hudson
SVN
Dave Dev
commit
Change-Query
Unit Test
Report
Redmine Issue
E-Mail Be-
nachrichtigung
E-Mail bei
fail
Developer
Build
Demo
Fragen ?

YOB Meilenstein 3 Präsentation

  • 1.
    Gruppe 2: MarcelNeidinger, Sein Coray, Mirjam Brülisauer YOB Meilenstein III Run before they come
  • 2.
    Was bisher geschah:Die Idee Die Ausgangslage - Gefangen in Labyrinth - Orientierungslos - Tag und Nachtwechsel Die Lösung - Erkunde das Labyrinth - Finde den Ausgang aber … - die Monster
  • 3.
    Spielstatus Die Daten - Position -Inventar - Ausrüstung Mehrere Spiele - ServerGameController hält mehrere Spiele - Player sieht alle Lobbies NUR ein Spiel joinbar Doppelte Buchführung (HashMap’s) Verwaltung der Spieler - SQL mit DerbyDB
  • 4.
    Spielregeln - Kollisionsdetektion Server überprüftPosition - Monster Server überprüft Position, Lebenspunkte, Inventar Laufwege, User Interaktion
  • 5.
    Netzwerkprotokoll: Idee - Commandssind doppelt definiert CommandXY + getName():String + getCallString():String + act(String… par):boolean + init(Controller… con):void + match(String s):boolean ServerCommandXY + getName():String + getCallString():String + act(String… par):boolean + init(Controller… con):void + match(String s):boolean Server ClientCommandXY + getName():String + getCallString():String + act(String… par):boolean + init(Controller… con):void + match(String s):boolean Client Shared
  • 6.
    Netzwerkprotokoll: Idee - Enumdefiniert valide Commands in Kategorien („Namespaces“) INIT LOBBY CHAT WELCOME LOGIN REGISTER LIST_GAMES LIST_PLAYERS GET_CHAT_HISTORYJOIN NEWMSG BEEP TALK_TO_SERVER GET_USER_INFO
  • 7.
    Netzwerkprotokoll: Aufbau - NetzwerkControllerläuft in Loop (Client und Server) NetworkController NetworkController sendXY() Paket - Assozierter Sockets für jeden Client auf Server
  • 8.
    Netzwerkprotokoll: Chat - Serverzentraler Verwalter Client #1 Server NEW_MSG:C2:Careful you must be Client #2 NEW_MSG:C2:Careful you must be - Kein P2P
  • 9.
    Netzwerkprotokoll: Broadcast - Serverzentraler Verwalter Client #1 Server NEW_MSG:ALL:it’s a trap Client #2 NEW_MSG:ALL:it’s a trap NEW _M SG:ALL:it’s a trap trap Client #2 NEW_MSG:ALL:it’s a trap
  • 10.
  • 11.
  • 12.
    Qualitätssicherung:CI Kontinuierliche Integration (auchfortlaufende oder permanente Integration; englisch: continuous integration) ist ein Begriff aus der Software-Entwicklung, der den Prozess des fortlaufenden Zusammenfügens von Komponenten zu einer Anwendung beschreibt. […] Typische Aktionen sind das Übersetzen und Linken der Anwendungsteile […] Üblicherweise wird dafür nicht nur das Gesamtsystem neu gebaut, sondern es werden auch automatisierte Tests durchgeführt und Softwaremetriken erstellt. Quelle: http://de.wikipedia.org/wiki/Kontinuierliche_Integration
  • 13.
    Qualitätssicherung:CI Hudson SVN Dave Dev commit Change-Query Unit Test Report RedmineIssue E-Mail Be- nachrichtigung E-Mail bei fail Developer Build
  • 14.
  • 15.