Game Rules
1. Game
assets load in with unity’s pre-loader.
2. Main menu
appears.
3. Player
clicks the play button to start.
4. Timer
starts and player spawns on the map with 100 health, 12 ammo bullets and a gun.
5. Player
encounters enemies running at him/her, so he shoots them with the gun.
6. Enemies
begin to hit the player as the player is running away and takes 15 health
points from the player.
7. Player is
running around dodging the enemies from hitting him/her as well as shooting
them.
8. Player runs
out of ammo and must run to find an ammo box.
9. Player
finds an ammo box, so he/she gets 12 bullets(ammo) and begins shooting and
killing enemies again and trying to dodge the hits from them.
10. Player
sees his/her health is running low so goes running around looking for a health
box
11. Player
finds a health box, so he/she gets 50 extra health and begins shooting and
killing enemies again and trying to dodge the hits from them.
12. Player hits
into a trap so he/she loses 20 health points
13. Player
continues to kill and get hit by enemies as well as collect ammo and health boxes.
14. Player runs
out of health points and dies so text will appear screen saying, ““You Lost,
Unlucky!”, then the main menu will appear.
15. Player kills
all the enemies, so text will appear screen saying, “You Won,
Congratulations!”, as well as the amount of time it took the player to win.
Then the main menu will appear.
The main
menu screen that will be displayed at the start and at the end of the game. The
menu main has nice blue background and has a simple tile that says, “Zombie
Shooter” and then under that it has a play button that the player clicks to
begin the game. When the game has started then the player will see the game and
the canvas. During the game the player will be able to see many things on the
screen, you will see the players health and ammo up on the top left hand side
of the of the screen, the timer will be displayed in the top middle of the
screen and the amount of enemies left will be displayed at the top right hand
side of the screen. Then at the end of the game if the player wins or dies they
will be see text around the bottom middle of the screen as I mention above in
the introduction.
I
used multiple textures like MuddyRockAlbedo, GrassHillAlbedo and
GrassRockyAlbedo. Then for the tress I used Conifer Desktop and Broadleaf
Desktop prefabs.
I Followed a Tutorial on Udemy which had everything I needed.
Making the Character Model
I used Mixamo to bring in my character that i made from adobe fuse to add movements to. I just added a running movement.
I Found a tutorial on youtube showing me how to make the timer: https://www.youtube.com/watch?v=VVZudrLh5EA
I then had
to get the gun to shoot so I created two scripts to do this called player and
bullet. I also had to create a bullet object in my GameController and add the
bullet prefab that I got from the unity store. Then I had to add a collider and
a trigger with the bullet, so it knows when I collides with something.
Next, I made
a pool of objects or the term know as object pooling, so that every time I need
to spawn a bullet instead of instantiating it, I’m going to get a bullet from
the pool of objects. This was to save a lot of processing and memory power. I
created an empty pooling manager object and made a script for it.
After that I
had to give the player a certain amount of ammo so that the game wouldn’t be to
easy. In the players script is where I implanted this.
I had to do
the same for giving the player some health.
I made the enemy zombie that chases you and hits you. I had to create an empty
object in my GameContainer to add the enemies. First, I created the zombie in
Adobe Fuse, I put him together bit by bit and add clothing to him. Then once I
created the model I send it to Mixamo and from there I was able to add an
animation to the model. Then I exported it as an FBX file for unity. From there
I dragged it model into my scene and created a script called shootingEnemy.
Even though the enemies don’t shoot I originally had them shooting and I then
got them chasing the player when they are in shooting distance to the player.
Once I had the enemies chasing the player and dealing damage to the player I
decided to add the animation to them. I did this by creating an animation
controller, put the animation into the controller and put it on a loop. Then
added the animation controller to the enemy.
Problems that I encountered:
One of my
problems I encountered was when I created the terrain at the beginning I put a
navigation mesh on it, so the player and enemies could only go a within a
certain parameter. But then when I decided to make my terrain bigger I forgot
to re-bake my navigation mesh so for ages I couldn’t figure out why when I got
to a certain point on the terrain the player would teleport back to some other
point on the terrain. So, I fixed the problem by clicking on my object called
terrain then going over to the navigation bar and from there you I clicked the
bake option and that fixed it for me.
My second
problem that I could remember was to do with my timer, I had timer working fine
but when the player completed the game I wanted to display how long it took
them to do it. So, in my gameController script I was trying to implement it but
it wouldn’t work for me as I thought I was doing it right by putting in
timer.text but then it was saying "You Won Congradulations! Timer".
So, in the end I got help and was told I have to do it like timer.text.text and
it worked.
Comments
Post a Comment