Monday, May 25, 2009

My JavaFX Contest Entry Part III

JavaFX put the most smiles on my face througout the coding process since...well...since forever. I started with a sliding control panel with some sound effects (freesound.org is the BEST sound effects source there is) and glow/highlight effects for buttons. I was just in awe over how simple it was using JavaFX. Yes, I had some issues...to this day I still haven't mastered cetnering text nodes. :(

I absolutely RELIED on open-source or creative commons libraries like openclipart.org to get vector graphics that I could use or tweak with Inkscape for the game. I experimented with Inkscape's ability to export javafx classes but it just wasn't ready for prime time...so I exported things from Inkscape as PNGs and used themn that way. I still 'built' lots of UI elements with JavaFX's toolset...and of course of the mouse interactions and timelines made JavaFX shine.
I ran into issues with the physics engine that I found I could not solve. The phys2d engine (as good as it was) didn't expose certain elements that I would need to track (like current force or torque on a body). That was crucial for my breakable joints and destructible beams. In addition, once I started stacking things higher, the phys2d fixed joint tended to rubber-band things and yank beams out of position, flinging them into the sky for some reason. :(


I then spent a few days experimenting with jBox2d and found that it suited my needs better (and according to at least one benchmark , was faster handling larger numbers of objects...which I would ultimately need). In addition, their 'prismatic' joint worked really well for my weld joints (using a tweaked JointBreaker to monitor them) I spent 2 days tearingout the physics engine and getting things fxied up with the new one.
At some point in the development, I determined that the game wasn't 'fun'. Yeah...everyone likes blowing things up and knocking things over...but the pure 'simulation' nature of my creation was kinda boring. In intended to give the user a 'blueprints' view so they could see the relative densities of the various beams as well as the strengths of the joints so as to better set and time their charges. BOOOORRRRING....and way to much effort for the player for a casual game.

I was eating dinner with my five year old son and the idea came out of our conversation....."who doesn't like the idea of monkey's with hammers??". So a new game was born. You would still knock down buildings for fees...except now you would use monkeys with hammers...and lasers...and BunnyBall wrecking balls, and screaming babies....and giant beach balls and exploding balloons!!!


No comments:

Post a Comment