This game was my submission for the Hackabury 2026 Hackathon, where we had 24 hours to develop our game.
Safety Priority was developed for Southeastern as an educational game to teach children about railway safety.
The player has the ability to perform unsafe actions on the platform, which they are then told are unsafe and why they shouldn't be done. I used an interactID variable to track which unsafe action the player had done and know which message to display to them.
When the player jumps, the message appears one second later to tell the player not to jump. I did this by using a jump reset that only allows the player to jump after a set amount of time, but changing it to enable the unsafe message after the time.
The player can sprint with the shift button, and while they are sprinting a counter increases. If the counter reaches the threshold, the unsafe message is displayed.
There are yellow lines on the platforms that have trigger zones over them, so that if the player steps over the line they will be told it is unsafe.
There are also 2 types of objects the player can interact with, NPCs and bins. When the player gets close, the object is within the trigger area and text is displayed to show they can interact with the object. If they move away from the object, the text is disabled. If the player interacts with an NPC, the unsafe message will display after the NPC shouts "ow" and if they interact with a bin, the bin will be knocked over and then the message is displayed.
I created the NPC models using Fuse and rigged them with Mixamo's auto-rigger. I downloaded walk, idle and sitting animations from Mixamo to use as the core NPC actions.
To create NPC movement, I used the Unity navigation package. I baked a navmesh and set 3 different types of NPCs. The police stand idle at the end of the platform, the sitting NPCs wait for the train, and the walking NPCs find a random point on the navmesh and walk to it.
Due to the 24 hour time constraint, we had to adapt some of our plans. The NPCs could originally walk up the stairs and over the bridges, but they were too narrow for multiple NPCs at once, so they would get stuck walking into each other. There wasn't enough time to create a fix for this, so I removed the bridges from the navmesh and restricted NPC movement to around their individual platforms.
When the bridge models were imported into Unity, the player couldn't walk up the stairs as the collider was shaped to the steps. I removed the collider from the stairs, added flat ramps in their place and disabled the ramp renderers so it looked as if the player was walking on the stairs.