Sunday, June 21, 2009

JavaFX: Looking better, but...

I took vacation last week, and spent some of it working on my JavaFX virtual gameboard app (still inadequately named "Placer"). I've resolved some of the problems that were worrying me at the time of my last post: the exceptions are gone, the design and code are cleaner, the feature set and UI of the app itself have improved. I've figured out how it can be deployed, too, although unhappily it must use Java Web Start and requires the user to have a fast Internet connection (at every launch! Why won't Sun give us a better option?).

But my biggest problem remains unsolved. Sometimes, some of the objects in the window (cubes, banks, other clickable or draggable things) simply stop responding to mouse clicks for a while. This is mystifying because of the apparent inconsistency of the behavior. For example other objects in the same window remain perfectly responsive and well-behaved while the frozen ones continue to ignore the mouse. And a frozen object will often spontaneously unfreeze later on; but the period during which it remains frozen can be anywhere from a few seconds to many minutes. I have circumstantial evidence suggesting that a frozen object is more likely to unfreeze soon if I drag some other (and obviously more responsive) object over the frozen one; but this certainly does not always work, so it may be coincidence.

Until this issue is cleared up, the app is not viable. When objects freeze up like that, the app becomes effectively unusable. (It's okay if objects freeze up when you don't want to manipulate them. But you only notice that they're frozen when you do want to manipulate them, which means that your game is stopped until you can unfreeze the things you need to move.)

I've joined Sun's developer network, and posted in their JavaFX forum about my problem. And now I have yet another thing to wait for. I'm spending a lot of time sitting by my virtual phone these days, waiting to hear from game publishers, CD makers, and now helpful JavaFX gurus. It's getting old.

No comments: