skeezix said:
[...]
- Python certainly can be used for games; you might look into Civilizatoin, EVE Online and others; that said, those are non-handhelds.
[...]
Yea, of course it can. But on the current handheld generation things look a bit meh. Things will surely look different with the next generation or the one after that.
skeezix said:
[...] Python can be compiled to native, and Java could not be.. [...]
You can compile Java to native executables with Jet or GCJ. However, Jet is very expensive and GCJ is very slow. The biggest issue of GCJ is its stone-age garbage collection, which comes with a hefty performance hit. The only way to make it perform reasonably well is to avoid creating any garbage at all.
By the way there are many ARM compatible VMs which support some kind of just-in-time compilation. All of the smaller more popular VMs (CACAO, JamVM, Kaffe, and PhoneME) do support it these days. However, the amount of optimizations they can perform are rather limited.
IcedTea got a virtually ASM free hotspot interpreter (called Zero) and an LLVM based JIT (called Shark). These two components make the VM very compatible with all kinds of architectures such as PPC, IA64, S390, and ARM.
So, the first choice should be always IcedTea. However, it comes with a rather big memory footprint. On the Wiz you only got like 20 something mb of free memory... so, it doesn't really look like a good option. A more lightweight VM such as JamVM is probably a better choice. On the Pandora, however, there are a whopping 256mb, which means you surely have those 64mb you need for a advanced VM + some app.
Another thing you have to consider is the storage/download footprint. Python/Pygame and Java are unfortunately pretty bulky. V8 on the other hand only takes 2-3 MB (uncompressed). If you add some support for graphics, sound and input it takes probably another MB, but that's about it. So, you can put your small game and everything it needs in a ~3mb archive. Sounds very reasonable to me.
I'm currently trying to put some minimalistic V8 based platform together. It will support a subset of Canvas (that HTML5 thing), images (PNG), audio (Ogg/Vorbis), and input. The cool thing is that you can run it in any awesome browser... or develop it with the help of any good browser.
Now, what's interesting in this context is that the Pandora supports GLES 2.0, which means WebGL stuff could run on it in a similar fashion. And that would be pretty cool indeed.