PadPaddle is a multiplayer game that plays like a cross between volleyball and Pong. Players control their paddles using their touch phones, while the game action takes place on a desktop. And, no worries… PadPaddle is entirely browser based; no installation required!
To play, you need a desktop or laptop computer, AND a multi-touch phone. The phone is the controller. Two fingers are required on the touch phone to move the paddle (the paddle uses this for orientation).
Only Safari and Chrome for the display and iOS for the controllers were tested but in theory any browsers supporting socket.io and a phone that emits multitouch javascript events should work.
Practice Room uses 1 computer acting as a display and 2 phones (or 1 lonely phone ): as the controllers which are co-located with the display (in this mode the Game code runs on the display computer).
Net Room uses 2 display/controller pairs so the players don’t need to be co-located (in this mode the same Game code that ran on the client runs on the server and only the Game View code runs on the display client).
box2Dweb Socket.IO Express Redis
Voting is now closed.

















(18)
rauchg
AudreyLoI really like the physical aspect of your game and how you incorporate a “controller” to make the user experience more like the real sports. The only downside is that your game requires the user to own a smart phone. However, I think this game has a lot of potential. Good work! | |||
Seems a great work but I couldn’t make it :( Definetally you guys should pursue it! Using the iPhone for web gaming seems huge! | |||
Cool game, setup process is a bit tedious but once you’re done it’s good Edit: seems like I have to justify myself because meetamit is paranoid and doesn’t understand the “for fun” of this competition. Sorry but definitely not cool man.
So if you have more complaints, please make them here. thanks. | |||
Sure, I’m feeling paranoid. Whether or not that’s justifiable is not something either of us will convince the other. The name’s similarity is coincidental; I hadn’t heard of Pad Racer till now. But still, to your point, there’s at least one other native iPhone app out there where a phone controls a game on another device. This was a NodeJS exercise though, so innovation is supposed to be measured in the context of the framework. Otherwise, not much is new here. I had no issue with your other scores. You were, in fact, reasonable with those.
hc5dukeSeems like there could be a lot of uses for this, but it was very laggy on my iphone and didn’t work at all on my android, so had to ding you on completeness. | |||
sh1mmerGreat idea and a good implementation the phone/computer interface was a bit laggy but I have a terrible connection so it surprised me how good it was under the circumstances. I think the idea is great. I knocked off one for completeness because there was no AI for practice mode, but you did a great job in general. | |||
Great idea on a game, especially using your mobile device. Would love to see this improved after NKO. Didn’t work too well on my Samsung Vibrant (running android), but see the potential. | |||
therazorbladeWow! What a cool idea and great execution. The most innovative game I’ve judged so far. Only reason why I didn’t give all 5 stars is because the controller was just too slow to actually play a full game, and the mobile link should have included the code (no reason to ask for any typing). | |||
Thank you Eran! Yes, we’re aware of the latency; it’s a real challenge. We’ve been continuing to benchmark and improve the responsiveness since the end of the 48 hours. It turned out the the iPhone’s WebSocket object — which has to send out messages at least 30 times per second — is the main bottleneck. Special care has to be taken to reduce garbage collection by writing smart code and avoiding usage of any libraries (like JQuery and Socket.IO) on the phone. We hope to write a blog post about this at some point….
therazorbladeI added another completeness star based on the latency explanation.
purincessDidn’t really work for my iPhone…. T_T | |||
Hi Purin, thanks for checking it out. Could you be more specific about what didn’t really work? If you’re on an iPhone and a Chrome browser, and if you tried out practice mode, then it really ought to have worked without a hitch.
Controlling the paddle requires having 2 fingers on the touch surface (we didn’t do a good enough job explaining it, mainly due to time constraints). Could it be that you didn’t try that?
ericfloReally innovative! I love this idea. Unfortunately the latency really made it hard to control. Keep going with this concept please :) | |||
mapeGreat idea and great execution. The setup processes was a bit longwinded though (why enter code if I already have a specific url?). The actual game graphics could use some polishing along side the touch controls which didn’t feel very intuitive. But all and all a really nice entry and I look forward to seeing it evolve. | |||
chrismatthieui love this idea. it could be used in movie theaters and sporting arenas! | |||
maraksquiresThe front-end site looks beautiful and the link between the phone and website seemed to work too. Once I got into a game, the overall experience was not great. I found there was a lot of lag on the control, as well as no SFX. Even if it worked as intended, I don’t see how the game mechanics could be that fun. I think you’ve got the right idea with using the mobile device to control a browser game, but I think instead of pong, you should have gone more for a Mario Party type game. | |||
Marak, thanks for checking out PadPaddle. Can you clarify more specifically why you deemed our choice of a revamped pong game to be inferior to Mario Party (other than it being a 48 hour prototype)? We wanted to take advantage of the multitouch nature of the device, by enabling two fingers to control the orientation of the paddle. We figured that this could be more interesting than using a joystick metaphor on a touchpad or even using the device’s orientation. We also wanted to demonstrate how Box2dweb can run on NodeJS and on the client, using the exact same code. Can you elaborate on how that influenced our innovation score?
Also, did you try playing against someone (either in local or network mode) or in single player mode? Latency issues aside (our server is in London), what aspects of the game mechanics of bouncing a ball in a simulated physics world did you find un-fun?
maraksquiresSure.
Can you clarify more specifically why you deemed our choice of a revamped pong game to be inferior to Mario Party (other than it being a 48 hour prototype)?
You’ve enabled a real-time bridge to a phone, the world is your oyster. Doing a pong clone is lame. Only two players per game, is lame. Think bigger, think funner, think more multiplayer. I would have gone with a non-stop rotating set of short multiplayer minigames where people had to do various swipe gestures to gain points or perform actions. Each round has winners, points accumulate over time.
We also wanted to demonstrate how Box2dweb can run on NodeJS and on the client, using the exact same code. Can you elaborate on how that influenced our innovation score. Can you elaborate on how that influenced our innovation score?
It didn’t at all. You didn’t really talk about this anywhere, and I write dual sided JavaScript code on a daily basis.
Latency issues aside (our server is in London), what aspects of the game mechanics of bouncing a ball in a simulated physics world did you find un-fun?
Pong is a very simple game. If you do pong right ( with proper physics, inertia, friction, etc ) it’s OK. Having to control a pong paddle with swipe gestures is just frustrating.
This could be a lot of fun but I couldn’t get it working with my phone which is really unfortunate. I immediately saw the awesome in this. But I couldn’t experience it. :( Sad. | |||
Which phone did you try?
We only tested with iPhone and iPad, but in theory any multitouch phone should work as long as the touch events emit an array of points as the game requires 2 fingers.
Also, the practice room is a little easier to get going. I think we were a little overly ambitious for 48 hours.
Ambitious but it seemed pretty awesome none-the-less. I was using an original Moto Droid. The browser supports multitouch. I’ll try again at some point and change my completeness score if it works.
Thanks for the feedback, I’m sorry it didn’t work. We were hoping that by using jquery for the touch events and socket.io that we would get better browser coverage.
If you are interested you can checkout the code. This is for the practice room controller: https://github.com/nko2/fat-guys-with-guns/blob/master/public/javascripts/pratice_control.js
I retried the app to see if it just happened to be my craptastic phone (haven’t ruled that out) but it’s still not working. Ultimately, I blame the phone. I’ll update the score to reflect that.
Though, it would be nice to see a web version that uses the mouse since it should ultimately be click instead of touch. For 48 hours, good work.
Nice job! I love the various modes and the completeness of the implementation. I’ve seen the idea of using phones to control web apps at last year’s nko, but this one is a lot better. | |||
Solid all around. Playable, fun, looks good, didn’t break. Not much else to it. :) | |||
wjgilmoreThis looks extremely promising, however I can’t get it to work in practice mode? Running Chrome, iOS 4, everything worked flawlessly up to the practice game, the controller won’t respond? | |||
Thanks for the feedback. That is definitely the ideal platform and is what we tested on; unfortunately the game suffers in less than ideal network conditions (the phone doesn’t do socket.io very well).
Another common problem (since we didn’t budget time for writing instructions) is you need 2 fingers continually on the screen to control the paddle as the paddle rotates accordingly. The screen turns from red to green when it recognizes 2 touches.
b00giZmFull 5 stars on innovation for the idea of using your phone as controller for a browser-based pong clone. That’s pure awesomeness! But the implementation seems to be pretty buggy. After I found out how to move the paddle on my iPhone (this app really needs some advanced gaming instructions!), it suddenly stopped working. I saw the screen reacting to my multi-touch gestures, but the paddle was not moving anymore. Also, it’s pretty annoying to (re-)enter the generated URLs every time you want to start a game. I understand that there’s no easy way to recognize the controlling device, but it really kills usability for me. But still very impressive for only 48 hours of development. | |||
zapnapUsing a mobile phone as a controller for a web-based game is pretty damn innovative. It was a little tricky to use though, and the instructions need to be a lot better. Design and the onboarding experience could be better as well (the QR code helps), but overall this is a really interesting use of node and a great demo of what’s possible when you think outside of the box. Nice work. | |||
iapainAwesome idea though it didn’t work great for me. Impressive work done in less than 48h. Design could have been much better, at least it could have explained the app in an eyecatch. | |||
Really innovative! Using the phone as a game controller for a website, never heard of that. The website might mention that you need to use two fingers, didn’t get that right away. | |||
Love the integration between the desktop and mobile. Could really have used some instructions on how to play the game though… | |||
Loved the combination of smartphone and browser! Very innovative.