The overriding theme to this reply:

Don't rely on physical numbers to guide you but only to inspire you. Rather, manually vary all the settings till it looks and feels good or right or appropriate.


Quote:

Since the entire playing field is no more than 50cm diameter, and there are a lot of small objects, I think the scale should be something like 1 quant = 0.5mm (a pin wouldn't be much more than 1mm diameter in any case).




At this scale, your whole machine will only be 1000 quants wide and each pin would be 2 quants. I would scale up the whole machine so that your pin is at least 10 quants wide. Otherwise, your pins will look like rectagular nails instead of pins and while the PE should be able to handle 1 or 2 quant object collision, it's asking for trouble IMO.
Of course I'm not aware of the steel ball dimensions; that plays a factor too.

Quote:

If the scale were 1q = 0.5mm then gravity would need to be set to -7620 (381*1/0.05 -isn't that right?).




It would actually have to be set to -19.6 kq/s/s.

[ (1q) / (.5 mm) ] * [9800 mm/s/s] = 19600 q/s/s

My advice with gravity is though don't use physical numbers. Tweak it manually till it "looks" and "feels" right...it's not the real world inside your computer, so why be bound by it's numbers.

Quote:

That being the case, should I use geometry for the pins, or entities (set up somehting like ph_settype(pin, ph_rigid, ph_cylinder) ?)




Go with a larger pin size as above and use cylinder. Otherwise, any should do.

Quote:

To shoot the balls onto the field, would I create the ball at its start position and use phent_adforcelocal()? This command is difficult for me to understand ,so some light on how this could be made to work would be useful.





I'm going to assume that you launch the balls like in a pinball machine, spring loaded.

phent_addforcelocal takes two vectors. The first one tells you the direction you want to apply the force (up, down, left, right since this is local....n, s, e,w if this was addforceglobal). The second vector tells where to apply this force. For our purposes, leave this as a nullvector since we want to apply the force dead center to the ball. HOwever, putting a off center value to the second vector will lead to spin, which is not an entirely bad thing!

Ok now, put your ball in it's chute. The player can select to stretch the spring back to 5 diffrent positions (this discritization makes it easier on us to code and easier on the animations). 1 is a slight pull back. 5 is a pulled back all the way.
the only diffrence between these setting is the amount of TIME you apply addforcelocal
Thus, you would constantly apply (through a loop...won't do it automatically) a addforcelocal for say 1 sec up to 5 secs. Naturally, the 5 sec ball has had more momentum imparted on it and thus shoots off fast. The 1 sec ball hasn't had as much time to gain momentum and thus comes out slower.

Quote:

I have no idea what the mass of a pachinko ball would be. I'll try and ask someone.






I would guess it at under 50 grams. Maybe under 20 grams.
BUT, like my gravity advice, don't be ruled by physical numbers. The player will have NO idea what the gravity setting is nor what the mass settings are..they will equate bigger with heavier and things of the same volumen and material as being the same mass and that's enough for player immerssion! Look up the mass, but honestly, just manually tweak it till it looks good.

Quote:

There are spinners in the machine too. I haven't got to thinking about how they would be made to act.




Digest the above and then we'll move to contraints. A spinner will not be difficult at all.


(PS: lose the yellow virtual world...one can harldly read it and yellow is a HEADACHE color in my book.... )