Game Development - Task 2

Name : Ivy Chung Ai Shin

Course : Bsc Of Computer Science (Hons) 

 Week 5 - Week 7 (21/5 - 4/6) 
Content : 
Lecture  
  • Week 5 
  • Week 6
Task 2 

Plan : 
Week 6 - Design assets , characters and background - Done
Week 7 - Do animation for characters 

1. Finalize Game Assets - Done 
  • Other small assets - rocks , etc...
  • GUI elements
2. Animation - Done 
  • Character's Movement 
    - idle
    - jump
    - attack 1 (slash)
    - attack 2 (shooting) 
    - attack 3 (fireball)
    - attack 4 (blueball)
    - hit
    - death 
  • Mob's Movement
    - idle
    - attack (slash)
    - hit 
    - death 
  • Boss's Movement 
    - attack1 (slash)
    - attack2 (shooting)
    - hit
    - death 
  • Collectible Asset Animation 

LECTURE 

This week , we started with Unity. Mr Razif had introduced to us the basic settings of Unity starting from the main camera. In the main camera , we can adjust the camera by increasing or decreasing the size. Additionally , we can also change the background colour. 

Image 1.0 - Main Camera Setting

To start off , we just need to add 2D object under sprites. In class , we just need to create a simple 2D platform game. With that , we just add the character object and a platform underneath. 

Image 1.1 - 2D Object

Our first task is to allow the character object to fall onto the platform using gravity. In that case , we just add RigidBody 2D as the component. 

Image 1.2 - Add Component

In the RigidBody2D settings , we can set the mass for the object , linear drag , angular drag , gravity scale and more. However , in this practice , we will just be adjusting the mass to allow the object to have mass and fall with gravity. 

Image 1.3 - RigidBody 2D 

Another setting that we can have is the collider 2D. In this setting , we can set a collision around the object , thus if anything that were to collide with the object , it will be reflected or bounced back. We can also adjust the collider around the object differently , but the default setting is set following the object shape.

Image 1.4 - Capsule Collider 

Exercise 1 : 
After learning the basics , our given exercise was to create a simple catapult game by applying the Collider 2D and the RigidBody2D. I first set the ball a heavier mass and the character a lighter mass. The catapult is formed using a triangle and a cube object where it has a collider set. On the right side , there will be 3 sets of cube object set as the obstacles. As soon as the ball falls onto the other end , the character will be thrown to knock down the obstacles. 

Image 1.5 - Catapult Game

In the end , it will look like this : 


Exercise 2 :
The next exercise we explored is using a 3D platform. We followed the instructions from pdf attached below and constructed the following game. 



We first imported the given package as. custom package into unity. From there , we are able to access the resources and assets provided. We then drag and drop the assets we will be using such as the scene , road and vehicle into the game scene. 

Image 2.0 - Game Scene

Then , we will set the main camera to another angle that faces from the back of the car giving it a new POV as if it was from a third point of view. With that , we just need to adjust the main camera by pulling it to the back of the car and rotate it downwards. 

Image 2.1 - Main Camera

The third step was to adjust a custom layout that allows us to easier locate and view the game scene and the main camera. By following the instructions , we just need to set the layout to "tall" and drag the main camera below the game scene. Additionally , we can set the right side column to "one-column layout" and save as our custom layout.

Image 2.2 -  Custom Layout

The next half of the exercise , we will be exploring on how to code for the game. We first need to create a C# script file that will allow u to apply our code. Our first task is to build a PlayerController which allows us to control the car movement. Then , we can make a car move forward by calling Vector3.forward. We can also set a speed for the car by setting the speed as a public variable. 


Our second task is to build a CameraFollower which allows the main camera to follow the car movement. We set the car as the GameObject class and then set a offset variable under Vector3 class. From there , we call the gameobject and position the camera to the offset which is set at 0,5,-7. 


Next , we learn how to allow players to slide the car left and right using the keyboard controls. We set horizontolInput and verticalInput using the Input.GetAxis function calling both horizontal and vertical parameters as that is the input from the keyboard that it recognises. Then , we can add into our movement function. 


Lastly , we can also learned how to make the car rotate left and right that simulates the real car movement instead of sliding. All we need to do is just change Translate to Rotate function and that Vector3 class will be up instead. 



Challenge 1 : 
Following the instructions , I have resolved the bug issue and also set the game scene. 

Image 3.0 - Plane Game Scene

I then set the plane to move forward by setting Vector3.forward.


I also set the main camera to follow the plane as it moves forward. 


Lastly , I also allow the plane to move up and down as the player controls. 


Task 2 - Asset Design

Following the proposal ,  I have proceeded and continued to design the 2D pixel game characters , assets and also game background. Using "procreate" , I have created canvases of 50x50 px for every game character and assets meanwhile 256x144 px is created for the game background. 

Game Characters 

Main Character - Dino 
Dino has various versions that are based on the map theme. 

Image 1.0 - Desert Dino

Desert Dino will be in orange colour that represents the desert colour theme. 

Image 1.1 - Forest Dino

Forest Dino will be in green colour that represents the forest theme. 

Image 1.2 - Volcano Dino

Volcano Dino will be in grey with some crystal behind its back that represents the grey volcanos.
Image 1.3 - Space Dino

Space Dino will be wearing the space suit along with a jetpack as it will be flying across space. 

Image 1.4 - Snow Dino

Snow Dino will be in blue as it represents the blue snow theme. 

Non-Player Character - Bird
Image 1.5 - NPC Bird

The NPC bird will be the character that guides Dino along its journey.

Enemy Characters - Virus 
There are also various virus versions that are based on the map theme. However , in the snow map is where the final boss will appear. 

Image 2.0 - Desert Virus

Image 2.1 - Forest Virus



Image 2.2 - Space Monster

Image 2.3 - Volcano Monster


Final Boss - Virus Nemesis 
Image 2.4 - Final Virus Boss

Game Assets 

Collectible Gems
These are the gems that are collectible by Dino himself that consists of 5 gems in total. Dino will have to collect all 5 gems from each map and then combine all 5 to open the portal back to his world. 


Image 3.0 - Desert Gem 


Image 3.1 - Forest Gem
Image 3.2 - Space Gem

Image 3.3 - Volcano Gem

Image 3.4 - Final Gem

Collectible Elements 
These are collectible elements by Dino which includes extra lives and meat that Dino can consume that will increase his abilities. 
Image 4.0 - Lives
Image 4.0.1 - Full Health

Image 4.1 - Meat

Image 4.1.1 - Full Ability 

Game Background 

There will be a total of 6 backgrounds. The desert , volcano , forest and snow background are all hand-drawn. However , the space background will be a downloaded asset. To note , this game is also a platform game whereby the map will have parallax effects in which the background moves slower than the foreground. 
Image 5.0 - Desert Background

Image 5.1 - Volcano Background



Image 5.2 - Space Background

Image 5.3 - Forest Background

Image 5.4 - Snow Background

Image 5.5 - Cave Background

Game Tiletsets

Each map theme will have its own set of tilesets while the space theme will not require any tilesets. The snow map will only require one floor tileset as it is the final stage that Dino will be encountering the final boss. However , the cave tileset will be downloaded assets. 

Image 6.0 - Desert Tilesets


Image 6.1 - Forest Tiletsets


Image 6.2 - Volcano Tilesets
Image 6.3 - Snow Tiletset



Image 6.4 - Cave Tiletsets


*I am not planning to utilize all of the cave tiletset provided as I will only take some of the tileset to make the floor platform for the cave. 

Game Environment Assets

There are also additional game environment assets to be added into the game such as cactuses , rocks , signboard and etc. The game assets will be partially hand-drawn while some will downloaded assets. These are not the complete set yet as there will be more to be added into the game.
Image 7.0 - Cactus
Image 7.1 - Signboard/CheckPoint

This signboard will be the spawn checkpoint in each map for Dino to respawn whenever it dies so that users wont have to restart the game. 

Image 7.2 - Forest Rocks

Image 7.3 - Desert Rocks

Image 7.4 - Volcano Rocks

Image 7.5 - Space Gun

This is the gun Dino will be using in the space theme. 

Image 7.6 - Enchanted Gem

Dino will meet this enchanted gem in the cave as its final destination to go back to its own world. 
Image 7.7 - Portal 

This is the portal Dino will enter from its own world to the digital world. 

Game Animation Effects

There will be some effects in the game such as the effects from the attacks of both Dino and the mobs. In this case , most of the FX will be downloaded from the free assets pack in unity as well as other sources such as craftpix.  


These are some fireball FX that will be taken to be used for Dino's attack. 


These are the short range attack as well as the hitting FX effect.

Game GUI

These are the game GUI elements that players will be able to select in the game.

Image 8.0 - Game Menu
This is where users have the option to either pause , continue or exit the game. 

Image 8.1 - Death GUI

Users will see this as soon as Dino dies. 

Image 8.2 - Menu Bars

These are the colour coded menu bars for the GUI. 

Game Parallax Background

I have ensured the game background is horizontally parallax. 
Image 9.0 - Desert 

Image 9.1 - Volcano







Image 9.2 - Space 

Image 9.3 - Forest




Image 9.4 - Snowy Moutain

Image 9.5 - Cave

Game Sprites

Main Character
Dino will have a total of 7 movements that includes : 
  1. Idle
  2. Long Range Attack
  3. Short Range Attack
  4. Run
  5. Hit
  6. Jump
  7. Death
Do note that the sprites of these movement applies the same for all of the Dino's version except for Space Dino. Space Dino will only have three movements which are floating , hit , and death. There will be no attack movement for Space Dino as it will be holding a gun to shoot instead. 

Dino's Sprites : 
Image 10.0 - Dino_Idle_Sprites


The inspiration behind Dino in idle mode is it will be bouncing up and down with its eye shutting down as it is about to go to sleep at the end due to boredom.

Image 10.1 - Dino_Jump_Sprites


Dino's whole body will move up during jumping.

Image 10.2 - Dino_Hit_Sprites



Dino will be pushed backwards with its being closed that represents the feeling of pain.

Image 10.3 - Dino_Run_Sprites


Dino's tiny feet will be moving up and down as it run.

Image 10.4 - Dino_LongRangeAttack_Sprites

Dino's long range attack is him projecting fireball from its mouth thus it will have its mouth open wide and its tail being pushed downwards.

Image 10.5 - Dino_ShortRangeAttack_Sprites

Dino's short range attack is using its tiny claws to slash the enemies along with its body movement moving forward for the attack.

Image 10.6 - Dino_Death_Sprites

Dino will slowly vanish into thin air as it dies.

Image 10.7 - SpaceDino_Floating_Sprites

Space Dino will be floating up and down with its jetpack.

Dino's Animation :  


Figure 11.0 - DesertDino_Animation



Figure 11.1 - ForestDino_Animation

Figure 11.2 - SpaceDino_Animation
 

Figure 11.3 - VolcanoDino_Animation

Figure 11.4 - SnowDino_Animation
Non-Player Character

NPC's Sprites : 

Image 12.0 - NPC_Flying_Sprites

The NPC bird will just be flying on the air thus the movement replicates it flying like a bird.

NPC'S Animation :
Figure 12.1 - NPC_Flying_Animation


Enemy Characters 
The viruses will only have a total of 4 movements that includes : 
  1. Idle
  2. Short Range Attack
  3. Hit
  4. Death
Do note all the viruses will have similarly 4 movement but each have their own version for different movements. 

Desert_Virus's Sprites : 
Image 13.0 - DesertVirus_Bite_Sprites

The desert virus will have teeth biting as it attacks.

Image 13.1 - DesertVirus_Moving_Sprites

The desert virus's movement is just simply wiggling its hands. 

Image 13.2 - DesertVirus_Hit_Sprites

Desert Virus will be pushed back when it gets hit with its eyes closed temporarily.

Image 13.3 - DesertVirus_Death_Sprites

Desert Virus will slowly vanish as it dies.

Desert_Virus's Animation : 


Figure 13.4 - DesertVirus_Animation

Volcano_Virus's Sprites : 
Image 14.0 - VolcanoVirus_Bite_Sprites

Volcano Virus will bite using its teeth.


Image 14.1 - VolcanoVirus_Hit_Sprites


Volcano Virus will get pushed back with a change in its expression as it gets hit.

Image 14.2 - VolcanoVirus_Moving_Sprites


Volcano Virus will be bouncing up and down as it moves or in idle mode as it replicates it being angry. 

Image 14.3 - VolcanoVirus_Death_Sprites


Volcano Virus vanishes into the air as it dies.

Volcano_Virus's Animation : 

Figure 14.4 - VolcanoVirus_Animation

Forest_Virus's Sprites :

Image 15.0 - ForestVirus_Bite_Sprites
 
Forest Virus will open its mouth that replicates it trying to gobble as it attack.

Image 15.1 - ForestVirus_Hit_Sprites

Forest Virus will also get pushed back with the change in expression as it gets hit.

Image 15.2 - ForestVirus_Moving_Sprites

Forest Virus's will have its outer layer of its skin to wobble as it moves.
Image 15.3 - ForestVirus_Death_Sprites

Forest Virus will vanish as it dies.

Forest_Virus's Animation : 
Figure 15.4 - ForestVirus_Animation

Space_Virus's Sprites : 
Image 16.0 - SpaceVirus_Floating_Sprites

Space Virus will have its leg moving as it floats replicating an octopus. 

Image 16.1 - SpaceMonster_Hit_Sprites

Space Virus will get pushed back with a change in its expression as it gets hit.
Image 16.2 - SpaceMonster_Death_Sprites

Space Virus will also vanish into the air as it dies.

Space_Virus's Animation : 

Figure 16.3 - SpaceVirus_Animation

Final_Boss's Sprites : 

Image 17.0 - FinalBoss_LongRangeAttack_Sprites

The final boss's long range attack is having its both arms up to shoot lasers.

Image 17.1 - FinalBoss_ShortRangeAttack_Sprites

The final boss's short range attack is having one hand up with its sharp claws to slash.

Image 17.2 - FinalBoss_Moving_Sprites

The final boss will be clipping its claws and moving its four feet horizontally.
Image 17.3 - FinalBoss_Hit_Sprites

The final boss will also be pushed back and closes its one eye to represent pain.

Image 17.4 - FinalBoss_Death_Sprites

The final boss will slowly vanish as it dies. This sprite consists of total 9 frames. 

Final_Boss's Animation : 

Figure 17.5 - FinalBoss_Animation

Collectible Assets 
These collectible assets can be collected by Dino and it will be spawned randomly in the game. Therefore , the floating animation will simulate the gem being collectable. 

Collectible Gems Animation: 
Figure 18.0 - Desert Gem


Figure 18.1 - Volcano Gem


Figure 18.2 - Space Gem

Figure 18.3 - Forest Gem


Figure 18.4 - Final Gem


Collectible Elements Animation : 

Figure 18.5 - Lives


Figure 18.6 - Meat

Game Design Presentation 


Reflection 

In the past 3 week , it had definitely not been easy for me in particular. I have taken most of the time understanding the assets that I am capable of drawing and what assets I am not. I have decided to take on the challenge to draw most of the game assets myself and I eventually did it. The first week , I have started off by drawing the characters and game assets. Then , the second week , I drew the game background along with the game tilesets. Drawing the game background was particularly hard for me as it entails a lot details that has to be drawn pixel by pixel. On the third week , I had then proceed to make the sprites for the characters. This was also definitely a challenging task as I had to make frames for each characters all manually. However , along the way , I have learned so much about my strength and weaknesses. I am also glad to have gain knowledge on making sprites and draw in pixels. Nonetheless , there are so much room for improvement and growth. 

<<< What's Next >>>

  • Finalize Game Layout
  • Game Introduction/Tutorial 
  • Game Prototyping
  • Boss Attack Sequence 
  • Game Audio Planning 
    - BGM
    - Player's Sound Effect (Death , Attack , Collecting , Hit )
    - Mobs's Sound Effect (Death , Attack , Hit
    - Final Boss Sound Effect (Death , Attack , Hit)

Comments

Popular posts from this blog