• Crossplatform
– Browser, Android, Ios
• Echtzeit
– Das Spiel läuft unaufhörlich weiter
– Schnelle Information über Statu...
DB
DB
DB
Globaler Redis
Pub-Sub
Websocket vNodeJS Redis
Push-Pull
Webserver
PHP WorkerPHP WorkerPHP Worker
vNodeJS Redis
P...
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 ...
• Sockets ersetzen Sessions
• Zusätzliche Daten am Socket
– Connection ID, Player ID, Spielwelt, Etc.
– Gesetzt durch Mess...
• API-Test
– Beschreibung
– Eingehender Nachricht
– Ausgehende Nachrichten
• Basierend auf Fixtures
• Nur auf PHP-Ebene
• ...
Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013
Nächste SlideShare
Wird geladen in ...5
×

Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013

506

Published on

0 Kommentare
1 Gefällt mir
Statistiken
Notizen
  • Hinterlassen Sie den ersten Kommentar

Keine Downloads
Views
Gesamtviews
506
Bei Slideshare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
1
Einbettungen 0
No embeds

No notes for slide

Transcript of "Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013"

  1. 1. • 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
  2. 2. 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
  3. 3. Worker Dispatcher Controller Repository Domain ObjekteDomain Service Redis Event Dispatcher Redis DB Views
  4. 4. • Daemon – Abarbeiten zeitgesteuerter Spielereignisse – Arbeitet nicht selbst, erstellt Messages • Cronjobs – Werden über den Daemon abgehandelt
  5. 5. • 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
  6. 6. • 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×