Twinstick Shooter

description

in this project me and one other developer had to make a twinstick shooter with the help of two artists. For this project we had 5 weeks to complete it.

we went for a futuristic theme where the story was that an AI made by humans went rogue and turned on them. This is where you the player a hacker who hacked one of the robots tries to defeat the rogue.

my contribution

The stuff I have made for this project are:

the AI robots

the health system

and the UI

I have also assisted my fellow dev with the weapons.

The health system

For the health system I had chosen to go with 3 types of health each with there own unique body:

normal hp:

just your every day standaard hp.

armor:

armor is by default more tanky than normal hp but if you lost it all you could no longer repair or regain it.

shield:

shield is the same as normal hp in terms of tankyness but i would automaticly regenerate if you didn’t take any damage.

The AI robots

For the robots they are not that complex because they only have 3 states they can be in:

patrol(blue view cone):

In this state the robot will as the name says patrol a predefined path. When the player enters its view cone after wich it will switch to the attack state.

attack(red view cone):

In this state it will chase and attack the player until it either kills the player loses sight of the player or it dies itself.

seek(yellow view cone):

This state will trigger if the robot has lost sight of the player. In this state it will move to the location where the player was last seen and after a few seconds it will revert to its patrol state.

The weapons

For this project we had 3 weapons types:

Rifle:

The rifle works pretty much like any normal rifle would it fires a bullet and this bullet does damage to a robot if it hits it.

Laser:

The laser fires a short range laser that damages any drone that gets hit.

Grenade launcher:

The grenade launcher fires a grenade (crazy right?) wich will explode on impact and damage anything in its blast radius including the player himself.