top of page

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 0.png

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. 

Character Rotation 0.png
GrapplingHook.gif

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. 

SuperKaijuBattleStompingAttack.gif

Kaiju

KaijuBeamAttack.gif

 Stomping Attack

SuperKaijuBattleDestroyingArmor.gif

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

bottom of page