Skip to content

[TM-ABLE] Modularized ruins#636

Open
Ossa88 wants to merge 80 commits intoPentestSS13:masterfrom
Ossa88:modularized_ruins
Open

[TM-ABLE] Modularized ruins#636
Ossa88 wants to merge 80 commits intoPentestSS13:masterfrom
Ossa88:modularized_ruins

Conversation

@Ossa88
Copy link
Copy Markdown
Collaborator

@Ossa88 Ossa88 commented Mar 20, 2026

About The Pull Request

Original Creation Date: December 20, 2026 - Janurary 14, 2026

The Old Times~

So mappers have a few tools to create randomization in a ruin. Maybe toss a few random loot droppers, or a randomizer which only has a chance to spawn a item.

The problem with all these systems is that the map its self is known and locked. You know that in this ruin, on this table, there will be a upgraded medical tool. You might not know what tool it will be, but you know it will be there.
You visit one space mall, you visited them all....

But what if, you hadnt?

The New Times~

This system allows mappers to create entire rooms that can be swapped and rearranged based on a trait system.

Mappers create a parent ruin, and carve out the areas that want to be randomized. Maybe a hallway, maybe a shop, or even more.
Though the use of mapping helpers they advise the system where a modularized room needs to go, they give it rules for its spawning. It must have X Y and Z, it should never have A B, it has to be 5x5 in size.
They then create multiple of the smaller ruins, or even use some of the ones already made, that meet the requirements for their ruin.

After applying a very cleverly named variable to the parent map path also known as this_ruin_uses_modular_rooms = TRUE the ruin will now automatically detect the mapper helpers, and swap in rooms after the ruin has spawned.

What if a mapper wants... More control~

Further, if a mapper wants, they can utilize a door helper system.

The door helper system allows a mapper to place mapper helpers on doors, or even busted windows or holes in walls, to denote places where a player might naturally get into the room.

Then in a modularized room, they place a second mapper helper to denote "this is a logical place" for a wall/door/hole to connect into.

What this means is if you place a camera on a wall, clearly you should not place the market in that space as that would not be a logical entry point into the room.

The system then automatically detects if a modularized room, has markers in defined in the area. If it detects these then it applies a second layer to the room selection logic. Such that it will only find rooms which logically line up the door marker to the valid entry point marker.

Why It's Good For The Game

It creates more unique ruins.

By accident I did the following to SpaceMall

The Space Mall has 10 bedrooms, previously only 2 maybe 3 were unique. The rest were copy paste.
I made 10 versions of the 2x2 bedrooms. Each one is unique, some with loot, others none.

This alone created... 10,000,000,000 fully unique versions of the SpaceMall.

I then modularized 9 shops.
3 of which were already 6x6, and I created a 4th 6x6 ruin.

This means... at the present moment...
Unless I am doing my math wrong, this means there is currently...

480,000,000,000 unique variations

While yes, this is big... the overall appearance of the mall is the exact same. The differences are currently isolated to individual stores and bedrooms. Meaning that you actually need to visit the rooms as you never know exactly what is inside each room.

This value will only get bigger as more maps are created.

Final Thoughts

Also, something I thought I would mention as it is rather silly.

In my testing I found that this only increased load time for the space mall, by .5 seconds. Now this will need to go up against actual players, but currently it does not appear to be demanding much of a load on my local test machine.

Current Modularized Ruins

Beach Ruins:
Pirate Fishing Hut
. 3x Variations of the smaller rooms
. 2x Variations of the kitchen area

Pirate Treasure Cove:
. 2x Variations of the Pirate boat
. 2x Variations of the Cave system

Space Ruins:
Syndicate Battle Sphere
. 2x Variations of each the NW NE SW SE quadrants.
Spacemall
. Bedrooms
. Shops

Changelog

🆑
add: modularized ruin system for more randomization.
/:cl:

Ossa88 added 2 commits March 19, 2026 19:27
…ct... also will need to verify nothing else was accidently removed with pentest.dme reset
@Ossa88 Ossa88 marked this pull request as draft March 20, 2026 02:47
@Ossa88 Ossa88 marked this pull request as ready for review March 21, 2026 10:17
@Ossa88 Ossa88 changed the title [DRAFT] Modularized ruins [TM-ABLE] Modularized ruins Mar 21, 2026
@Ossa88
Copy link
Copy Markdown
Collaborator Author

Ossa88 commented Mar 23, 2026

According to the test, the spacemall_modular has a double atmos, so might need to verify I did not do something wrong when updating the spacemall_modular to be asteroid map gen compatable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant