top of page

Funny Faces

I worked in collaboration with two colleagues, Michael Anderson and Walter Keiler on JubiLite in a 72-hour window during ScoreSpace's Game Jam #10. We ended up rating first in the jam. This was created in Unity using C# scripts created in Visual Studio 2017.

During this 72 hour period, I worked primarily on UI/UX design of the play area, coding the game manager, and systems.

​

See below for in-depth explanations. And use this link to visit our itch.io page for JubiLite.

Scoring System

See the below code as well as the video to the side for context of the scoring script in the game and as it was written.

​

To determine the player's score or the total points the player has obtained from each move, I created three different brackets top, mid, and bot. Depending on the rate the player moves, the faster the higher the bracket, and the more points they obtain.

Scoring Code.PNG

To the left, is the part of the GameManager script I created, specifically the scoring function, ScoreCalc().

​

A problem which I had not considered when approaching this code was calculating the beat at which the player moved.

At first, I tried timing the player and tracking the change in time between movements but found that this varied by frame rate.

Feeling the time crunch from the game jam, I decided to track the frames between each input of the player and, to avoid the earlier problem, created comboTolerance, a variable that allows leeway between inputs and made up for differences in frame rate.

​

To decide on these values of 0.32, 0.4, and 0.5. I simply started with 0.25, 0.50, and 0.75 as a general base and tested different value in between until it was fine-tuned.

Although this was not the most time efficient, this process of trial and error allowed me to playtest our game for bugs at the same time. This was invaluable as we had little time for playtesting/requesting playtesters.

Intensity System

See the below code as well as the video to the side for context of the scoring script in the game and as it was written.

​

To determine the player's experience and the difficulty of the game, I created a script to increase the intensity of the game as the player progressed.

Intensity Code.png

To the left, is the part of the Spawner script I created, specifically the update function which handled the how the score and the intensity (number of enemies on the screen at once and their spawn rate) was determined each frame.

​

A problem which that occurred was creating a way to determine the intensity of the game that was proportionate the pace the player was playing at. We wanted a player who was scoring higher and going faster to have a harder experience to create a high risk, high reward play style. To do this, I made the difficulty directly proportionate to the score.

I quickly found that the player needed time to enter a flow state and, through testing, found that the number of deaths a player had significantly decreased after the the player had at least 1500 score, so I used this as a marker for which algorithm to use to determine the score. The first algorithm, which only calculates the timer based on the score, being used first as it was more relaxed.

​

I used an array of levels (although a simple integer would have been fine, the array allowed for easier access and implementation for the UI intensity bar) to determine the total number of enemies allowed on screen at once and change the level based on the score.

bottom of page