Change Log

Prototype 1.0

 * Created the game

Prototype 1.0.1

 * Patched bug involving hallways overlapping each other

Prototype 1.0.2

 * Added Aerial View

Prototype 1.1

 * Added rooms Bedroom, Forest

Prototype 1.1.1

 * Added room Eg

Prototype 1.2

 * Added rooms Garage, Classroom
 * Patched bug involving overlapping of rooms
 * Implemented Staircases

Prototype 1.2.1

 * Added room “Green”
 * Room tiers added


 * Rooms generate in randomized tiers to limit the same rooms being generated one after the other
 * Highest tier rooms: Garage, Eg

Game Changes:

 * 1. Hopefully patched a bug where players can die when in aerial view.

Technical Changes:

 * 2. Major lag improvements


 * 2a. Moved main storage from the client to the server. Rooms may load slower but better performance compensates.
 * 2b. Changed lighting settings from Voxel to Compatibility.
 * 2c. Changed CanCollide and CastShadow settings for miscellaneous parts in rooms.
 * 2d. Turned down StreamingTargetRadius from 275 to 220. Parts will unload closer to the player now; consequently long hallways won’t load in fully.

Notes:
1. When in the aerial view, instead of constantly updating the player character’s CFrame (position), we anchor the HumanoidRootPart. I don’t know why I didn’t do this to begin with.

2a. Moved all room-generation related assets from ReplicatedStorage to ServerStorage. Having all assets in ReplicatedStorage caused massive memory leaks that could have easily been avoided; ReplicatedStorage replicates everything in it amongst clients and the server, i.e. everyone gets a copy of all the rooms. The client doesn’t need all the assets as it’s not the one generating rooms. There is a noticeable performance boost due to this change.

2b. I’m not entirely sure if changing these settings will affect performance, but enabling it dropped my frames by at least 1 or 2—which is something. I’m sure it adds up when rooms are constantly being created.

2c. CanCollide and CastShadow settings will need to be taken into account when creating rooms in the future. Disabling these settings for parts that don’t need them, such as lights or small props, will help improve performance.

Game Changes:

 * 1. Added room Kitchen.
 * 2. Hopefully patched a bug where stairways would sometimes generate nothing.
 * 3. Stairway doors now always generate hallways. This includes dead-end (1 segment long) hallways.

Notes:
1. This is my first addition to the rooms catalog besides the template room. As of now, Nathaniel (GalaxyS29) has made six. I need to up my game. There’s also a 1/50 chance that the kitchen will be filled with bananas. Keep your eyes peeled.

2. This is a bug that has been plaguing my mind since stairways were introduced. I didn’t know how this happened, and I couldn’t pinpoint where. It didn’t return an error, meaning I had accidentally coded something that got rid of the room. This couldn’t be, though, because the stairway doors used the same code as the hallway doors, and the hallway doors never experienced this bug.

After running some tests, I deduced the bug was coming from the floor generation system. Stairways have paths leading up to the next floor, with two room generation doors at the top. When room generation doors call for a new room to be made, the game tries to put the new room into the corresponding floor using the Y-Position of its floor part. If the floor that the room is trying to be put in doesn’t exist, then the game creates a new one.

The evidence that pointed to the floor generation was that when I opened the stairway doors, a new floor would be created just fine; the game didn’t have trouble creating a room because the output log clearly showed that a new room had been generated properly. It seemed that the room was not put into the floor correctly and was lost somewhere. When reviewing the code, it seemed like in theory the program worked out fine, but in practice the server wasn’t quick enough to properly put the new room where it needed to be. To fix this, I simply added some redundant statements to first parent the room to the Workspace and then to the floor. (Before I had simply parented the room directly to the floor.)

3. I added this because generating stairways is rare enough (may even boost that rarity in the future) and if you generate a stairway and get only rooms, not only may that leave players disappointed but it also defeats the purpose of the stairway.

Game Changes:

 * Updated room Kitchen to have a fridge
 * Updated room Classroom to have a laptop
 * Added room Bathroom
 * Added room Storage
 * 1. Added self-closing and self-opening doors
 * 2. Added ambient sounds
 * Made footsteps quieter

Technical Changes:

 * Increased chances of a hallway
 * Decreased chances of a stairway
 * Changed door sound emitter sizes
 * Turned off ambient reverb

Notes:
1. I (CourageousJcdjzt) added this to “clean up” hallways, especially when hallways are crowded up with open doors. The doors are alive!

2. I added a bunch of Minecraft cave sounds, as well some edited FNAF and wind sounds. It’s quite rare to hear a sound, but I’m sure unsuspecting players will be a little spooked. I also added a fluorescent light hum sound. It’s hard to notice if you’re not listening for it (All Minecraft sounds come from Minecraft and are a respective trademark of Mojang Studios, all rights reserved. All FNAF sounds come from Five Nights at Freddy's and are a respective trademark of Scott Cawthon, all rights reserved.)

Game Changes:

 * Doors only close themselves after 45 seconds
 * Room “Color” parts are now neon
 * 1. Lighting changes


 * Changed lighting to be much darker
 * Lights can now randomly turn off and on
 * Lights can randomly flicker


 * Re-added ambient reverb
 * Made computer screens easier to see
 * Added room Elevator
 * Added more ambient sounds

Technical Changes:

 * Changed door sound emitter sizes
 * 2. Turned on collisions for hallway ceilings
 * 3. Now utilizing ContextActionService instead of UserInputService for user input
 * 4. Rooms unload if you are far away from them

Notes:
1. This is one of the major changes in this update. The lighting is much dimmer, and accompanied with some new sounds, it makes the game overall a bit more tense.

2. I did this to prevent people flying through the ceiling on some bizarre occasion.

3. It used to be a peeve before that when you were typing, you could sometimes switch between menus if you hit certain keys. I switched game services so now this shouldn’t happen. Thanks to Dannyftm on Twitch for bringing this to my attention.

4. Another major change, though it doesn’t really apply to the update title; this will (hopefully) reduce lag even further. However, you sometimes can’t see those rooms in Aerial View.

Game Changes:

 * 1. Players do not collide with each other anymore
 * Flickering light chances have decreased
 * Redid footsteps
 * When the lights go out, the camera has a slight blur effect
 * Added a loading screen

Technical Changes:

 * Hopefully patched a bug where rooms sometimes “flicker” between the workspace and ServerStorage
 * Hallway segments now unload with a higher distance threshold than rooms

Notes:
1. This is to (hopefully) fix an issue where players can sometimes spawn above hallways. If this doesn’t fix the bug, I might simply add more spawn locations.

Game Changes:

 * Lowered blur effect intensity when the lights turn off
 * Added a subtle black fog (more apparent when the lights are off)

Technical Changes:

 * Motorcycles despawn if you are far enough away from them (may change later to time-based)

Game Changes:

 * Added an echo to the lights-off sound
 * Made storage chemlights turn off with the lights-off event
 * Added room Modern Elevator
 * Aerial view camera height is now relative to the player

Technical Changes

 * Motorcycles are now bound to floors and their respective groups
 * Decreased chances of a stairway and its derivatives

Game Changes:

 * Added sprinting and stamina meter
 * Game tips now appear in Aerial View
 * Paintings and furniture now spawn in hallways
 * Added hallway cross-sections
 * Made hallway ends thinner to prevent wall overlap
 * Added faint post-processing lighting effects
 * 1. Modified elevator animations
 * Added zoom-in animation

Technical Changes:

 * 2. Entire floors will now unload
 * Random sounds now bind to random Parts or UnionOperations before being played

Notes:
1. I’m now using TweenService instead of continuously added CFrame values to move parts. You can’t move models using TweenService since models don’t have a Position attribute, so technically the way it’s animated is the same except for some easing. This way is more reliable, though.

2. Floors will only unload client-side, being placed in a ForTemporaryRemoval folder in ReplicatedStorage. We don’t put them in ServerStorage so the floors can still be accessed when in the Aerial View. However, when switching out of Aerial View, these floors may stay within ForTemporaryRemoval. This was added to reduce lag, but since the floors are still housed in a client-side storage base, it still might cause some lag; however I am hoping that it’s less lag to keep floors in within memory than rendering parts you can’t see.

Technical Changes:

 * Patched a small bug where cross-sections stopping generation of hallways would still print the amount of segments that were planned to be generated
 * In the output, multiple hallways generated at once by the same player will form hallway “blocks”
 * Decreased chances of higher-tier rooms
 * Increased chances of hallway cross-sections

Game Changes:

 * The skybox turns all black when the lights go out

Technical Changes:

 * 1. Reconfigured how doors work
 * 2. Added debug commands
 * 3. /generate [roomName OR upwardsName OR hallway]
 * 4. /event [eventName]

Notes:
1. In order to create the new “admin commands” feature, I had to redo how doors work in order for me to poke into the door’s functions. Everything used to be within one script, and now it is spread out across many.

2. This was something that was conceptualized for a while. Debugging commands are WHITELISTED. Only developers currently have access to these commands.

3. To use this command, look directly at a door and run this command. The door should automatically open and a room should be created. I’m planning on creating a hallway generation magnitude parameter, but I’m not sure if that will be beneficial.

4. This triggers a game event. There are only two game events right now, lights_on and lights_off.

Game Changes:

 * Fixed stamina issues upon respawning
 * Fixed players not being able to move upon respawning
 * Added room N64

Technical Changes:

 * Door scripts and CheckTouchingParts scripts disabled when their parent room unloads
 * 1. Switching to aerial view no longer anchors the player; instead it spawns a platform beneath them
 * 2. Added parameter “magnitude” to the /generate hallway command
 * 3. Upward rooms Floor2 parts are renamed to Floor after checks are performed

Notes:
1. This was added to prevent instances of falling through elevators when opening the map while the elevator was in motion.

2. This parameter only takes effect when the second parameter is “hallway.” I added this parameter in to benchmark how much the server can take, and how effective unloading rooms is when testing for lag. I don’t recommend you crank this setting over 5 as it is potentially game-breaking beyond that point.

3. This is to further prevent room overlap