Sunday, March 01, 2009

Experimental 'Multi-touch' on nokia 5800, game implementation.

This video demonstrates the experimental multi-touch system I developed on the 5800.

The game idea was a simple derivative of 'guitar hero' or 'DDR' whereby you press a button or buttons along with the music.

The two major problems with this idea on this specific platform are:

1) Button layout, the buttons need to be in an easy to reach location , but also that will not require the phone to be shifted around to reach other keys. also when pressing the buttons its important that the main game play area is not obscured by the players hands.

2) most touchscreen devices are still only single touch capable. this severely reduces the number of button presses available. unlike a traditional keypad which allows for combos.

Both of these issues have been overcome as you can see in the video. The game is very early on in design but the underlying technology is the real product that I'm showcasing.

Many thanks to www.danceaway64.co.uk for providing the music and to www.symbian-freak.com for the best symbian related news site online.

Please let me know your thoughts, I'm also looking for a good graphic designer to help with graphics and a few people to play-test when its a little further along the development chain.

This will be a freeware game.

Please note that there is no download available as yet, but please stay tuned.

45 comments:

m_smooky_16 said...

Nice work Jamie !

I loved the Sensitive5800 game and the Rotary dialer application - so fun :)

I am waiting the new multi-touch game!

Kenneth said...

This is very interesting.... :D

Joshua Richards said...

Hey Jamie, I'm a graphic designer if you need any help with the images. Let me know what I can do! joshua.j.richards at gmail dot com. Thanks

Crocodilu said...

Hy Jamie!
I like your s60 v5 apps and this game looks fun;) but I want to give you an idea for application for 5800. The answer and reject keys disturb me and for me would be useful an application that dezactivate them, because the fizical grenn and red keys are available. Pls if you can try to develop such application because I'm sure that a lot of people want to get rid of the accidental answers:D
Sorry for my english;) I'm from Romania.

Thanks

Michael Andrew said...

Nice app, but is that really multi-touch: looks like you're just taking the average of the two points (that the platform gives in your HandlePointerEvent)... which explains why you have the bottom balls closer to each other and not at the corners :-)

Rafael Derencio said...

Michael Andrew,

What about if you consider the top left to the bottom right distance and the top right to the bottom left distance? Arent they the same average?

;)

Jamie Fuller said...

Michael,

You're very much right, although there is also some additional checks going on underneath also (multiple poling of mousemovement data to better calculate origins etc).

Is it multi-touch? well thats debatable. its certainly not multi-touch in the sense of guestures etc that the iPhone has, but it was never intended to be.

It was purely to, in software, allow for multiple presses on the single touch screen to be registered in the game as individual buttons.

The code and the layout design allow this to happen in a 100% accurate fashion.

Which means for the intent of this demonstration it is multi-touch.

4TecH said...

Hey if you need any help with graphics, let me know at: krawyek@gmail.com

I have 5800, so I could also be a tester :)

Electricjimi said...

Hi!very nice work Jamie!keep on developing!;)
I can be a beta tester if you want :)
just let me know at
electricjimi at hotmail dot it.

Lynuxz Esp said...

Yah it 's really great! I wish i can contribute on graphics and flight test too
jepoy_esp@yahoo.com

Lynuxz Esp said...

or heres my alternative email:
lynuxz@gmail.com
I wish I can Help...

Anonymous said...

love your stuff so far, and would like to beta-test. looks like a sweet game your workin on. lemme know at c_man101@hotmail.com

Steve said...

Looks like a poor man's version of an iPhone application, period!

Jamie Fuller said...

Steve, I do not want my 5800 to be an iPhone, nor was this application any such attempt to make it do so (did you see me making touch-guestures?) I had an iPhone, didn't like it, so I got a 5800, loved it.

This project was/is about overcoming a limitation with the 5800 for the implementation of a specific game.

It was about having a challenge and meeting it. Many people did the same with the iPhone by trying to create a stylus for it...

As with the creators of the "pogo stylus" I too was doing something creative. Can you say the same for your comment?

If you had said the application looks crap, I could agree with you, it does, mainly because its early in development and also because my graphics skills are...well...crap. but to think it is trying to be like the iPhone is blatantly daft. DDR type games were around waaaaaay before the iPhone.

Thanks to all the posters who were constructive. Electricjimi, Lynuxz & 4TecH thanks for the offer,I will contact you shortly regarding testing.

Anonymous said...

very interesting and innovative on phone high tech

sander said...

Hi Jamie


Great work. I just commented on your Youtube video only to find out that the answer is already here. So it is reconstruction work by taking the average. Still, if it works, then it works! Can you go a little more in-depth about the "multiple polling of mousemovement"? I didn't understand that bit.

Also, be welcome to have a look over at my blog where I've listed some of my Nokia 5800 annoyances and bugs/fixes in v20.0.012. Perhaps you have some creative solutions to some or you may have wishes of your own to add. (Updating as we speak).

Jamie Fuller said...

Hi Sander,

Thanks for the comments, I'll take a look at your blog shortly.

The multiple polling concept checks for rapid changes in mouse locations.

for example:-

On mousedown mousex=100 then on next check the mousex = 200. its a good indicator that 2 positions have been pressed. baring in mind that the computer checks 25 times per second its unlikely that the person has moved it that far in such a short period.

So with multiple polling (Ie taking 2 or more samples) I can tell which button was pressed first and then which button was pressed secondly. it can then be used to filter out presses "in between buttons".

Having the originating point and then a second point can allow for more intricate gesture based controls but that was beyond the scope of this project.

I hope that makes some sense to you :)

Michael Andrew said...

The multiple polling concept is interesting but as you probably know, it can't be relied on: the user can press two buttons simultaneously and this will show as a single pointer event in the average location... unfortunately :-(

I played with this some time ago myself...

Anonymous said...

hey man i know you are trying your best but i do not understand why iphone has such killer graphics and games why cant the 5800 have cool things like that ?

Charlet said...
This comment has been removed by a blog administrator.
Vladimir said...

Hi Jamie,

I like the looks of your dialer, but for some reason i cant install it on my 5800, it say's it's not signed :(
Can you please help?
my mail is vladimirmarceta at gmail dot com

thanks

Anonymous said...

Hi Jamie, I' m really impressed, and As I saw on symbian freak, I'm ok to test your muli touch apps, I'm so glad to see that 5800xm is also multi touch capable. please let your wishes about those tests on your bolg and/or symbian freak...really coool job. Kristinof

Ron said...

hi jamie, great job. can't wait to see the final ver.

if you could, please PM me, i have an idea that i'd like to share with you.
thanks,
Ronny.

ropocop123@gmail.com

Anonymous said...

Hi Jamie, I' m really impressed, and As I saw on symbian freak, I'm ok to test your muli touch apps, I'm so glad to see that 5800xm is also multi touch capable. please let your wishes about those tests on your bolg and/or symbian freak...really coool job. Kristinof A gmail°com

Jamie Fuller said...

Thanks everyone,

Things are progressing verry slowly with this game, although I have got 3 awesome new tracks for it.

I have been very busy at work and also playing Mario Kart on the wii but will get something published soon.

|To all the people who have offered to be testers, I will contact you when a beta version is ready.

Thanks again.
Jamie

Ron said...

hey jamie, me again.
turns out someone already did what i thought of...
would like to be a tester though...

News said...

when I saw this, i was like...no way, multitouch on a resistive touchscreen? am i dreaming?

apparently, i was not.

boonming said...

whoa.. great job Jamie..

didn't expect my 5800 can be 'multi-touched' too like a iPhone!!

one more reason not to regret to buy a 5800!!! great one!!

secmaster said...

Hi Jamie,

Good to see your dev, I am really impressed, if possible I would like to be one of the tester. May I know more about the dev in 5800? it is really hard to do so? I only have exp in dev of Java and VB. Very limited knowledge on dev of mobile apps

sander said...

Hi Jamie


as a matter of fact, I'm also interested in betatesting your multitouch application(s). Of course, I would blog about them ^^

Sander

Dylan said...

omg i am excited for thiss
i am also down to test it :O
chunez@hotmail.com

SI7IN said...

wow jamie
this is sooo great i cant w8 4 it to test it
please make me the on of who will test it
please............
my mail :
si7in@msn.com

Alan G said...

If you could combine the rotary movement and the multi touch, you could recreate this toy from the 80's...
http://www.handheldmuseum.com/Misc/ActionGTBlackBelt.htm
...and that would be amazing!

Zeca said...

I also have a 5800xm, after watching your video (that was published in engadget) i checked how touchscreen behaves in 5800xm.
Before i own a 5800xm, i had some tests done in my very old PDA, so i made an flash application with a mouse pointer... the results were rather strange.
In my old PDA, if i pressed 2 points simultaneous i would get the pointer as the average of the points pressed, in 5800xm the point is not the average of 2 points pressed, furthermore it seems to be sensitive to pressure.
I'm not sure what trick you're exactly using for doing the multi-touch feature, but if you're not aware of this then i think this info may be useful.
Keep it up!

Anonymous said...

when will this be over?

Anonymous said...

i want this gameeeeeeeeeeee
:))))))))))))))))))

jeff said...

Can you please release the proof of concept? People are starting to believe that this is fake.

Dawid said...

You'r impressing me. Can You please show us some source code? I realy would like it

Dawid said...

Hey Is it posible to take a view in your's source of This game? I'm interested how did you managed to do that. Please contact me

ka keung said...

I am sorry
i really want to play
but I canot find the link of this game
can u help me
thx.

Anonymous said...

Okay,I want to know when will it be up(The multi-touch).It is interesting.Please do tell me when will it be up.Thanks.

wjvelasquez said...

Hi.

i almost sold my nokia 5800, just because i seed this and i decide test in my 5800 i didn't sold.

The Nokia 5800 is a very slow and simple phone. I really don't like it.

Anonymous said...

i want to play!!! where to downlod???

Emanuele said...

Great job, but can you use only 2 fingers or plus?
This app work on n97 mini?

Anonymous said...

hello jamie,

hope you well. i have seen you dialer for symbian os. i liked it. however, i would like to get a professional digital style symbian dialer for all symbian os plateform which will work from anywhere in the world with symbian os. And for this issue i would like to make payment for your work. so, if you think that you can do this work then please reply me to my email mrbari007@gmail.com