R0J0hound Yeah, I'm finding it pretty interesting too. Trying to think of ways in which this can be applied to any shape, and any angle it's dropped into the water.
One idea I've had is running a loop that will generate a series of small square sprites from the object's top-left corner to the object's bottom-right corner, deleting the object's that aren't overlapping said object, then connecting all the objects together with physics. The smaller the objects the better, but this seems like a pretty complicated way to do what may have an easier method.
I was originally using the Chipmunk plugin as it's generally faster and allows impact points, but struggled somewhat in regards to the required forces. Chipmunk forces appear to be 10x the number of Box2D, but that's just a guess.
I just tried box.width * clamp(box.bottom-water.top, 0, box.height) with both physics engines, and Box2D was able to get a regular 'bounce' with:
(box.width * clamp(box.bottom-water.top, 0, box.height))/10
but as I said, it does cause a bounce, where the object will repeatedly leave the water.
Alternatively, I was unable to use that method to get anything regular with Chipmunk. The object sank for a while before launching out of the water. I probably just need to play around with the force a bit more.
In an attempt to gain some inspiration, I've been watching some videos of the water puzzles in the game, Limbo.
The way in which the floating object is affected by external forces is an important feature, and one in which I doubt would work with my ideas above.