> For the complete documentation index, see [llms.txt](https://gtfo-modding.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gtfo-modding.gitbook.io/wiki/guides/the-newbie-level-guide.md).

# The Newbie Level Guide

## Overview

{% hint style="danger" %}
The Rundown currently out is Rundown 8, revision 34800. If you're reading afterwards, you may have to adjust. If we're lucky any future changes to level generation will be backwards compatible.

Be aware that game updates can break datablocks, and levels/rundowns usually suffer the most from this. Rundown developers often don't even port their rundowns after some updates.
{% endhint %}

{% hint style="success" %}
There's now a page with finished blocks stored and updates noted located [here](/wiki/guides/the-newbie-level-guide/final-datablocks-version.md).

If you get stuck or are unsure if some changes were made as updates passed, check it out.
{% endhint %}

As you probably already know, levels in GTFO are generated, and their data is stored in datablocks. In terms of difficulty, editing levels is between intermediate and one of the most advanced things in datablocks. This guide is not meant to teach all thing related to level editing, but it will hopefully give you enough to get you going in creating your own levels.

This goes without saying, but if you're looking to learn, I highly recommend editing and testing the blocks yourself as you read along.

Throughout the guide, I'll be posting datablocks or parts of them. If you move along, you won't have to copy-paste them, but you can verify they match using [Diffchecker](https://www.diffchecker.com/) for example.

## Prerequisites

At this point you should be familiar with JSON, datablocks, and the following:

* [The Complete Newbie Guide](/wiki/guides/the-complete-newbie-guide.md)
* [Datablocks reference](/wiki/reference/datablocks.md)
* [Enum types](/wiki/reference/enum-types.md)
* VS Code editor (technically not required but guide assumes you use it)

Recommended:

* [VS Code tips](/wiki/guides/vs-code-tips.md)
* [Enable MTFO hot reloading](/wiki/guides/enabling-mtfo-hot-reload.md)
* [CConsole](https://gtfo.thunderstore.io/package/GTFOModding/CConsole/) or some other modding toolkit

## Guide content

The guide is made of 5 parts:

1. Isolating a level
2. Editing rundown and level metadata
3. Adding and editing zones
4. Editing warden objective
5. Adding a secondary sector

The datablocks we work with in this guide:

* Main:
  1. RundownDataBlock
  2. LevelLayoutDataBlock
  3. WardenObjectiveDataBlock
* Edited:
  1. ExpeditionBalanceDataBlock
  2. EnemyGroupDataBlock
  3. EnemyPopulationDataBlock
  4. FogSettingsDataBlock
  5. SurvivalWaveSettingsDataBlock
  6. ChainedPuzzleDataBlock
* Touched:
  1. LightSettingsDataBlock
  2. ConsumableDistributionDataBlock
  3. StaticSpawnDataBlock
  4. BigPickupDistributionDataBlock
  5. ComplexResourceSetDataBlock
  6. ChainedPuzzleTypeDataBlock

## Useful links

* [TypeList](https://github.com/UntiIted/OriginalDataBlocks) (OriginalDataBlocks)
* [Datablock Editor](https://gtfo-modding.github.io/DatablockEditor/) (but actually just level layout editor)
* [Geomorph sheet](https://docs.google.com/document/d/1iSYUASlQSaP6l7PD3HszsXSAxJ-wb8MAVwYxb9xW92c/edit)
* [Diffchecker](https://www.diffchecker.com/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gtfo-modding.gitbook.io/wiki/guides/the-newbie-level-guide.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
