Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Question about Mapping/Floor Levels
(08-30-2022, 01:27 PM)GCGunther Wrote: Hello! I'm not a mapper myself, but have always wanted to pick it up some time in the future. While I was brainstorming, I had an odd thought come to mind that I realise none of our maps have:

Why is it that there are no other floors to a ship, such as only having ground floor (1st floor)?

Personally, I don't know the reason. I was afraid of this being a dumb question since I have no knowledge of the software that Mappers use.  How difficult would it be to even implement this into a future ship map?

It's doable, and other stations do it, (I think) but there isn't much of a precedent for functional multi-level maps on goonstation.

Multi level maps are something I've wanted to try it out since I've taken an interest in mapping, but to make this you'd also need a strong foundation in coding.

Here's a list of the things we might need to account for:


1. Multilevel Flooring

We'll start here

If the the floor of an upper level is destroyed by something like a bomb, we would have to account for what is on a lower level as well.

Destroyed upper level flooring would need to display what is on the level beneath it, whether this is displayed in real time or not. Additionally we would need to be able to properly represent to players that there is a hole in the flooring leading to a lower level. Then, players would need to be able to go down through these holes in the flooring.

This would all be entirely new code, and prone to bugs.

2. Multilevel Atmospherics.

Lets say all of the problems in 1. are solved. We would then need to account for one of the biggest coding pains: Atmospherics, or how air is handled on the station. I don't think I need to go into intense detail, but if there were a hole in the flooring of an upper level, and then a breach in an accessed lower level, all that upper level air would need to be sucked out.

We'd also need to do the opposite, where gases from plasma tanks find their way into higher floors, or perhaps certain gases would be heavier and would sink to lower floors. Also entirely new code.


3. Multilevel Power

Right now the electricity system is kind of jank. Currently, I think the engine just apcs directly and ignores actual cabling, but I could be wrong.

Whoever decides to develop this multilevel code would need to look into the scary electricity code, but beyond that I think it'd be similar to how ladders are currently set up, with one Z-level cable being linked to another.

There's also things like computer mainframes which I know nothing about because it's so obscure, and the few other uses for cabling like powersinks and electrified grills.

4. Multilevel Explosions

If I bomb something on a lower level, does it destroy things on a higher level? How bombing on higher levels, does it destroy the lower levels? I could see this having a lot of depth for antag gameplay, with antags setting up TTVs below or above certain key departments, but we have hit yet another of those hard to code things. (Three for three)

Explosives are notoriously a pain to set up/balance, and adding in a third dimension would mean having to reconfigure all explosives we currently have + all explosives added in the future.

So we'd have entirely new code with 3D, then we'd have to redesign large amounts of current code, and then all future code would also need to account.

5. Multilevel Fluids

Generally the same deal as multilevel atmos, though fluids currently do not flow into breaches. The code for this would likely follow something similar to how drains are currently set up, but then instead of deleting the fluid, it'd send it to a lower level.

6. Multilevel Antagonists

Real questions: If we have multilevel stations, are wraiths going to have to take the elevator?

This is yet another big problem. Currently, most antagonists are designed to function in two dimensions exclusively, no z-level shenanigans.

As an example, Blob; We'd need to develop a way for blob to go up and down through holes in flooring, we'd need blob to be able to go down through whatever means players are able to go down (elevators?) It'd also kind of suck to keep track of multiple levels as blob, because you would be forced to watch the Z-Levels to prevent some some random staffy digging up through the floor beneath your nucleus.

Then for arcfiends; they travel through wires, so they'd also need to be able to travel through the Z level wires.

Flock is currently being developed, and is almost entirely AI driven, so the code around that would need to be set up in a similar but completely different way from blob to allow for NPC drones to path in 3D.

There's probably more but this could be its own full comment. It's all new code.

7. Multilevel Mapping

Mapping is already a pain, this is a fact. If one were to design a multilevel map, they'd actually have to develop two different maps, because you'd need one for each Z-level. Additionally it's just a huge mental challenge to properly balance something with multiple levels. Like medbay needs to be close enough to everything but still far enough away so antagonists can actually kill people.

Planning this would just be hard, though current mapping tools DO support multiple Z-levels,so that is a point in favour.

8. Multilevel Miscellaneous Stuff

Sounds would need to be reworked.

The jank AI map button would need to have multilevel functionality.

Incorporeal entities would need to have a way to travel between levels.

Pods. Can a pod in a higher Z-Level see a pod in a lower one? Oh god I hope not. (But probably yes) Pods would also need to be able to travel up and down.

If an antagonist breaks/blocks the elevators or stairs or whatever is used, how do we get up and down floors?

Stuff like breaking the tiles above you would need to be added.

You are in a pitch black room, there is a hole in the ceiling above you, the room above you is fully lit. Does light carry between levels?

Literally all critter AI now needs to account for players being able to go up and down Z levels.

Disposal pipes. I think there is actually a pipe that works between z-levels, but who knows if it works, no one uses it.

Pathology if it ever gets re-added

The admin oceanify/terrainify buttons


The Singulo (Imagine you're just minding your own business when suddenly the bigulo goes up one Z level, bursting into the floor you are working in, consuming everything in its path including you. No warning, only bigulo. Comedy.)

If I use a camera viewer on an upper level floor, and it has a hole to a lower level floor, will it account for the rendering of the hole to the lower floor? Too bad, it'll have to!

Can you imagine the poor janitor who finds a pool of blood and bloody footprints leading to a hole in the floor? Guess what jani, you can either break your legs jumping down, or go the long way just to clean that multilevel mess.


These are the initial things we'd have to solve to get around multilevel mapping. It IS possible, but we have no precedent for multilevels, so this would be like... months of work?

From a team of people, this would be a significant amount of time invested just to get the ball rolling. But even if a fully completed project were PR'd and put into voting pool, there would yet again be more months of fixing bugs as they are found.

Then after all of the bug fixing is done for this newly added map, coders in the future would be forced into working multilevel crap into their own projects, which is kind of a dick move.

In the end, it IS possible, there is just no precedent, everything here would be new territory for coding, and it would be a massive undertaking to lay down the basics. As someone interested in mapping, why would I put this burden on myself when there are still other options to explore like a cool ice moon map, or a map on mars, or one in a volcano, or one in a sea of acid...

EDIT: Holy fuck is this a pain to read. Sorry.

Messages In This Thread
RE: Question about Mapping/Floor Levels - by Washbasin - 09-04-2022, 06:23 PM

Forum Jump:

Users browsing this thread: 1 Guest(s)