Windows-7 Multitouch-Prototypenanwendung

Im Rahmen eines Laborprojektes in der Technischen Informatik sollte exemplarisch eine Multitouch Prototypenanwendung unter Windows-7 realisiert werden.
Die zugehörige Aufgabenstellung lautete in etwa:
-
In einer Prototypen-Anwendung soll ein Multitouch-fähiges Netzwerkspiel „TIC-TAC-TOE“ entworfen werden, bei dem das Spielbrett beliebig positioniert, gedreht, skaliert und nach dem Zug des Spielers „per Fingerwisch“ auf ein zweites System zum anderen Spieler übertragen werden kann und dann von dort dann wieder zurück, etc.
Dabei sollte zunächst auf eine grafisch aufwändige Darstellung verzichtet werden und statt dessen möglichst exemplarisch die wesentlichen Möglichkeiten der Windows-7 Touch API ergründet und genutzt werden.
Grafisch anspruchsvolle Demos finden man in den bekannten Windows-7 Multitouch-Demoprogramme (Surface Globe, -Collage, -Lagoon, Garden Pond, Blackboard, etc.), die nun zum freien Download zur Verfügung stehen.
Als Programmiersprache wurde zunächst Visual C# in Kombination mit Visual Studio 2008 unter Einbindung weiterer notwendiger Touch-Bibliotheken (u.a. .NET Framework 3.5) genutzt. Alternativ wäre auch eine Unterstützung C++ oder Visual Basic enthalten gewesen.
Am Ende des Projektes wurde Visual Studio 2010 veröffentlicht, in das bereits viele Konfigurationsaufgaben und notwendige Bibliotheksfunktionen integriert sind und sich so die Einrichtung einer passenden Entwicklungsumgebung vereinfacht. Das Projekt wurde daher final in Visual C++ und Studio 2010 abgeschlossen.
Das finale Ergebnis der Arbeit
Die realisierte Anwendung besteht aus einem Tic-Tac-Toe Serverprozess (Spieler-1) und einem Clientprozess (Spieler-2). Beide Anwendungen laufen sowohl parallel auf einem, besser aber auf zwei getrennten Multitouch-fähigen PC-Systemen.
Beide "Spieler" sehen auf ihrem Monitor jeweils das aktuelle Tic-Tac-Toe Feld, auf dem auch die notwendigen Operationen durchgeführt werden. Nach dem Setzen der eigenen Markierung wird das Spielfeld vom aktiven Spieler an den jeweils anderen Spieler transferiert, d.h. rübergeschoben. Nun kann dieser seine Setz-Operation durchführen und anschließend es wieder zurück zum ersten Spieler schicken, u.s.w..
Notwendige Daten werden dabei über das lokale Netz im Rahmen einer einfachen Socketkommunikation ausgetauscht.

- Spiel der Prototypenanwendung auf zwei Multitouch-fähige Arbeitsplätzen
Nachfolgend wird der Ablauf des Spielgeschehens der erstellten Demoanwendung auf nur einem PC-System (Monitor) dargestellt. Die Spieler agieren dann abwechselnd. Die Kommunikation zwischen den Prozessen läuft in diesem Fall dann nur lokal ab.
Nachfolgende Dokumententation wurde von den Teilnehmern im Rahmen ihres Projektes selber erstellt:
- Screencast zur Projektübersetzung und Spielenutzung
- Screencast zur Programmerstellung einer Demo in C++
- Dokumentation im PDF-Format
- Ausführbares Programm (ZIP, bitte vorher entpacken)
Dieses erstes Prototypen-Ergebnis soll nun in weiteren Projekten möglichst zeitnah fortgesetzt werden.
Neben speziell der Untersuchung der kommenden Multitouch-Unterstützung unter Linux (Ubuntu) steht auch eine grafisch aufwendigere Version von Schiffe versenken" auf der Agenda.
Interessenten mögen sich bitte melden ... !