Pong (programmers only)
Due: Thursday, January 1st at 12:00 am
In this project, you will implement Pong in Actionscript. The goals of this project are to
familiarize you with Actionscript/Flash and to introduce you to game development
through implementation of a classic game.
Project Description and Requirements
You should implement Pong in Actionscript with the functionality described below.
Pong is a 2D table-tennis game in which two players defend opposing sides of a
rectangular field, trying to score points by getting a ball past the other player. Your
version should have local multiplayer, such that two people can play on the same
One player defends the left, the other defends the right. Each player controls a rectangular
paddle, which may be moved up or down (but not side-to-side). A rectangular ball moves
around the field, bouncing off the paddles and the top/bottom walls of the field. If the ball
reaches the left/right end of the field, the opposing player gains a point.
When the game starts, it should show a menu screen showing clearly what the input keys
are and which key to press to start the game.
At the beginning of each point, the ball should start in the middle and can start moving in
any direction at a reasonable speed. If the ball hits a wall, then it should bounce off the
wall with the same speed at an angle that is the same as the angle of incidence. You have
a choice for how the ball reflects from a paddle: it is fine if the ball simply bounces off
the paddle at the same speed as though it were a wall. However, the original creators of
Pong did something more complicated which you are free to try: the speed at which the
paddle is moving and the relative location along the length of the paddle where the ball
hits affect both the angle of reflection and the speed of the reflected ball. You may
experiment if you wish, but should not feel obligated to.
The game must have sound effects when the game starts, a ball hits a paddle or wall, or a
point is scored. These should all be distinct sounds.
The current score should be clearly displayed. After one player has scored 5 points, the
game should go to another screen that shows the winner and the final score. From here
the users should have the option of restarting the game.
Grading is based on the number of requirements that are successfully implemented. We
are not concerned with the exact details of your implementation as long as the game is
functional and playable.
The point of this assignment is to familiarize you with Flash coding, so no collaboration
is allowed for this project. You may not discuss any assignment specifics, and every line
of code you write should be your own. However, you may discuss general Actionscript 3
syntax or Flixel behavior.
Turning it in
You should submit the compiled SWF file as assignment2prog.swf via CMS.