| Line 389: |
Line 389: |
| | |- | | |- |
| | |} | | |} |
| | + | |
| | + | === Hardware === |
| | + | To turn a software type into hardware you need to add the value '''Hardware True''', which will disable digital sales and make the product easier to sell. When you toggle hardware for a software type, you should also add a manufacturing process, that defines the components that make up a product. |
| | + | |
| | + | The '''Hardware''' toggle and '''Manufacturing''' table can be added directly to the root Softwaretype table to affect all categories, or individually on categories. |
| | + | |
| | + | ==== Manufacturing process ==== |
| | + | The manufacturing table should include the following items: |
| | + | {|class="wikitable" |
| | + | |Components |
| | + | |The possible components that will make up the final product. |
| | + | |- |
| | + | |Processes |
| | + | |The assembly processes that define how components are put together |
| | + | |- |
| | + | |FinalTime |
| | + | |The time it takes to assemble the final product in minutes |
| | + | |- |
| | + | |} |
| | + | |
| | + | ==== Components ==== |
| | + | {|class="wikitable" |
| | + | |Name |
| | + | |The name of the component (This will work as an ID and key for the localization system, you should use the '''GENERATE_LOCALIZATION''' console command on your mod to generate the localization files that will be used in the UI) |
| | + | |- |
| | + | |Thumbnail |
| | + | |The path to a 128x128 pixel png file containing a "sticker". The path should be relative to the root folder of your mod. The thumbnail will not be loaded if it is not exactly 128x128 pixels. All stickers in the game use a 4 pixel white border, you are free to not add it, however it is recommended, by me, I guess. |
| | + | |- |
| | + | |BuiltInThumbnail |
| | + | |The thumbnail to fall back on in case the game fails loading your png file. Defaults to Unknown, but can be Camera, Console, Fingerprint, Gyroscope, Harddrive, Joystick, LCD, Microchip, PCB, Phone, Plastic, PlasticCase, Speaker, Thermostat, Touch, USB or Vibration. |
| | + | |- |
| | + | |DependsOn |
| | + | |The name of a feature in the software this component depends on, to be added to the manufacturing process. If the player does not select this feature, the component will be removed from the manufacturing process. The game will collapse any processes that are completely removed by this process. Note that all features that a component depends on will have its submarket satisfaction scaled by 6, to incentivize the player to use them, so you should keep the DevTime low for these features. |
| | + | |- |
| | + | |Price |
| | + | |The price of the component. Only component that are printed will actually have a cost, e.g. components that are inputs in a process, but not an output in any process. If all inputs in an assembly are removed due to feature dependencies, the price of the output in that assembly will then be used. |
| | + | |- |
| | + | |Time |
| | + | |How long it takes to print or assemble this component in minutes. You should pick a base multiplier and use that for all times, e.g. picking 4 minutes and then making all components either 4, 8, 12, 16, 20, etc. minutes, as it will make the game's optimal machine count more precise. |
| | + | |- |
| | + | |} |
| | + | |
| | + | ==== Processes ==== |
| | + | {|class="wikitable" |
| | + | |Inputs |
| | + | |A list of component inputs to this process. Note that you can only use a component as an input in one process. |
| | + | |- |
| | + | |Output |
| | + | |The output component. Again only use a component as an output once. '''Exactly 1 process should have "Final" as its output, as this will be the final assembly step.''' |
| | + | |- |
| | + | |} |
| | + | |
| | + | ==== Example ==== |
| | + | Hardware True |
| | + | Manufacturing |
| | + | { |
| | + | Components |
| | + | [ |
| | + | { |
| | + | Name Gyroscope |
| | + | BuiltInThumbnail Gyroscope |
| | + | Price 15 |
| | + | Time 4 |
| | + | DependsOn "Motion detection" |
| | + | } |
| | + | { |
| | + | Name "Rumble unit" |
| | + | BuiltInThumbnail Vibration |
| | + | Price 10 |
| | + | Time 2 |
| | + | DependsOn "Vibration" |
| | + | } |
| | + | { |
| | + | Name Plastic |
| | + | BuiltInThumbnail Plastic |
| | + | Price 5 |
| | + | Time 2 |
| | + | } |
| | + | { |
| | + | Name Board |
| | + | BuiltInThumbnail PCB |
| | + | Price 5 |
| | + | Time 4 |
| | + | } |
| | + | { |
| | + | Name Joystick |
| | + | BuiltInThumbnail Joystick |
| | + | Price 5 |
| | + | Time 4 |
| | + | } |
| | + | { |
| | + | Name "Drive bay" |
| | + | BuiltInThumbnail Harddrive |
| | + | Price 10 |
| | + | Time 4 |
| | + | DependsOn "External drive" |
| | + | } |
| | + | { |
| | + | Name Controller |
| | + | BuiltInThumbnail Microchip |
| | + | Price 100 |
| | + | Time 8 |
| | + | } |
| | + | { |
| | + | Name Console |
| | + | BuiltInThumbnail Console |
| | + | Price 50 |
| | + | Time 8 |
| | + | } |
| | + | ] |
| | + | Processes |
| | + | [ |
| | + | { |
| | + | Inputs [ "Gyroscope"; "Rumble unit"; "Plastic" ] |
| | + | Output Joystick |
| | + | } |
| | + | { |
| | + | Inputs [ "Board"; "Drive bay"; "Controller" ] |
| | + | Output Console |
| | + | } |
| | + | { |
| | + | Inputs [ "Joystick"; "Console" ] |
| | + | Output Final |
| | + | } |
| | + | ] |
| | + | FinalTime 2 |
| | + | } |
| | | | |
| | == Name generators == | | == Name generators == |