Maya Rozenshein of Palm Addicts makes several excellent observations in her post in regards to fewer Palm games being developed versus the number of Pocket PC games. To add to her post I thought I would give a brief developers point of view. My team creates both Palm and Pocket PC applications, although the majority of our games are on the Palm. Lets compare Palm and Pocket PC development.
- Palms started out with 4-bit, then added 8-bit, and finally 16-bit support. And is available in 160×160, 320×320, or 320×480 resolutions. Along the way color was added, crudely first then better in OS 5.x. For games to look great you need to customize the art for color and non-color devices. To further improve the art you should also redo it for 160×160, and 320×320. The Palm wants the art in a unique format. The tools for converting the art to work on the Palm are still very crude and cannot be larger than 64K. Yes, 64K! Most of the top game developers have had to develop their own game engine to run onto of the Palm OS to break away from these limits. Creating your own engine means maintenance for each new device releases and each iterations of the OS. Although, Palm works really hard to keep things backward compatible.
- Pocket PCs on the other hand have predominately been 16-bit, do not have a 64K limit, and easily support PNG, BMP, JPEG, etc formats. Plus Microsoft posts code to help developers use art in their games.
- Palms had limited sound support and to this day does not natively support WAVE or MP3 files. By natively, I mean that game developers have to convert the files to a special format for them to play. And sounds are also limited to 64K.
- Pocket PCs easily run WAVE and MP3 files. Which means no extra steps for my team.
- Palm font support is very limited. To improve readability game developers often have to create their own fonts.
- Pocket PCs are OK on fonts, offering a few more sizes.
- Palms are straight forward to program for. Engineers coming from a Mac background usually have an easier time. However, developer tools are limited.
- Pocket PC has Microsoft behind it, and they update and offer new tools frequently including newer compilers. I will say, until Windows Mobile 2003 came out, it was much harder to develop for the Pocket PC. Many of these tools though are very expensive. Microsoft Pocket PC development environment is similar enough to PC development makinf the transition for PC engineers easy.
- Palms really excel here. We’ve found most of the issues are differences between 4.x and 5.x. Button / Key mapping are inconsistent across some devices.
- Pocket PCs started out well enough but with new resolutions being announced regularly it will be an added expense to keep up
In my opinion, it is getting easier and easier for Window Mobile developers to create games, while the Palm game developers have several hoops to jump through. So why develop for the Palm? Easy to answer, the screens are beautiful, the devices are fantastic, and the community is loyal and enthusiastic. I am optimistic that Palm and Access will update the tools and improve support for the engineers. But it is easy to notice that there are fewer and fewer Palm games being released compared to 1 – 2 years ago. Also, my team and I enjoy developing for the Pocket PC. The newer devices with 640 x 480 resolution are stunning but expensive.