Sonntag, 17. Mai 2009

AndTangle - MTUntangle für Android

Hallo fleißige Leser,

die letzten Tage haben wir natürlich wieder mal weder Zeit noch Mühen gescheut und haben MTUntangle - unter dem Namen AndTangle - auf die Google Android Mobilplattform portiert. Das bedeutet soviel wie, dass AndTangle nun auf jedem Handy, unabhängig von Dingen wie Hersteller oder Auflösung spielbar ist. Durch das schöne Design von MTUntangle war es uns möglich ca 90% des MTUntangle-Programmcodes wiederzuverwenden.

Die Android Plattform bietet momentan keine (jedenfalls keine offizielle) MultiTouch-Unterstützung und deshalb lässt sich AndTangle momentan nur mit einem Finger bedienen. Sollte der Apfel ;) seinen Finger von der MultiTouch-Sperre heben so wird AndTangle mit Leichtigkeit auf MultiTouch-Fähigkeit umgestellt werden können.

AndTangle bietet 2 Spiel-Modi einen FreePlay-Modus mit unbeschränkter Zeit und einen Score-Modus bei dem sich die Spieler in eine weltweite Highscore eintragen können:
HighScore-Website: http://www.anddev.org/andtangle/highscore/

Bereits 2319 Spieler haben das kostenfreie AndTangle aus dem Android-Market heruntergeladen - in nur 48 Stunden.

Wer kein Android-Handy besitzt kann sich Meinungen über AndTangle auf folgender Webseite einholen: http://www.cyrket.com/package/org.anddev.andtangle

Direkt-Link zum Download in den Android-Market (funktioniert nur von Android-Handys aus):
http://market.android.com/search?q=pname:org.anddev.andtangle

Das Hauptmenü...

Die Optionen...
Level 1 mit Minimalanweisungen...
Eines der zufälligen Level mit Ingame-Menü...

Landschafts-Format ist auch kein Problem (dynamischer Wechsel möglich)...

Das Infofenster, wenn die Zeit abgelaufen ist...


Grüße,
Nico & Flo

Donnerstag, 14. Mai 2009

Die springenden Finger

Heute haben wir uns auf die Suche nach den "Springenden Fingern" gemacht. Dieser Bug hatte sich beim Spielen von Untangle gezeigt, als selten und urplötzlich Nodes quer über den Bildschirm 'weggeklaut' wurden.

Dazu haben wir unseren Konsolenoutput von MTUntangle und sind dabei auf folgenden Fall gestoßen. (Es wird jeder von tBeta/CCV kommende Input ausgegeben)
Betrachen wir die Bewegung von UI-Node: 11 an.

Moving: ID:3862 with UI-Node: 11 x=0.298131 y=0.637226

Moving: ID:3870 with UI-Node: 12 x=0.11934726 y=0.67102945
No match for: ID:3879
No match for: ID:3883
No match for: ID:3884
No match for: ID:3887
Moving: ID:3862 with UI-Node: 11 x=0.31170952 y=0.63369524
Moving: ID:3870 with UI-Node: 12 x=0.11422939 y=0.69484645
No match for: ID:3879
No match for: ID:3883
No match for: ID:3884
No match for: ID:3887
Moving: ID:3862 with UI-Node: 11 x=0.78755903 y=0.84421074
No match for: ID:3879
No match for: ID:3887
Removed: ID:3870 with UI-Node: 12 x=0.11422939 y=0.69484645
Moving: ID:3862 with UI-Node: 11 x=0.79170287 y=0.84594536
No match for: ID:3879


Wie man leicht erkennen kann macht die Node einen riesigen Sprung über den halben Bildschirm, was mit normaler Fingerbewegung nicht machbar ist. Ganz nach...
In dubio pro code
und genauer Codeanalyse, müssen wir diesen Fehler leider tBeta/CCV zuschieben. Möglicherweise ist er aber auf suboptimale tBeta-Filtereinstellungen zurückzuführen.

Grüße,
Nico & Flo

tBeta 1.1 --> Community Core Vision 1.2

Heute haben wir die Zeit genutzt um eine neue Version tBeta, der Blob-Erkennungs Software, aufzuspielen. Wie ihr gleich sehen werdet, konnten wir sowohl die alte Version "tBeta-1.1" als auch die neue Version, die auf den Name "Community Core Vision 1.2" hört, nur mit gemischten Gefühlen genutzt.

Dinge die mit der alten Version nicht funktionierten:
  • GPU-Modus (zeigte kein gefiltertes Bild an)
  • Auflösung größer als 320x240 führten zum Absturz.
  • Framerate nie höher als ~16 FPS. (trotz erfolgreicher Umstellung im Kameratreiber und in der config.xml)
  • Einstellung Kalibrierpunkte nicht richtig möglich. (Benötigt zur Fischaugenkorrektur)
Dinge die mit der neuen Version nicht funktionieren:
  • Framerate nie höher als ~16 FPS (trotz erfolgreicher Umstellung im Kameratreiber und in der config.xml)
  • Einstellung Kalibrierpunkte immernoch nicht richtig möglich. (Benötigt zur Fischaugenkorrektur)
  • Horizontale und Vertikale Spiegelung des Eingangsbildes nicht mehr möglich.
Dinge die mit der neuen Version funktionieren(!!!):
  • GPU-Modus funktioniert!
  • Dynamische Hintergrund-Subtraktion! (Passt sich Lichtverhältnissen recht gut an)
  • Auflösung von 640x480 führt nicht mehr zu einem direkten Absturz!

Grüße,
Nico & Flo

Donnerstag, 7. Mai 2009

MTUntangle - Ein Multitouch Spiel

Das es auf der Hardwareseite, wie berichtet, etwas schleppend voranging haben wir uns etwas auf der Softwareseite ausgetobt. Und zwar haben wir zusätzlich zu den Effekt-Demos (JMonkeyEngine + Jops + Jopsmonkey2.0) über die wir bereits berichtet hatten ein weitere Applikation mit diesen Bibliotheken realisiert.

Und zwar handelt es sich um ein Spiel, das wir 'MTUntangle' getauft haben, welches ein Problem aus der Graphentheorie (dem ein oder anderen Informatiker mag es bekannt vorkommen) behandelt. Und zwar geht es um die Planarität von Graphen ( http://de.wikipedia.org/wiki/Planarer_Graph ). (Kurzer Gruß an Fr. Prof Fimmel ;) ).

Einfach ausgedrückt: "Die Knoten müssen so verschoben werden, dass sich keine Linien überschneiden."



MTUnangle in Aktion...


Das Spiel wird in der momentanen Realisierung relativ schnell relativ schwer, wir selbst haben es bisher nur bis Level 8 geschafft =D . Leider hängt sich ab und zu die Socket-Verbindung zum TUIO-Server nach einigen Minuten auf - wir arbeiten dran.

Ganz wunderbar erschließt sich auf spielerische Weise die Einfachkeit und Effektivität von Multi-Touch und sogar Multi-User Möglichkeiten, wenn 4 Leute an einem Tisch helfen den verknoteten Graphen zu entwirren.

MTUntangle is volkommen unabhängig von dr Auflösung des Zielsystems, also egal ob ein VGA , ein HD-Beamer oder ganz normal am Bildschirm geuntangelt wird.

Wir haben mal wieder keine Mühen gescheut und ein 'Out-Of-The-Box' lauffähiges Kompilat geschnürt. (Quellcode ist natürlich in der 'mtouch.jar' enthalten). Benötigt wird lediglich ein JRE >= 1.6 (1.5 müsste auch funktionieren) [Getestet wurde nur unter Windows Vista32 Home Premium und Windows XP32 Professional, wobei auch Linux und Mac mit marginalen Anpassungen funktionieren sollten. ] Des weiteren wird eine 'TUIO-Server' wie tBeta ( http://ccv.nuigroup.com/ ) oder der TUIO-Simulator ( http://www.tuio.org/?software ) der fleißig TUIO-UDP-Pakete auf Port 3333 an den Rechner rausprügelt, auf dem die Applikation läuft.

Binaries (mit Quellcode in der 'mtouch.jar' ) können hier heruntergeladen werden:

http://www.andnav.org/files/mtouch.zip (Mirror: http://www.megaupload.com/?d=RB8X5U3L )

Grüße,
Nico & Flo

Austesten der Beleuchtungs-Setups

Heute haben wir mit den neuen IR Strahlern verschiedene Setups ausgetestet.

In den Aufbau Skizzen sind die IR-Strahler mit groben Abstrahlwinkeln in rot dargestellt, die Kamera mit grobem Erfassungswinkel in blau.

Setup #1:
  • IR-Strahler senkrecht an die Decke

  • Resultat ohne LSD (Light Shaping Diffusors)-Folien
  • Resultat mit LSD (Light Shaping Diffusors)-Folien

Setup #2:
  • IR-Strahler schraeg sehr nah an die Seite
  • Resultat ohne LSD (Light Shaping Diffusors)-Folien

Setup #3:
  • IR-Strahler schraeg recht nah an die Seite
  • Resultat ohne LSD (Light Shaping Diffusors)-Folien

Setup #4:
  • IR-Strahler über Kreuz maximale Distanz
  • Resultat ohne LSD (Light Shaping Diffusors)-Folien

Setup #5:
  • IR-Strahler über Kreuz 10 cm vor der Wand
  • Resultat ohne LSD (Light Shaping Diffusors)-Folien


Fazit. Setup 4 bietet die gleichmäßigste Ausleuchtung bei minimalen 'Toten Flecken'. Weitere Optimierungsmöglichkeiten liegen in ...
  • der 'Mitverwendung' der alten LED Matrix zur Erhöhung der Gesamthelligkeit.
  • Verdeckung der restlichen Direkteinstrahlung (Tote Flecken) von IR-Strahlern in die Kamera.
  • Bessere Diffusion an der Wand
  • Halterungen für die IR-Strahler zur Fixierung (momentan wurden sie behelfsmäßig in ihre Boxen getapet)

Grüße,
Nico & Flo

Lösung der Kameratreiber-Problematik

Leider hat der Kameratreiber von PointGrey für Vista nicht mit tBeta funktioniert. Die Kamera lässt sich in zwei Modi betreiben. Für Vista wird nur noch eine Installation, welche diese beiden Modi unterstützen soll, ausgeliefert.
Das alte System nutzt Windows XP in der 32-Bit Version. Da wir wissen, dass unter diesem System die Kamera funktioniert haben wir notgedrungen auch auf dem neuen Rechner Windows XP installiert. Jetzt kann mit der Kamera unter tBeta kommuniziert werden, aber wir haben von den realen 4GB nur 3,25GB zu Verfügung.

Mit tBeta konnte die Auflösung der Kamera bisher nicht höher als 320x240 Pixel gesetzt werden, da tBeta sonst aus bisher unerklärlichen Gründen abstützte, wobei das der Kamera beliegende Tool diese Auflösung problemlos verkraftete.

Grüße,
Nico & Flo

Mittwoch, 29. April 2009

PGR FireFly MV FFMV 03-MTM + Vista

Hallo zusammen,

nach einigen Tagen nun mal wieder ein Update von uns.

Die Hardware steht.
- CPU: Core2Quad 3,0GHz
- RAM: 2x2 GB
- HDD: 120GB OCZ SSD

Zuerst hatten wir versucht tBeta unter Vista64 (Business) zum laufen zu bekommen, was aber (vermutlich) daran scheiterte, dass sich von tBeta benötigte Treiber von tBeta unter Vista64 mit streiten.

Relativ schnell haben wir dann eingesehen, dass es wohl schlauer sei Vista64 zu verbannen und unser Treiberglück besser unter Vista32 zu versuchen ... gesagt getan.

Unter Vista32 hatten wir mehr Glück und konnten nach Installation von:
- Apple Quicktime
- Microsoft Visual C++ 2005 Redistributable (System Libraries)

So bekamen wir also tBeta zum laufen. Das Problem, das sich nun auftat war, dass tBeta nicht den Kamerastream abgreifen konnte.

Erklärung:
Mit der Kamera werden 2 Arten von Treibern ausgeliefert.
Zum einen der "FlyCapture SDK"-Treiber, welcher mit dem mitinstallierten Tool wunderbar das Kamerabild anzeigte. Zum anderen der "FlyStream"-Treiber, der (nach aktuellem Verständnis) das Kamerabild per Directshow-Schnittstelle anderen Programmen zur Verfügung stellt.


Leider konnten wir weder tBeta noch das Tool amCap dazu überreden diesen Stream zu empfangen.

Vermutlich liegt das Problem daran, dass der Treiber auf der mitgelieferten CD nicht kompatibel zu Vista(egal wieviel bit) ist.

Momentan warten wir auf die Zugangsberechtigung zum Downloadbereich des Kameraherstellers PointGrey, um dort möglicherweise den ersehnten Treiber abzugreifen.

Grüße,
Nico & Flo