
Asymmetrical Horror PvP Game
(The title is a work in progress)
Set on a spaceship, a group of survivors must complete objectives before they are killed by another player.
2+ players, 1 versus many, it scales up to support as many players as Roblox can handle.
This project largely serves as a way for me to learn game development in Roblox. I'm a fan of asymmetrical games, so building my own felt like a good motivation to learn.
So far, I've built the following features:
-
When a round starts, it chooses X players (typically one, but supporting many may be helpful for the future) to be the "killer".
-
Players switch to custom models based on their chosen character.
-
The killer has unique animations, such as a "firing arm cannon" attack animation.
-
The killer deals damage through raycasts. Most games of this kind attach hitboxes to their attacks, however, there are a lot of desync issues with these, so I decided to try out a different way to compare the two.
-
A spinning walkway segment, when you press the button to open the door, it stops spinning to allow you to pass - but only once it has reached a full 90 degree rotation, meaning you can only walk on a straight platform.

GameManager
This handles the flow of the game, from players joining to deciding when to start or end a round.
It's run entirely on the server, so it can call functions on the clients.

SegmentScript
In the game, there are cylindrical tunnels connecting parts of the map.
This script handles their constant rotation.
Each of these has a door at either end, and this script handles opening these doors when a console at the entrance is used. This freezes the rotation so the player can walk through.