Jump to content
  • Advertisement
Sign in to follow this  
Triad_prague

Did the first pong game use continuous collision detection?

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

If you intended to correct an error in the post then please contact us.

Recommended Posts

The title says it all, I've been wondering how did the old pong game calculate collision detection, as the ball can move so fast but I never experience a collision miss as I play the game. What technique did it use back then? I don't believe it used continuous collision detection as the machine was way too limited in all aspect IMHO :huh:

Share this post


Link to post
Share on other sites
Advertisement
What makes you think so? It's a simple line-vs-line test with one line being static and screen aligned, making the calulation even simpler.
That being said, I have actually no idea how they did it. ;)

Share this post


Link to post
Share on other sites
line vs line test...but for the old pong isn't it too overkill? I mean I thought they used a simpler approach, but I don't know what it is :( so I ask you guys hehe..

Share this post


Link to post
Share on other sites
Well they could just calculate the time it takes for the ball to reach the next obstacle every time it changes direction and then check whether to make it bounce or let it continue along the path right?

Share this post


Link to post
Share on other sites
actually I don't know how they did it but something like this should work:


//ball is an object with velocity (vx and vy) and a position (x and y)

while (gameIsRunning){
ball.x += ball.vx
ball.y += ball.vy
if (ball.x < leftPaddel.x || ball.x > rightPaddel.x){
//move ball back so it won't penetrate the paddels
ball.x -= ball.vx
ball.y -= ball.vy
//"collision response code"
ball.vx = - ball.vx
}
}


this will look like it froze for one frame every time it hits a paddel but nobody will notice

Share this post


Link to post
Share on other sites
There's no reason it couldn't be continuous collision. 2D capsule vs AABB; pick the AABB based on the direction of the ball. Old games weren't necessarily simple; look up "Elite" some time.

Share this post


Link to post
Share on other sites

There's no reason it couldn't be continuous collision. 2D capsule vs AABB; pick the AABB based on the direction of the ball. Old games weren't necessarily simple; look up "Elite" some time.


On topic of complicated games, iirc I've read an article about Pac-Man's AI. Turns out, that the behavior of the monsters wasn't all that random. I always thought they were random and the fact that they ganged up on me so quickly (not to mention that they followed me everywhere) was just a terrible fate of luck, but as I found out, I think one of the monsters was programmed to chase you directly and two would try to cut you off. The fourth one was more of a wild card. To me it seemed like a fairly complex AI at the time.

Share this post


Link to post
Share on other sites
Some of the early games used some sort of sprite collision algorithm. It might been a simple AND operation between two opacity bit masks, representing each respective sprite. These were relatively fast, because you could test 8 pixels in a single AND instruction.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!