Creating a Versus level

From Serious Sam's Bogus Detour
Jump to: navigation, search

A versus level is created by setting the gamemode to any versus gamemode, or the special VersusComposite one. This special gamemode will change depending on the switches set in a versus multiplayer lobby.

If you don't choose this special composite gamemode, the gamemode will only be playable in the gamemode you select. Otherwise, if you do want your level to be playable in every gamemode, you need to make sure all requirements for each gamemode are met. (Listed below.)


Deathmatch is simple vanilla versus. For this gamemode (and all other gamemodes for that matter) you need to place a number of LevelStart worldscripts where players could spawn around the map.

Player spawn positions are picked based on where other players are on the map, where the game will attempt to spawn players the furthest away from all other players. It then picks randomly from the 3 furthest away spawn positions. For that reason it's recommended you place at least 2 or 3 level spawns in corner positions of the map. For example, dm1 has 11 spawn points.


Team Deathmatch

Team deathmatch is deathmatch, but with teams. The teams are always blue and red, where blue is the player's local team and red is the enemy team. Team Bogus and Team Serious therefore don't have fixed colors by default! If you want to disable the behavior of local team coloring, you'll need to create your own gamemode inheriting from TeamVersusGameMode, where you'll need to override bool LocalTeamHandling() and return false instead.

In team-based modes you can also use specific spawn points per team. Instead of using the LevelStart worldscript for starts, use the TeamLevelStart worldscript instead, and set the TeamIndex property to the team index you want to spawn there. The team indices are:

  • 0: Team Serious (Red w/o local team colors)
  • 1: Team Bogus (Blue w/o local team colors)
  • 2: Team Green
  • 3: Team Pink
  • 4: Team Yellow
  • 5: Team Cyan

In gamemodes where you can watch the game before the player spawns, you can place a PrepareCamera worldscript. Setting this to a position will put the camera there when the player hasn't spawned yet. (For example, when the player has to select a team to join.)


King of the Hill

In King of the Hill, players try to stay within a certain area of the map where they will gain points. To define this area, you will have to make a KothArea worldscript pointing to one ore more collider sensor areas.


You can also place doodads/multiplayer/koth_pole.unit units around to area to signify that the area is the KotH area. These units will only show in the editor and the King of the Hill gamemode.


In Rabbit (also internally known as TagIt) one player is "it", who will gain points. Whoever kills this player will become "it". The player who is "it" will be visible everywhere on the map via a player marker pointing towards them.

Nothing special is required for this gamemode.