Build your own level¶
A run map is an ordinary Unreal level with a handful of template actors dropped into it. There is no list to register it in and no setting to add to its World Settings. By the end of this page you have a map the crew can loot, extract from and play from the menu.
The start room of L_Procedural and every room in Maps/Modules/ are built exactly this way. Keep one open next to your level and copy what you need from it.
- The run map:
Content/MPFriendslop/Maps/L_Procedural - The rooms:
Content/MPFriendslop/Maps/Modules/ - The kit:
Meshes/Environments/Modular/ - The gameplay actors:
Blueprints/Environments/andBlueprints/AI/Warden/
Step 1, the rooms¶
- Create a new empty level and save it in
Maps/. - Lay the floor slabs, then the walls, then the ceiling slabs, on the
400cm grid. - Leave a doorway module wherever a door will go, and a hole in the floor where the extraction shaft will go.
The grid, the pivots and the corner rules are on How levels are built. Your own meshes work too: nothing in the gameplay actors cares what the walls are made of.
Step 2, the look¶
- Add an
ExponentialHeightFog. - Add a
PostProcessVolumeand tickInfinite Extent (Unbound). - In that volume, lock the exposure: set
Min EV100andMax EV100to the same value.L_Proceduraluses5. - In the same volume, add
MI_InteractableOutlinetoPost Process Materials. - Place lamps in every room. See Place, switch and make lamps.
The project has no global illumination and no baked lighting, so a room with no lamp is black.
Step 3, the players¶
- Place
PlayerStartactors on the floor, spread apart, at least one per player.
The lobby holds four players by default. L_Procedural has 4 of them, in the start room. Nothing else is needed: the project default game mode, BP_FriendslopGameMode, spawns the crew and runs the run.
Step 4, the gameplay actors¶
Place them in this order. Each page has the steps and the fields.
| Actor | What happens without it | Page |
|---|---|---|
NavMeshBoundsVolume over every walkable floor |
The Warden cannot walk | Place a Warden and its patrol |
BP_LootSpawnPoint, with a loot table each |
Nothing to carry and sell | Place loot spawn points and loot tables |
BP_ExtractionTrap over a shaft, plus a BP_InteractButton linked to it |
Nobody can sell or leave. The run only ends on the clock or when the whole crew is down | Place an extraction point |
BP_ShopTerminal |
No shop during the run | Add an item to the shop |
BP_ReviveBay |
A dead player cannot come back before the next run | Place a revive bay |
BP_SlidingDoor_Single, BP_SlidingDoor_Double, buttons and levers |
Open doorways only | Link a button or a lever to a door |
BP_Warden and its BP_WardenPatrolPoints |
No enemy | the Warden page above |
BP_ItemPickup |
No item lying on the floor at the start | Add an inventory item |
BP_Arena, away from the playable space |
A crew that is all down ends the run at once, with no arena | The Last Loser Standing arena |
Beyond the PlayerStarts, only the extraction trap and some loot are needed for a real run. Every other line is optional.
BP_DebugKillVolume, in Blueprints/Environments/, kills any player who enters its box. Put one at the bottom of a pit if your level has one.
Step 5, play it from the menu¶
Point Run Level on WBP_SessionPage and Level To Play on WBP_MainMenuPage at your map. START THE RUN travels to the first, SOLO RUN opens the second, so set both. The steps are on The maps, and how a game starts.
To give this map its own quota or run length, see Change the quota, the run length and the recap.
Step 6, test it with two players¶
- Open your level.
- In the Play menu, set Number of Players to
2and Net Mode toPlay As Listen Server. - Press Play and walk the level in the client window: pick up loot, sell a piece at the trap, open a door. Judge from the client, never from the host.