
I attended Kari Pulli’s and Tomi Aarnio’s “Advanced Game Development with the Mobile 3D Graphics API” on the final day of the conference. They started with an overview of JSR 184, including initial attempts to subset J2SE’s Java 3D API and why those were eventually abandoned (the short of it: Java 3D was 100 times too large for a J2ME implementation, too flexible for its own good in the wireless space). After the overview, they provided pointed tips on developing 3D applications, especially games.
Things to keep in mind include:
- Everything in Mobile 3D is synchronous (methods return when they’re done)
- No callbacks
- Scene updates are decoupled from rendering
A couple of things that I found particularly interesting because they make 3D development for J2ME devices simpler than comparable development for desktops using Java 3D:
- SkinnedMesh allows you to build articulated, “skinned” characters (people, animals, etc.)
- Mobile 3D defines a binary file format for world data (unlike Java 3D, which requires no particular format be supported)
Visit the JavaOne Online site to listen to their session or download a PDF of their slides.
One more thing I wanted to be sure I mentioned in my JavaOne blog bits: Nokia launched a streamlined Forum Nokia at JavaOne. Navigation is meant to be simpler and the look of the site cleaner. I’d love to hear your comments on how well Nokia has (or hasn’t) done: Click here to let me know what you think.
I stayed pretty busy on day 3 speaking to developers and blogging during midday, then hosting the impromptu Wireless Booze & Schmooze (aka the JavaOne Mobile Meetup) that evening.
Pictures from the schmooze (hover on each photo for its caption):

Russ also captured a short video of everybody using my Nokia 6630 prototype cellcam. Click here to view the video (3GP format).
It was a small gathering but the conversation was excellent as we’d hoped. I’m looking forward to seeing some of the ideas discussed there come to fruition (Russ, let’s talk asap RE Mobility Forum). Please feel free to add your comments if you attended, or if you’d like to attend a similar future get together.
I’m catching up on a number of JavaOne 2004 related entries, apologies for the delay (the conference always seems to have a way of eating up every instant of possible blogging time, then right after JavaOne was over I had a long 4th of July holiday weekend with my family and am just now getting back in the swing of things). Anyway, on to my day 2 report…
In addition to delivering my “J2ME at Five” BOF and discussing J2ME and wireless development with attendees at Nokia’s booth and around the show, I managed to attend a very interesting talk on developing multiplayer games using the Java APIs for Bluetooth (JSR 82) the night of day 2.
Carlos Quiroz and David Price of Nokia Research Center (disclaimer: yes, these guys have bought me a beer before) spoke on “Implementing Multiplayer MIDP 2.0 Games Using Bluetooth“. They provided a nice overview of BT radio tech and the BT Java API, then a mini-howto illustrated with an example application run on two Nokia 6600 handsets and one Nokia 6230. One of the 6600’s was acting as the BT master while the other devices were slaves and played the game against one another over the BT link. Carlos provided a number of tips on real world BT implementation issues (test in a “busy” BT environment and expect discovery failures, always use at least three devices to expose potential networking issues, etc.) and David summed things up at the end of the BOF by providing links to a number of useful Java BT development resources including:
Definitely a worthwhile session for anyone interested in J2ME BT networking, and especially for anyone designing multiplayer games or other multiparticipant networked PAN applications.
BTW, if you are interested in BT game development I’d also recommend you check out the resources available from Forum Nokia’s Mobile Games page.