Category Archives: SS15

Seminar, SS15

These are the requirements and outline for writing a review:

  • Reviewer information
    • Lastname,Firstname, Mail adress
  • Reviewers Experience
    • 1-5 (1 never heard about that before, 5 I’m an expert)
  • Rating
    • +3 to -3:
      • +3 = Strong accept
      • +2 = accept
      • +1 = weak accept
      • 0 = borderline (I don’t care, let the others decide)
      • -1 = weak reject
      • -2 = reject
      • -3 = strong reject
  • Evaluation
    • Short summary,
      • 3-4 sentences, approx. length of an abstract
    • Content:
      • some paragraphs (depends on length of paper), (bullet-point style is ok)
      • Understandable?
      • Enough (8-10 pages, more is ok)?
      • The paper should either provider a good overview OR should be focused on a dedicated subject.
    • Well written?
      • 1-2 sentences (depends on length of paper)
      • examples for bad phrases
    • Layout, format
      • 1 -2 sentence
  • Optional: Comments for the PC (will not be sent to the authors)
    • Some sentences
    • Things you want the program committee to know, e.g.
  • Important: Deadline for reviews is Friday, 26th of June, 11:59 p.m. Later submission will result in a deduction of points.

    Software Engineering I, SS15

    JSON Protokoll

    Das Ingame JSON Protokoll kennt in Serverrichtung Commands und in Clientrichtung Events.

    Commands

    Die Commands müssen mindestens ein action Attribut enthalten welches folgende Werte annehmen kann (keys in Klammern sind optional):

    Action Keys Beispiel Bemerkung
    NOOP keiner {"@action":"NOOP"} Command der in regelmäßigen Abständen abgeschickt werden kann, um die Verbindung aufrecht zu erhalten.
    START_GAME keiner {"@action":"START_GAME"} Startet das Spiel wenn jeder Spieler ein Startfeld gewählt hat.
    LEAVE_GAME keiner {"@action":"LEAVE_GAME"} Verlässt das aktuelle Spiel.
    MESSAGE message, (audience)?, (recipient)? {"@action":"MESSAGE","properties":{"entry":{"key":"message","value":"Hallo"},"entry":{"key":"audience","value":"USER"},"entry":{"key":"recipient","value":"zenobios"}}} Verschickt eine Nachricht an alle oder den angegebenen User/Team. Der Parameter audienceerlaubt folgende Werte:ALL, USER, TEAM.Folgende Kombinationen von audience und recipient sind möglich:audience: leer, recipient:leer -> Nachricht wird an alle User im Spiel geschickt
    audience: leer, recipient:nicht leer -> Nachricht wird nicht verschicktaudience: ALL, recipient:leer -> Nachricht wird an alle User im Spiel geschickt
    audience: ALL, recipient:nicht leer-> Nachricht wird nicht verschicktaudience: USER, recipient:leer -> Nachricht wird nicht verschickt
    audience: USER, recipient:username -> Nachricht wird an user username verschicktaudience: TEAM, recipient:leer -> Nachricht wird an das eigene Team geschickt
    audience: TEAM, recipient:teamname -> Nachricht wird an das Team teamname verschicktEvents, die durch diesen Command ausgelöst werden übergeben die Art der Message mit, um im Client eine Unterscheidung durchführen zu können. Mögliche Werte sind:ERROR, MESSAGE, PUBLIC_MESSAGE, USER_MESSAGE, TEAM_MESSAGE
    CHANGE_USER_COLOR color {"@action":"CHANGE_USER_COLOR","properties":{"entry":{"key":"color","value":"FFFF00"}}} Ändert die Userfarbe.
    CHOOSE_FIELD field {"@action":"CHOOSE_FIELD","properties":{"entry":{"key":"field","value":"Field@1a3b6f"}}} Wählt das Startfeld aus. field muss eine ID sein.
    CREATE_DEFENSE defensetype, cell {"@action":"CREATE_DEFENSE","properties":{"entry":{"key":"defensetype","value":"SWASH"},"entry":{"key":"cell","value":"Cell@d54a23"}}} Baut eine Verteidigungsanlage des Typs defensetype auf der Zelle cell.
    CHANGE_DEFENSE defense, action {"@action":"CHANGE_DEFENSE","properties":{"entry":{"key":"defense","value":"Defense@d43b23"},"entry":{"key":"action","value":"SELL"}}} Die Verteidigungsanlage defense kann mit diesem Command angepasst werden. Es stehen folgende zwei Werte für action  zur Auswahl:SELL – Die Verteidigungsanlage wird verkauft. Der Verkauf bringt 75% des Kaufpreises ein. Es können nur eigene Verteidigungsanlage verkauft werden.

    UPGRADE – Wertet die Verteidigungsanlage um ein Level auf, wenn möglich.

    CHANGE_DEFENSE_STRATEGY defense, strategy {"@action":"CHANGE_DEFENSE_STRATEGY","properties":{"entry":{"key":"defense","value":"Defense@5974b827"}, "entry":{"key":"strategy","value":"FASTEST"}}} Wechselt die Strategie der Verteidigungsanlage mit der ID defense auf die Strategie strategy. Es stehen folgende Strategien zur Auswahl:
    CLOSEST, FASTEST, STRONGEST, FARTHEST, WEAKEST
    CREATE_ZOMBIE zombietype {"@action":"CREATE_ZOMBIE","properties":{"entry":{"key":"zombietype","value":"CHASER"}}} Erzeugt einen Zombie des Typs zombietype

    Events

    Der Server schickt Events in der Form

    {"@ts":"1336475335153","@src":"User@a4d93e3","@prop":"nickname","@nv":"akoch"}

    In diesem Fall wurde zum Timestamp 1336475335153 von der source User@a4d93e3 die property nickname auf akoch (new value) geändert.
    Wer sich die Events vom Server genauer anschaut wird feststellen, dass Werte die null sind in JSON wegoptimiert werden. In diesem Beispiel fehlt z.B. die Property @ov.

    Tipp: Das nötige Datenmodell lässt sich größtenteils aus dem Eventstream ableiten.