Menu
This is my second Prison Architect cheats, tips and advice column.The last time I wrote one was three months ago and, in that time we've received two more Alphas. I've also added another 90 hours of playtime to the game. If you've platyed it you know that commitment isn't as crazy as it sounds.
The prison is named prison 201, because of its holding capacity. I did not use any hacks or tricks, just time and workshop money. Valued over 1 mil. with 3000+ hours of time without incident. The prison can be run without needing to touch anything, occasionally a few janitors or gardeners get stuck but it's not a big deal. Run on alpha 5. NO CONTINUOUS INTAKE. But yes fog of war. Here is the video link if you want a run through and tour of the prison. (AKA Prison 201) http://www.youtube.com/watch?v=iIVrQZIWLpw
It is in end game stage, so the save file is really just a reference or if you want to mess around.
Otherwise, here's a few pictures with the save file at the bottom. Reply for questions, advice, and feedback! Thanks
The Yard.
The Canteen.
Save File: https://docs.google.com/file/d/0B5PwnBE ... RVQVk/edit
This article is about the Prison Architect save file Format '.prison' file. Its aim is to document every parameter of the save file.
The save file consists of organized, human readable text, and can be edited with a basic text editor. Editing the save file can be used to change some settings, hack in something, fix some glitches & bugs, and of course, to cheat.
Basics and FormatEdit
Prison Architect is a 2D game. It uses X and Y coordinates in a grid format. In game, X is left-right, Y is top-bottom. The save file contains 'Head' entries followed by multiple 'BEGIN ... END' block entries. Some of those entries have more 'BEGIN ... END' block entries inside them.
.prison Edit
The .prison format is the way games are saved in Prison Architect. They are very simply put, just .txt files. The .prison file defines all features of a prison, including the progress of Research and the daily Regime.
Location Edit
Save files can be found from the main menu in Prison Architect by selecting the 'Open Save Folder' option. Alternatively, save files can be found in the following locations, depending on the operating system being run and the version of the game installed (e.g. Steam vs standalone):
OS | Location |
---|---|
Windows (General) | %localappdata%IntroversionPrison Architectsaves |
Windows (XP) | C:documents and settingsyour-usernamelocal settingsapplication dataintroversionprison architectsaves |
Windows (Vista or 7) | C:usersyour-usernameappdatalocalintroversionprison architectsaves |
Mac OS X (10.6+) | ~/Library/Application Support/Prison Architect/saves/ |
Linux | ~/.Prison Architect/saves/ |
General Concepts Edit
Each object is given an Id.i and an Id.u, which are two separate identifier numbers. Id.i is unique to that object type while Id.u is unique to the whole game. The next Id.u to be used is stored as ObjectId.next.
Format Edit
Header Edit
.prison files begin with a header of basic information.
Some of your entries might be missing. This happens when they match their default value. You can still add them manually to the save file if you wish to change it's value.
Some of your entries might be missing. This happens when they match their default value. You can still add them manually to the save file if you wish to change it's value.
On the forums, Chris has stated that adding the text below will make it so 'All materials will be delivered by truck, and your workmen will spend a lot of time unloading them. Workmen will no longer be able to teleport materials around'
NumCellsX specifies the width of the game area and NumCellsY specifies the height of the game area. When altered to a larger number, the map increases downward and to the right, the defined number of tiles. When the size is decreased, all items that were beyond the edge of the map are visible on the very edge of the newly sized map. If the map is increased once again, the original positions of the items are retained.
- Version
- Description: Version of Prison Architect that the save file was created with.
- Default value: [Current game version]
- Value type: text
- Example value: alpha-6
- NumCellsX
- Description: Size of the map from left to right. This includes any purchased land as well.
- Default value: Large map = 200, Medium map = 150, Small map = 100
- Value type: integer
- Example value: 200
- NumCellsY
- Description: Size of the map from top to bottom. This includes any purchased land as well.
- Default value: Large map = 160, Medium map = 120, Small map = 80
- Value type: integer
- Example value: 160
- OriginX
- Description: Road position on map from left to right.
- Default value: 0
- Value type: integer
- Example value: 100
- OriginY
- Description: Road position on map from top to bottom.
- Default value: 0
- Value type: integer
- Example value: 80
- OriginW
- Description: Default width of the map.
- Default value: Large map = 200, Medium map = 150, Small map = 100
- Value type: integer
- Example value: 200
- OriginH
- Description: Default height of the map.
- Default value: Large map = 160, Medium map = 120, Small map = 80
- Value type: integer
- Example value: 160
- TimeIndex
- Description: Total in game time passed. 60 units is equal to 1 in-game hour. For example: a value of 1440 is 1 in-game day.
- Default value: 480.000
- Value type: float
- Example value: 30503.2
- TimeWarpFactor
- Description: How fast in-game time will go. Note: Setting it to 1.00000 would mean 1 in-game hour would pass in 60 real life seconds, setting it to 2.00000 would mean 1 in-game hour would pass in 30 real life seconds, Setting it to 0.50000 would mean 1 in-game hour would pass in 120 real life seconds.
- Default value: Large map = 0.50000, Medium map = 0.75000, Small map = 1.00000
- Value type: float
- Example value: 0.500000
- RandomSeed
- Description: Randomly generated map.
- Default value: [No default value]
- Value type: 32-bit signed integer (-2147483647 to 2147483647)
- Example value: 11656
- If this value is omitted or equal to zero, the game will generate a new positive value (although it does accept negative values in the savefile).
- SecondsPlayed
- Description: Total amount of seconds that map has been played.
- Default value: 0
- Value type: integer
- Example value: 180059
- ObjectId.next
- Description: next unique id that will be assigned to an object.
- Default value: [No default value]
- Value type: integer
- Example value: 2983450
- EnabledElectricity
- Description: If set to false, you will have unlimited electricity. You won't need electric cables or a power station.
- Default value: true
- Value type: boolean
- Example value: false
- EnabledWater
- Description: If set to false, you will have unlimited water. You won't need pipes or a water station.
- Default value: true
- Value type: boolean
- Example value: false
- EnabledFood
- Description: If set to false, cooks will not cook or serve food. Prisoners will get hungry and will complain about it, though.
- Default value: true
- Value type: boolean
- Example value: false
- EnabledMisconduct
- Description: if set to false, prisoners will not riot or break prison rules.
- Default value: true
- Value type: boolean
- Example value: false
- EnabledGangs
- Description: If set to true, some prisoners will be in gangs and join in fights together.
- Default value: false
- Value type: boolean
- Example value: true
- EnabledDecay
- Description: If set to false, everything would stop getting dirty and dirty things will stay clean once cleaned. (Cell's Con will stop going down). Note: Blood from fights will still show up.
- Default value: true
- Value type: boolean
- Example value: false
- EnabledVisibility
- Description: Determines if FOW(Fog Of War) is on or off.
- Default value: true
- Value type: boolean
- Example value: false
- ImmediateMaterials
- Description: If set to false, all materials will be delivered by truck and Workmen will no longer be able to teleport materials around.
- Default value: true
- Value type: boolean
- Example value: false
- EnabledIntake
- Description: Determines if continuous intake of prisoners is on or off.
- Default value: true
- Value type: boolean
- Example value: false
- EnabledEvents
- Description: If set to true random events will pop up while you run your prison. If set to false you wont get said events. Can be toggleable ingame through only the 'Create New Prison' prompt.
- IMPORTANT: If you set 'EnabledEvents' to 'false' while you have an event currently running. That event will stay on your todo list indefinitely. In order to remove these events, press Ctrl-F and try finding the exact line 'BEGIN Events'. Then delete the text between 'BEGIN ActiveEvents' and the 'END' tag associated with it (Not neccesarily the first 'END' that comes after it!). Remember to delete the 'BEGIN ActiveEvents' and its 'END' tag as well.
- Default value: false
- Value type: boolean
- Example value: true
- ObjectsCentreAligned
- Description: (Unknown)
- Default value: true
- Value type: boolean
- Example value: false
- FailureConditions
- Description: Determines if failure conditions is on or off.
- Default value: true
- Value type: boolean
- Example value: false
- FoodQuantity
- Description: Determines the amount of food quantity in the prison.
- Default value: 2
- Possible values: 1 = Low, 2 = Medium, 3 = High.
- Value type: integer
- Example value: 3
- FoodVariation
- Description: Determines the food variety in the prison.
- Default value: 2
- Possible values: 0 = None, 1 = Low, 2 = Medium, 3 = High.
- Value type: integer
- Example value: 3
- LethalForce
- Description: Determines if freefire is activated or deactivated.
- Default value: false
- Value type: boolean
- Example value: true
- BioVersions
- Description: (Unknown). Note: Even if you edit it, once you save your game it will revert to the default value of 4.
- Default value: 4
- Value type: integer
- Example value: 2
- CeoLetterRead
- Description: Determines if the CEO letter was read in that prison or not.
- Default value: false
- Value type: boolean
- Example value: true
- Intake.next
- Description: The time when the next prisoner intake will happen. (in seconds).
- Default value: 1919.00
- Value type: float
- Example value: 105599.00
- Intake.numPrisoners
- Description: The number of prisoners that will arrive at the next prisoner intake.
- Default value: 8
- Value type: integer
- Example value: 19
- Intake.reqMin
- Description: Determines if low risk prisoners are set to open.
- Default value: false
- Value type: boolean
- Example value: true
- Intake.reqNormal
- Description: Determines if normal risk prisoners are set to open.
- Default value: true
- Value type: boolean
- Example value: false
- Intake.reqMax
- Description: Determines if maximum risk prisoners are set to open.
- Default value: false
- Value type: boolean
- Example value: true
CellsEdit
This entry stores data after the 'Header' data level. It defines what material is located in a tile location. If a map is 200x160 tiles in size, '0 0' refers to the top-left most tile, '0 1' is the second tile below the top-most tile, '199 159' will be bottom-right most tile.
The first two numbers are the co-ordinates of the cell in question.
In the above example, cell [0,0] is made of paving stones, whilst cell [0,1] is sand.
If a cell is considered 'Inside' the cell will contain an attribute 'Ind' with a value of true. This will be absent for outside cells.
Each cell also contains a reference to the Room ID and Unique Id if it forms part of a room.
In the above example, cell [0,0] is made of paving stones, whilst cell [0,1] is sand.
If a cell is considered 'Inside' the cell will contain an attribute 'Ind' with a value of true. This will be absent for outside cells.
Each cell also contains a reference to the Room ID and Unique Id if it forms part of a room.
- Mat
- Description: Materials name.
- Default value: Dirt
- Possible value: List of Materials
- Value type: text
- Example value: BrickWall
- Con
- Description: Condition of the Material. (How damaged it is).
- Default value: [No default value]
- Possible values: from 0.00000(Worst condition) to 100.00000(Best condition)
- Value type: float
- Example value: 0.00000
- Room.i
- Description: Room's ID.
- Default value: [No default value]
- Value type: integer
- Example value: 19
- Room.u
- Description: Room's Unique ID.
- Default value: [No default value]
- Value type: integer
- Example value: 779284
- Ind
- Description: Determines if the current tile is indoors.
- Default value: false
- Value type: boolean
- Example value: true
The following materials can be used: