R.E.P.O.R.E.P.O.wiki
One of the game's own level theme textures, named for the manor theme the generator assembles.
Picture taken from the game to identify this item; it remains the property of the developer.

Maps and levels · R.E.P.O. v0.4.0 · read from a local copy

How a level is put together

A level is kept as its own description with a module count, a passage limit and a note about enemies.

A level in R.E.P.O. is assembled rather than hand-placed: the game keeps a description of each level and then builds the map through a fixed sequence of stages before anyone is let loose in it.

What the game establishes

In play

A level starts life as a description rather than as a map. The game keeps each level as its own record with a module count, a passage limit, a note about whether it holds enemies, and a set of valuables it prefers.

That record says what the level is made from. It names normal modules, passage modules, dead ends and extraction modules alongside a number of special modules, and the generator draws on those when it lays the map out.

The build then runs in a fixed order. The game moves through its own stages: starting the level, loading, laying tiles, setting the start room, connecting objects, generating modules, blocking objects, spawning modules, marking level points, placing items and valuables, setting up and spawning players, spawning enemies, and finally finishing.

Not every level is a run. The game separates ordinary levels from run levels, the tutorial, the lobby, the main menu, the shop and recording, so the same generator ends up serving several different purposes.

A level is not one set of pieces. The modules it is made from are numbered by depth, so there is a first set of normal, passage, dead-end and extraction modules and then a second and a third, which is how a deeper run is built from different material rather than the same rooms again.

A level also has a name and a look of its own. It carries a narrative name and a translation of it, an object to connect and one to block, and its own loading graphics, so the level is presented as a place rather than as a result.

How it feels to be in is data too. Fog colour and where the fog starts and ends, an ambient colour with adaptation, colour temperature and filter, bloom, lens distortion and a vignette are all recorded per level, which is why two maps can be lit and graded differently by the same game.

The points in a level know each other. A level point records what it connects to, both the module it belongs to and the other points it joins, and the build keeps a list of all of them with a debug mesh that can be drawn when the layout is being checked.

The generator has dimensions of its own as well. It carries a width and a height, path points and a truck path, three difficulty curves and two prefabs for the player, one for the death head and one for the tumble, along with a flag for having generated and separate parents for the level and for the items it creates.

The way out is part of the map rather than a button. An extraction point is a placed thing with its own area and its own sounds, which is why escaping is something the crew has to find.

What this entry does not tell you: how large a level is, how many enemies appear, or the odds of any particular layout. We have not verified those numbers, so we do not print them.

Related

Version and sources

A local copy of the game, read only. Identifiers are listed on the technical reference pages; nothing here is estimated. Documented build: 0.4.0.