sindbad said:
[...]
Synthetic benchmarks aren't realistic. For most python games, the speed of interpreter is not the bottleneck. Also, bottlenecks are easy to work around with a bit of Cython (C extensions).
That said, PyPy is
quite fast nowadays, even though it isn't yet production ready (nor does it have an ARM JIT).
Well, I tried CPython/Pygame on the Wiz... and you really need something which is about 10 times faster. While the Pandora got a better CPU, it also got a bigger screen, which means you have to draw more tiles to fill it. It really doesn't look very good.
But as I said, with a better Python implementation this wouldn't be an issue anymore.
dflemstr said:
[...]
Wasn't there someone who wanted to create a game engine based on V8 for the Pandora? I would really like to see how that would work, especially since I've gotten quite a lot of experience with Qt's declarative API recently which is rendered entirely in WebKit using JS and QML, and let me tell you, it's REALLY nice.
A declarative game engine using hardware-accelerated rendering and functional-style JS, oh man, that would be great for sure. Dunno about Python, though; if you want to use it for declarative stuff, it might be difficult since you can't really track property dependencies with the bare Python implementation...
I want to create something like that for the Wiz. Problem is, so far I didn't manage to make it do math correctly. It will probably fix itself soonish (just like the other issues). Also, creating a snapshot on ARM is currently very difficult.
[Snapshot: The runtime includes a fairly big chunk of JS code, which needs to be compiled on startup. With a snapshot you've done that ahead of time, which improves startup drastically. But even without one it starts up in about 2 seconds on the Wiz.]
Actually, the plan isn't to create an engine. It's something way simpler: a subset of HTML5 canvas (+image, +audio, +input). No paths, no text... just the ability to draw transformed images or parts thereof. Just the bare minimum for being useful.
The big advantage of this strategy is the ability to test/develop the game with any (good) browser. And there are also a few additional benefits like being able to try the game right away without having to install it first. And you can also put it on some website and generate some ad revenue. Since homebrew handhelds aren't very attractive from a commercial point of view, this kind of strategy might allow people to spend more time and resources on their projects. Of course it also makes game development for these platforms far more accessible.
Another problem with the Wiz is the lack of FBOs. And while pbuffers appear to be sorta kinda there, no one figured out how to use them yet.
Well, the subset canvas is step one. Simple 2D stuff. The next logical step is
WebGL. The draft specs were finally released a few days ago. WebGL is a binding for OpenGL ES 2.0 - something the Pandora happens to support (the Wiz can only do 1.1).
WebGL/V8 already runs on some mobile phones and it really looks pretty promising so far.