#### Archived

This topic is now archived and is closed to further replies.

# Pinball

This topic is 6292 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

What kind of physics are involved in pinball games such as Pinball Fantasies or Pinball Dreams? I''ve often wondered how they get it to work so well. Do they just have bitmaps of the walls or some other information as well? Sonic is a game I''ve also sometimes wondered, how they get him to slide around flawlessly. I guess it''s an identical problem with the pinball thing. Any resources?

##### Share on other sites
I think the easiest way to create a pinball game is to use simple 2D geometric primitives matching your bitmaps. E.g. circles, curves and straight edges, with special case logic for features such as sinkholes, ramps and magnetic devices. With gravity, mass, friction and perhaps rotation you can create a pretty good pinball simulation.

But some pinball games (e.g. the one recently done based on Quake) and games like Sonic go a bit further: like first person shooters they''re using a mix of 2D and 3D. 2D where they can simplify things to 2D, and/or where they want to limit motion to just two degrees of freedom. But otherwise 3D, e,g, for working out the path of a projectile.

The detail of how this is done will depend on the game type and situation. Sonic is particularly difficult as the characters move in various ways, and I suspect this involves a lot of special case coding for each of the ways (e.g.) Sonic moves, sometimes like any FPS, sometimes flying, sometimes racing sort of like Wipeout.

##### Share on other sites
Pinball, like simple games such as Pong, relies a lot on the concept of momentum, as well as its conservation. Momentum is primarily important in collision detection, however, and since in real life pinball games are tilted, the only other major factor is gravity to pull the ball back down.

Basically, if you want to accurately simulate pinball, you would need to add in the mass of the ball to be able to correctly calculate the ball''s momentum.

Got Slack?
Commander M

##### Share on other sites
This requires near-elastic collision with low-friction spin. The ball doesn''t just drag along the game objects. They impart spin on the ball, of course, and this is the kind of thing that pinball g33ks will nail you on.

-----------
-WarMage
...and don''t forget you should be able to nudge

##### Share on other sites
Johnb sorry I didn''t remember they had made a 3D version of
Sonic, I was talking about Sonic 1! ) It had a lot of spins
and slides. I wonder how they are handling the collisions and
sliding and all. It even has roller coaster style spins.

But your idea of using primitives with bitmap images for them
seems interesting. I''ll try asking Digital Illusions how they
did it. I asked the author of Lotus Turbo Challenge once how
he did the road drawing .

##### Share on other sites
In Pinball Dreams/Fantasies we used a bitmap outline for the tables and ball. Precalculated angles for each ball pixel and some special tweaks made the ball move very smoothly. For True Pinball we used slightly more advanced routines, but the bitmap was still there. We used different colors for different materials too.

/axl - DICE

##### Share on other sites
AAxelsson, so you didn''t use geometric shapes and equations in Pinball Dreams/Fantasies? Could you explain more about how you calculated the angles of walls and such?
Did you have a precalculated value for every pixel of table and when ball hit it calculated new angle for ball using that value and the old angle of ball??

##### Share on other sites
heat: No, we used precalculated angles for each pixel on the ball, (not the table) then we made a bitwise AND with the background and took the average angle of the affected pixels. (It required some tricks for when the angles wrapped, but it was more or less just the average) Then we used basic linear algebra and physics formulas to move it around. The only real tweaks we used was to move the ball out of walls when it moved too fast and to zero the speed normal to the plane when the angle of attack was really low. The latter gave the effect of smooth movements along rough edges. Calculations had to be performed often enough to avoid the ball moving through walls. A maximum speed and several iteartions per frame solved that.

/axl - DICE

1. 1
Rutin
32
2. 2
3. 3
4. 4
5. 5

• 11
• 13
• 90
• 11
• 10
• ### Forum Statistics

• Total Topics
632973
• Total Posts
3009620
• ### Who's Online (See full list)

There are no registered users currently online

×