ExtraCreamyMilk-InterestingLevels icon

InterestingLevels

Fresh maps that don't repeat: winding, hub and compact layouts, loops, vaults and other special rooms, rare modifiers and surprises, clutter cleanup. Works with modded valuables and keeps the haul goal reachable. Host only.

Last updated 7 hours ago
Total downloads 195
Total rating 1 
Categories Server-side Mods AI Generated Levels
Dependency string ExtraCreamyMilk-InterestingLevels-1.2.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

InterestingLevels

More varied, more interesting R.E.P.O. maps that still work with every valuable you have installed, base game or modded.

Install

Host only. Players without the mod get the host's map through the game's own networking: the host builds and checks the map, then the game sends the finished rooms and objects to everyone, including players who join late. A client who also has the mod (any version) just compares their rooms with the host's (a map checksum) and reports if they differ. Nothing is ever decided on a client, so a different or missing version can't cause a desync. Works with 1–20 players.

Requires BepInExPack only.

What it changes

Map shapes. Each level rolls a shape:

  • Winding: long and snaking, with few forks.
  • Hub: a wide central cluster with spokes going out.
  • Compact: dense and square, with short distances and lots of doors.
  • Classic: the game's own random walk, kept in the mix so maps still feel like R.E.P.O.

Loops and branches. Maps often get a second route between areas, so you aren't always walking back the way you came. Short side branches end in dead ends, which are good places for reward rooms.

Depth gradient. Rooms near the truck lean towards the simpler room variants and the more ordinary loot. Rooms deep in lean towards the harder variants and the more valuable loot. Going deeper is a choice.

Extraction points are spread out by walking distance, so they never all sit in one corner. The first one is placed fairly deep but not at the very end.

Special rooms (a few per map at most):

  • Vault: a deep dead end, often at the end of a branch, with extra valuables at the high-value end of the level's list.
  • Hidden room: a dead end off a side corridor, away from the main route, with a small bonus of small valuables.
  • Hazard room: a deep room that always gets the hardest room variant, with valuable but fragile loot.
  • Quiet room: a mid-depth room on the main route that gets the simplest variant. A calmer spot to regroup (monsters still roam).

Verticality. Rooms with stairs, upper floors and drops are picked a bit more often. The mod learns which rooms these are while you play, from the navmesh, and remembers them between sessions. Levels without such rooms are unaffected.

Map modifiers (rare, at most one per level):

  • Sprawling: a bigger map with proportionally more loot.
  • Labyrinth: more loops and turns.
  • Treasure Pocket: one vault guaranteed.

The host sees the active modifier on screen when the level starts.

Every map feels new

  • No repeated maps. Each map gets a fingerprint: rooms, connections, shape, special rooms, modifier, extraction points and the rooms the game picked. If a new map is too similar to one of the last 25 maps of the same level type, the host regenerates it with a new seed. After a few tries it keeps the most different one, so loading never stalls. The history is saved between sessions, so a new session won't repeat your last one.
  • Rotation. Shapes, modifiers, special rooms, extraction patterns (spread, deep first, ladder, left and right), opening directions and start rooms are picked with lower odds for anything seen recently. Modifiers and special rooms never repeat back to back.
  • Repeated rooms look different. Recently used rooms go to the back of the pick order. A room that comes back is turned a different way. Valuables avoid the spots they used last time, which also changes which of the game's swappable props show, because a spot that holds a valuable shows the valuable instead of the prop.
  • Rare surprises. A vault at the end of a long route, a grand open hub, or a long drop (the tallest room the mod knows of).

The game itself has no per-room lighting variants to pick from, so lighting stays as each level type defines it.

No weird clutter

The cleanup works only on objects the game keeps in sync for everyone: valuables and loose physics props. Room geometry and furniture are part of each room and are built identically on every machine, so the mod never touches them. It also never moves or removes doors, carts, shop items, enemies, players, cosmetics or extraction parts.

  • Before each valuable spawns, its spot is checked. It must not be in a doorway, an extraction area or the truck area, inside a wall or object, or on top of another valuable. A bad spot is swapped for a good unused spot of the same size.

  • After the level is built, the mod fixes, most important first:

    1. Stuck or fallen valuables, and anything blocking a doorway, extraction point or the truck.
    2. Unreachable or stacked valuables, and piles of duplicate props.
    3. Rooms over the density limit (default 14 objects), so players can move and carry big valuables.

    Valuables are re-placed into a free spot of the right size. Loose props are pushed clear of doorways, or removed if they're broken or piled up. If the pass runs over its time budget, it stops after the most important fixes and logs the rest.

  • The haul goal check runs after the cleanup, so the goal always matches what's really on the map.

  • With Debug logging on, each map logs what was swapped, re-placed, moved and removed, plus how similar it is to recent maps.

Valuables (base game and modded)

  • Catalog. On the first level, the mod logs every valuable the levels can spawn, with its size, the levels it belongs to and the mod it came from. Mods that add valuables (REPOLib, REPOLib-Sdk or any other way) all end up in the game's per-level lists, which is where the mod reads them.
  • Spawn spots. If a level is short of spots for a size its valuables need (big modded valuables often are), the mod turns spare larger spots into that size or adds new ones on open floor after a clearance check. Vaults and hidden rooms get a few extra spots for their reward.
  • Balanced mix. No single valuable mod can fill more than 35% of a map (the base game is exempt). Valuables only spawn on levels they're meant for. The game's own per-size limits still apply.
  • Broken valuables (missing prefab, no value data, impossible size) are skipped with one warning in the log, instead of breaking the level.
  • Haul goal. After the goal is set, including by other mods such as RepoRPG's player scaling, the mod checks it against the value players can actually reach from the truck. It never lets the goal go above 80% of that value.

Safety

  • A level always loads. The game's own layout step always runs first. The mod's layout replaces it only when its plan is complete and valid, and keeps the game's layout if anything fails or takes longer than 250 ms.
  • One failure doesn't stop the rest. If any step fails (special rooms, modifiers, similarity, freshness, valuables, spawn spots, cleanup, haul goal, history), only that step is skipped for that level, with one log line naming the level and seed. The game's own behaviour fills in.
  • Game updates. At startup the mod checks every game method and field it uses. If one is missing, only the features that need it turn off, and the host sees a notice once.
  • No game method is replaced. The mod uses Harmony prefixes, postfixes and finalizers only, and the original method always runs.
  • Checked before play. Start room, truck, connected rooms and reachable extraction points are checked. Valuables are fixed by the cleanup pass, and the haul goal is checked against what can really be reached.
  • Damaged files. The history file is versioned, written safely and size-limited. A damaged history or config file is set aside and rebuilt.
  • Leave-alone rules. Levels whose design doesn't fit the usual room types are left alone, as is any level on the host's leave-alone list. If another mod also replaces the tile layout, this mod keeps the game's layout (you can turn this off).

Compatibility

Mod or kind of mod Status Notes
REPOLib, REPOLib-Sdk content Works Modded valuables are found in the game's level lists and credited to their mod. Broken ones are skipped with a warning.
Valuable mods Works Get spawn spots of their size, capped at 35% of a map per mod.
Level mods (new level types) Works with notes Laid out like the game's levels when they have normal, dead-end and extraction rooms. Otherwise left as designed.
Module and room mods Works New rooms are picked by the game as usual; the mod only changes the odds and order.
Module-tier mods (e.g. HarderLevels) Works They change which room is picked; the mod's layout and tier weights apply first.
Other tile-layout mods Conflict, handled The mod keeps the game's layout and logs it (setting: "Stand down for other layout mods").
RepoRPG Works Its 5–20 player valuable and haul scaling run first; the haul goal check runs last. Elites, bosses, contracts, Scavenger and Appraiser are untouched (valuables keep their real values).
MorePlayers / bigger lobbies Works Only the host decides anything; the game sends the map to everyone.
Config menu mods (REPOConfig) Works All settings show up in game.

Settings

All settings are in BepInEx/config/interestinglevels.repo.cfg. They can also be edited in game with a config menu mod such as REPOConfig. Only the host's settings matter.

Setting Default
Layout variety on
Shape weights (winding / hub / compact / classic) 25 / 25 / 20 / 30
Loop frequency, branch frequency 0.5, 0.5
Depth gradient 0.5
Verticality bias 1.0
Special rooms on (vault 0.3, hidden 0.4, hazard 0.3, quiet 0.5 per map, max 3)
Map modifiers on, 15% per level
Valuable balancing, extra spawn spots on
Max share per mod 35%
Haul goal safety 80% of reachable value
Similarity threshold 0.7 (a map this similar to a recent one is regenerated)
History length 25 maps per level type (saved between sessions)
Max regenerations 6
Freshness strength 0.7
Surprise chance 8% per level
Clutter cleanup on
Room density limit 14 valuables and loose props per room
Cleanup time budget 30 ms
Fixed seed 0 (random). Set a number to repeat the mod's choices for testing

Turn on Debug logging to get a text picture of every map in the log.