itch.io is community of indie game creators and players

Devlogs

Dev Log - Alpha

CCSS - Design Practice 3
A downloadable game

Sleep Shake to Wake

When the energy bar is low, the player will doze, coving the screen with black. Originally, the waking up function required the player to simply move the mouse upon waking up. This poses an issue for games that mainly uses the mouse control, making the obstacle non-existent. To fix this, I implemented a feature that requires the player to shake the mouse. A bar will appear at the top of the screen, indicating how much more will the player need to shake in order to wake up. This feature was implemented quickly, but once I have more time, I would like to eliminate the bar, and have the opening of the eyelids to represent the bar. The bar is a little jarring and takes away from the realism.

Hit Box and Switching Tasks

Overview   of the level with the magenta hitboxes.

I’ve placed hitboxes on all the 3 tasks, when the player clicks on them, it will move the camera and set the gameObject holding the camera to a specific angle. Our group has decided on this direction because of how reliant the 2 out of 3 tasks is on the mouse. Clicking on the specific hitboxes lock them in and focuses on the respective task. Pressing the escape key will exit out of that task. 

Level Metrics

Our team has decided on the level timer set to 5 minutes, the focus meter will take 1 minute to deplete. We’ve also decided that the players can take a maximum of 4 stimulants per day, before they are “overdosing”. When players have their focus meter reach 0, they experience “zoning off” which will hinder their tasks completions. This means that players would at minimum, experience 1 minute of “zoning off”.

The day timer only starts when the player has started a minigame. This allows the player to observe their surroundings for the first time without punishing them too much.

Our shop has  also been removed.   This change  was decided because our decision of limiting to 1 pill, reducing the scope, and because we were concerned that it would distract players from our message. Our message centralizes around stimulants, and having a shop system could derail the focus to capitalism. 

A title screen has been implemented.

Day Tracking/Game Settings Manager

GameSettingsManager Script

The calendar   used to track the days

I’ve made this script to handle adjustable settings that would affect the game’s design. For now, it holds the data for the max amount of days, and the current day the player is in. Before creating this script, I have always been working on scenes without the need of persistent data. I learnt how static and DoNotDestroyOnLoad allows data and objects to remain in between scenes.  In this scenario,  currentDay is static so that the data remains when I switch scenes.   This started to open up other issues, mainly because if a script that is persistent is referencing an object that would be destroyed upon switching scene, returning to it would create a null reference error because the original reference is lost.

The current design works without being persistent; the level resets each time the scene is swapped, making it convenient for now. However, during the beta, we will need persistent data, specifically to keep track of each day’s scoring, and displaying their final score.

Implemented Barks/Dialogues

One of the barks displaying at the top of the screen. 

Code for  when the focus bar goes below a threshold once.

The code is written so that when the focus bar goes below the threshold set, it would display the text once. This is important because without setting up this concept, the function inside the if, would continuously fire. The variable previousFocusValue is storing the value of the slider AFTER the this code runs, meaning that the conditions would be met only once.

Graph and Performance Review

In our 5th    sprint meeting, our teammates discussed/suggested a burndown chart, and I felt that this could help with the performance review we will present to the player at the end of the level.

I used this script since I learnt that the Line Renderer doesn’t work with UI/Canvas

Additionally, I wanted to write the code in a way so that it scales no matter how lengthy the level timer is, so I took the value of the timer and divided it by the maxValue. Because the graph was going right to left, I had 1- the amount, which would give me the percentage, and I would multiply that number by 200, which is about how lengthy the chart would appear in the UI. Granted, I could go further and have it get the width of the UI image so it’s not entirely hard coded.

How points are plotted on the graph via script. It takes variables from the day clock,  checks if a certain amount of time passed, log the point.

Leave a comment