Operation Starfall

Back

Hit Counter

My first assignment was to create a counter that increases when you hit an enemy and resets when you get hit. I worked with another student: I developed the counter, and he handled the visualization.

We encountered an issue because each player had four unique color textures. We weren’t sure how to link the correct color to the respective counter.

After some research and assistance, we solved it. A script ensured that each player spawned with a counter in their assigned color, and the counter was removed when the player left or died.

Spawn Effect

My next assignment was to create a script for a spawn effect that plays every time the player spawns. I collaborated with two other students: one created the animation, and the other designed shaders for the effect and the player.

We encountered a problem where the animation would shrink slightly at the end. After some investigation, we discovered that the position on the Z-axis was shifting during the animation.

Once we corrected the Z-axis position, the issue was resolved, and the spawn effect worked as intended.

SeparateBeam

My next assignment was to separate a laser beam from a droid enemy named Scopi, so it could be used for other objects. I worked with another student, and we decided to pair program. Previously, the beam was directly tied to Scopi’s state machine, so we created a new script to call the necessary methods independently and added functionality to toggle the beam on and off.

The main challenge was figuring out how to separate the beam itself. We solved this by duplicating the Scopi droid prefab and removing all droid-related components, leaving only the beam.

As a final touch, I adjusted the LaserVisualizer script to fix an offset issue at the beam’s end. We suspected this offset was due to an extra object using the same shader to ensure the beam’s endpoint aligned correctly.

SeparateBeam gif
Grid image 1

Grid System

The next assignment was to work on a grid system. Another student had already been working on it, so I joined to help. His task was to make the grid functional, while mine was to link it to the camera and control the activation of objects.

The main challenge was disabling objects without causing bugs, particularly with certain enemies and objects. Simply turning them off led to unexpected behavior.

To resolve this, I created separate methods that maintained a list of scripts to enable or disable, ensuring smoother transitions and fewer issues.