|
|
| (3 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| ShiftFS is the in-game filesystem format for ShiftOS. It started out as just part of the game's lore, and took many names, but would soon become an actual RAM disk format used in the game's engine. | | [[ShiftFS]] is the in-game filesystem format for [[ShiftOS]]. |
|
| |
|
| == Lore ==
| |
|
| |
| === 0.0.x to 0.1.x (2013-2016) ===
| |
| In the introduction sequence for 0.0.x releases of ShiftOS, the operating system would format the player's C: drive and repartition it with the "ShiftFS" filesystem format. In reality, this was the game creating the C:\ShiftOS folder - the player's save file - and creating all the folders and files necessary for the in-game environment. The rest of the introduction screen would be reserved for creating the illusion of installing an operating system on the player's drive, well after this save directory was generated. | | In the introduction sequence for 0.0.x releases of ShiftOS, the operating system would format the player's C: drive and repartition it with the "ShiftFS" filesystem format. In reality, this was the game creating the C:\ShiftOS folder - the player's save file - and creating all the folders and files necessary for the in-game environment. The rest of the introduction screen would be reserved for creating the illusion of installing an operating system on the player's drive, well after this save directory was generated. |
|
| |
|
| In ShiftOS-Next builds, the game would reference this in-game filesystem format as "ShiftFS_Ultra," as a reference to Michael's earlier ShiftOS-like game, UltraDOS - which served as the foundation for ShiftOS-Next's codebase.
| | This filesystem format allowed the game to sandbox its filesystem outside of the host computer's. This meant that the player truly could not go above ShiftOS's root folder, a feature in 0.0.x. |
| | |
| === 1.0 (2016-2017) ===
| |
| In ShiftOS 1.0, ShiftFS became an actual RAM disk format. This means that ShiftOS would reserve an area in your system's memory for an in-game filesystem where you could store files. The game would only mount this RAM disk when you played the game, and would dismount it when you exit - writing it to a file on your actual drive, called "ShiftOS.mfs"
| |
| | |
| The .mfs file extension signified that the filesystem was ACTUALLY stored in the "Merloc File System" format, a JSON-based filesystem image format written by ShiftOS developer '''cjhannah''' for the game.
| |
| | |
| == Merloc FS ==
| |
| | |
| === Advantages over C:\ShiftOS ===
| |
| This filesystem format allowed the game to sandbox its filesystem outside of the host computer's. This meant that the player truly could not go above ShiftOS's root folder, a feature in 0.0.x. While in 0.0.x this feature was hacked in to prevent the player from accessing their real life filesystem in-game, ShiftOS 1.0 and MFS actually had a technical reason for doing this. | |
| | |
| Moreover, because the filesystem was mounted in RAM, read and write speeds were PHENOMENALLY better. Furthermore, the game would take on a COSMOS-style path format, eliminating "C:\ShiftOS" from all path strings in the UI and replacing them with "0:/" to create a feeling of immersion within the OS.
| |
| | |
| === Memory usage concerns ===
| |
| Because the filesystem was JSON-based, the game would have to fully load the filesystem into memory in order to access it. JSON is not a streamable serialization format, meaning ShiftOS could not just seek around the filesystem - like a real-life hard drive would do.
| |
| | |
| This meant that, among other issues, the game would consume tons of RAM keeping the filesystem loaded. It also meant that your disk space was directly limited by the amount of RAM you have.
| |
| | |
| === Derivatives ===
| |
| The most notable derivative of MerlocFS is PlexFS, a format created by Declan Hoare in late 2017 for The Peacenet. While retaining the same API as MerlocFS/ShiftFS, it would address the memory usage concerns and memory limitations by storing the disk image in a streamable format. This also meant it was no longer a RAM disk, and worked more like a traditional disk image file - like that of a VHD or VMDK file, used for real-life hypervisors like VirtualBox and VMware Player.
| |
| | |
| However, the disk space was limited to 512 MB to prevent players from overtaking disk space on the now defunct Peacenet multiplayer servers.
| |