• Click here for a list of all my projects.
  • Click here for Touchlib info. Source code here.
  • Click here for our multitouch community site.

Monday, September 25, 2006

Multitouch Screen Progress 11

Work continues on the touchlib software. I added a wrapper for the DSVideoLibrary which performs a bit better on my machine than video wrapper (though I'm still not sure why exactly) and also adds support for firewire cams. Unfortunately CPU usage is still higher than I would like (30-40% just to capture the video at 640x480 @ 30 fps, though 20% of that is wasted waiting for mutexes). Anyone out there an expert in optimizing multithreaded apps? I would probably have to get a firewire cam or maybe a nice PtGrey camera if I want lower CPU usage. Those cams can get a bit pricey so I'll have to hold off on that for now.

Otherwise, things are working pretty well. I haven't touched the hardware for a while. I need to optimize some of my blob-tracking routines (right now the code can't handle more than 8 blobs at once) and I've also started thinking seriously about what kind of software I want to work on to showcase. I'd definately like to make at least one 'game' app for the screen. I realized some things that are unique to working with this kind of multitouch screen when it comes to designing games:
  • Everyone can see what the other players are doing
  • Everyone can interact at once
  • There is no distinction between players (ie, we can't identify finger presses by player) unless we explicitly define screen areas for each player
  • Multi-finger gestures can become more difficult to detect because of the last point

Because of these points, the screen may lend itself more to cooperative games where distinguishing between players and secrecy don't matter.

I think for now I will do some kind of air hockey / pong game first, which should be pretty easy to write.

Probably the more exciting applications are single user. I have my 3d modelling app, Claymod which I would like to convert to be multi-touch. Multitouch would let you directly squeeze, pinch and nudge the 3d models. I also have a music sequencer / synthesizer application which I did a lot of work on but isn't in a usable state yet. This might also make a cool multi-touch application, especially for live use. Both use Irrlicht as a low-level GUI, so the work of making them multi-touch enabled is partially shared.

1 Comments:

Blogger futnuh said...

Dave, re gaming and the lack of secrecy, we could consider apps that network two screens ...

8:05 AM  

Post a Comment

<< Home