Thursday, June 30, 2011

Recording Your App In Action

Lately I've been working on a couple of new game projects, one that is mostly outsourced, a physics-based game called Save the Egg, and one that I'm doing mostly myself, Flick Hearts, a local multiplayer version of Hearts, using multiple devices.

Video screen capture doesn't allow me to show the interactions between devices, which is important to demo for users who might be interested in the game. So I decided to try recording the devices with a video camera.

This immediately poses some technical issues. For the camera, I shopped around a little, but decided to just use my girlfriend's Canon digital camera, which records pretty high-quality video. There's no sense buying a dedicated video camera for close-up video shoots. Then there's the issue of stabilizing the camera for recording. A traditional tripod doesn't work, because what you need is a top-down perspective, from about 2 feet away. I read that what I needed was a copy stand. Not wanting to shell out the cash for a relatively simple piece of equipment, I read some DIY advice on a couple of forums.

Then it was a trip to Lowe's to buy some PVC pipes and screws. $15 and about an hour later, and I had my own recording stand.

This last shot shows the stand set up on my Poker table. The biggest problem was that the camera is picking up on light, and the devices produce a lot of light, being backlit. Suggestions from the forums included lowering the brightness on the devices and trying to get ambient light balanced with the brightness of the devices. I fiddled around with this for a while with mixed results.

The resulting video is okay...not great. You can at least get a sense of how the game works. Lower brightness settings did work better, but this is with the brightness set to the minimum on all devices. My Motorola Droid was the brightest, even at min brightness.

I had a couple of issues flicking from the Eris. I need to adjust the sensitivity for the gesture, but you get the general idea. Hopefully I can continue to refine the recording procedure to make it look even nicer in the future, but this isn't a bad first cut.

Wednesday, June 8, 2011

Bluetooth Chat: One Server, Multiple Clients

In attempting to solve this issue, I believe I have successfully extended the official Android Bluetooth Chat example to work with a server connecting to multiple clients.

I've uploaded my modifications to github here:

One device acts as the server by selecting "Menu>Make discoverable". Each client then connects by selecting "Menu>Connect a device". I was successfully able to connect my Motorola Droid and HTC Eris as clients to my Samsung Galaxy Tab 10.1". Each message sent from a client displays only on the server. A message sent from the server displays on all clients.

This was a tedious process getting it to work at all. Connectivity with the HTC devices is sporadic, though. I've read elsewhere that bluetooth on HTC is buggy, so I'm chalking it up to that.

Hopefully someone else will find this example useful. If you have any questions, suggestions, or other feedback, please let me know.