Starting from:
$35

$29

Project #2 Solution

Overview




In this assignment, you will create the basics of a first person paintballing game. This assignment requires you to combine several concepts that we have learned about 3D game programming together in a single (incomplete) game:

Designing an environment First person controller

Shooting




User interaction







Environment




Before you start, collect some free seamless textures for your terrain, as well as a bark texture, and a transparent leaf image. You will also need a seamless water texture.




Create a set of 4 terrains, in a 2x2 grid, and raise/lower the terrain to support an adventure game. Be sure to include the following in your result:




A set of steep boundary mountains, to prevent the user from falling off the edge of the map Raised terrain (hills) and lowered terrain (for water)




A plane textured with a water texture, placed at a canyon to form a basic-looking lake Several flat plateaus, where buildings could be placed




An assortment of trees around the map, including a tree of your own creation Varied texturing, depending upon the terrain topography

A few free buildings from the asset store




A number of static enemy objects (e.g. characters from Mixamo)










User Interface




The centre of the screen should show a simple targeting reticle. At the top right, a user interface showing the current hit count (initially, zero) will be shown. Try to use a font and colours that match the theme of your game.

Character




Create your own first person controller, using the Character Controller component in Unity. Your controller should support the following controls:




up/w – move forward




down/s – move backward left/a – turn left




right/d – turn right space – shoot




Shooting




When shooting, using the space bar (or the first joystick button), you will cast a ray and determine which kind of object is hit.




When any object is hit, an effect should be created which looks like paint. The paint effect will be temporary, and there will be no permanent paint left on the object, since we did not learn how to do that easily.




If the object his is an enemy, reduce their health by 10 points (out of 100). If the points reach 0 (or less), the object should be destroyed, making the object disappear. When this happens, the hit count in the UI should also be updated.







How to Submit




Submit your assignment GitHub URL to the Assignment 2 drop box on Blackboard.




































































































2

More products