Receiver Tile Modding
This article is a stub. You should help Wolfire by expanding it.
Tile mods are available via Receiver's Steam Workshop.
Tutorial
Guide based on 7DFPS HowToMakeAMod.txt:
To create a tile mod:
- Make a new folder and give it a unique name including your username. See gun mod intro for common naming conventions.
- Copy the "tiles_holder" object inside the "Mods/ReferenceTileguide" folder into your own tile's folder - this step is very important as it identifies this mod as a tile mod. You *NEED* a tiles_holder prefab in your mod's folder.
- Take the provided "LevelTileGuideFBX.fbx" model file and build the level geometry, the floors in this file aid in lining up doors with other tiles. Feel free to tear down the walls or mess with them in weird ways, as you just need to make sure the doors line up. I recommend looking at the built in level tiles for inspiration, these are inside the "Level Objects" folder.
- Once you created your level tile geometry, make a new gameobject in the scene view and name it whatever your level tile name is going to be. Make a new gameobject inside this one and name it "LevelGeometry". Drag your created level tile models into the LevelGeometry gameobject and make sure they have mesh colliders on parts you want the player to collide with. Alternately spawn in the "LevelTileGuideReferencePrefab" inside "Mods/ReferenceTileguide" and look at how that one is set up.
- Attach the "Level Script" Component to your root game object by hitting "add component" and then typing "level script" though the script will likely show up before you're done typing.
- Add three empty gameobjects to your new tile. "enemies", "player_spawn" and "items". These names need to match exactly, and the game objects need to be zero'd out and scaled to 1,1,1.
- Drag in the reference prefab inside the "Mods/ReferenceTileguide" folder called "LevelTileGuideReferencePrefab" and look at how it is structured inside, make sure your own tile mirrors that structure. This prefab also contains both enemy spawn prefabs and the item and player spawn prefabs inside. You can hit "select" while you have one selected at the top of the inspector to find them easily in the game's "Objects" folder.
- Make a prefab out of your level tile by dragging it into the folder you created in step 1.
- Click on your "tiles_holder", add your tile prefab to the "Mod Tiles Holder" Tile_prefabs list by dragging its prefab into it. This is a list, so you can add multiple tile prefabs to it and the modloader will compile in all of the added ones inside the modfile.
- At the top Navigate to Wolfire -> Modding -> Export Mod. Your mod will be put inside the mods folder and you can hit play while in the "scene" scene, then navigate to options scroll all the way down, turn the tile mods into "modded only" to test your tile without having to find it by running around.
If you run into any unexpected issues feel free to ask for help in the #receiver_1_modding channel on the official Wolfire discord!
Note that the first step can be automated using:
Wolfire / Mod Manager Window
Spawn points
- At least one player spawn point is required, as otherwise starting in the tile will freeze the game (escape menu still works)
The following overview of the built-in tiles can be used as a guideline on how many turret/drone/item/player spawn points to place:
| section | turrets | drones | enemies | piles | reward/enemy | player |
|---|---|---|---|---|---|---|
| r_1_object all | 9 | 9 | 18 | 15 | 0.83 | 11 |
| r_1_object top | 1 | 1 | 2 | 6 | 3.00 | 3 |
| r_1_object middle | 4 | 4 | 8 | 5 | 0.63 | 4 |
| r_1_object bottom | 4 | 4 | 8 | 4 | 0.50 | 4 |
| r_2_object all | 4 | 4 | 8 | 7 | 0.88 | 7 |
| r_2_object top | 0 | 2 | 2 | 0 | 0.00 | 1 |
| r_2_object middle | 2 | 2 | 4 | 4 | 1.00 | 4 |
| r_2_object bottom | 2 | 0 | 2 | 3 | 1.50 | 2 |
| r_3_object all | 9 | 5 | 14 | 11 | 0.79 | 9 |
| r_3_object top | 1 | 5 | 6 | 4 | 0.67 | 2 |
| r_3_object middle | 4 | 0 | 4 | 1 | 0.25 | 4 |
| r_3_object bottom | 4 | 0 | 4 | 6 | 1.50 | 3 |
| r_4_object all | 8 | 4 | 12 | 8 | 0.67 | 3 |
| r_4_object top | 0 | 0 | 0 | 3 | ∞ | 0 |
| r_4_object middle | 4 | 2 | 6 | 2 | 0.33 | 2 |
| r_4_object bottom | 4 | 2 | 6 | 3 | 0.50 | 1 |
| r_5_object all | 6 | 9 | 15 | 11 | 0.73 | 4 |
| r_5_object top | 6 | 0 | 6 | 5 | 0.83 | 2 |
| r_5_object middle | 0 | 9 | 9 | 3 | 0.33 | 2 |
| r_5_object bottom | 0 | 0 | 0 | 3 | ∞ | 0 |
| r_6_object all | 33 | 0 | 33 | 18 | 0.55 | 7 |
| r_6_object top | 5 | 0 | 5 | 5 | 1.00 | 0 |
| r_6_object middle | 18 | 0 | 18 | 8 | 0.44 | 5 |
| r_6_object bottom | 10 | 0 | 10 | 5 | 0.50 | 2 |
| r_7_object all | 9 | 6 | 15 | 7 | 0.47 | 9 |
| r_7_object top | 2 | 2 | 4 | 0 | 0.00 | 3 |
| r_7_object middle | 3 | 4 | 7 | 7 | 1.00 | 3 |
| r_7_object bottom | 4 | 0 | 4 | 0 | 0.00 | 3 |
| r_8_object all | 0 | 11 | 11 | 9 | 0.82 | 5 |
| r_8_object top | 0 | 3 | 3 | 4 | 1.33 | 1 |
| r_8_object middle | 0 | 3 | 3 | 2 | 0.67 | 2 |
| r_8_object bottom | 0 | 5 | 5 | 3 | 0.60 | 2 |
| r_9_object all | 7 | 6 | 13 | 10 | 0.77 | 7 |
| r_9_object top | 0 | 2 | 2 | 0 | 0.00 | 2 |
| r_9_object middle | 0 | 4 | 4 | 5 | 1.25 | 2 |
| r_9_object bottom | 7 | 0 | 7 | 5 | 0.71 | 3 |
| r_10_object all | 20 | 0 | 20 | 18 | 0.90 | 11 |
| r_10_object top | 9 | 0 | 9 | 6 | 0.67 | 4 |
| r_10_object middle | 7 | 0 | 7 | 7 | 1.00 | 5 |
| r_10_object bottom | 4 | 0 | 4 | 5 | 1.25 | 2 |
Please note that the top/middle/bottom distribution was calculated automatically. It might contain mistakes and the level design might also make certain positions belong to another floor, or multiple floors with open designs, especially for flying drones.
External Links
- Level Tile Map Mod Tutorial by iwanPlays on YouTube