“Playstation Move” Controller

Juni 20th, 2010

Da nun Sony mit “Playstation Move” und Mircrosoft mit “Kincet” (Project Natal) der “Nintendo Wii” den Kampf ansagen hab ich mich mal auf die Suche gemacht um herauszufinden wie denn dieses “Playstation Move” genau funktionieren.

Playstation Move Controller, Playstation Eye, Technical Information

Für alle die gerne genau wissen wollen wie denn nun der neue Playstation Move Controller funktioniert. Hier gibt es ein einteressantes Interview dazu, viel Spaß.

Paint with Tomatoes and Lemons

Mai 15th, 2010

Paint bzw. Whiteboard mit zwei “Markern” (vorzugsweise Tomate und Zitrone ;)). Hier gehts lang

Nachtrag: Eventuell ließe sich der Tracking-Algorithmus noch robuster machen wenn man Labeling (aka Blob Detection) einsetzt um die einzelnen Regionen voneinander zu unterscheiden. Ein höchst interessanter Link dazu: Fast Blob Detection .

Playing pong with tomatoes and lemons.

Mai 12th, 2010

Ein kleines Experiment um meine AS3 Farberkennung auch mal sinnvoll einzusetzen ;)
Vorerst nur als Video, aber das fertige Game kommt bald. Fertig: hier geht zum Spiel.

Online Eieruhr

April 12th, 2010

Oft is es so dass man schnell mal eine Erinnerung braucht, sei es um jemanden in 20 Minuten vom Bahnhof abzuholen oder einfach nur ein paar Eier zu kochen. Da ich viel Zeit vor dem Pc verbringe und ich eigentlich ständig mein Handy irgendwo liegenlasse, ist der Wecker am Handy eher zwecklos für mich.
Außerdem ist dieser oft viel zu umständlich einzustellen, Sony Ericsson Handy Besitzer wissen wovon ich spreche ;).
Aber es gibt Abhilfe, vorallem wenn man sowieso so gut wie immer den Browser offen hat. Sie heisst e.ggtimer.com.

Eieruhren gibt es ja viele im Internet, aber das schönes an e.ggtimer ist dass sie wunderbar einfach zu bedienen ist. Einfach http://e.ggtimer.com/30min in den Browser eingeben und fertig, schon läuft der Timer.

Mein Tipp, legt euch im Browser e.ggtimer.com als Schlüsselwort an, damit lässt sich der gesamte Aufruf auf z.B.: “t 30min” verkürzen. Ist doch 1.000 mal einfacher und schneller als sich den Handywecker zu stellen, oder?

Flame Painter

April 2nd, 2010


Bilder dieser Art zu erstellen ist normalerweise doch mit relativ viel Aufwand verbunden. Nicht jedoch wenn man Peter Blaskovic`s geniales “Flame Painter” Tools kennt. Damit lassen sich tolle Effekte erzielen und auch seine anderen Experiment sind durchaus sehenswert.

Einziger Nachteil, zum Bestaunen seiner Arbeiten benötigt man ein installiertes Java Plugin.

Peter Blaskovic´s Flame Painter

Flash 9-scale und sein gewöhnungsbedürftiges Verhalten

März 21st, 2010

Manches mal hat Flash so seine Tücken, besonders wenn es um das Zusammenarbeiten von AS3 Code mit der Flash IDE erstellten Inhalten geht.

Hier gibt es insbesondere dann Probleme wenn versucht wird ein Element, welches aus einer Füllung und einer “Outline” besteht, in ein 9-scale Element umzuwandeln und dann mit ActionScript zu skalieren (ob nun mit .width/.height oder .scaleX/.scaleY macht hier keinen Unterschied).

Hier eine Schritt für Schritt Anleitung wie dieser Fehler reproduziert und behoben werden kann. Schon mal vorweg die Lösung heißt “Convert Lines to Fills”.

 

Schritt 1: Einen Movieclip mit Füllung und Rand erstellen und als 9-scale modifizieren.

Nachdem der MovieClip erstellt wurde kann man den Rand modifizieren, je größer der Rand desto auffälliger der Fehler. Zur demonstration habe ich ihn hier auf 5 erhöht.

 

Schritt 2: Nachdem der Movieclip erstellt wurde wird er auf die Bühne gezogen und mit AS positioniert.

X-Position 25 Pixel und Breite 350 Pixel, damit sollte der MovieClip genau bei 375 Pixel enden.

Leider kommt Flash hier ziemlich durcheinander und brechnet die Breite und Höhe völlig falsch.

 

Schritt 3: Beheben des Fehlers durch die Konvertierung von Linien in Füllungen.

Durch die Konvertierung der Linien zu Füllungen kann der Fehler behoben werden.

Allerdings sollte man darauf achten dass der Inhalt des MovieClips nach der Konvertierung wieder korrekt positioniert wird.

 

Schritt 4: Fertig

Geschafft, somit wurde Flash ausgetrickst und die Skalierung funktioniert auch mit ActionScript einwandfrei.

Fünf Wege wie dich Computerspiele süchtig machen

März 13th, 2010

In einem Artikel auf cracked.com legt David Wong dar wie es “World of WarCraft” oder “Farmville” schaffen Spieler über sehr lange Zeiten vor den Bildschirmen zu halten.

Spaß scheint dabei selten die treibende Kraft zu sein.

5ways_wow

What the hell? Look, I’m not saying video games are heroin. I totally get that the victims had other shit going on in their lives. But, half of you reading this know a World of Warcraft addict and experts say video game addiction is a thing. So here’s the big question: Are some games intentionally designed to keep you compulsively playing, even when you’re not enjoying it?

Oh, hell yes. And their methods are downright creepy.

[…]

Gaming has changed. It used to be that once they sold us a $50 game, they didn’t particularly care how long we played. The big thing was making sure we liked it enough to buy the next one. But the industry is moving toward subscription-based games like MMO’s that need the subject to keep playing–and paying–until the sun goes supernova.

Mehr dazu gibt es hier:
Cracked – 5 creepy ways video games are trying to get you addicted

Rechtsklick in Flash oder “a real custom context menu”

März 7th, 2010

RightClickHeader

Welcher Flashentwickler hatte noch nicht den Wunsch auch mal das Kontextmenü völlig verschwinden zu lassen oder es wenigstens durch eine besser zur Applikation passendes Design aufzuwerten.

FlashPlayerRechtsklickDialog

Reine ActionScript basierende Lösungen gibt es keine, jedoch lässt sich der graue Klotz auch anders beseitigen. Das Stichwort heißt Javascript. Über die dort enthaltenen “Event handling” Mechanismen lässt sich in so machen Bereichen Funktionalität nachrüsten bei der Adobe gepatzt hat. So auch hier, es ist nämlich möglich das Rechtsklick Event der Maus für ein HTML Element wie z.B. einen <div> abzufangen.

Die Vorgehensweise ist nun folgende:

  1. Es wird Javascript (RightClick.js) eingebunden um in der HTML Seite das Rechtsklick Ereignis abzufangen.
  2. Das abgefangene Ereignis wird über External Interface an Flash weitergereicht.
  3. Flash führt als Reaktion auf das Ereignis die gewünschten Aktionen aus.

Als basis für das Javascript wurde folgendes Google Code Projekt benutzt:
http://code.google.com/p/custom-context-menu/

Leider ist es so dass in der ursprünglichen RightClick.js nur das “onMouseUp” Ereignis unterstützt wurde, d.h. es war in Flash keine Unterscheidung möglich ob nun die rechte Maustaste gedrückt ist oder nicht. Daher habe ich die RightClick.js kurzerhand so erweitert dass sie nun zwei Ereignisse in Flash auslöst, nämlich “rightMouseDown” und “rightMouseUp”.

März 2nd, 2010

Kaffee Chaosradio Podcast
Ein netter Podcast für alle die sich für die Geschichte und die Zubereitung von Kaffee interessieren und endlich mal wissen wollen was z.B. der Unterschied zwischen “Arabica” und “Robusta” ist, wie Kaffee richtig zubereitet wird oder was jetzt den Cappuccino zum Cappuccino macht.

Im “Chaosradio Express” des CCC (ChaosComputerClub) Informiert sich Tim Pritlove bei Yumi Choi in angenehmer Wohnzimmermanier über alles Wissenswerte rund um Kaffee.

Webcam Performance in Flash

Februar 22nd, 2010

Da ich mich im Rahmen meiner Diplomarbeit sehr viel mit Webcams beschäftige ist mir aufgefallen dass es mehrere wichtige Faktoren gibt von welchen die Performanceleistung (Bilder pro Sekunde) abhängt.

Grundsätzlich kann man sich von einer handelsüblichen Webcam um ca. 30€ auch bei idealen Lichtbedingungen kaum mehr als 20 Bilder pro Sekunde erwarten. Trotzdem gibt es Umstände welche dazu führen dass man auch bei sehr guten Bedingungen nicht mehr als 6 fps erhält.

WebcamFlashplayer

Folgende vier Kiriterien sind nach meiner Erfahrung kritisch für die Leistung einer Webcam:

  1. Die Qualität der Webcam (Linse, Auflösung, Sensor, Software)
  2. Vorbearbeitung der Webcam Software (z.B.: Restlichtverstärkung)
  3. Die Beleuchtungsverhältnisse (Tageslicht, Kunstlicht, Unterbelichtung, Überbelichtung)
  4. Auf welche Art wird ein Bild von der Webcam angefordert (Timer oder EnterFrame)

Wenig überraschend ist die Performance der Webcam abhängigt von der Bauweise und der Beleuchtungsumgebung. Zusätzlich kommt noch hinzu dass unterschiedlichste Einstellungen bei Webcams die Ergebnisse stark beeinflussen. Viele Webcams bearbeiten das Bild breits mehrmals bevor es an andere Programme weitergereicht wird. Einige dieser Bearbeitungsschritte, welche großen Einfluss auf das Bild haben können, sind zum Beispiel die Restlichtverstärkung oder der Weißabgleich.

Für Flasher interessant ist der Punkt 4. Die Performance der Webcam hängt nämlich auch zu einem Gutteil davon ab wie und wie oft ein Bild von der Webcam abgefragt wird. Viele Flashfilme werden mit 31 oder 60 fps ausgeführt und oft wird auch mit dieser Framerate die Webcam nach neuen Bildern gefragt bzw. das Bild der Webcam in ein Bitmap Objekt gespeichert.

Da aber Webcams kaum mehr als 20-25 Bilder pro Sekunde schaffen ist ein solch hoher Anfragerythmus nicht notwendig und führt dazu dass die Webcam bzw. der Flashplayer sich “verschluckt” und dann weniger Bilder liefert als eigentlich möglich wären (z.B. statt 22 fps nur 12 fps). Besonders bei der Nutzung von Pixel Bender Filtern (Version 1.5.1) ist dieser Effekt auffällig.

Die Lösung ist relativ einfach, es genügt die Abfragen an die Webcam von der globalen Framerate des FlashPlayers mittels eines Timers zu lösen. Allgemein bewirkt dieser “Trick” auch dass die gesamte Performance des Flash Players etwas nach oben geht (5-10% mehr fps).

Warum sich Webcams im Flashplayer so verhalten ist (mir) noch nicht klar, der Effekt ist jedoch deutlich sichtbar.