Day 4 -- physics, jumping and rolling
I decided to scrap all my "almost exact collision" ideas and replace them with a smooth ball-terrain interaction potential approximated from the terrain, using verlet integration for the physics timestep. Besides being simpler, this should be more realistic, since grass is soft after all.The verlet integration (time-corrected) was pretty simple and fast to code, but tweaking the ball rolling physics and controls (even just to behave well on my flat-plane test potential, though the code to behave properly on sloping ground is supposedly mostly there now) took almost the rest of the day (of the pyweek part of it anyway).
The only thing I had time for after that was making a very fake actual-lawn potential -- not even energy conserving, since it only pushes straight up -- but good enough that you can run the ball into a hill and jump it that way. (Whee!)
I did some thinking about gameplay ideas too, but the best one, a two-player mode (try to knock the other player off the lawn -- if he/she dodges, you might go off instead), I probably won't have time for until after the compo. (And a non-networked two-player mode might not be tried much during judging, anyway.)
So tomorrow will be: realistic terrain potential, then flat-out on the simplest gameplay idea I can come up with. (I have only 1.5 usable days remaining.)
Most important thing -- it's still fun, and educational. (Even though -- or maybe because? -- I'm "reinventing the wheel". Or should I say "reinventing the ball"...)