Christoph Kaiser Andreas Singer 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
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 13.01.2005
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 13.01.2005
Entwicklung von Multiplayer-Spielen für Mobiltelefone Agenda Motivation Technologischer Überblick Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte Highlander Zusammenfassung Diskussion Prozessorleistung > 100 MHz -> Ressourcenintensivere Applikationen Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
2. Technologischer Überblick Mobile Endgeräte Betriebssysteme: Microsoft Windows Mobile Linux Palm OS SavaJe Symbian OS Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
2. Technologischer Überblick Mobile 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 Gründer Ericsson, Motorola, Nokia, Psion Ericsson R380 Lizenznehmer: BenQ, Sony Ericsson, Nokia, Fujitsu, Panasonic, Motorola, Samsung, Siemens UI Designs: Nokia Series 80 , NTT DoCoMo Foma, Nokia Series 60 und UIQ Designs Beschreiben TABELLE!!!! Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
2. Technologischer Überblick Programmierung mobiler Endgeräte 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 Verwendet wurde Nokia 6600 – Series 60 2.0 Forum.nokia lobend erwähnen Schwer zu erlernen für Einsteiger Eigene Nomenklatur (Fehlerbehandlung, Wert- oder Referenzübergabe) Sehr performant, Zugriff C++BuilderX Mobile Edition gratis erhältlich Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
2. Technologischer Überblick Programmierung 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 13.01.2005
2. Technologischer Überblick Bluetooth 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 13.01.2005
2. Technologischer Überblick Bluetooth Bluetooth Protocol Stack Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
2. Technologischer Überblick Bluetooth L2CAP Niedrigste, ansprechbare Ebene Paketorientiert Kleine Datenmengen, schnelle Antwortzeiten Keine Datenflusskontrolle Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
2. Technologischer Überblick Bluetooth RFCOMM Aufbauend auf L2CAP, höherer Overhead und deshalb langsamer Streamorientiert Datenflusskontrolle Empfohlen für Series 60 Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
Entwicklung von Multiplayer-Spielen für Mobiltelefone Agenda Motivation Technologischer Überblick Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte Highlander Zusammenfassung Diskussion Prozessorleistung > 100 MHz -> Ressourcenintensivere Applikationen Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
3. Mehrspieler-Anwendungen Kommunikationstechnologien 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 13.01.2005
3. Mehrspieler-Anwendungen Multiplayer-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 13.01.2005
3. Mehrspieler-Anwendungen Features für Multiplayerspiele Dauerhafte Benutzerkonten Warteräume (Lobbies) Ranglisten/Statistiken (Highscore) Spielerchat Verzögerungsanzeige (Ping) Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
3. Mehrspieler-Anwendungen Codeoptimierungstechniken 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 13.01.2005
3. Mehrspieler-Anwendungen Empfehlungen 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 13.01.2005
3. Mehrspieler-Anwendungen Traps 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 13.01.2005
Entwicklung von Multiplayer-Spielen für Mobiltelefone Agenda Motivation Technologischer Überblick Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte Highlander Zusammenfassung Diskussion Prozessorleistung > 100 MHz -> Ressourcenintensivere Applikationen Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
Entwicklung von Multiplayer-Spielen für Mobiltelefone 4. Highlander Spielidee Kampfspiel Primär für Multiplayer Statistiken Punke- und Rängesystem Computer- gegner Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
4. Highlander Implementierung Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
4. Highlander Implementierung 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 13.01.2005
4. Highlander Implementierung Kampf Allgemein Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
4. Highlander Implementierung BattleCanvas – Thread Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
4. Highlander Implementierung BattleLogic Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
4. Highlander Implementierung 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 13.01.2005
4. Highlander Implementierung Computergegner Zielberechnung Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
4. Highlander Benutzerstudie Fragebogen Angaben zur Person: Alter Erfahrung im Umgang mit Mobiltelefonen (Note 1-5) Bisherige Spielgewohnheiten Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
4. Highlander Benutzerstudie 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 13.01.2005
4. Highlander Benutzerstudie 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 13.01.2005
4. Highlander Benutzerstudie Ergebnisse – Informationen zu den Testpersonen Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
4. Highlander Benutzerstudie 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 13.01.2005
4. Highlander Benutzerstudie 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 13.01.2005
4. Highlander Benutzerstudie 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 13.01.2005
Entwicklung von Multiplayer-Spielen für Mobiltelefone Agenda Motivation Technologischer Überblick Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte Highlander Zusammenfassung Diskussion Prozessorleistung > 100 MHz -> Ressourcenintensivere Applikationen Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
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 13.01.2005
Entwicklung von Multiplayer-Spielen für Mobiltelefone Agenda Motivation Technologischer Überblick Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte Highlander Zusammenfassung Diskussion Prozessorleistung > 100 MHz -> Ressourcenintensivere Applikationen Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
Entwicklung von Multiplayer-Spielen für Mobiltelefone 6. Diskussion Fragen? Kritiken? Anmerkungen? Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005
Entwicklung von Multiplayer-Spielen für Mobiltelefone Ende Vielen Dank für Ihre Aufmerksamkeit! Entwicklung von Multiplayer-Spielen für Mobiltelefone 13.01.2005