Mobile Games mit
Microsoft Azure
Jürgen Gutsch
Jürgen Gutsch
• Developer, Consultant und Trainer bei der
YooApplications AG in Basel
• Stolzer Papa von drei Kindern
• Bl...
Was wir können
Wir suchen Dich!
Die YooApps bietet fünf interessante Positionen, die
es zu besetzen gilt. Trifft eines der fünf Profile
u...
Das Game
http://www.youtube.com/watch?v=I58AQs8QS18
Das Game
Das Game
• Kräuteranbau auf einem Feld
• Pflegen und Hegen der Kräuter
• Ernten und Verarbeiten der Kräuter
• Verkaufen un...
Das iOS Game
Das iOS Game
Konzept
• Rundenbasiert
• Beliebig viele Runden pro Spieler
• Mehrere Felder pro Runde
• Krauter, Geräte und Felder kosten...
Anforderungen
• Stabilität
• Ausfallsicherheit
• Skalierbarkeit
• Performance
• Wartbarkeit
• Ausführliches Logging
• Spie...
Zahlen
• Über 17.500 App Downloads
• Knapp 25.500 Felder
• Über 13.000 Spieler
• Über 4.500 aktive Spieler
• Davon Über 2....
Infrastruktur
• Compute-Instanzen / Web Roles mit
• REST Schnittstelle zur Kommunikation mit den
Clients
• Spiellogik zum ...
Microsoft Azure
2 Web Roles
1 Worker Roles
Table Storage
SQL Database
Windows Azure Cache
CQRS Pattern
• Die Spielrunde ist das Aggregate
• Unsere Hauptdomäne in der alle Aktionen stattfinden
• Alle Interaktionen...
Exkurs: CQRS Pattern
Quelle: CAP-Theorem: http://de.wikipedia.org/wiki/CAP-Theorem
• Konsistenz: Alle Knoten sehen zur sel...
Exkurs: CQRS Pattern
Quelle: SQRS Journey: http://msdn.microsoft.com/en-us/library/jj591573.aspx
Exkurs: CQRS Pattern
Quelle: http://www.gridshore.nl/2009/12/21/cqrs-made-easy-with-cqrs4j
Exkurs: CQRS Pattern
Event Store
Aggregate Version Event Details
GR1 1 Field Added GEO=lat,long;Name=MyField;
GR1 2 Quadra...
Fragen / Diskussion / Kontakt
Zeit für Fragen und Diskussion
jetzt …
… oder jederzeit:
juergen@gutsh-online.de
Twitter: @s...
Mobile Games mit Windows Azure
Nächste SlideShare
Wird geladen in …5
×

Mobile Games mit Windows Azure

1.399 Aufrufe

Veröffentlicht am

Im letzten Jahr entstand für einen großen Kunden ein Mobile Game für iOS, das serverseitig auf Windows Azure basiert. Zum Einsatz kommen dabei Computer-Instanzen, Backup, Table Storage, SQL Database. Die Spiel-Logik wurde serverseitig mit CQRS umgesetzt, das für Azure ideal einsetzbar ist. Der Vortrag gibt einen Einblick in die Architektur und zeigt den Einsatz der gewählten Azure-Komponenten.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.399
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Mobile Games mit Windows Azure

  1. 1. Mobile Games mit Microsoft Azure Jürgen Gutsch
  2. 2. Jürgen Gutsch • Developer, Consultant und Trainer bei der YooApplications AG in Basel • Stolzer Papa von drei Kindern • Blogger, Autor von Fachartikeln • Speaker auf Konferenzen und User Groups • User Group Leader des .NET-Stammtisch Konstanz- Kreuzlingen • .NET-Begeisterter Softwareentwickler • Webentwickler • Open Source und ALT.NET Enthusiast • Clean Code Developer
  3. 3. Was wir können
  4. 4. Wir suchen Dich! Die YooApps bietet fünf interessante Positionen, die es zu besetzen gilt. Trifft eines der fünf Profile unter: www.yooapps.com/jobs auf dich zu, so sende uns noch heute deine Unterlagen an jobs@yooapps.com! • Software Engineer im Bereich .Net (80-100%) • Unity3D Game Developer (80-100%) • Web- oder Mobile Developer (80-100%) • Projektleiter / Kundenberater (80-100%) • User Experience Designer / Konzepter (80-100%)
  5. 5. Das Game http://www.youtube.com/watch?v=I58AQs8QS18
  6. 6. Das Game
  7. 7. Das Game • Kräuteranbau auf einem Feld • Pflegen und Hegen der Kräuter • Ernten und Verarbeiten der Kräuter • Verkaufen und Sammeln der Kräuter • Nutzung von Gutscheincodes • Geo-Interaktion => Felder an echten Geopositionen • Standortabhängige Feldqualität • Reales Wetter am Standort des Feldes • Highscore • Push-Benachrichtigung
  8. 8. Das iOS Game
  9. 9. Das iOS Game
  10. 10. Konzept • Rundenbasiert • Beliebig viele Runden pro Spieler • Mehrere Felder pro Runde • Krauter, Geräte und Felder kosten Geld • Verkauf von Kräutern bringt Geld • Aktionen bringen Punkte • Ziele des Spiels: • Von allen Kräutern eine bestimmte Menge an Ricola zu senden um echtes Kräuterzucker zu erhalten • In der Gesamt-Highscore so weit oben wie zu sein.
  11. 11. Anforderungen • Stabilität • Ausfallsicherheit • Skalierbarkeit • Performance • Wartbarkeit • Ausführliches Logging • Spielhistorie
  12. 12. Zahlen • Über 17.500 App Downloads • Knapp 25.500 Felder • Über 13.000 Spieler • Über 4.500 aktive Spieler • Davon Über 2.500 sehr aktive Spieler (>50.000 Punkte) • Etwa 6.000 Events pro Spielrunde und Spieler • Ca. 54.000.000 Einträge (Stand März 2014)
  13. 13. Infrastruktur • Compute-Instanzen / Web Roles mit • REST Schnittstelle zur Kommunikation mit den Clients • Spiellogik zum Großteil auf dem Server • Background Services / Worker Role • Für Push-Nachrichten und Schädlingsberechnung • Relationale Datenbank für Veränderbare Daten • Nutzerdaten, Highscore • Bestellungen (von Kräuterzucker) • Objektdatenbank für nicht veränderbare Daten • Spielaktionen • Nur hinzufügen von einzelnen Daten • Schnelles Lesen von vielen Daten
  14. 14. Microsoft Azure 2 Web Roles 1 Worker Roles Table Storage SQL Database Windows Azure Cache
  15. 15. CQRS Pattern • Die Spielrunde ist das Aggregate • Unsere Hauptdomäne in der alle Aktionen stattfinden • Alle Interaktionen finden in einer Spielrunde statt • Background-Service und User führen Aktionen aus • Azure Table Storage wird als Event Store verwendet • Snapshots werden im Azure Cache abgelegt • Eigentlich „Event Sourcing + Commands“ statt CQRS • Querying findet auf dem Snapshot aus dem Eventstore statt und nicht auf einer denormalisierten Datenbank
  16. 16. Exkurs: CQRS Pattern Quelle: CAP-Theorem: http://de.wikipedia.org/wiki/CAP-Theorem • Konsistenz: Alle Knoten sehen zur selben Zeit, dieselben Daten. • Verfügbarkeit: Alle Anfragen an das System werden stets beantwortet. • Partitionstoleranz: Das System arbeitet auch bei Verlust von Nachrichten, einzelner Netzknoten oder Partition des Netzes weiter. CAP-Theorem
  17. 17. Exkurs: CQRS Pattern Quelle: SQRS Journey: http://msdn.microsoft.com/en-us/library/jj591573.aspx
  18. 18. Exkurs: CQRS Pattern Quelle: http://www.gridshore.nl/2009/12/21/cqrs-made-easy-with-cqrs4j
  19. 19. Exkurs: CQRS Pattern Event Store Aggregate Version Event Details GR1 1 Field Added GEO=lat,long;Name=MyField; GR1 2 Quadrant Plowed Q=a1,a2,a3,a4,… GR2 1 Field Added GEO=lat,long;Name=MyField GR1 3 Quadrant Seeded Seed=pepermint;Q=a1,a2,a3,a4 GR2 2 Quadrant Plowed Q=b2,b3,c2,c3 GR2 3 Quadrant Seeded Seed=pepermint;Q=b2,b3,c2,c3 GR3 1 Field Added GEO=lat,long;Name=MyField GR1 4 Quadrant Weeded Q=a1,a2,a3,a4 … … … …
  20. 20. Fragen / Diskussion / Kontakt Zeit für Fragen und Diskussion jetzt … … oder jederzeit: juergen@gutsh-online.de Twitter: @sharpcms FB//:juergen.gutsch Skype//:juergen.gutsch

×