Super Awesome Kaiju Battle
Game Info
-
Players: Single Player
-
Genre: First Person Shooter, Boss Battle
Development Info
-
Role: Programmer, Level Designer, Game Designer
-
Team Size: 1
-
Development Time: 2 weeks
-
Game Engine: Unity
-
Art: Kaiju 3D model and Powerplant 3D model provided by Christopher Lee
Quick Summary
Super Awesome Kaiju Battle Is a first person shoot game with only one enemy a Kaiju. To win the game, the player has to destroy all the weak spots on the kaiju by using the gun and the grappling hook. To lose the game, the Kaiju has to make it all the way to the powerplant doing as much destruction as it can.
PowerPlant
Project Goals
The goal of this school project was to create my first FPS type of game where the player can swing around using a grappling hook while fighting a giant boss.
Character Controller and Rotation
The first thing I did for this project was trying to get the controls to work. Since this was my first attempt at making a first person shooter, I had trouble getting the camera rotation to work properly with the mouse position. First, I set the main camera to be a child of the player game object. For the up and down rotation or pitch I had the camera only rotate along it's Y-Axis. For the left and right rotation or yaw, I only rotated the parent game object.
​
Grappling Hook
With the grappling hook​ I had to look up various Youtube tutorials on how to get it working. From what I found, it was best for me to raycast out from the camera to a certain distance, if the ray hits a point that I can grapple the UI reticle will turn green. When the player shoots the grapple using the right mouse button, it would grab that hit position and pull the player.
​
The reason why I decided to create the grappling hook was because I wanted to give the player a chance to re-position to a more advantageous spot to attack the Kaiju. I thought it would give the player a sense of heroism to fight the boss.
Shooting Mechanic
Instead of creating a projectile game object, I wanted to use raycasting to replicate the instantaneous feel of a gun, also to avoid tunneling. I remember going through a tutorial from Tom Francis where he utilizes raycasting to create a railgun type of weapon, that was single shot. So I just had to add in the firing rate and firing timer. As long as the firing button is held down it will run the Weapon Update function. In this function, if the ray hits a game object with a rigidbody component, and if the the component has the tag "Armor" it would add a force to that object, pushing the object. If the collider has the tag "Weakpoint" it would do damage to that game object.
​
Kaiju
Stomping Attack
The Kaiju has two attacks:
1.) Stomping​
2.) Kaiju Beam
​
For every step that the kaiju takes it creates ripple attack that destroys the buildings in the vicinity. I thought this was a great idea as an attack because it lead the player to stay away from the ground. After the player gets hit from the attack I wanted the player to have a chance to re-position, so I boosted the player in the air.
​
I wanted a cool beam attack that allowed the kaiju to destroy city parts at a distance. The beam was angled in a way so that it would destroy as much as it can. Unlike the stomping attack executing at every step, the beam attack executes at a slower rate. Since the beam comes out of the mouth, this made being in front of the kaiju dangerous. So the player had to approach the Kaiju from the back and the sides, which is where I put most of its weak spots at.
​
Kaiju Beam Attack