---
# System prepended metadata

title: Modular Station Design Doc
tags: [design-doc, gooncode]

---

# Modular Station Design Doc

###### tags: `design-doc` `gooncode`

:::info
Feel free to make good-faith edits and comments to this design document as necessary.
:::

[toc]

## Introduction

:::danger
I will not, nor ever intend to, push for the introduction of this map to the regular rotation! This is an exercise in silliness, and I will not be prioritising the maintainability of any systems created as a result of implementation!
:::

You ever played *Betrayal at House on the Hill*? That board game where you slowly construct a haunted house through sticking tiles together that make up the various rooms and passages?

<center>
    
![Photo of the game in question during play.](https://cf.geekdo-images.com/Ca3K5Jwv3gh-tMpsGU2mqQ__imagepage/img/zfbAGpIwfD13CcpwHu-t0Sqz6X0=/fit-in/900x600/filters:no_upscale():strip_icc()/pic767248.jpg)
    
*Image by @Chris Barnard on Board Game Geek (July 23, 2010)*
    
</center>

Yeah, that. But what if it was a station?

## Considerations

### Features

- Generate a random station layout at runtime.
    - Depending on how performant this system is, furnishing could also be done at runtime or prefabricated rooms could be used instead.

### Challenges

- How the fuck is maintenance gonna work, if at all?
- What if the output is just consistently garbage? No point in putting in all that work to make the system if it's just not fun to play on the results.
- You're gonna have to make a lot of different department modules if you go the prefab route. Hope you like mapping!
- Oh, you don't wanna do prefabs? You're gonna have to figure out how to implement room furnishing!
- **GARBAGE DISPOSAL AAAAAAAAA**

## Implementation

