-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|597|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
SoCoder -> Article Home -> Basic Game Engines

Created : 11 May 2010
Edited : 11 May 2010

A Pong for All Systems

I've had this idea in mind for AGES, but haven't ever gotten around to it.

Since everyone seems to be in a helpful mood lately, here's your chance to help out with something.

A Pong for All Systems is an effort to make the same game of pong, using a variety of languages, created for a variety of systems.

The effort is not to make "THA BESTEST!", it's to create a short set of quick examples that build up into an easy to understand framework.

The hope is that one day, when you want to learn a new language, you can grab a Pong, read through it, and understand the base elements of that language.
Because these are the SAME game, you can compare like-for-like commands, and be able to quickly judge how one thing works in the other language.

Things in this example are...
1. Basic setup : Resolution, Main loop, Drawing Rectangles, Quitting afterwards.
2. Variables : Objects and Arrays
3. Loading : Loading sprites and soundfx from external files
4. Drawing Paddles : Drawing the sprites
5. Controls : Keyboard input, as well as a simple For loop and a couple of If's
6. New Balls : Using Random numbers, Drawing Balls, and Playing Sounds
7. Collision : Simple Image collision.
8. Simple AI : Keeping track of things that might not be present within the current object's variable range (useless in the Blitz example, but probably more useful in the future!)
9. Scores : Drawing Text

Remember, this is not meant as a perfect tutorial, nor is it anywhere near a perfect game. It's just to help you switch from one language to another, something that can occasionally be much more difficult than it really should be!

Languages Available

BlitzBasic / Blitz3D / BlitzPlus (Jayenkai)

If you'd like to contribute to the list, grab one of the examples, and build your own using whatever language you'd like. I'll add them when they're ready. (try to include a similar two-folder structure in your download!)

Additionally, if you're using a language that extra requirements (like XNA needs sound precompiled into a library, and DS needs images converted) try to explain how you did it.

With your help, we can build this up into a decent sized catalogue of languages.



Tuesday, 11 May 2010, 12:34
I love the idea. One side note is that it'd be better if the code was online too, so users could browse through all the different examples.

Maybe we could also have some common artwork so all Pongs look alike.
Tuesday, 11 May 2010, 12:39
Well, the game contains 3 little pics, so... Yeah!

Online code will only be worth the hassle if there's enough... So. Get crackin'
Tuesday, 11 May 2010, 16:34
Question: A pong for all Systems
Answer: Java.