---
# System prepended metadata

title: MultiZ planning doc

---


# TGMC MultiZ planning 
## What is Multiz
Multi-z is the seamless integration between an "above" and a "below" zlevel, and can be multiple zlevels. This means that things above can fall down below seamlessly without shuttles, and you can go up stairs, ladders, etc.

This gives us another dimension to play with, including possibly adding flying to the game. Since TG already has a decent framework we should focus on adopting their framework while changing it to our needs.

## Requirements

### TG Plane cube
Iteration on my render plate system we currently use. Basically staggers planes by Z to make them look batter
Concern: performance. TG has a pref setting for this, but we should monitor it anyway.

### Zpillars
Basis of tg's multiz stuff

### Remove hardcode on z levels 2 and 3 where still present
This should use the zlevel traits instead, possible points of issue are:
- Shuttle code
- OB/railgun
- AI code
- Overwatch?
- Minimap?

### Sound needs the multi-z code
see playsound() on tg

### Multiz explosions
See tg explosion code

### Multi-z pipenets and power cables
TG has code for this, but ours may need to be brought up to par to make it work

### Sentry/AI target finding
They should shoot above them

### Elevators
See also [Foreseeable improvements]

## Foreseable issues
- How do we shoot down/up?
    - Alt mouse scroll for up/down view?
    - just mouse scroll to adjust shooting elevation with s sprite change?
    - How do we decide when the bullet goes "up"?
        - https://cdn.discordapp.com/attachments/1345053436697120809/1345059939537780808/image.png?ex=67c32c2f&is=67c1daaf&hm=9dc68e3e05871a48dbcb029032b111669819e80c4ae6cd8521d9bd7cb5699ba7&
        - https://cdn.discordapp.com/attachments/1345053436697120809/1345060719451832381/image.png?ex=67c32ce9&is=67c1db69&hm=cefe885315beb217d3bd54c5074e7537fc0d46231d7d4d391a28fd4dd5236325&
        - Possibly update on hover using mousentered or similar
    - Directly click on partially transparent sprite?
- How do we see threats from above?
    - Add transparent sprite of stuff above you?
    - Render above turfs downwards at lower transparency
- How do we counter throwing down objects like grenades?
- Seeing above/below Zs with minimap?
- placing traps next to stairs like huggers/mines
- AI pathing?
- Ladder/stair camping
    - Mapping so people can go around?
    - Wall crawl so you can just go outside through a window?
    - climb up walls, or view up and leap directly up with abilities
    - Grappling hooks and mobile ladders to allow to go around? (https://youtu.be/j6E0LLx3V5I?si=3Ch0aOZH6vbJYbc-)
    - See building collapse in foreseeable improvements as a possible solution to camping in a certain place
- Jumping off roofs into caded areas
- How do vehicles interact with multiz?
- Tadpole shouldnt be able to land if theres still a roof above
- Multiz modulars
- What to do with xeno tunnels?
    - keep as is?
    - make them create actual tunnels on tunnel z?
    - What Zs can you place them on?


## Foreseeable improvements
- Add a flying layer for flying xenos, CAS and tadpole. Will make fighting these more interesting. See how mercdonalds has one
- Add collapsing buildings
    - e.g if not supports in an area it just collapses the floor
- make jetpack actually fly instead of a dash
- Tunnelling?
    - Sewer system on tunnel Z (3 tile wide)
- MultiZ maps (ship and groundside)
- Multi-z structures/building, e.g watchtower
- Crawling on the cieling?
- Trams/elevators port
    - Tadpole is an actual seamlessobject flying around
        - with door gunners
- removing the cieling var
- Add a drillevator: loud and goes through cave roofs. think deep rock galactic
- let xenos reinforce cave roofs for free at roundstart and let marines break that reinforcement
- multiz shuttles
- OB/mortar actually flying? Bunker busting mechanics?
    - Building collapses [CURSED]
- https://fixupx.com/shitpost_2049/status/1899587639206203548
    - LAUNCH TANK UP A FLOOR ITS FUNNY





## PRs to look at
https://github.com/tgstation/tgstation/pull/69115/files
https://github.com/tgstation/tgstation/pull/78877/files
https://github.com/tgstation/tgstation/pull/70162
https://github.com/tgstation/tgstation/pull/86733
https://github.com/tgstation/tgstation/pull/76208/files
/datum/component/fov_handler
https://github.com/tgstation/tgstation/issues/73094
/datum/element/weather_listener and /datum/component/area_sound_manager
/datum/component/ai_listen_to_weather (useful for ai)
https://github.com/tgstation/tgstation/pull/78908
https://github.com/tgstation/tgstation/pull/66657
https://github.com/tgstation/tgstation/pull/89868

https://github.com/tgstation/TerraGov-Marine-Corps/pull/15681
