辅导案例-KIT109-Assignment 1

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
KIT109 Games Fundamentals
Assignment 1 — Special Exercise — Pong
Weighting: 5%
Due Time/Date: 11:55pm Sunday 2nd of August (Weekend of Week 3)
Aims of the Assignment
The purpose of this assignment is to give you experience at applying the Unity practical work to creating games
independently. It addresses the following criteria from the unit handout:
• Students should be ICT professionals with the abilities and skills to:
o design, identify required techniques, and apply knowledge of development principles and technical skills
to develop games
Assignment Requirements
The assignment is to create an implementation of the classic Pong videogame (more details to follow later in this
document).
This is an individual assignment.
Referencing
It is possible that you will use art/sound assets from external sources in implementing your game. If you do, please
reference the source of those materials in the itch.io devlog (see below).
Assignment Submission – itch.io
By the end of your tutorial in Week 3:
• Upload a WebGL build of your Pong game to your itch.io account under a new project called “Pong” (or similar)
o Instructions for this are posted on MyLO.
o Please make sure your itch.io account is listed on the itch.io channel on Discord, and that we can access
your game.
Before 11:55pm Sunday 2nd of August (Weekend of Week 3):
• Upload a WebGL build of your finalized Pong game.
• Add a DevLog Post to your Pong Game with the following:
o A list of sources, if you’ve used art that you haven’t created yourself.
o A list of features, if you’ve attempted anything other than the basic version, detailing which features
you’ve tried to create.
Assignment Submission – MyLO
Submit the following two files before 11:55pm Sunday 2nd of August (Weekend of Week 3):
• A .zip file of your entire Pong project.
o It’s okay to delete the “Temp” and “Library” files from your zip if you want (but DO NOT delete the
“Assets” or “ProjectSettings” folders).
• A signed individual assignment coversheet (available from the ICT website):
http://www.utas.edu.au/__data/assets/word_doc/0006/161376/AssignmentCover.doc)



Assignment 1 — Special Exercise — Pong
In this exercise you’ll be using what you’ve learned in Practicals 1, 2, 3, and 4 to create a Pong clone:
• Sprites;
• Simple Scripting;
• Triggers;
• Input;
• Rigidbodies; and
• UI.
Unlike previous tutorials, there is no step-by-step guide to follow, just broad guidelines.
Getting Started
Previous Practicals
This exercise assumes you’ve finished the previous practicals (Practical 1–3 as well as Practical 4 if you are hoping to get a
high mark).
Launch Unity
Launch Unity via the “Start Menu” (under “Development Tools”) as usual.
Create a Project
Create a new project called KIT109_Pong making sure to select 2D mode and set the window layout to “2 by 3”.
Save the Scene
Save the scene as “Pong.unity” and remember to frequently save the scene (Ctrl+S) throughout your work.
Basic Pong Clone
You need to try and make a Pong clone (with keyboard controls for both paddles).

If you’re not familiar with Pong:
• Original arcade machine: https://www.youtube.com/watch?v=fiShX2pTz9A
• Online AI version: http://gsrca.de/games/129122
In the first version, just make a single round of the game: a ball starts in the middle of the screen, moves in a random
direction, and bounces back and forth until one player misses (it’s ok if the ball just continues forever when this happens).
You don’t need scores, or any notifications that one player has beaten the other.
Approach
This is considerably simpler than much of what we've done so far, but there's no step-by-step guide to hold your hand
through the process. This is to get you to actually start thinking about the stuff we have been using up to now and to help
prepare you for your own assignment implementation.
There's two common approaches to making Pong in Unity:
• just rely on the physics system
o a moving ball
o two fixed walls (a kinematic or positionally fixed rigidbody, or maybe just colliders)
o two paddles that are just colliders (no rigidbody) or have a rigidbody that is kinematic
• don’t rely solely on the physics system
o everything is made from triggers and have small scripts to handle basic bounce physics
o Top and bottom walls change the ball Y direction
o Hitting the paddles changes the ball X direction
I don't care which you decide to use – they each have their own advantages/disadvantages.
Materials
There are scripts (or parts of scripts) from previous practicals that should help you with parts of this exercise (and the
further exercises below):
• get the ball moving (StartMovingInRandomDirection)
• move the player (PlayerMovement)
• detect when the ball has left the screen (WrapAround or DestroyIfOffscreen)
• scoring (PlayerCollectScore)
Find images online for the ball, walls, and paddle, or to make them in Paint.NET or Inkscape (depending on your familiarity
with these programs). There are lots of online tutorials for both programs.
Further Exercise
Once you've got that up and working (that’s enough to pass the assignment), attempt as many of the following as you feel
able (in approximate order of difficultly):
• ensure when the ball is lost off the edge of the screen, that it resets to the centre and chooses another random
direction to move in
• that the paddles don't leave the screen (this can be hard with the physics-based approach)
• add scores (using UI techniques learnt in Practical 4)
• add game logic, so when the first player to 10 points wins the game stops and a UI message is shown declaring the
winner
• add further game logic, so that when a game ends it should be possible for a new game to be started (again, with
more UI)
• make a rudimentary AI for the second player, with a title screen that allows players to choose a 1- or 2-player
game (1-player is against the AI, 2-player is two set of keyboard controls)
• add sound effects (we haven’t covered this in the Pracs, so you’d have to look up how to do this)
• the ball slowly increases in speed the more hits it takes per round (resetting to normal speed each time it goes
offscreen), and the location that the ball hit the paddle should change the angle that the ball bounces (the closer
to the edge of the paddle the ball hits, the more vertically the ball should move)
Note that there are more points available than 100% (see the CRA below), so you can attempt all of these (or as many as
you wish) to try an ensure that your assignment gets the highest mark possible (the maximum mark you can score is
100%).
Student Name: Student ID: Username:
Assignment 1 — Special Exercise — Pong Individual Assignment (5%)
criteria HD DN CR PP NN
In your submission, you: In your submission, you: In your submission, you: In your submission, you: In your submission, you:
ILO2
Apply knowledge of development
principles and technical skills to develop
games

Basic Version (50%)
ball starts moving in random
direction (either left or right
angles can happen) at an
approximately similar speed no
matter what direction
ball starts moving in random
direction (only one of left or
right angles can ever happen)
at an approximately similar
speed no matter what direction
ball starts moving in random
direction (only one of left or
right angles can ever happen)
at very varied speed
ball always starts moving in the
same direction/angle
ball doesn’t move at an angle,
or doesn’t move at all, or there
is no ball
when the ball hits a wall, it
bounces back at the correct
reflected angle, and does not
lose speed over time
when the ball hits a wall, it
bounces back at approximately
the correct reflected angle all of
the time
when the ball hits a wall, it
bounces back at approximately
the correct reflected angle most
of the time
when the ball hits a wall, it
bounces back
when the ball hits a wall, it
sometime bounces back, or
never bounces back
when the ball hits a paddle, it
bounces back at the correct
reflected angle, and does not
lose speed over time
when the ball hits a paddle, it
bounces back at approximately
the correct reflected angle all of
the time
when the ball hits a paddle, it
bounces back at approximately
the correct reflected angle most
of the time
when the ball hits a paddle, it
bounces back
when the ball hits a paddle, it
sometime bounces back, or
never bounces back
paddles move independently
with a different set of control
keys for each, and never move
sideways, rotate, or get stuck
N/A N/A paddles move independently
with a different set of control
keys for each
paddles move erratically, move
from the same controls, or
don’t move
graphics for the ball, the
paddles, the top and bottom
wall, and the centre line
graphics for the ball, the
paddles, and the top and
bottom wall
N/A graphics for the ball and the
paddles
no graphics for the ball and the
paddles
Further Exercises (80%)
when lost, the ball resets to the
centre, and starts moving in a
random direction every time
(either left or right angles can
happen) at an approximately
similar speed no matter what
direction
when lost, the ball resets to the
centre, and starts moving in
random direction (only one of
left or right angles can ever
happen) at an approximately
similar speed no matter what
direction
when lost, the ball resets to the
centre, and starts moving in
random direction (only one of
left or right angles can ever
happen) at very varied speed
when lost, the ball resets to the
centre, and starts moving in the
same direction/angle
when lost, the ball doesn’t
reset to the centre
paddles cannot go past the top
and bottom walls, and never
move sideways, rotate, or get
stuck
N/A N/A paddles cannot go past the top
and bottom walls
paddles overlap, or ignore, the
top and bottom walls
clearly legible scores shown for
both players, and scores are
correctly calculated as play
progresses
scores shown for both players,
and scores are correctly
calculated as play progresses
scores for both players are
correctly calculated as play
progresses
scores for one player are
correctly calculated as play
progresses
scores are incorrectly
calculated, or not kept
game play proceeds to end of
match (first to 10 points), then
displays winning message that
identifies winner, and gameplay
ceases (ball doesn’t re-centre
and paddles stop moving)
game play proceeds to end of
match (first to 10 points), then
displays winning message that
identifies winner, and gameplay
ceases (ball might re-centre,
but doesn’t move)
game play proceeds to end of
match (first to 10 points) and
then displays winning message
that identifies winner
game play proceeds to end of
match (first to 10 points) and
then displays game over
message
game play continues
indefinitely
criteria HD DN CR PP NN
In your submission, you: In your submission, you: In your submission, you: In your submission, you: In your submission, you:
ILO2
Apply knowledge of development
principles and technical skills to develop
games

upon gameplay ceasing (as
above), a “play again?”
message is shown, when
clicked, game restarts with
scores, paddles, and ball reset
N/A N/A upon gameplay ceasing (as
above), a “play again?”
message is shown, when
clicked, game restarts with
scores reset
no ability to play again at the
end of a match
player can select 1- or 2- player
from the title screen, and play
against either the AI or another
human, at the end of a match,
the game returns to this screen
(i.e. it functions as the “play
again?” option)
player can select 1- or 2- player
from the title screen, and play
against either the AI or another
human
the second player can either be
AI or keyboard controlled
through a toggle in Unity (or
keyboard shortcut)
the second player is controlled
by AI
no AI player
different sound effects added
for each of the following: ball
hitting the paddle, ball hitting
the wall, ball going off the
screen, and end of match
sound effects added for all of
the following: ball hitting the
paddle, ball hitting the wall, ball
going off the screen, and end
of match
sound effects added for two of
the following: ball hitting the
paddle, ball hitting the wall, ball
going off the screen, and/or
end of match
sound effects added for one of
the following: ball hitting the
paddle, ball hitting the wall, ball
going off the screen, or end of
match
no sound effects
ball increases in speed with
each hit (and speed resets
every time it re-centres) and
position ball hits the paddle
affects how it bounces back in
a way that is consistent and
adds more fun to the game
ball increases in speed with
each hit (and speed resets
every time it re-centres) and
position ball hits the paddle
affects how it bounces back in
a way that is consistent
ball increases in speed with
each hit (and speed resets
every time it re-centres)
ball increases in speed with
each hit
ball keeps basic angle and
speed that it gets when it starts
(/re-centres)
Comments
Grade

51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468