Sponsored By

Product Review: Metrowerks' CodeWarrior Wireless Studio 7

Why should you spend a dime on wireless Java development tools when Sun provides their own kit for free? Good question. For wireless game developers, Metrowerks' CodeWarrior Wireless Studio 7 definitely serves to fill a growing need. Wireless games are getting more complicated. Memory capacities are rising and multimedia capabilities are improving, and the spare-bedroom programmer banging out a mobile game in a few weekends will have to get serious. This necessitates things like debuggers, source control, and having the ability to quickly build your code for multiple handsets.

Ralph Barbagallo, Blogger

September 15, 2002

5 Min Read

Why should you spend a dime on wireless Java development tools when Sun provides their own kit for free? Good question. For wireless game developers, Metrowerks' CodeWarrior Wireless Studio 7 definitely serves to fill a growing need. Wireless games are getting more complicated. Memory capacities are rising and multimedia capabilities are improving, and the spare-bedroom programmer banging out a mobile game in a few weekends will have to get serious. This necessitates things like debuggers, source control, and having the ability to quickly build your code for multiple handsets.

Slowly, we are rising from the primordial soup of stale WAP products and simplistic embedded games, but even within a leading mobile applications platform standard such as Sun's Java 2 Micro Edition (J2ME), there's still a mess of custom extensions and handset features. Extensions to access features such as MIDI music, sprite graphics, pixel transparency, and low-level networking are commonplace in various J2ME SDKs. CodeWarrior Wireless Studio 7 has taken on the daunting task of uniting all of these disparate SDK extensions.

Opening the Box

CodeWarrior Wireless Studio 7 Professional Edition comes on two discs. The first has the actual IDE on it while the second CD, labeled "SDK Disc," contains the J2ME SDKs and emulators for Sun, Motorola, Siemens, and Sprint PCS. It also includes Sun's PersonalJava SDK as well as support for the Sharp Zaurus platform. The SDK disc has a few third-party libraries, including PointBase Micro Edition, Softwired iBus-Mobile LE, Lutris Enhydra kXML, and kSOAP. This also includes the popular Retroguard obfuscator. Many of these additions are of minor importance to the average game developer. However, Retroguard is invaluable when trying to slim down your application for distribution.

Using Wireless Studio

CodeWarrior Wireless Studio works largely the same way as their normal Java IDE. In fact, you can also create Java 2 Standard Edition (J2SE) projects with it. Think of it as Java CodeWarrior; it includes all of the standard features of editing, project management, and version control integration, and adds mobile development features such as editing JAD properties, verifying and packaging the MIDlet suite, obfuscating, and developing your code with a variety of different emulators and SDKs.

That last feature is the major advantage of Wireless Studio 7. The J2ME world is currently awash in non-standard extensions and unique hardware implementations. CodeWarrior has consolidated many of these custom SDKs and emulators under one roof. Simply pick which SDK you want to compile with and you are in business. CodeWarrior also will work with updated versions of some SDKs. In particular, newer offerings such as version 2.0 of Motorola's J2ME SDK have installation options to merge automatically with CodeWarrior. Hopefully more manufacturers will follow suit.

CodeWarrior Wireless Studio is, in many cases, at the mercy of the quality control of another company's SDK. Some of the SDKs, such as with Sprint PCS's toolkit, are genuine beta releases, while others are finished products with a lot of quirks. Even though Motorola now owns Metrowerks, support for Motorola hardware is the worst of the lot. Metrowerks wisely allows for switching between any of the provided kits, as well as the ability to register different VMs and SDKs to expand support for other devices.

Wireless Studio 7 comes with CodeWarrior's familiar debugging tools. This includes their robust source-level debugger with all the pleasantries we have grown accustomed to in a modern debugger. However, one of the more interesting features is the ability to do on-device debugging. Emulators are often extremely inaccurate when compared with an actual handset, making it necessary to debug your code extensively on real hardware before releasing a commercial application.

Previously, you have only been able to get println output via a terminal program communicating from the handset to a host PC. CodeWarrior Wireless Studio 7 includes support for debugging on the device itself. This means you can connect the debugger to the handset and step through code as it executes on the actual hardware. This requires a debug version of the handset firmware to be installed on the device. Right now, only debug Java VMs for PDAs are supported with on-device debugging. Metrowerks is working with manufacturers to provide developer firmware updates that work with CodeWarrior's debugger. This is an absolute godsend and, if it works, is alone worth the price of admission.

Ahead of the Game

When it comes to J2ME IDEs for mobile game development, CodeWarrior Wireless Studio 7 is way ahead of the pack. At a mere $599 (MSRP), it's an absolute steal when compared to competing products, such as Borland's JBuilder, that can approach prices of $2,000. CodeWarrior has announced an upcoming "Entertainment Edition" of Wireless Studio that will have specific features for game development, including multiplayer server libraries and such. Considering the miniscule budgets of the average mobile game, CodeWarrior's low price and useful array of features make it the only choice for cash-strapped development houses of the mobile age.

 

verdict_tab.gif
CodeWarrior Wireless Studio 7
review_stars_4.gif

3body_arrow_sm_right.gifMindAvenue

3body_arrow_sm_right.gifPrice: $599

3body_arrow_sm_right.gifPros
1. Unites many different J2ME SDKs under one environment.
2. Price is very reasonable compared to other similar products.
3. On-device debugging will be the ultimate feature once more manufacturers support it.

3body_arrow_sm_right.gifCons
1. Third-party J2ME SDK integrations vary widely in quality.
2. CodeWarrior interface - either you love it or you hate it.
3. On-device debugging only works on one device (at the moment).

Read more about:

Features2002

About the Author(s)

Ralph Barbagallo

Blogger

Ralph runs FLARB LLC, a Los Angeles-based game company focused on wireless development and content publishing. Games developed by Flarb include Lord of the Rings: The Two Towers and the soon-to-be released BMX Trick Bike(tm). Ralph's previous industry experience includes places such as Ion Storm where he worked as a programmer on the critically-acclaimed 3D PC RPG, Anachronox. His latest book, "Wireless Game Development in Java with MIDP 2.0" is on store shelves now.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like