Da Programme und Spiele heutzutage nicht nur auf einer bestimmten Plattform laufen sollen habe ich für mein Projekt verschiedene Endgeräte ausgewählt auf denen die Anwendung spielbar sein soll.
Da jedoch nicht jedes Gerät die selben Fähigkeiten und Leistungsgrenzen besitzt muss bei der Programmierung auf diese Differenzen geachtet und eingegangen werden, damit das Spiel auf den verschiedenen Endgeräten flüssig und fehlerfrei läuft.
In diesem Blogeintrag will ich auf die für mich relevanten Unterschiede der verschiedenen Plattformen eingehen. Dabei geht es mir, neben der Performance der einzelnen Rechner, hauptsächlich um die Multi-Touch-Fähigkeiten sowie andere Möglichkeiten der natürlichen Interaktion mit den Geräten.
MSI Wind Top AE2060 – All in One PC
Der MSI Wind Top All-in-One PC ist das primäre Zielgeräterät, auf dem die hier entwickelte Anwendung lauffähig sein soll.
Auflösung: 1600 x 900
Betriebssystem: Windows 7 Home Premium 64Bit
Arbeitsspeicher: 2GB
Grafik: Intel GMA X4500
Prozessor: Intel Celeron 2.60 GHz
Multi-Touch-Eingabe: 2 Berührpunkte, per Stift und Finger bedienbar
Touch-Technik:2 Kamera Methode
Sonstiges: eingebaute Webcam
Wie bereits anhand des Datenblatts erkennbar ist, ist der MSI Wind Top AE2060 ein mittelmäßig guter Computer mit Multi-Touch-Fähigkeiten. Jedoch ist zu beachten, dass die verwendete Onboard Grafikkarte das Verwenden von grafisch aufwendigen Programmen und Spielen einschränkt. Durch diese Einschränkung kann es dazu kommen, dass einige Effekte in Flash, die zum Beispiel den Alphakanal verwenden (Animationen mit Alphakanal brauchen in Flash einfach zu viel Rechenpower), eine höhere Rechenleistung als auf anderen Computern benötigen, wodurch die Bildfrequenz (FPS: Frames per Second) während diesen deutlich verringert wird.
Als Technik zur Erkennung von Touch-Punkten kommt die in einem vorherigen Eintrag beschriebene Zwei-Kamera-Methode zum Einsatz. Da es durch diese Technik maximal möglich ist, zwei Berührungspunkte zu erkennen, muss bei der Programmierung darauf geachtet werden dass zu keiner Zeit mehr als zwei Touch-Punkte von Nöten sind, da es sonst zu unerwünschten Effekten kommen kann. Zu den auf dem Rechner auftretenden Effekten gehört das „Springen“ von Berührpunkten, bei dem einer der zwei verfügbaren Touch-Punkte zwischen auf den auf dem Display liegenden Fingern hin und her springt.
Durch die eingebaute Webcam ist es darüberhinaus möglich, neben der Touch-Eingabe, auch die Steuerung mittels Körperbewegungen auf dem Computer zu realisieren.
Touch Table (h_da)
Der Multi-Touch-Tisch des Fachbereichs Informatik in der Hochschule Darmstadt ist das zweite multi-touch-fähige Gerät, auf dem die Anwendung später lauffähig sein soll.
Auflösung: 1280 x 720
Betriebssystem: Windows 7
Arbeitsspeicher: 4GB
Multi-Touch-Eingabe: 255 Berührpunkte, Fiducials
Touch-Technik:Rear Diffused Illumination, TUIO-Protokoll mit Multi Touch Vista
Zwar handelt es sich bei dem Tisch um einen Rear DI Multi-Touch-Tisch, der die erkannten Berührungspunkte über das TUIO-Protokoll übermittelt, jedoch ist Multi Touch Vista zur Verwendung der nativen Touch- Punkte in Windows 7, installiert und kann verwendet werden. Somit ist keine spezielle Erweiterung der Anwendung im Bereich der Touch-Punkt-Verarbeitung nötig.
Der größte Vorteil des Multi-Touch-Tisches ist die Anzahl der maximalen Berührpunkte. So stehen hier bis zu 255 gleichzeitige Touch-Punkte zur Verfügung, wodurch keine Grenzen im Hinblick auf die Multi-Touch-Fähigkeiten gesetzt werden müssen.
Die Bewegungssteuerung per Webcam würde prinzipiell zwar auch an dem Tisch funktionieren, insofern man eine weitere Kamera anschließen würde, jedoch ist durch das horizontale Display der Bewegungsfreiraum eingeschränkt, da der Benutzer zu jederzeit direkt am Tisch stehen müsste, um dem Spielablauf folgen zu können. Darüberhinaus wäre in diesem Fall die Perspektive für den Spieler irritierend, da er nach unten schauen muss, um das Kamerabild, welches aus einem anderen Winkel aufgenommen wird, zu sehen.
Da der Multi-Touch-Tisch einen normalen, leistungsstarken Desktop-PC als Recheneinheit verwendet, sind die hardwareseitigen Beschränkungen zu vernachlässigen.
Desktop-PC
Wie bereits erwähnt, soll das Spiel nicht nur auf Geräten mit Multi-Touch-Hardware lauffähig sein, sondern auch auf jedem heimischen Desktop-PC oder Laptop.
Durch die fehlenden Multi-Touch-Möglichkeiten muss dabei auf die traditionelle Steuerung mittels Tastatur und Maus zurückgegriffen werden, wodurch die Anzahl der gleichzeitigen Spieler deutlich beschränkt werden muss. Zwar können einfache Mini-Spiele, bei denen keine Multi-Touch-Interaktion nötig sind, auf die Steuerung per Maus ausgelegt werden, jedoch hat diese Steuerung den Nachteil, dass bei einem Match mit 2 Spielern diese Mini-Spiele nicht funktionsfähig sind und auf andere zurückgegriffen werden muss.
Jedoch besitzen die meisten modernen Monitore bzw. Laptops integrierte Kameras, wodurch zumindest die Steuerung mittels Körperbewegung nicht gänzlich ausgeschlossen werden muss.
Durch die unterschiedlichen Systeme ergeben sich somit drei verschiedene Konfigurationen für das zu entwickelnde Spiel.
Da die zur Verfügung stehende Hardware von leistungsschwachen bis hin zu leistungsstarken, von multi-touch-fähigen bis zu Computern ohne Touch-Eingabe- Möglichkeit reicht, muss die zu erstellende Anwendung dynamisch auf die Gegebenheiten reagieren können. Dazu gehört neben einer skalierbaren Darstellung, im Hinblick auf die verschiedenen Bildschirmauflösungen, auch die Skalierbarkeit der Darstellungs- und Effektqualität.
Nur durch das Beachten und Reagieren auf diese Unterschiede kann ein flüssiges Spielerlebnis auf allen Hardwaresystemen gewährleistet werden.
Darüber hinaus muss, wegen der fehlenden Touch-Fähigkeiten an normalen Computern, die maximale Spieleranzahl im Auge behalten bzw. limitiert werden, da ansonsten eine kompliziertere Steuerung von Nöten wäre (was wir ja nicht wollen).
Kommende Blogeinträge
Making The Game – Teil 7: Interessante Forschungen im Bereich Multi-Touch
Making The Game – Teil 8: Vor- und Nachteile NUI <=> GUI
Making The Game – Teil 9: Spielekonzeption
…