Search |
||
Doom on Cell PhonesPosted by yensid on March 28, 2005 at 8:26 PM PST
So, today we find out that John Carmack has entered the world of cell phone games. I have a great amount of respect for Mr Carmack. Doom was one of the first games I ever played, and I have even ported Quake to Java. Most of what he has done has been the inspiration for me being so involved in the games industry. I also understand many of the things that he discovered in his exploration of the world of cell phone development. I would like to take a moment and offer some background and even some things on the horizon that will address some of his concerns. The thing that I admire most about John is his pure technology view of the world. He doesn't take a political angle on any evaluation of a technology. This is good because it will give a fair evaluation of any given technology. It can also pose problems because sometimes a historical perspective is needed to understand why a technology is where it is at in its current lifecycle. And, this is certainly true of Java on cell phones. Let's look at some of his findings. The first big one is performance. On most cell phones Java is still interpreted. There are just-in-time (JIT) compilers on the near horizon which will help this out quite a bit. On the desktop side, JIT compilers are now getting the same performance as natively compiled applications. This is finally making its way to cell phones. On the rendering side, most 2D and 3D renderers on cell phones today are all written in highly optimized software - and specifically, native software. This gets past the array bounds check that standard Java code must process. The array bounds check problem is another issue helped by the forthcoming compilers because they can remove the array bounds check in many cases. Also, on the rendering front, 2D and 3D rendering hardware will be mainstream in the next year. This puts all the heavy lifting in the hardware. This will however, force the need for JIT compilers even more because of the more complex game code that will then be possible. Next up is write once, run everywhere. This is the most common complaint among game developers. I completely understand the frustration, and it is very difficult to get this one on track. The biggest issue is that the cell phone industry is moving at an incredible speed. There are new handsets entering the market every 3 months, and each new introduction brings a whole new set of device capabilities. Combine that with the reality that every device has unique input controls, unique screen sizes, and a Java implementation that has varying degrees of quality and performance, and you get the testing problems that we see today. The new platform specifications going through the Java community process and the evolving Java Device Test Suite will help to get a more common platform on all of these devices. John makes a great observation that handset makers have not done nearly enough to optimize the Java platform natively on their device. We are still in a world where a native OS exists, and then the Java platform is put on top of that. There are a few Java processors out there, but not nearly enough. I would love to see a native Java implementation on these devices. John Carmack over the years has often raised his voice to get the industry to acknowledge and work though its issues. Since John often works at the bleeding edge of technology, this is needed to move the technology forward. This does not stop the technology from being useful. There will be many many great Java games on cell phones. If we can execute on some of the technologies that will help with the development of high end games, we will all be the better for it. »
Comments
Comments are listed in date ascending order (oldest first)
|
||
|