Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013
Upcoming SlideShare
Loading in...5
×
 

Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013

on

  • 461 Views

 

Statistiken

Views

Gesamtviews
461
Views auf SlideShare
461
Views einbetten
0

Actions

Gefällt mir
1
Downloads
2
Kommentare
0

0 Einbettungen 0

No embeds

Zugänglichkeit

Kategorien

Details hochladen

Uploaded via as Microsoft PowerPoint

Benutzerrechte

© Alle Rechte vorbehalten

Report content

Als unangemessen gemeldet Als unangemessen melden
Als unangemessen melden

Wählen Sie Ihren Grund, warum Sie diese Präsentation als unangemessen melden.

Löschen
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Ihre Nachricht erscheint hier
    Processing...
Kommentar posten
Kommentar bearbeiten

Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013 Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013 Presentation Transcript

  • • Crossplatform – Browser, Android, Ios • Echtzeit – Das Spiel läuft unaufhörlich weiter – Schnelle Information über Statusänderungen • Multiplayer – Spieler können einander beeinflussen – Schnelle Information über Beeinflussungen
  • DB DB DB Globaler Redis Pub-Sub Websocket vNodeJS Redis Push-Pull Webserver PHP WorkerPHP WorkerPHP Worker vNodeJS Redis Push-Pull Webserver PHP WorkerPHP WorkerPHP Worker
  • Worker Dispatcher Controller Repository Domain ObjekteDomain Service Redis Event Dispatcher Redis DB Views
  • • Daemon – Abarbeiten zeitgesteuerter Spielereignisse – Arbeitet nicht selbst, erstellt Messages • Cronjobs – Werden über den Daemon abgehandelt
  • • Sockets ersetzen Sessions • Zusätzliche Daten am Socket – Connection ID, Player ID, Spielwelt, Etc. – Gesetzt durch Messages von PHP – Zusätzliche Indizes • In Messages zwischen Node & PHP enthalten – Node  PHP: alle am senden Socket gespeicherte Daten – PHP  Node: eine Kombination der Daten auf die alle verbundenen Sockets gematcht werden • Weiterleitung passender Messages – Interne Daten werden entfernt
  • • API-Test – Beschreibung – Eingehender Nachricht – Ausgehende Nachrichten • Basierend auf Fixtures • Nur auf PHP-Ebene • Rollback nach jedem Test • Dienen gleichzeitig als Dokumentation – Dokumentation ist zwangsweise immer aktuell