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

Like this? Share it with your network

Share

Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013

am

  • 491 Views

 

Statistiken

Views

Gesamtviews
491
Views auf SlideShare
491
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.
    Sind Sie sicher, dass Sie...
    Ihre Nachricht erscheint hier
    Processing...
Kommentar posten
Kommentar bearbeiten

Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013 Presentation Transcript

  • 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. 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. Worker Dispatcher Controller Repository Domain ObjekteDomain Service Redis Event Dispatcher Redis DB Views
  • 4. • Daemon – Abarbeiten zeitgesteuerter Spielereignisse – Arbeitet nicht selbst, erstellt Messages • Cronjobs – Werden über den Daemon abgehandelt
  • 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. • 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