IBM Skip to main content
Search for:   within 
      Search help  
     IBM home  |  Products & services  |  Support & downloads   |  My account

developerWorks > Wireless
developerWorks
Secrets of the wireless elite: Jason Loia
69 KBe-mail it!
Contents:
Wireless secret weapon
What every wireless developer can't forget
Developers of the world: Don't count on the emulator
The Wireless Challenge
Loia's greatest success as a wireless developer
Killer multiplayer applications
In conclusion: the business model
Tips and tricks
Resources
About the author
Rate this article
Related content:
Jan Andresen, mobile game developer
Keep the game strategies BREWing
Subscriptions:
dW newsletters
dW Subscription
(CDs and downloads)
Starting fresh with old resources

Level: Introductory

John Papageorge (mailto:john@mediaoverdrive.com?cc=&subject=Jason Loia)
President, Media Overdrive
07 January 2004

Column iconMobile developers will learn from Jason Loia of Lavastorm that whether you are building enterprise solutions or mobile games, size matters. The developers who can master the art of optimization will have a better chance of having their mobile applications succeed in the market.

Oh, to be Director of Wireless Entertainment -- that sounds like a fun job, doesn't it? That's Jason Loia's position at Lavastorm Engineering, where the Entertainment division is focused on innovative entertainment concepts. Jason's group contributes to a growing list of more than 40 published titles for the biggie entertainment brands like THQ, Sega, Disney, Midway, Sorrent, and Sony.

While Loia's background is in systems engineering (as his MSEE from Stanford and his MBA from Harvard well show), he focuses equally on business at Lavastorm. "When I joined Lavastorm in 2000, we were focused exclusively on custom systems for the enterprise class," he said. "We were the SWAT team in back-end scalability, performance, and high availability."

In 2001, Loia first felt the thrill of the games sector through his creative work for Electronic Arts, an online community platform that integrated EA's roster of sports titles. The EA project led him to E3 (Electronic Entertainment Expo), where he clearly saw a growing demand in the mobile game industry for J2ME and BREW developers.

"Mobile game development has brought about a major culture shift in the company," explains Loia. "Where our engineers used to build out J2EE systems to a rigid software engineering spec, they now help create game designs, build game libraries, build 3D game levels, and develop to a fuzzy spec of 'fun gameplay.'"

Loia's team is developing applications across all major mobile platforms, including J2ME, BREW, Palm, and Symbian. Within his standard wireless developer's handbag you'll find Sun's Java Wireless Toolkit, BREW's SDK from Qualcomm, Photoshop, ANT, 3D Studio Max, and MSFT Visual C++.

Lavastorm's game applications run on most 2.5/3G devices on the major carriers worldwide, including Sprint, Verizon, Cingular, Nextel, and AT&T. Platforms include J2ME, BREW, and Symbian. "We run J2EE servers for game community services as well as pretty slick .Net multiplayer technology," says Loia. "Keep your eye on the mobile 3D engines like Swerve and Fathammer. These engines are enabling full 3D gameplay on cell phones and PDAs, and with NGage- and Tapwave-type gaming platforms a reality, Halo on your cell phone may not be too far away."

Wireless secret weapon
Loia's secret weapon for keeping development easy is leveraging reusable game libraries, including engines for each game genre and multiplayer APIs. He believes the designs of the games that the devices can currently support all lend themselves to reusable code, menus, draw engines, clipping code, and APIs. "Try to reuse as much as possible, and if you can design to the lowest common denominator, which is generally the lowest performing device on the totem pole in terms of CPU performance, memory, and screen quality, you'll see your development time decrease exponentially with each new game application you develop," says Loia.

What every wireless developer can't forget
As we're well aware, size is a major factor and every byte counts, Loia reminds us. Optimize frame rate, optimize gameplay, but above all, optimize footprint, the developer adds. "You'll quickly find that heap and RMS memory will be the bottleneck to every problem you encounter," he says. "Have a strategy whereby you design for high-, mid-, and low-end devices and you can cover 95% of the mainstream devices when you start porting."

Loia discovered very early in his mobile development days that mobile development very quickly begins to deplete memory. "And that's the one thing you're sure to run out of quickly," he says. "Graphics are usually the first thing to get diluted (reduced bit depth) or cut altogether, but you'll achieve a visually richer game if you can reduce classes, obfuscate, or use other tricks to get the actual memory usage down and max out the graphics footprint."

Developers of the world: Don't count on the emulator
Loia believes that developers shouldn't rely too much on the emulator, but should instead test early and frequently on the device itself. Loia claims emulators are notorious for emulating everything but the device, including performance, memory, UI, and even network restrictions.

"Our first experience with BREW and J2ME was in 2001 before the devices were even available to developers," recalls Loia. "We plowed along creating waves of games on the emulator and were promised the specs on the devices were matched perfectly on the emulator. Not so... we ended up deleting levels in the games, characters, animation sequences, sounds -- just about everything but the main menu."

That said, developers should also be aware of the newer devices, which according to Loia, don't always mean better performance and better memory capabilities. "In many cases, they mean prototype bugs in the OS (memory leaks, buggy implementations of HTTP, and so on) get shipped in the devices and the developer is left to come up with a last minute workaround for a known bug on the device."

The Wireless Challenge
The proliferation of devices that all work differently (slow chips, small screens, jar limits, low heap, low RMS, the list goes on) is a challenge, Loia says, that faces all wireless developers, whether they are building commerce applications or side-scrolling games. Trying to keep up with them all is a nightmare, so Loia tries to maintain for each platform a few workhorse devices that he knows through and through.

"Remember that the primary purpose of the device you're working on is voice communications, aka a cell phone, so the gaming apps take a back seat to some of their OS-driven behavior (incoming phone calls, calendar alerts, loss of data service, low-power backlight mode, for example)," he says. "Your app will be held hostage to a number of interruption scenarios that you will need to handle gracefully for your app to be shipped and, in some cases, certified by the carrier."

Loia's greatest success as a wireless developer
Loia relates being asked to do sequels of previously released titles based on the successes of the originals. "It's a good feeling when we get a good review of a game we've released," he says. "It's a GREAT feeling when the sales numbers warrant a sequel."

Killer multiplayer applications
Loia says that Lavastorm's killer apps are mobile multiplayer games, which allow mobile gamers to compete head-to-head. "Where others in the mobile gaming arena are claiming that networked high scores are "multiplayer", we've spearheaded true multiplayer technology so mobile gamers can actually experience the real thing," boasts Loia. "Masking the latency for real-time head-to-head play is a monster challenge when you're talking 1 sec UDP latencies and 5- to 20-second (that's right -- twenty) HTTP latencies." Loia advises mobile developers interested in creating multi-user/player applications to start by sending world delta updates only, then getting creative with some AI-bots and a few dead-reckoning techniques on steroids (that is, have your Bot take over for your human opponent while you wait for a message update, smooth the updated position, and prioritize your messages based on the importance of the message type).

In conclusion: the business model
Mobile games generate revenue through purchase, subscription, and network services, confirms Loia, adding that carriers are even supporting token-based (arcade) models whereby you purchase X number of tokens for so many plays in a games arcade. "The list of game services that can be provided and ultimately monetized is endless (location-based multiplayer tournaments, level upgrades, character upgrades, tradables, digital objects, real-world sports stats, uploads to the AI, character training for cross-platform gaming, etc.). As the game quality of mobile phones closely approaches that of consoles, the big giants of gaming will want to play, and when that happens, the mobile gaming sector will skyrocket."

Tips and tricks
"The SDKs, unfortunately, don't do a whole heck of a lot to help you with debugging tools", says Loia. "Here's a favorite among our developers at Lavastorm that allows you to print debug messages to the screen while you're developing the app. A very nice-to-have tool since the download cycle to a device can be amazingly slow and you don't want to waste time."

To do on-device J2ME debugging, try:


     public void showDebug(String debug_info_you_want_to_see)

     {

           Alert a = new Alert("DEBUG", debug_info_you_want_to_see,null,AlertType.INFO);

           a.setTimeout(Alert.FOREVER);

           Display d = Display.getDisplay(this);

           Displayable cd = d.getCurrent();

           d.setCurrent(a, cd);

     }

"This will pop up an on-device screen with your debug info, leave it up until you press OK (or Timeout for some), then go back to whatever screen or canvas you were at," says Loia.

Resources

  • Check out the mobile entertainment coming from Lavastorm Engineering.

  • Evolving with the object-oriented database model (developerWorks, November 2003) -- Whether it's game development or commerce development, whether choosing how to store information in a database, or whether choosing between flat files or object files depends on budget, as shown in this article.

  • The Mobile 3D Viewer is already becoming popular in game development.

  • Here's a bit of code to help when working with WAP Browsers and stimulators (developerWorks, July 2002).

  • There's also a tip on managing mobile profiles (developerWorks, September 2002).

  • And finally, a tip on keeping track of bugs (developerWorks, March 2002).

About the author
Photo of authorJohn Papageorge has worked with some of the bigger names in the high-tech industry, launching products and Web Initiatives for such companies as CNet, Macromedia, NBCi, Sun Microsystems, and MSNBC. John launched the groundbreaking CNet/Intel project Mediadome in 1996 and Macromedia's Shockwave.com in 1998. He also created NBCi's Media Sharehouse in 1999. John has worked as a consultant to forecast and explore the applications of Java technology for Sun Microsystems/Netscape's iPlanet site. John is currently working on his latest venture, Buzzphone, to create compelling voice-based fan club programs for pop music, sports film, NASCAR, and celebrity chefs. This patent-pending initiative has allowed Buzzphone to create relationships with some of the world's hottest talent. He can be reached at http://www-106.ibm.com/developerworks/java/library/john@mediaoverdrive.com.


69 KBe-mail it!

What do you think of this document?
Killer! (5) Good stuff (4) So-so; not bad (3) Needs work (2) Lame! (1)

Comments?



developerWorks > Wireless
developerWorks
  About IBM  |  Privacy  |  Terms of use  |  Contact