Marks: /50
Note: This weill be the only assignment handed in via BBLearn. To see my comments on your submission:
- Select the My Grades tool on the Course Menu.
- On the My Grades page locate the Pong Assignment.
- Your score for each part is located below the title.
- Click on the Title of the portion fo the assignment or on your Score
Description and Goals
Use (QT and C++) or (Unity and C#) to create a Pong video game or an equivalent game. Your game must include the following elements:
- A graphic that moves in response to the user pressing keys on the keyboard or mouse (or in response to the controller moving if using Vive) i.e the paddle in Pong: /15
- Another graphic that is outside the user’s control that interacts with the object the user does control - i.e the ball in Pong: /10
- A Help screen that tells the user how to control the object that is under the user’s control. Note: The help screen should be able to be brpought up at any time and while it is open the game should pause./10/li>
Deliverables
- Code (/35 described above). You can either submit a .zip file, or give a ling to a GIT repository where I can clone your code, or use the delivery method you are most comfortable with.
- A screen shot of your game running and screen shot of your help screen, as well as a short video (.mp4) of your game running including the help screen. /5
- A readme file that gives complete instructions on how to download, compile and run your code. Assume that I am technically minded, but I do not already know how to use QT, GIT, Unity or anything else. This should be thorough, but not tedious. It should be about a page. You can cut and paste directly from the internet (not each other), but make sure you tailor it to work for your specific set-up without any unnecessary steps. /10
ReadMe Sample Unity
ReadMe Sample QT
Note: This is an individual assignment, but you can choose a partner IF you get it working on the Vive.
Ensure that there is an executable file (pong.exe) in the top level directory.
If you are using Unity, add this into your Update function so I can quit your application:
void Update() {
if (Input.GetKey("escape"))
Application.Quit();
}
Useful Links
- Pong - Just in case you are too young to have ever played it
- Unity 2D Pong Game in 20 Minutes
- Unity Brick Shooter Tutorial
You can use this tutorial as a launch point for Pong. The game is similar. To adapt it, you will have to:
Make the bricks disappear after being hit.
Make a paddle of some sort that you can control to hit the ball back into play. Lose a ball (life) if the ball gets “behind” you. Use “Fire1” to get a new ball after losing a life. (Note, on the Vive paddle, that is the top button above the touch-pad).
Make your own room – a lot smaller so the ball bounces back to you.
Hint 1: select “Is Kinematic” for your walls and your game paddle so that they do not move when hit by the ball but still make the wall move.
Hint 2: create an empty game object to set up your walls and bricks.
Hint 3: You probably do not want gravity on your bricks.
Hint 4: If you want this to work for Vive the other tutorial is helpful
- Unity Bouncing Ball - This ball bounces indefinitely. If you are new to unity this is a simple tutorial that will show you how to get started.
- CS383_01_GameTutorial - Making a simple game in Unity
- Publishing Builds - Making the executable to submit
- Publishing Builds - Condensed - Making the executable to submit
- Virtual Reality using HTC Vive
Some useful stuff here, like how to add a camera rig for the vive.
Note 1: Do not add a script to the Vive camera. It never seems to get called.
Note 2: Add an object of some kind as a model to the controller for your ball to bounce off of, but do not delete the original model so I can still see it.
Note 3: Know the difference between a frame update and a physics update. It is not covered but it useful to know.
Useful Links QT