The KVM is optimized mainly for space is it not? While consoles would benfit from this… we still need speed. HotSpot is optimized for speed.
In general I don’t see the need for a specifc game VM, so long as there are two things available. 1) Hires timing facilities, 2) predicable GC pauses.
It would be great if instead of Thread.sleep(x); we had gc(x) - a request to garbage collect for x milliseconds. and some way of falling back to Sleep if the collector couldn’t use all that time for something useful.
When I asked if JGP could be implemented as an extension I was getting at the points you brought up: The PC alreadys meets the JGP hardware specs and therefore you are left with APIs. I had not considered that the VM itself would have different constraints, I guess that part could come as an improvement to the existing J2SE VM though.
The bit I’m trying to get at is that the J2ME and the Profile can’t be distributed with every game anyway - at least not without making the games hardware specific and throwing away a lot of the reason to use Java. And on the PC/Mac side of things it MAY be confusing to need several different flavours of Java. That is, telling the user that having the J2SE JRE is not enough, you need the J2ME JRE for platform X plus the JGP…
How would such a thing be delivered? The ultimate goal being to grab a “JGP compatible” game off the shelf and run it on any system that runs the JGP. How will the JGP get on to the PC/Mac/X-Box/PlayStation/GameSphere/whatever? Am I right in assuming that it makes no sense to distribute it with the game itself?
Is there a good enough reason for hardware companies to put such a thing on the machine to begin with in the case of consoles? (Much like you see with mobile phones now.) I don’t think the console Mfg’s will be ready to do something like that for a long time.
Java really needs to prove itself as a cutting edge game platform before that will happen. And we all know the difficulties involved with that. Java lags the cutting edge - it almost has to. First the new capabilities are added to the hardware (graphics card) then the native code has to be written to exploit those capabilities, then someone has to make a Java binding - preferably a standard one like Java3D… there is a built-in lag to Java supporting the ‘latest’ gaming hardware. [man, this is really getting off-topic] So I’m missing how Java is going to get to the consoles. JGP makes sense to me as a standard extension only in the sense that getting it to PCs should be much easier that way.