Unity代写|COMS W4172: 3D User Interfaces and Augmented


Assignment 1: Getting the Jump on Unity

For your first assignment, you will be building your own mobile phone game: a “platformer” with
touch-based input! Your task is to design and implement the controls, environment, game
conditions, obstacles, and user interface. As long as you meet the requirements presented here,
feel free to get creative and make your game as interesting and fun as you can!

Note: Unity is a powerful development environment. However, that power comes at the price of
a sizable learning curve: You’ll need to get comfortable with a workflow that may be different
from what you’re used to, along with what will probably be an unfamiliar language, C# (although
you should already know the basic object-oriented programming concepts underlying it).

Therefore, please start as early as possible on this assignment, so you can explore and
become comfortable with the editor, and begin designing your game enough in advance that
you’ll have time to come to office hours if you need assistance. Do take advantage of Unity’s
extensive online Manual and Scripting API Reference, along with its many free tutorials. And
remember that only one of your four late days may be used on this first assignment; so, the
latest you can turn it in will be midnight on Wednesday, February 23, using that late day.

Please start by either working your way through the Unity Roll-a-Ball tutorial (or reviewing it, if
you’ve done it previously). However, you do not need (and will probably not want) to use the
actual code (or any of the simple Unity primitive-based models) from that tutorial.

1. Platforms: Your game will contain a series of four platforms. A player character
controlled by the user must successfully traverse each platform, from its beginning to its
end, in sequence, while trying to keep their score as high as possible and their time as
low as possible. Falling off any platform will reset the player to the beginning of that
platform and different kinds of events will decrement their score. The visual appearance
of the player and the platforms and how the player transitions between platforms are all
up to you, as long as you meet the requirements specified here. Whatever you do,
please be sure that you (and we) can play your game through to the end without a lot of
practice. That will be especially important for making a video that shows off your work!

1.1. Platform 1: Wall Dash

1.1.1. User Control: On Platform 1, the user should be able to make the player
“jump” upward and toward a particular direction. The player should always
stay upright during the jump and land on their “feet.” This should be
accomplished by touch-based input, where touching the screen will cause
the player to jump in that direction and face that direction when it lands.
(Does the player jump higher or further from more touches? The distance
of the touch from the player? The duration of the touch? This is up to
you.) You should use the Unity Touch struct to accomplish this, along with
raycasting to cast a ray into the scene through the point you touched from
the camera’s perspective, to determine where the touch intersects the 3D
scene. Please see the Camera.ScreenPointToRay() function and the
section below on “Raycasting.”

1.1.2. Platform Description: Platform 1 should contain a wall of obstacles (an
array of at least 3×3 obstacles) that initially blocks the player’s path (i.e.,
the player should not be able to simply jump over or around the wall). A
simple example is shown in Figure 1. The player should be able to pick up
(no hands needed) a prop that can launch projectiles in the direction the
player is currently facing. The shape and size of a projectile is completely
up to you. Projectiles should be able to knock down obstacles they hit,
making it possible for the player to pass through where the wall was.

Launching a projectile should be done with a UI button located on the
screen and there should be no limit to the number of projectiles the player
can launch. (You may find Object.Instantiate helpful here.) If the player
comes in contact with any of the obstacles from which the wall was
constructed, the score should be decremented and the player should not
be able to pass through to the end of the platform when they are touching
an obstacle. That is, just enough obstacles need to be out of the way that
the user can pass without touching any.

Figure 1. Example Platform 1 setup. White cube is the player, green cube is the prop for
launching projectiles, blue cubes are the wall, and flat grey cuboid is the platform floor.
(You are encouraged, but not required, to make your objects look more interesting!)