Instructables

The Four Player Coffee Table Pong Video Game.

FeaturedContest Winner
Picture of The Four Player Coffee Table Pong Video Game.
SAM_1213.JPG
SAM_1219.JPG
SAM_1230.JPG
SAM_1217.JPG
UPDATE 12 APRIL 2011
Important! I have been made aware of a problem with the circuit board design with respect to the two push buttons. In order to get the buttons to work properly you need to connect them to the expansion port instead of the designated player select and mode button connections on the circuit board. Connect them to PIN D and PIN E on the expansion port. You will then need to connect a resistor from PIN D to GND and then another resistor from PIN E to GND. Finally, you will need to connect the other side of each button to VCC. This will make sure that when the buttons are not pressed, that you have a logic 0 at the microcontroller input (for that button) and then you will get a logic 1 when the button is pressed. If there are any hassles, just post a message here.

Okay scratch that - I have updated the circuit board and everything is working as advertised (and as written on the circuit board) Boards can be purchased direct from iteadstudio for $3 - link is in the instructable.


UPDATE 12 APRIL 2011
The circuit boards are now for sale direct from the manufacturer. They are $3 each. Also, the manufacturer is looking into how much it would cost to sell the boards with all pcb components as a kit. I will keep you updated. You can find the link to purchase a circuit board in STEP 1. Otherwise you can still make your own because all files are included in this instructable.

UPDATE 11 APRIL 2011
I have just received an email from the PCB manufacturer (iteadstudio) to let me know that the first batch of Super Pong Table circuit boards is complete and will be available for purchase very soon. They will be around $3 each from their website (I will provide the link once I have it)

UPDATE 10 April 2011
I have just released the sourcode for the 'Knockout' version of this game. This new version sees players battle it out to keep in as many balls as possible. There are no points for hitting a ball BUT you do lose a point for missing a ball - if you miss 20 balls, you are knocked out of the game and your 'bat' is replaced with a solid wall. The remaining players are then left to battle on. The last player standing wins!

You can download the latest version of the sourcecode in step 1.



Hello and welcome to another Bradsprojects instructable.

Are you tired of your old boring coffee table? Do you dream of a coffee table that allows you play games as well as keep your coffee cup off the ground?

Well dream no longer - because such a coffee table is here and you can build one for yourself.

Introducing Super Table Pong. no doubt you have seen the many variations of the classic game 'Pong', well this coffee table takes that game just that little bit further by allowing you to play up to four players at once with 5 balls on the screen at a time. It's a fast paced - action packed game of mayhem!

Here is a short youtube video of the game in action. (I have removed the top glass for video clarity)



Knockout Edition (This version is more fun than the original. A player is knocked out of the game if they miss 20 balls)

The Game
Each player uses an old atari paddle controller to move their respective 'bat' to the left and right of screen. The game starts with five balls in the middle of the screen moving outwards towards the players bats. Each ball moves at a different speed and at different angles to one another. When a ball approaches a player, that player needs to move their bat in order to intercept the ball and make it bounce back in the opposite direction. If the player does not get their bat there in time and the ball happens to go past the player, then that ball will re-appear in the center of the screen.

So how do you win?
If the player hits the ball, they are awarded one point, however if the player misses a ball, they lose one point. The first player to reach 20 Points wins the game and they will be presented with a 'YOU WIN' fireworks animation.

Technical Details
The game is powered by an 8-bit microcontroller (PIC18f4550) running at 8MHz. The display consists of 900 LED's arranged in a 30 x 30 matrix. (I originally designed it to have 1024 LED's, which would make it a 32 x 32 LED matrix. The LED's on each outside edge would have been a different color I.E. one side would have been green, then blue, white and orange) Long story short, the extra LED's that I ordered didn't arrive in time which has restricted mt to just 900 red LED's.

The four controllers are analog controllers taken out of the old Atari 2600 game system. You twist them clockwise / counter-clockwise to move your respective bat on the LED display. The circuit requires very little power and can be run off 4 AA batteries for more than 2 months if played for 30 mins each day.

Future Updates

I would like to say a huge thankyou for all of your comments and suggestions. I do have plans to improve on this project to make it into a much more enjoyable game. I am currently updating the circuit board design and schematic to include an expansion port which will allow for all manner of future improvements such as extra buttons and an LCD display for each player.

Thoughts for future updates:
  • Balls moving at more random speeds and angles
  • ability to select the number of balls on screen at once
  • computer player
  • scores will be displayed on an lcd display
  • add an arcade style button for each player giving them the ability to 'shoot' other players to take points off them
  • different color LED's for the players bats (rather than just red)
  • if a player loses a certain amount of points they are knocked out of the game - the last man standing wins.
 
Remove these adsRemove these ads by Signing Up
« Previous41-80 of 126Next »
okay thanks. I bought those and all of the other parts on iteadstudio.com

another question. What is a good (hopefully cheap) pic programmer to buy that is compatible with that chip?

Thanks
nianri63 years ago
I just had an idea for the newest version of this table. Would it be possible to make it 3d? I was thinking that you could use 8 more 74373's, and connect them to another 30x30 matrix, then angle one matrix several degrees to the right and the other display several degrees to the left? It would probably be extremely expensive, but if it works it'd be well worth it. That probably wouldn't work with the pre-made matrices though. Just throwing that out there. The programming wouldn't need any adjustments though. The only thing I'm not sure on is that the spacing of the LEDs might not allow us to get the full effect, even if they were side by side.
bradsprojects (author)  nianri63 years ago
I'd certainly like to see someone make one of those, although I just wouldn't have the time to make that many myself.

Are you up for it?
If I can get this current version to work, I'm certainly going to try.
nianri63 years ago
I'm in the process of building this, and bought the circuit board last week. I was planning to use my buddy's PIC programmer to program the microcontroller, but for whatever reason, it isn't compatible with the 18f4550. Would I be able to buy a preprogrammed chip from you, or do you know of anywhere that could program it for me? I work mainly with analog circuits, so buying a PIC programmer would be a waste. This is a very cool project though.
bradsprojects (author)  nianri63 years ago
Hi sorry for the late reply.

I could do that for you although I would have to sell you both the board and the chip because I need to solder the microcontroller to the board in order to program it.

If you still want that done it will be $15 and then whatever postage is ontop of that.

Just let me know.

Cheers,

-brad
Ah, ok. I already bought one board, and as of right now I only plan on making one. I do have a few friends who were blown away by the idea of a table that could play pong though, so I may have a few to order in the future. I received the board today, I can't wait to start working on it. I read you were going to make a few other games for this table as well, would you be able to program a galaga type game?
bradsprojects (author)  nianri63 years ago
I am actually working on an RGB version of the display.

This version will be capable of much better games (because we have eight colours instead of just one)

I am unsure of when I will finish it due to time restraints.
Sounds cool man. Would there be a way to use this current version of the PCB with the RGB version?
bradsprojects (author)  nianri63 years ago
It will require a new circuit board because the displays I am using are pre-made and they have a serial interface.

The good news is that the circuit board is quite simplified with only a few components rather than a board full of components.
Oh, cool. Any idea on how much the new circuit board will be? And how much do the LED displays cost?
bradsprojects (author)  nianri63 years ago
The new board should only be $3 and all the parts for the board will be cheaper because it uses less.

However, the displays are quite expensive. It cost me $160 to get two 32x16 RGB displays all up with airmail.
I'll take a stab at making one then.
GameNox3 years ago
Where did you get the leds?
bradsprojects (author)  GameNox3 years ago
I buy my LED's on ebay in lots of 1000

If you do an ebay search for 1000pcs led and select lowest price first, you should come up with a whole heap of listings between about $20 and $30 (make sure you do a worldwide search because they are normally from China.
Ice13 years ago
I think you forgot to include the ICSP port as one of the materials you need. Can i ask what sort of ICSP port you used?
bradsprojects (author)  Ice13 years ago
You are correct! Thanks for letting me know.

I use the pickit2 programmer which accepts a 6 pin header connection (although only five are required for programming which is why I only have five on the board)
How can i use only 5 pins when the cable has 6? What do i do?
bradsprojects (author)  woofwoof29923 years ago
The sixth pin is not used for programming so I normally leave it out (because it would not actually connect to anything on the board) All you need to do is line up the arrow on the circuit board with the arrow on the pickit2
Where can I buy the following materials?
bradsprojects (author)  TechnicalMan01013 years ago
You can buy most of them from where I get my boards made (iteadstudio) You can then get the microcontroller direct from the microchip website.
Can you buy a lot of the supplies from the site where you get the board?
bradsprojects (author)  woofwoof29923 years ago
Yes, they can provide just about all required parts. I don't think they have the microcontroller but you can get them from microchip for around $5
Ice13 years ago
Just bought the PCB, i think i might modify it to make an RGB table, but before i start that I want to finish my 8x8x8 cube first :) BTW looks like a great price you got on those RGB displays! Looking forward to seeing those in action and to see some more of your great instructables :D
bradsprojects (author)  Ice13 years ago
I have seen some 8x8x8 cubes on youtube and they have some fantastic effects = )

As for the RGB Displays, I have found some smaller ones (perhaps not suited for use in a table) for only $95 with free shipping (for an RGB 32 x 32 pixel display)

I have been experimenting with my new displays and the games and graphics look pretty cool. I have so far made my own version of river raid and will include all sorts of other games - it will be a multi-purpose game table.

Hopefully others will make games of their own for it.

Be sure to let me know how your cube goes.
Wow awesome, didnt know you could get them that cheap.

Sweet! Be awesome to play pacman or something on it lols

Yeah will do :)
googlexx3 years ago
I saw that you said you are redesigning the circuit board and adding rgb leds. I want to make this project but I was wondering how close you were to adding that. I just didn't want to go out and buy everything and then you post a better version a week later :) If its not going to be for a while then i will surely build this today. Anyways let me know. Thanks!
bradsprojects (author)  googlexx3 years ago
Hi, glad to hear your interested in the project.

I have only just received the RGB LED displays (I bought two 16x32 pixel displays) these cost me $160 all up with free postage. Which is a good deal because it would cost more than that if you were to buy individual LED's and then build it yourself.

As such I haven't yet started on programming it. I am also going to make a whole heap of other games for it including Super Mario Bros.

So it will take me a while to get all this done, which gives you plenty of time to build the current version.

Are you building the circuit board yourself?
Brad, iv been trying to work out how to change the circuit board to allow for RGB LEDs but as i said im still pretty new to this stuff. I noticed that if i did add more 74373s I would run out of ports on the PIC and im a bit confused. If it may be a while before you release the new version I would sure appreciate a schematic for the new circuit board or even a rough draft up as I am very comfortable with programming and stuff. Thanks in advance!
bradsprojects (author)  Ice13 years ago
Hi,

All you need to do is get eight more 74373 chips (you already have four for the RED color, you then need four for GREEN and four for BLUE)

You connect everything up exactly the same as the four that are already there (I.E. gnd, vcc, eight data inputs and output enable)

The only connections that will be different are your outputs (which obviously go to the green and then blue LED's instead of red) also, the last connection that will be different is your latch enable. You will need eight separate connections here to the microcontroller - the good thing is that with the expansion port that I have added, there are 11 spare connections for you to use.

To sum it up, you still use the common data bus, but the only extra connections you need from the microcontroller is one latch enable connection for each chip (which makes eight latch connections)
chicopluma3 years ago
best coffe table ever, imagine an 8 player octagon
bradsprojects (author)  chicopluma3 years ago
Now that would be chaos!
KVFinn3 years ago
Is there a way to have have the LEDS use varying levels of brightness?

If you had more states for brightness, you could run the game internally at a higher resolution and then translate that into the low res grid, basically 'anti-aliasing'. The transitions from one LED to another would not be so jumpy, you'd get nice smooth motion.

There were MANY games made for the Atari VCS for four player with paddles. The best suited for this is called WarLords. Makes MUCH more sense than the super-pong. I still play it with my family once in a while.
Really impressive!

I don't have any experience with PIC's, I hope to get around playing with it. (Have the programmer and the chips, but I need to sit down and look at the software! (Linux))

Lastly, how does you avoid the insanity while soldering all of these 900 LED's? :D

...let's see. I have soldered 50, and I believe that I have 850 left...
...now it's just 820 left! wait, what?
... what?

That's mostly the reason I need to stay away from this project,
althought I really, really want a big LED-table who does weird stuff...
bradsprojects (author)  alfredhenriksen3 years ago
I am guessing that you are using picklab if you are using linux?

I started out with assembly programming and then more recently made the switch to basic which has really allowed me to branch out into projects that I couldn't have dreamed of making in asm = )

As for the LED's, it wasn't too bad because you are essentially doing it line by line.

The quick part was putting the LED's in the holes, then you need to get a length of wire and weave it through the LED anodes then solder it to every leg in one line. Then repeat that 63 times = )
Well... I got recently a Mini PICKIT 2. For several years ago I used my friend's Windows as the serialprogrammer didn't work in Linux. At that time the software was non-existant and I was a moron in programming. All I wanted to was put a asm-file into a PIC16C84!
I don't require a GUI or a IDE, but the programmer and software was usually tied together before (and costly) and that sucked. I tried to make some (http://www.jdm.homepage.dk/newpic.htm) but it didn't work. I need to sit down, look carefully into this mess, b/c I want to program some PIC's. :)

As of now I prefer to program AVR, it's "easier". avrdude is flexible.

Yet - it's still 63times! 1-2-3-4-5-6-7-8-9-10... whaaat?! :p
bradsprojects (author)  alfredhenriksen3 years ago
If you are interested, I have some pretty easy to follow pic tutorials on my website.

They are based around a chip very similar to the 16c84 (16f628a) And they are programmed in assembly language so they will work in piklab in linux
cool, thanks! I found sdcc and gputils and have installed these.
16f628a is better than 16[F|C]84 , but I have already a few 16F84's here.
I like asm, but I prefer to stay in C to save programming time,
as my time are limited. Read this a bad excuse for not wanting to learn something before it's absolute necesseary. You know how it's is. :)

RGB is just three LED's in one package.
I thought I would playing with it with my arduino in this weeked, but I never got around. Damn, I am too lazy.

I think that you people much been übermensch; how can you manually solder 3x900 LED's without going insane?
bradsprojects (author)  alfredhenriksen3 years ago
C is a great language to use and you are right in that using a higher level language like C is a real time saver.

I have solved the problem of having to solder in all of the LED's - I have found some 32 x 16 RGB panels which when you put two together - you get 32 x 32 = )

The panels cost me $160 for two of them including postage. This will greatly simplify the construction of the project.

Once I have finished with the new RGB version, I will again upload details.
« Previous41-80 of 126Next »