top of page

Killer-T

Platform:
PC
 
Tools Used:
 
 
 
Duration:
~4 weeks (2013)
 
Role:
Technical Designer
 
Team:
Cody Winchester
Josh Kleber
Dylan Goff
Kyle DeBona
 
Contributions:
Enemy AI Scripting

Overview

Killer-T is a third person shooter where players take on the role of a killer T-cell in its microscopic battle against invading viruses.  This project was a collaboration with four other designers for a game scripting class.  My task was to create the enemy prefabs and behaviors based on specifications from the team leader.

 

This project was focused on our scripting abilities.  I wanted to script an enemy that tracked the player and fired continuously at them while they were within proximity of the enemy.  The other enemy behavior I scripted would grow the enemy in size and numbers if damaged.  This experience influenced my work on Firesale.

Shooter Tentacle Flowchart

Shooter Tentacle Flowchart

This flowchart displays the process we wanted the shooter tentacle to think through during gameplay.

Hydra Tentacle Flowchart

Hydra Tentacle Flowchart

This flowchart displays the process we wanted the hydra tentacle to think through during gameplay.

Logic Mapping

I began my task with a description of each enemy along with an intended behavior.  With the intended behavior in mind I created logic flow charts to visually map out how the enemies should think and work.

Awaken Tentacle Script

Awaken Tentacle Script

When players get close enough to the tentacle it springs into action; targeting the player and shooting at it as long as they're in the awaken radius.

Transfer Script Behavior

Transfer Script Behavior

This script transfers top segment behaviors down when a higher tentacle segment is killed.

Shooting Behavior

Shooting Behavior

This script tells the top segment to fire periodically at the player using forces to move the projectile.

Active Turret Behavior Script

Active Turret Behavior Script

This script keeps track of health, number of tentacle segments, and protocol for killing the tentacle. When a tentacle is killed the script searches through the children to remove joints and/or enable scripts.

Shooter Awaken

Shooter Awaken

Follow and Shoot Player

Follow and Shoot Player

Shooter Tentacle

Our Killer-T cell needed an actively dangerous enemy to oppose them in their fight against viruses.  The shooter tentacle behavior starts with the tentacle in a state of stasis.  When the player enters the radius of awareness the enemy snaps into action (top right).  As long as the player stays inside the awareness radius the shooter tentacle faces and fires at the player (bottom right).  We wanted this enemy to keep shooting when the player destroys the head.  To accomplish this, I wrote a script that transfers the shooting behavior to the next segment in the tentacle.

Hydra Tentacle

Hydra Behavior Part 1

Hydra Behavior Part 1

This portion of the script first sets the upward direction of a segment based on the parent direction then sets the whip directions. The grow timer and respawn timers are set then the grow function begins. When the tentacle first spawns, the first segment starts small then scales up to a certain size over time. Once the segment has grown to full size the next segment begins to grow. This process continues until initial segment count is met.

Hydra Behavior Part 2

Hydra Behavior Part 2

This portion tells the segments to scale up over time. If the base of the tentacle is killed then the whole tentacle dies. When a segment is spawned it is given the proper scripts and joints to connect it to the parent segment. The branch function spawns one segment on each side of the previous segment and applies the proper joints/scripts.

Hydra Behavior Part 3

Hydra Behavior Part 3

When a segment is destroyed, the script checks for what type of joint the destroyed segment has and destroys it then starts the branching behavior. The next function is used to assign a random color to the segment when it is first spawned.

Hydra Behavior Part 4

Hydra Behavior Part 4

The whip function randomly chooses which direction to apply force on the hydra tentacle then applies it through an impulse.

Hydra Spawning

Hydra Spawning

Hydra Branching

Hydra Branching

We wanted an enemy that was deceptive and could overwhelm the player.  Drawing inspiration from the Hydra, I set off on creating a tentacle with the trademark behavior of growing two heads after having one severed.  The tentacle starts off by growing each segment through spawning and scaling segments (top right).  The hydra doesn't actively try to hurt the player.  Instead, it waits to take damage and, once a segment is destroyed, the segment below it spawns more segments.  To make the hydra more dangerous I implemented a system that uses Unity physics to whip the tentacle around randomly once the regeneration begins.  The new segments spawn more segments and so on until the situation is out of control for the player (bottom right).

Base Kill Script

Base Kill Script

When a tentacle is killed the GUI changes to reflect that the player has made progress via a bar filling with color.

Shared Behaviors

Two behaviors are shared by both enemy types.  One script updates the player GUI when either tentacle type is killed (left).  The other tells a segment to disconnect from the rest of the tentacle when its health is depleted (right).  When this happens, the disjointed segments drift off to mimic the feeling of being in a cellular environment without gravity.

Post-Mortem

This project taught me not to rely on in-engine physics too much and always keep time constraints in mind.  A large part of the assignment was to use physics in some capacity, but I lost too much time fighing with Unity physics.  The overall quality of the project didn't come out nearly as good as we had originally envisioned because we had fallen victim to feature creep and an unforgiving time crunch.

 

If I could redo this project I'd put a simple animaiton on the shooter tentacle and focus on tweaking the hydra tentacles spawning system.  I would make clever use of colliders to stop spastic movements with the hydra tentacle during spawning.  Finally, I'd negotiate with our producer to scope the project down significantly.

  • LinkedIn App Icon
  • Email-Icon-2.png

All content © Carlos Gutierrez 2014

Unless stated otherwise

bottom of page