Oh my, quite a backlog of open questions I find here this fine morning... Thanks, guys!
@Axe: Your nice picture is helping a lot. It shows what I called "pool table physics": Bounces and rolls on a surface that are dictated by the same physics algorhythms throughout, from the first bounce to the last roll. When the ball lands, for instance, the value for the friction is 100 - and as the ball hops and rolls this friction remains 100. On a real golf course, though, with the ground being softer or harder foot after foot, the grass and its grain varying in length and density, this value can't possibly be the same.
So what I mean is that in my fuzzy mode the friction value is allowed to randomly float between, say, 95 and 105. On the first bounce it could be 102, on the second it could be 96, on the third it is 100, and as the ball rolls out it fluctuates through 101, 95, 100, 103 and 98. This would ensure that no golf shot is ever the same and that if 3 identical shots land on the same spot, the ball would still end up in slightly different places. Like this (click to enlarge):
3balls.jpg 71.56KB
23 downloads
And yes, I exaggerated a bit for illustration purposes. But do we want this? Do we want the exact same shot to have slightly different results always? Do we want to accept an element of lottery into this precision-based game? I, for one, do: Based on past observations on real golf courses I accept that a small amount of unpredictability and erratic trajectory is a realistic element. Maybe I just wasn't good enough then (18 handicap), but I still maintain that total, mathematical coherence is alien to the spirit of golf - hence my conclusion that we should incorporate some ghosts into the golf machine.
Others may disagree - and of course that's totally okay! I'm not out to convince anybody, I'm simply sharing my views without any preconceived idea of where this debate might lead.
But if we accept that there should be some sort of lottery affecting our shots beyond our best intentions and skills (and be it to a very small degree of a few inches that way or a couple feet the other way), the question arises of how this "randomness" should be implemented into the game. And also which method would be the most fair to all the players. Which leads me to the cogitations of our very own, sniggering golf hound...
@IanD: I do believe that my fuzziness should supersede all the design choice made by the course designer and the specific playing conditions set for a round of golf. All of these do matter and will impact the game play, of course. But after all has been said and done, it comes down to the observation - or rather, the choice - if the exact same shot at 0 wind should always lead to the exact same result. I say it shouldn't.
This also comes down to a question of processing resolution. Since the PG physics engine calculates the ball trajectory in real time, it would stand to reason that if there were enough information available about every aspect of the course, then there would be enough parameters available as to make it sure that the outcome would slightly alter anyway. Yet what I do know for now is that the course geometry will be defined by a grid with about half a yard between vertexes and that each texture (fairway/green/fringe etc) will come with exactly one set of physics attached to it.
But a natural fairway is not like a pool table, where every square inch of surface behaves exactly the same as the next one. It's a messy, uneven, living thing. And since you would need 1) years of tedious work to pre-define all these minute irregularties in the course desgin process (all the way down to a tiny twig of dead wood in your ball path) and 2) super-computers currently used for meteorological forcasts to calculate a real time golf ball trajectory, we need another way.
It's not possible to capture the microscopic complexity of a real life golf course accurately. I'm certain that PerfectGolf will push the envelope in this regard and take it further than any other previous game, but still: Even in their physics setup there is no room for tufts of grass, spike marks, little pebbles underneath the grass, dry patches etc, any sort of variation. And since these variations cannot be simulated, computed, processed (yet), I think we need to add an element of random uncertainty to compensate for their absence.
But would that be fair? Are there other sources, fairer ones, to introduce randomness? Take the wind, for instance: If the wind would constantly shift and change, then this wind would influence the ball throughout all phases of the shot and this would lead to some slight differences in the final position of the ball. So the wind and it's random shifts in strength and angles would act as the source of that desired randomness. Possible.. but for my taste still not erratic and unpredictable enough.
I do believe that the fairest way to include this desired unpredictabilty is by fuzzy physics - thus, by lottery. Justice is blind, after all, and favors no-one. With 1000s of shot played, the results of this lottery will spread out into a Bell Curve (Look it up if you can't follow, Bell Curves are ruling our lives!): Very few extremely good or bad breaks, but an overwhelmingly average majority of completly normal and predictable results. "Them's the breaks"...
Daz observed correctly, further above, that sometimes pool table physics should be allowed to apply, so that the first lottery should be about regular alpha physics being enabled or voided. I agree. Pool table physics are not a bad thing at all, they represent the ideal behaviour of a golf ball.
Rather than meddle with paramaters like friction and viscosity and somesuch stuff, I think it would be enough to very cautiously randomize the bounce force and bounce angle of a shot. Does the ball take a harder, lower or a softer, steeper bounce (compared to the preset physics value) at impact? And will it proceed at a true angle, as defined by the spacial inclination of the surface, or will it deviate slightly to the left or right?
While the ball rolls out, the lottery would continue. The angle might sometimes deviate a tiny fraction, and the roll speed will not decrease uniformely, but slow down and speed up very, very, very slightly. I would absolutely love to see a rolling ball hop up half an inch into the air without visible cause, as it can be sometimes observed in real golf.
How to translate all of this into workable, mathematical formulae? I wouldn't know. I'd love to hear from the Devs if they already have thought about this sort of stuff and if so, if they think this is worth their while to pursue.
@ highfade:I like your idea of including Fuzziness into the pre-round selection for a golf game. You would get to select the speeds for the fairways and greens and, as an added option, the "Course Maintenance". From "Manicured" (pool table physics) to "Neglected" (very random bounces possible). Yet one more choice for the players.