400 likes | 499 Views
Fortgeschrittenen-Praktikum Entwicklung von Multiplayer-Spielen für Mobiltelefone. Christoph Kaiser Andreas Singer. LMU München Institut für Informatik LFE Medieninformatik. Betreuer Dr. Albrecht Schmidt Richard Atterer. Agenda. Motivation Technologischer Überblick
E N D
Fortgeschrittenen-PraktikumEntwicklung von Multiplayer-Spielen für Mobiltelefone Christoph Kaiser Andreas Singer LMU München Institut für Informatik LFE Medieninformatik Betreuer Dr. Albrecht Schmidt Richard Atterer
Agenda • Motivation • Technologischer Überblick • Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte • Highlander • Zusammenfassung • Diskussion Entwicklung von Multiplayer-Spielen für Mobiltelefone
1. Motivation • Mobiltelefone bilden für die Informatik eine zunehmend wichtige Plattform • Mobiltelefone wurden zu programmierbaren Allroundgeräten • Hohe Verbreitung und nahezu allgegenwärtige Verfügbarkeit • Unterhaltungsanwendungen um Zeit tot zu schlagen Entwicklung von Multiplayer-Spielen für Mobiltelefone
Agenda • Motivation • Technologischer Überblick • Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte • Highlander • Zusammenfassung • Diskussion Entwicklung von Multiplayer-Spielen für Mobiltelefone
2. Technologischer ÜberblickMobile Endgeräte Betriebssysteme: • Microsoft Windows Mobile • Linux • Palm OS • SavaJe • Symbian OS Entwicklung von Multiplayer-Spielen für Mobiltelefone
2. Technologischer ÜberblickMobile Endgeräte Symbian OS Historie: • 1998: Gründung von Symbian • 2000: Erster Einsatz in einem Mobiltelefon • Gegenwart: Viele Lizenznehmer Symbian OS Schlüsselcharakteristika: • Offene Applikationsumgebung • Multitasking • Flexibles Benutzeroberflächen-Design Entwicklung von Multiplayer-Spielen für Mobiltelefone
2. Technologischer ÜberblickProgrammierung mobiler Endgeräte C++ • Für alle Symbian OS Plattformen außer FOMA • Vorteile: Zugriff auf mehr Systemressourcen als Java, hohe Ausführungsgeschwindigkeit • Nachteil: Kompliziert und schwer für Anfänger • Entwicklungswerkzeuge: MS Visual C++, MetroWerks CodeWarrior, C++Builder, C++BuilderX Entwicklung von Multiplayer-Spielen für Mobiltelefone
2. Technologischer ÜberblickProgrammierung mobiler Endgeräte Java: • Vorteil: schneller Einstieg • Nachteile: langsam, Zugriffsmöglichkeiten, optionale APIs • Entwicklungswerkzeuge: JBuilder, Sun ONE Studio, Eclipse Entwicklung von Multiplayer-Spielen für Mobiltelefone
2. Technologischer ÜberblickBluetooth • Kurzstrecken Funktechnologie • Bildung von dynamischen ad-hoc Netzen • Reichweite ca. 10 m • 2,4 GHZ ISM-Band (weltweit frei nutzbar) • Störungssicher durch Frequency hopping • Mehrere Datenkanäle (Sprache, Daten) • Übertragungskapazität insgesamt ca. 1 MBit/s Entwicklung von Multiplayer-Spielen für Mobiltelefone
2. Technologischer ÜberblickBluetooth Bluetooth Protocol Stack Entwicklung von Multiplayer-Spielen für Mobiltelefone
2. Technologischer ÜberblickBluetooth L2CAP Niedrigste, ansprechbare Ebene Paketorientiert Kleine Datenmengen, schnelle Antwortzeiten Keine Datenflusskontrolle Entwicklung von Multiplayer-Spielen für Mobiltelefone
2. Technologischer ÜberblickBluetooth RFCOMM Aufbauend auf L2CAP, höherer Overhead und deshalb langsamer Streamorientiert Datenflusskontrolle Empfohlen für Series 60 Entwicklung von Multiplayer-Spielen für Mobiltelefone
Agenda • Motivation • Technologischer Überblick • Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte • Highlander • Zusammenfassung • Diskussion Entwicklung von Multiplayer-Spielen für Mobiltelefone
3. Mehrspieler-AnwendungenKommunikationstechnologien im MIDP • HTTP (HTTPS ab MIDP 2.0) • TCP (verbindungsorientiert u. verlässlich) • UDP (verbindungslos, schnell, wichtig für zeitkritische Anwendungen) • Serielle Kabel- und Infrarotverbindungen • Bluetooth (optional, geringe Verzögerungszeit, Piconetze, sehr gut geeignet für Spiele) • SMS und MMS (Kosten) Entwicklung von Multiplayer-Spielen für Mobiltelefone
3. Mehrspieler-AnwendungenMultiplayer-Spieltypen • Multiplayer-Einzelspiele HTTP, TCP • Rundenbasierte Spiele TCP • „Act Whenever“ Spiele TCP/UDP, Bluetooh • „Slow Update“ Spiele HTTP Entwicklung von Multiplayer-Spielen für Mobiltelefone
3. Mehrspieler-AnwendungenFeatures für Multiplayerspiele • Dauerhafte Benutzerkonten • Warteräume (Lobbies) • Ranglisten/Statistiken (Highscore) • Spielerchat • Verzögerungsanzeige (Ping) Entwicklung von Multiplayer-Spielen für Mobiltelefone
3. Mehrspieler-AnwendungenCodeoptimierungstechniken • Code-Analysen mit dem Method-Profiler • Kein unnötiger Code in Schleifen • Vermeidung von Strings (oder als Konstante) • Optimierung der Methoden(Parameterzahl, Methodentyp, Vermeidung) • Reduzierung von Arrayzugriffen • Sparsame Klassen- und Objektverwendung • Schnellere Berechnungsoperationen bevorzugen Entwicklung von Multiplayer-Spielen für Mobiltelefone
3. Mehrspieler-AnwendungenEmpfehlungen zu Bluetooth • Parallele Ausführung von Aktionen bringt keinen Gewinn • Nebenaktivitäten (Headsets, Datenübertragungen, ...) vermeiden • Zuverlässige Verbindung gewährleistet, keine eigene Fehlerbehandlung notwendig • Geeignete Protokoll- und Paketwahl • Vermeidung des SNIFF-Modus • Info-Meldung bei regulärem Beenden Entwicklung von Multiplayer-Spielen für Mobiltelefone
3. Mehrspieler-AnwendungenTraps und Probleme • Emulatoren ungenau und instabil • Unbrauchbare Fehlermeldungen • Häufige, geräteabhängige Fehler • Performance-Probleme (z.B. mutable Images) • Eingeschränkte mathematische Funktionalität • Beschränkte Ressourcen- und Rechenleistung Häufige Tests und Optimierungen Entwicklung von Multiplayer-Spielen für Mobiltelefone
Agenda • Motivation • Technologischer Überblick • Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte • Highlander • Zusammenfassung • Diskussion Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderSpielidee • Kampfspiel • Primär für Multiplayer • Statistiken • Punke- und Rängesystem • Computer- gegner Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. Highlander Implementierung 4. HighlanderImplementierung Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderImplementierung Bluetooth Verbindungsaufbau: • Spieler selektiert Client/Server Rolle • Server wechselt in Limited Dedicated Inquiry Access Code (LIAC) • Server registriert Service und wartet auf Client Verbindung • Client sucht nach allen verfügbaren Geräten im LIAC Mode • Client sucht auf allen gefundenen Telefongeräten nach Service • Client ermittelt zu allen gefundenen Services die Connection URL • Client öffnet eine StreamConnection zum ausgewählten Server • Server wird benachrichtigt und bekommt eine StreamConnection Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderImplementierung Kampf Allgemein Entwicklung von Multiplayer-Spielen für Mobiltelefone
4.HighlanderImplementierung BattleCanvas – Thread Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderImplementierung BattleLogic Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderImplementierung Multiplayer-Modus • Läuft synchron ab • Nur Aktionen werden übertragen Computergegner • Überprüft ob Schild bewegt werden muss • Setzt zufallsgesteuert einen Tick aus • Entscheidet ob Schild oder Schwert bewegt wird Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderImplementierung Computergegner Zielberechnung Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderBenutzerstudie Fragebogen Angaben zur Person: • Alter • Erfahrung im Umgang mit Mobiltelefonen (Note 1-5) • Bisherige Spielgewohnheiten Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderBenutzerstudie Fragebogen Fragen zum Trainingsmodus: • Konnte das Spiel gestartet werden • Konnte der Trainingsmodus gestartet werden • Wurde mehrere Male evtl. in verschiedenen Varianten (Revanche, Neustart) gespielt? • Hält der Spieler den Trainingsmodus für sinnvoll, bzw. würde er es in bestimmten Situationen nutzen? • Hat das Spielen im Trainingsmodus Spaß gemacht? (Note 1-5) • Hat der Spieler allgemeine Verbesserungsvorschläge? Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderBenutzerstudie Fragebogen Fragen zum Mehrspielermodus: • Konnte eine Verbindung hergestellt werden • Konnte der Mehrspielermodus gestartet werden • Wurde mehrere Male evtl. in verschiedenen Varianten (Revanche, Client/Server wechseln) gespielt? • Hält der Spieler den Mehrspielermodus für sinnvoll, bzw. würde er es in bestimmten Situationen nutzen? • Hat das Spielen im Mehrspielermodus Spaß gemacht? (Note 1-5) • Spezielle Verbesserungsvorschläge für Grafik, Sound, Interaktion, Netzgeschwindigkeit oder andere Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderBenutzerstudie Ergebnisse – Informationen zu den Testpersonen Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderBenutzerstudie Ergebnisse – Trainingsmodus • Alle Aufgaben wurden geschafft, wobei 20% auf den Moduswechsel mit der Taste 7 hingewiesen werden mussten • Niemand hat die Instructions gelesen • 70% würden den Trainingsmodus als Zeitvertreib nutzen • 20% verließen beim Navigieren im Menü aus Versehen die Applikation Ergebnisse – Mehrspielermodus • Alle Testpersonen würden den Mehrspielermodus wieder nutzen Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderBenutzerstudie Ergebnisse – Interessante Zusammenhänge • Spielspaß im Mehrspielermodus von 2,6 auf 1,7 verbessert • Junge Spieler haben mehr Spaß am Spiel Entwicklung von Multiplayer-Spielen für Mobiltelefone
4. HighlanderBenutzerstudie Ergebnisse – Verbesserungsvorschläge • Mehr Abwechslung und Spieltiefe durch zusätzliche Features (untersch. Spielfiguren, Waffen, Händler,...) • Moduswechsel Taste nicht für jeden bequem zu bedienen und nicht intuitiv auffindbar Entwicklung von Multiplayer-Spielen für Mobiltelefone
Agenda • Motivation • Technologischer Überblick • Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte • Highlander • Zusammenfassung • Diskussion Entwicklung von Multiplayer-Spielen für Mobiltelefone
5. Zusammenfassung • Technologischer Überblick (Symbian OS, C++, Java, Bluetooth) • Einführung in die Entwicklung von Multiplayer-Spielen (Kommunikationstechnologien, Spieltypen, Spielfeatures, Codeoptimierungstechniken, Bluetooth Empfehlungen, Traps und Probleme) • Highlander (Spielidee, Implementierung, Benutzerstudie) Entwicklung von Multiplayer-Spielen für Mobiltelefone
Agenda • Motivation • Technologischer Überblick • Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte • Highlander • Zusammenfassung • Diskussion Entwicklung von Multiplayer-Spielen für Mobiltelefone
6. Diskussion • Fragen? • Kritiken? • Anmerkungen? Entwicklung von Multiplayer-Spielen für Mobiltelefone
Ende Vielen Dank für Ihre Aufmerksamkeit! Entwicklung von Multiplayer-Spielen für Mobiltelefone