| Line 15: |
Line 15: |
| | * '''LIST_SCOPE_MEMBERS''' X - Prints out all functions and variables available for the type X, to use when making level 3 feature scripts, [[Data Modding#Level 3 features|Read more here]]. | | * '''LIST_SCOPE_MEMBERS''' X - Prints out all functions and variables available for the type X, to use when making level 3 feature scripts, [[Data Modding#Level 3 features|Read more here]]. |
| | * '''GENERATE_LOCALIZATION''' X - Generates localization files based on the mod named X | | * '''GENERATE_LOCALIZATION''' X - Generates localization files based on the mod named X |
| | + | * '''CHECK_ADDON_MARKET''' X Y Z - Checks whether all markets are fulfilled by the add-on Z in a software type Y in mod X, which would otherwise make it impossible to sell the add-on to 100% of the market |
| | | | |
| | == In-game content == | | == In-game content == |
| | These are zip files of the software types, company types, name generators and personality types currently in the game: | | These are zip files of the software types, company types, name generators and personality types currently in the game: |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Resources.zip Alpha 8.6.1 data - 23 KB] | + | [https://softwareinc.coredumping.com/wiki/Resources.zip Alpha 8.6.1 data - 23 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Alpha9Data.zip Alpha 9.7.6 data - 35 KB] | + | [https://softwareinc.coredumping.com/wiki/Alpha9Data.zip Alpha 9.7.6 data - 35 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Alpha10Data.zip Alpha 10.1.4 data - 23 KB] | + | [https://softwareinc.coredumping.com/wiki/Alpha10Data.zip Alpha 10.1.4 data - 23 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Alpha11Data.zip Alpha 11.4.1 data - 22 KB] | + | [https://softwareinc.coredumping.com/wiki/Alpha11Data.zip Alpha 11.4.1 data - 22 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Alpha117Data.zip Alpha 11.7.1 data - 22 KB] | + | [https://softwareinc.coredumping.com/wiki/Alpha117Data.zip Alpha 11.7.1 data - 22 KB] |
| | | | |
| − | [http://softwareinc.coredumping.com/wiki/Beta1Data.zip Beta 1.1.1 data - 34 KB] | + | [https://softwareinc.coredumping.com/wiki/Beta1Data.zip Beta 1.1.1 data - 34 KB] |
| | + | |
| | + | [https://softwareinc.coredumping.com/wiki/Beta13Data.zip Beta 1.3.19 data - 35 KB] |
| | + | |
| | + | [https://softwareinc.coredumping.com/wiki/Beta17Data.zip Beta 1.7.15 data - 35 KB] |
| | | | |
| | == Alpha 11 changes == | | == Alpha 11 changes == |
| Line 67: |
Line 72: |
| | |- | | |- |
| | |Category | | |Category |
| − | |How the field of the software will be referred to in articles, e.g. games are categorized as "Gaming" | + | |'''Deprecated as of Beta 1''' How the field of the software will be referred to in articles, e.g. games are categorized as "Gaming" |
| | |- | | |- |
| | |Categories | | |Categories |
| Line 340: |
Line 345: |
| | *SoftwareProduct '''Product''' | | *SoftwareProduct '''Product''' |
| | *uint '''NewCopies''' (How many new copies were added to stock, this is read-only) | | *uint '''NewCopies''' (How many new copies were added to stock, this is read-only) |
| | + | |
| | + | ==== Networking ==== |
| | + | Level 3 features can also use the RunType value to control which computer will execute the code. The value can be either of the following: |
| | + | * '''Local''', which means the script will only run on the computer for the player who owns the product (This is the default). Example: You want something to happen to the affected player's game, like launching a lawsuit or firing an employee. This needs to be done locally for the affected player, or someone else might be sued for no reason. |
| | + | * '''Host''', which means the script will only run on the current hosting player's computer. Example: You are only calling methods which are synchronized between players, like adding bugs or money. These can be run locally, but any online synchronized methods will be faster to run for the host machine. If you are unsure, using Local will be fine, but if you run a synchronized method using the '''Everyone''' RunType, the method will get called multiple times. E.g. if you are adding money to a company, then that money will be added again to the same company for each player connected. |
| | + | * '''Everyone''', which means the script will run for every player connected. Example: You are directly changing aspects of the product (like the price) or a company, by altering the value of local variables, which will not be synchronized by default, so you want the script to run for all players in the game, so everyone is on the same page. |
| | + | |
| | + | |
| | + | Note that the RunType value is only valid for the EndOfDay, OnRelease and NewCopies entry points. AfterSales is only ever executed for the host and WorkItemChange is only ever executed for the local player. |
| | | | |
| | ==== Script example ==== | | ==== Script example ==== |
| Line 369: |
Line 383: |
| | |- | | |- |
| | |Unlock | | |Unlock |
| − | |Which year this software category will unlock, e.g. <Unlock>1995</Unlock> | + | |Which year this software category will unlock, e.g. '''Unlock 1995''' |
| | |- | | |- |
| | |Popularity | | |Popularity |
| Line 391: |
Line 405: |
| | |NameGenerator | | |NameGenerator |
| | |The [[Data Modding#Name generators|name generator]] to use for simulated companies or for when the player clicks the name button in the design document. | | |The [[Data Modding#Name generators|name generator]] to use for simulated companies or for when the player clicks the name button in the design document. |
| | + | |- |
| | + | |} |
| | + | |
| | + | === Add-ons === |
| | + | Add-ons are defined in the software root table as an '''AddOns''' node with a list of add-on tables. Add-ons are either software or hardware based, which depends on the categories that support it. Software categories that uses a specific add-on should all either be hardware or software based. Add-ons can be limited to certain categories of the main software type. |
| | + | |
| | + | Hardware based add-ons are peripherals and function differently than software add-ons in that other companies can make them for each other's hardware and a single customer can buy the same peripheral several times. |
| | + | |
| | + | ==== Values ==== |
| | + | {|class="wikitable" |
| | + | |Name |
| | + | |This is the name of the add-on |
| | + | |- |
| | + | |Description |
| | + | |Currently not shown anywhere |
| | + | |- |
| | + | |Unlock |
| | + | |Which year this add-on will unlock, e.g. '''Unlock 1995''' |
| | + | |- |
| | + | |Categories |
| | + | |Optional list of software categories that supports this add-on |
| | + | |- |
| | + | |OptimalDevTime |
| | + | |This optimal amount of time it takes to develop, to maximize interest, works the same as for software types |
| | + | |- |
| | + | |Retention |
| | + | |How long products keep their interest after release and how long people will use the product in months. |
| | + | |- |
| | + | |Forced |
| | + | |Whether you have to develop this add-on when develop the main product, e.g. joysticks for consoles. Only valid for peripheral add-ons. This should be a number between 0 and 1 that controls how big of an impact the quality of an add-on has on the main product's reception. |
| | + | |- |
| | + | |PerUser |
| | + | |How many times a single customer can buy this product. Only valid for peripheral add-ons |
| | + | |- |
| | + | |IdealPrice |
| | + | |How much products of this type should ideally cost at 100% quality and interest. |
| | + | |- |
| | + | |BaseFeature |
| | + | |Optional feature that is always selected, which makes it so this add-on can be developed without needing to pick any features at all. Also forces a baseline development timeline. |
| | + | |- |
| | + | |Features |
| | + | |A list of features, as with the main software type. Each feature also additionally has an optional '''MaxFactor''' number that works like a multiplier for the player, e.g. setting it to 3, means the player can multiply this features effect from 1 to 3. If MaxFactor is used, you can also use '''AmountScript''' to write a SIPL script that formats the number, e.g. '''x + " bunnies"''', will write "3 bunnies" if the player picks 3 as the factor. '''LocalizePlural('Employee', x)''' will use the plural enabled localization key based on the factor, e.g. 3 would write "3 employees". and '''Switch(x, clampBool, localizeBool, 'one', 'two', 'three')''' will pick one of the strings based on the factor value, e.g. 4 would be 'three' if clampBool is true and 'one' if it is false. Finally features can optionally define '''DependsOn''', which is a feature in the main product that needs to be present to use this feature in an add-on. |
| | + | |- |
| | + | |Manufacturing |
| | + | |The manufacturing process for peripheral add-ons |
| | + | |- |
| | + | |NameGenerator |
| | + | |The [[Data Modding#Name generators|name generator]] to use for simulated companies or for when the player clicks the name button in the add-on design document. |
| | |- | | |- |
| | |} | | |} |
| Line 422: |
Line 484: |
| | |- | | |- |
| | |BuiltInThumbnail | | |BuiltInThumbnail |
| − | |'''Optional''' 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. | + | |'''Optional''' 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, Battery, Antenna, LED or Vibration. |
| | |- | | |- |
| | |DependsOn | | |DependsOn |
| | |'''Optional''' 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 (This can be overridden by adding a HardwareFactor value to the feature with the scale you want to use), to incentivize the player to use them, so you should keep the DevTime low for these features. You should have at least one component that doesn't depend on any feature. | | |'''Optional''' 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 (This can be overridden by adding a HardwareFactor value to the feature with the scale you want to use), to incentivize the player to use them, so you should keep the DevTime low for these features. You should have at least one component that doesn't depend on any feature. |
| | + | |- |
| | + | |DependencyFactor |
| | + | |This can be used for peripheral add-ons to control which factor(s) are required to use this component, e.g. [1;6], means factors 1 through 6 are needed, but just writing 2 means the exact factor '2' is needed. |
| | |- | | |- |
| | |Price | | |Price |
| Line 444: |
Line 509: |
| | |- | | |- |
| | |} | | |} |
| | + | |
| | + | ==== Hardware Designs ==== |
| | + | You can add a '''Design''' record to reference one or more hardware designs to be used for products of this type. You either specify a single hardware design, a list of designs, a list of designs with an unlock year or anything in between, e.g. '''Design [ "CellPhone"; [ "SmartPhone" ; 2000 ] ]''' |
| | + | |
| | + | You can also limit which MeshObjects can be used in a HardwareDesign based on which features the product has. Just add one or more '''FeatureBinding''' records, containing a list formatted as '''[HardwareDesign, MeshObject, Feature]'''. |
| | + | |
| | + | Check out more here: [[ Hardware Design ]] |
| | | | |
| | ==== Example ==== | | ==== Example ==== |
| Line 520: |
Line 592: |
| | ] | | ] |
| | '''FinalTime''' <span style="color:blue">2</span> | | '''FinalTime''' <span style="color:blue">2</span> |
| | + | '''Design''' [ <span style="color:blue">"CellPhone"</span>; [ <span style="color:blue">"SmartPhone"</span> ; <span style="color:blue">2000</span> ] ] |
| | + | '''FeatureBinding''' [ <span style="color:blue">"CellPhone"</span>; <span style="color:blue">"Antenna"</span>; <span style="color:blue">"Networking"</span> ] |
| | } | | } |
| | | | |
| Line 581: |
Line 655: |
| | |Types | | |Types |
| | |The types of products the company will release and how much effort they take(Chance). 1 means they can only work one product of that software type at any given time, 0.25 means they would be able to work on 4 of it at a time. You can define a category for each type, otherwise a random will be chosen from the categories available from the software type. You can also add the record '''Force True''' which will make the game force a product out immediately when the game starts, if possible, which is currently used to make sure there is an OS available on day 1. | | |The types of products the company will release and how much effort they take(Chance). 1 means they can only work one product of that software type at any given time, 0.25 means they would be able to work on 4 of it at a time. You can define a category for each type, otherwise a random will be chosen from the categories available from the software type. You can also add the record '''Force True''' which will make the game force a product out immediately when the game starts, if possible, which is currently used to make sure there is an OS available on day 1. |
| | + | |- |
| | + | |Addons |
| | + | |Optional list of tables with '''Software''', '''Addon''' and '''Chance''' records, which is this companies chance of developing the specified '''hardware''' add-on of the software type for another company's '''hardware''' product. Companies will by default create add-ons for their own products. |
| | |- | | |- |
| | |NameGen | | |NameGen |
| Line 606: |
Line 683: |
| | Software "3D Editor" | | Software "3D Editor" |
| | Chance 1 | | Chance 1 |
| | + | } |
| | + | ] |
| | + | Addons |
| | + | [ |
| | + | { |
| | + | Software "Operating System" |
| | + | Addon "Joystick" |
| | + | Chance 0.05 |
| | } | | } |
| | ] | | ] |
| Line 648: |
Line 733: |
| | Personality values include: | | Personality values include: |
| | {|class="wikitable" | | {|class="wikitable" |
| − | |Personality
| |
| − | |This is the root table
| |
| − | |-
| |
| | |Name | | |Name |
| | |The personality's name as it appears in the game. | | |The personality's name as it appears in the game. |
| | |- | | |- |
| − | |WorkLearn | + | |Traits |
| − | |Between -1 and 1, where -1 is hard working and 1 is easy learner. | + | |Should be either a good and a bad trait or a neutral trait. See traits below. E.g. [ WalkItOff ; SlowEater ] or [ Detached ] |
| − | |-
| |
| − | |Social
| |
| − | |Between -1 and 1, where -1 is independent and 1 is social.
| |
| − | |-
| |
| − | |LazyStress
| |
| − | |Between -1 and 1, where -1 is lazy and 1 is stressed.
| |
| | |- | | |- |
| | |Relationships | | |Relationships |
| Line 669: |
Line 745: |
| | | | |
| | The Incompatibilities list should contain a list of personality pairs that are incompatible, meaning they cannot exist in the same person. | | The Incompatibilities list should contain a list of personality pairs that are incompatible, meaning they cannot exist in the same person. |
| | + | |
| | + | === Traits === |
| | + | * '''Good traits''': FastLearner, Independant, BigBrain, Humble, Capacitor, WalkItOff, ThisIsFine, Skyscraper, Sunshine, RGBThumb |
| | + | * '''Bad traits''': Stressed, Hypochondriac, SlowEater, NervousBladder, BumLeg, Forgetful, Cupholder, NeatFreak, SilentButDeadly, WalkInstead, UnderTheWeather, OldSole |
| | + | * '''Neutral traits''': NightOwl, BornLeader, FirmwareInc, SuperFocus, Unphased, JustTheFlu, Detached, Watch |
| | + | * '''Traits that also work for the founder''': FastLearner, BigBrain, RGBThumb, BornLeader, FirmwareInc, SuperFocus, BumLeg, Forgetful, Cupholder, Watch, SilentButDeadly, WalkInstead, OldSole, Capacitor, ThisIsFine, Sunshine, Skyscraper, Detached, NeatFreak, UnderTheWeather |
| | | | |
| | === Example === | | === Example === |
| Line 677: |
Line 759: |
| | { | | { |
| | Name TestPersonality | | Name TestPersonality |
| − | WorkLearn 1 | + | Traits [ WalkItOff ; SlowEater ] |
| − | Social -1
| |
| − | LazyStress 0.3
| |
| | Relationships | | Relationships |
| | { | | { |
| Line 688: |
Line 768: |
| | { | | { |
| | Name TestPersonality2 | | Name TestPersonality2 |
| − | WorkLearn -0.5 | + | Traits [ Detached ] |
| − | Social 0
| |
| − | LazyStress 0.25
| |
| | } | | } |
| | ] | | ] |