SCP-like facility map generator How to use?
SCP: Containment Procedures uses this map generator
CLI version (needs update to current version)
Unreal Engine Version (needs update to current version)
Unity (Coming soon...)
- If your project is licensed under CC-BY-SA 3.0, CC-BY-SA 4.0 or GPL 3 (e.g. SCP - Containment Breach remake), the Author grants You permission to relicense the code under mentioned licenses.
- Random generation (Both layout and not layout (AStar) based, can be switched by setting)
- Single room support (supported only in Regular and Renderer map generator)
- Large room support (supported only in Regular AStar and Renderer map generator)
- Door support (currently only in 3D version)
- Modular.
- Randomized door + assign specific door to a room
- Checkpoint support Note, that these checkpoints work differently from Containment Breach ones
- Many zone support (both in x and y directions) (currently, there is a limit of 512 rooms in a single generator node, you can increase it in code, but this may affect the performance (especcialy in 3D))
- Variable room spawn, based on room chance / guaranteed spawn.
- Seamless double rooms, (supported only in Regular AStar and Infinite map generator)
- This sample also includes room pack loader and layout saver (from GLTF to GLTF)
See MapGen comparison for more information
- Revamped double room system, and they are probably ready to be used, not experimental feature anymore! (Open issue, if you found a bug in that system!)
- Added second backend - Layout map generator, as well as re-organized backend system.
- [MapGen Room Previewer] Added different tonemappers.
- Fixed possibility of spawning two same single rooms.
- EVEN MORE PERFORMANCE!!! Lowered average map generation time to ~ 1.1 ms (both backend and 3d frontend, tested on default 8x8 map x 1 zone)
- [MapGen 3D frontend] Add HLOD support for 3D models (it is
offby default, and isoninDemo app) - [MapGen Room Previewer] Refactor scene saver; introduce new Renderer frontend to save rooms as GLTF.
- [MapGen Room Previewer] You can no longer generate gltf scene on Android (because it requires multiple file creation AND for performance)
These changes improve performance A LOT!
- [MapGen Room Previewer] Added support for Web platform (only handles preview, large >1GB ZIP files still NOT recommended to use in Web editor)
- Synchronized map generator random.
- Added support for infinite facility (tweaked backend and added new 3d front-end) (room previewer not supported for semi-infinite map generation)
- [MapGen Room Previewer] Introduced v2 package format, but v1 is still supported.
- [MapGen Room Previewer] Added lighting toggle (because Blender lights are too bright for Godot (incompatibility))
- [MapGen Room Previewer] Android support
- Added support for native GLTF load in map generator + implemented cache for this feature.
- [MapGen Room Previewer] Added zoom in-zoom out from SCP: Containment Procedures
- [MapGen Room Previewer] Added layout exporter
- No generic map generation changes (except now room scene root can be every node3d), but...
- [MapGen Room Previewer] Added room previewer, which can load room packs.
- Double room overhaul - Double room creation became easier + supported also Room2C and Room3
- Fixed some rooms could not spawn due to unduplicated resources.
- Fixed double rooms spawn.
- Added support for double rooms (currently only for hallways and X-shaped crossrooms, and only as single rooms)
- Remove outdated 2D frontend (you can create your own 2D frontend, based on 8.x code)
- Single rooms (but not large) are also affected by room chance. (3D version only!!!)
- Improved MapGen 3D frontend code.
- Finally added checkpoints!
- Room can have a specific door set (as seen in SCP: Secret Lab 14.0 and newer)
- Reworked better zone generator again (it was reverted to previous behavior, but without hanging (tried multiple seeds))
- Separated MapGeneration core from 2D and 3D version, making it more portable. Now 2D and 3D frontend are representing only room spawn, while core backend does all.
- Fixed a generation error when generating many-zone facility (especially, when zone amount was >= 4).
- Add 2D version
- Add editor icons
- Fix bug, where MapGen could not connect on X axis more than once (which lead to disconnected generation)
- Fixed too straigh map generation by created toggleable Better map generation parameter. Now the map generation looks like a SCP: Containment Breach one
- Added documentation
- Replaced SCP: Site Online rooms with cubes (for better visibility of generation)
- Zones can be horizontal, not just vertical.
- Added support for room resources in map gen (e.g. for map gen HUD)
- More straight corridors! - changed the heuristic, how map is generated.
- Added more types of large rooms (previously only endrooms were supported)
- Added SCP-CB like large room support (no more using a hack)
- Add support for custom doors, as seen in SCP: Secret Lab 14.0
- Removed SCP-CB rooms (Research, or Entrance zone)
- Rewrite the entire algorithm to new one.
- Actually, the first version of my own map generator, map generator v2 and v1 are just third-party map generators (and v2 was under unknown license)