workshop_welcome Welcome to the Official Carrion Workshop Level Creation Tutorial!
workshop_topic1 Topic 1: The Basics
workshop_topic2 Topic 2: Tile Editing
workshop_topic3 Topic 3: Objects and Scripting
workshop_topic4 Topic 4: Styling
workshop_topic5 Topic 5: Creating an Overworld
workshop_topic1_tip1 Launch UGCToolkit (located in the game’s root directory) to create and manage your custom levels.
workshop_topic1_tip2 Create a new project and select <Browse local files>.
workshop_topic1_tip3 Open Levels/name_of_your_level.json in Tiled Map Editor to edit the level’s layout.
Open Scripts/name_of_your_level.cgs in your favourite code editor to add scripts to your level.
workshop_topic1_tip4 If the game is running, you can load your level using the MOD LOADER option in the main menu or by typing
‘load_level name_of_your_level’ in the console. Otherwise launch it via <Play> in UGCToolkit.
workshop_topic1_tip5 Launch the console with the tilde key (~) and type ‘set_setting debug_hotkeys_enabled 1’.
This will enable additional shortcuts that will come in handy while you’re creating your level.
workshop_topic1_tip6 Use F2 and F4 to cycle between the regular <Play> and the free camera <Edit> modes.
You can edit the level and its script while it’s running – the game will automatically
reload the level each time you save your changes.
workshop_topic2_tip1 Open Levels/name_of_your_level.json in Tiled Map Editor to edit the level’s layout.
workshop_topic2_tip2 Select tiles from the Tilesets toolbar and place them using the Stamp Brush (B) tool.
You can also use the Terrains toolbar to quickly sculpt Collisions and Overlays.
workshop_topic2_tip3 To create Collisions, place tiles on the Foreground Layer.
Modify the Background Layer to create/remove openings in the background wall.
workshop_topic2_tip4 Use Foreground_Details and Background_Details Layers
to place decorative Overlays in your level.
workshop_topic2_tip5 Ladder tiles can be placed on either the Background or Background_Details Layers.
workshop_topic2_tip6 One-way pipes are a type of tiles too! Place them on the Foreground Layer.
workshop_topic3_tip1 Open Levels/name_of_your_level.json in Tiled Map Editor to place Objects in your level.
workshop_topic3_tip2 Select View _ Object Type Editor. In the Editor’s window, select File _ Choose Object Types File
and open Carrion/Content/ObjectTypes/object_types.json to enable color-coding objects in Tiled.
workshop_topic3_tip3 Select the Chambers Layer. Grab a system/chamber.json Template from the Templates toolbar
and place it in your level to create a new Chamber.
workshop_topic3_tip4 Grab any other Object Template from the Templates toolbar and place it in your level
within the boundaries of a Chamber. Make sure to select the right Layer for that Object Type!
workshop_topic3_tip5 In UGCToolkit, find the Official Workshop Tutorial and click <Browse local files>. Use Tiled to open
Levels/workshop.json and analyse the Chambers ahead, and see which Object Type goes on which Layer.
workshop_topic3_tip6 Most Objects require a Script Connection to work, e.g. ‘door1_switch -> door1;’.
Open Scripts/name_of_your_level.cgs in your favourite code editor to add Scripts to your level.
workshop_topic3_tip7 Some Connections may require additional operators, such as (AND()), (OR()) and (NOT()).
Check the Properties toolbar in Tiled for Custom Properties that can also affect an Object’s Connection.
workshop_topic3_tip8 Browse local files of the Official Workshop Tutorial again – open workshop.cgs in a code editor
to analyse this level’s Script and see how to connect different Objects to one another.
workshop_topic3_tip9 Tip: With the debug hotkeys enabled, you can use PgUp and PgDn to change the monster’s size at will.
workshop_topic3_tip10 Tip: You can pre-equip the monster with some skills by setting their level to 1 in Map _ Map Properties.
workshop_topic3_tip11 ---CATEGORY 1: DOORS, SWITCHES AND OPERATORS---
workshop_topic3_tip12 ---CATEGORY 2: ENEMIES AND TRAPS---
workshop_topic3_tip13 ---CATEGORY 3: BIOMASS INTERACTIONS---
workshop_topic4_tip1 Select a Chamber, and check OverrideBgGenerator and OverrideFgGenerator in its Custom Properties.
Change the values of BgTexture and FgTexture to set the main theme of the Chamber (e.g. ‘Lab1’).
workshop_topic4_tip2 You can also utilise Subchambers to mix in different textures within the same Chamber.
Each Subchamber in this area showcases a different texture pack in its default state.
workshop_topic4_tip3 Modify the values of AmbientColor and Bg/FgGenHue/Saturation/Value of the parent Chamber to create
different themes. Visit the Chambers below to see example variants of the ‘Jungle1’ texture set.
workshop_topic4_tip4 Utilise different types and colours of lighting to further enhance the looks of your levels.
Note: regular Lights should be placed on the Lights Layer, whereas Lamps belong on the Objects Layer.
workshop_topic4_tip5 Decorations and Destructibles are another useful tool at your disposal.
Note: some Types of Objects (ropes, chains, vines etc.) are ‘verlets’ - place them on the Verlets Layer.
workshop_topic4_tip6 Fog and eternal_fog are extremely flexible and can be used to simulate not only different
kinds of fog, but also such phenomena as steam, wind, rain and sun rays.
workshop_topic4_tip7 Consider using a Parallax while creating openings (windows, crevices etc.) in the Background.
workshop_topic4_tip8 Last but not least – the soundscape. You can place various Sound Emitters on the AmbientSounds Layers,
and set different musical themes for each Chamber via their Music and MusicAction Custom Properties.
workshop_topic5_tip1 Create a new level and make sure it’s placed in the same folder as the rest of the levels of your mod.
Add a Hive to that Overworld level with Level set to ‘name_of_your_level’ and IsOverworldEntry checked.
workshop_topic5_tip2 Pair the Hives in your non-overworld level with the right Goal by providing its ID as the value of the
Hives’ UnlockedGoalID. Use the same value as EntrancePreference of the Hive you put in your Overworld.
workshop_topic5_tip3 Type in the name of your Overworld level in the Goal’s NextLevel Custom Property. Make sure
the EntrancePreference value matches the ID of the Hive you added to your Overworld.
workshop_topic5_tip4 You can create an area discovery message by providing the text you want it to display
as the AreaName Custom Property of a Chamber.
workshop_topic5_tip5 The data in the Level Summaries fills in automatically. All you have to do is provide ‘name_of_your_level’
in the LevelName Custom Property and define AreaName, which will be visible on the Summary’s display.
workshop_topic5_tip6 To create a Pipe leading to the next level, add a Hive, check IsOverworldGoal, and type in
‘name_of_your_next_level’ in its Level Custom Property.
workshop_topic6_tip1 Feel free to open the campaign’s levels in Tiled and analyse their scripts to see how various
visual effects and gameplay scenarios were achieved.
workshop_topic6_tip2 We used the exact same tools to create all the levels of the main game,
so there’s nothing stopping you from creating a full-blown custom campaign of your own!
workshop_topic6_tip3 You can also utilise Lua scripts to code human gameplay akin to the flashback sequences from the main
game or even add completely new custom assets of your own!
workshop_topic6_tip4 Last but not least – thank you for showing interest in the Carrion Workshop! Now keep those mods coming!