Project Details:

  • Project Started: July 2018
  • Time Spent on Project: 7 Months
  • Language: C#
  • SDK: Unity 2018.2.0f2

Surge Battle Royale is an online multiplayer “Battle Royale” game. The game has many unique features and uses Peer-to-Peer Networking to achieve seamless play without any dedicated servers. The tradition method for “Battle Royale” games of guiding the players to a certain location or region feels repetitive. This is due to the same mechanic being used, identically in a range of games. “Surge” takes a different approach to guide the players to confront each other through vertically based level design. The “Zone” or “Storm” is actually a “Rising Lava” the damaging entity forces the player to decide if they want to take damage from the “Rising Lava” and gather more equipment or climb and ascend higher up the level.

Work Completed:

  • Created and developed the core multiplayer mechanics
    • Created and developed a Game Manager that registers each player on spawn using their Network Identity component to give them a unique name and number.
    • Developed the BasicBehaviour class to automatically send the animators parameters to other clients.
    • Created a ClientPpc “RpcTakeDamage” so that when an attacker calls this function it passes in the attackers _ID and the amount of damage so that when the individuals health reaches 0 the network knows who killed them.
    • Created a “foreach” function to determine how many players are in the game.

(foreach (NetworkConnection con in NetworkServer.connections))

  • Created and develop core game mechanics
    • Created and developed a “SyncVar with a hook =” function attached to control the health and health UI.
    • Created and developed weapon pads that are synchronised using “SyncVar”s upon spawn the “Server” will do a random number and depending on the number depends on the equipment the player receives when colliding with the trigger.
    • Created a function, upon spawn “Server” spawns an object called “Zone” that will rise up and damage the player when triggered to.
    • Developed the “Zone” to use a “SyncVar” for the amount of time it will stay or rise up the level.
  • Developed resource management using (i f (isLocalPlayer) )
    • Disabled scripts and cameras that the game won’t need active if the player is not local.
    • A local Inventory system that is only manager by the player so their is no need to send information over the network.

Try the lastest build!

Leave a Reply

Close Menu