Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Did the first pong game use continuous collision detection?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 Triad_prague   Members   -  Reputation: 140

Like
0Likes
Like

Posted 25 December 2011 - 03:58 AM

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:
the hardest part is the beginning...

Sponsor:

#2 Madhed   Crossbones+   -  Reputation: 3083

Like
0Likes
Like

Posted 25 December 2011 - 04:53 AM

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. ;)

#3 Triad_prague   Members   -  Reputation: 140

Like
0Likes
Like

Posted 25 December 2011 - 05:22 AM

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..
the hardest part is the beginning...

#4 Madhed   Crossbones+   -  Reputation: 3083

Like
0Likes
Like

Posted 25 December 2011 - 05:30 AM

actually I just read that it wasn't even programmed, but hardwired in an electronic circuit. =)

#5 Waterlimon   Crossbones+   -  Reputation: 2602

Like
0Likes
Like

Posted 29 December 2011 - 02:51 PM

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?

o3o


#6 EVIL_ENT   Members   -  Reputation: 212

Like
1Likes
Like

Posted 29 December 2011 - 04:32 PM

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

#7 Narf the Mouse   Members   -  Reputation: 318

Like
0Likes
Like

Posted 30 December 2011 - 10:34 PM

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.

#8 boogyman19946   Members   -  Reputation: 1072

Like
0Likes
Like

Posted 05 January 2012 - 08:04 PM

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.
"If highly skilled generalists are rare, though, then highly skilled innovators are priceless." - ApochPiQ

My personal links :)
- Khan Academy - For all your math needs
- Java API Documentation - For all your Java info needs :D
- C++ Standard Library Reference - For some of your C++ needs ^.^

#9 Snarkerd   Members   -  Reputation: 146

Like
1Likes
Like

Posted 06 January 2012 - 02:52 AM

If you mean the really old one, then the game was analog. No processor, no algorithms. Collision was detected with comparator circuits comparing voltages representing the positions of the ball, paddles, and the field. Check this page for a circuit and description of an analog pong game. Fun stuff!

#10 Tachikoma   Members   -  Reputation: 552

Like
0Likes
Like

Posted 06 January 2012 - 03:43 AM

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.
Latest project: Sideways Racing on the iPad




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS