Never Code Alone: Von Symfony Forms zu einer SPA auf APIs
Softwarearchitektur eines modernen Onlinespieles - PHPUnconference 2013
1.
2. • 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
5. • Daemon
– Abarbeiten zeitgesteuerter Spielereignisse
– Arbeitet nicht selbst, erstellt Messages
• Cronjobs
– Werden über den Daemon abgehandelt
6. • 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
7. • 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