Upload
elke-wichert
View
107
Download
2
Embed Size (px)
Citation preview
Fortgeschrittenen-Praktikum
Entwicklung von Multiplayer-Spielen für Mobiltelefone
Christoph Kaiser
Andreas Singer
BetreuerDr. Albrecht SchmidtRichard Atterer
LMU MünchenInstitut für InformatikLFE Medieninformatik
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
2
Agenda
1. Motivation2. Technologischer Überblick
3. Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte
4. Highlander
5. Zusammenfassung
6. Diskussion
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
3
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
4
Agenda
1. Motivation
2. Technologischer Überblick3. Entwicklung von Mehrspieler-Anwendungen
für mobile Endgeräte
4. Highlander
5. Zusammenfassung
6. Diskussion
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
5
2. Technologischer ÜberblickMobile Endgeräte
Betriebssysteme: Microsoft Windows Mobile Linux Palm OS SavaJe Symbian OS
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
6
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
7
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
8
2. Technologischer ÜberblickProgrammierung mobiler Endgeräte
Java: Vorteil: schneller Einstieg Nachteile: langsam, Zugriffsmöglichkeiten,
optionale APIs Entwicklungswerkzeuge: JBuilder, Sun ONE
Studio, Eclipse
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
9
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
10
2. Technologischer ÜberblickBluetooth
Bluetooth Protocol Stack
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
11
2. Technologischer ÜberblickBluetooth
L2CAP
Niedrigste, ansprechbare Ebene
Paketorientiert
Kleine Datenmengen, schnelle Antwortzeiten
Keine Datenflusskontrolle
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
12
2. Technologischer ÜberblickBluetooth
RFCOMM
Aufbauend auf L2CAP, höherer Overhead und deshalb langsamer
Streamorientiert
Datenflusskontrolle
Empfohlen für Series 60
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
13
Agenda
1. Motivation
2. Technologischer Überblick
3. Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte
4. Highlander
5. Zusammenfassung
6. Diskussion
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
14
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)
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
15
3. Mehrspieler-AnwendungenMultiplayer-Spieltypen
Multiplayer-Einzelspiele
HTTP, TCP Rundenbasierte Spiele
TCP „Act Whenever“ Spiele
TCP/UDP, Bluetooh „Slow Update“ Spiele
HTTP
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
16
3. Mehrspieler-AnwendungenFeatures für Multiplayerspiele
Dauerhafte Benutzerkonten Warteräume (Lobbies) Ranglisten/Statistiken (Highscore) Spielerchat Verzögerungsanzeige (Ping)
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
17
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
18
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
19
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
20
Agenda
1. Motivation
2. Technologischer Überblick
3. Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte
4. Highlander5. Zusammenfassung
6. Diskussion
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
21
4. HighlanderSpielidee
Kampfspiel Primär für
Multiplayer Statistiken Punke- und
Rängesystem Computer-
gegner
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
22
4. HighlanderImplementierung
4. HighlanderImplementierung
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
23
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
24
4. HighlanderImplementierung
Kampf Allgemein
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
25
4. HighlanderImplementierung
BattleCanvas – Thread
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
26
4. HighlanderImplementierung
BattleLogic
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
27
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
28
4. HighlanderImplementierung
Computergegner
Zielberechnung
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
29
4. HighlanderBenutzerstudie
FragebogenAngaben zur Person: Alter Erfahrung im Umgang mit Mobiltelefonen (Note 1-5) Bisherige Spielgewohnheiten
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
30
4. HighlanderBenutzerstudie
FragebogenFragen 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?
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
31
4. HighlanderBenutzerstudie
FragebogenFragen 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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
32
4. HighlanderBenutzerstudie
Ergebnisse – Informationen zu den Testpersonen
Erfahrung in der Handybenutzung
0
10
20
30
40
50
1 2 3 4 5
Erfahrung (Schulnote)
Tei
lneh
mer
(%
)
Alter der Teilnehmer
0
20
40
60
80
14-16 21-27
Altersgruppen
Teiln
ehm
er (%
)
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
33
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
34
4. HighlanderBenutzerstudie
Ergebnisse – Interessante Zusammenhänge Spielspaß im Mehrspielermodus von 2,6 auf 1,7 verbessert Junge Spieler haben mehr Spaß am Spiel
Beurteilung des Spielspaßes
0
10
20
30
40
50
60
1 2 3 4 5
Spielspaß (Schulnote)
Teiln
ehm
er (
%)
Einzelspieler Modus
Mehrspieler Modus
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
35
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
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
36
Agenda
1. Motivation
2. Technologischer Überblick
3. Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte
4. Highlander
5. Zusammenfassung6. Diskussion
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
37
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)
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
38
Agenda
1. Motivation
2. Technologischer Überblick
3. Entwicklung von Mehrspieler-Anwendungen für mobile Endgeräte
4. Highlander
5. Zusammenfassung
6. Diskussion
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
39
6. Diskussion
Fragen? Kritiken? Anmerkungen?
13.01.2005Entwicklung von Multiplayer-Spielen für Mobiltelefone
40
Ende
Vielen Dank für Ihre Aufmerksamkeit!