
CARLOS GUTIERREZ | Game Designer
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 FlowchartThis flowchart displays the process we wanted the shooter tentacle to think through during gameplay. | ![]() Hydra Tentacle FlowchartThis 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 ScriptWhen 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 BehaviorThis script transfers top segment behaviors down when a higher tentacle segment is killed. |
![]() Shooting BehaviorThis script tells the top segment to fire periodically at the player using forces to move the projectile. |
![]() Active Turret Behavior ScriptThis 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 |
---|
![]() 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 1This 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 2This 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 3When 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 4The whip function randomly chooses which direction to apply force on the hydra tentacle then applies it through an impulse. |
![]() Hydra Spawning |
---|
![]() 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 ScriptWhen 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.