This post has been marked by the post author as the answer.
If you use a boulder model and set it to collisionmode=2 in the fpe file than it will roll like a ball.
Make active, physics on, issimobile=no.
If you want it to hold in place until triggered use ConstrainObjMotion( obj, 0, 0, 0 ) in the _init function (note that is the object Id not the entity id, i.e. g_Entity[e].obj ). Then in the _main function do :
if <trigger> then
ConstrainObjMotion( obj, 1, 1, 1 )
PushObject( obj, 0, 0, 0 )
end
Replacing the trigger part with the appropriate logic.
If you want it to hurt the player simply check if player is closer than roughly the radius of the boulder.
Oh and move the boulders origin to be in the centre of the model.
Been there, done that, got all the T-Shirts!