| Line 39: |
Line 39: |
| | | | |
| | == Alpha 11 changes == | | == Alpha 11 changes == |
| − | TBA
| + | If you're coming from pre-Alpha 11 modding, this section will probably be relevant, as the design philosophy of software in alpha 11 is incompatible with previous versions. |
| | + | |
| | + | ===Feature evolution=== |
| | + | Features can no longer depend on each other. You can't design your software in a way that relies on features evolving or deprecating old features. Features are more abstract in Alpha 11 and relies instead on Tech levels to control their evolution. An example would be PC speaker, 8-bit audio and HD audio from Alpha 10. In Alpha 11 you just have "Audio" and its tech level determines its perceived complexity. |
| | + | |
| | + | ===Why?=== |
| | + | On a surface level this might seem like a step back in terms of gameplay depth, but it actually opens up a new layer of complexity. The old system wasn't really deep in any meaningful way to begin with, since the player would always end up just pressing "Select all" and none of the intricacies of the feature dependencies were very obvious or satisfying. Some benefits of the new system include: |
| | + | * The player will never run out of new features |
| | + | * The player will never run out of things to research and there will always be research available |
| | + | * The complexity has been moved from obscure interdependencies to several new systems the player can actively engage with |
| | + | * The tech level system is a steppingstone to adding the updates/expansion mechanic, which would not have been possible with the old feature system |
| | + | |
| | + | ===Moving forward=== |
| | + | Features should be a lot more abstract than before. They should represent aspects of a product that appeals to different submarkets to various degrees, rather than very time period specific add-ons. The game is balanced towards the player deciding on which markets they want to target and selecting features that fit that goal. Ideally you would have features that doesn't always fit in a product, which the player would want to leave out. Features that should always be present, like Audio playback, are represented as "SpecFeatures" or specialization features, which can be specified as mandatory and work as containers for other features with the same specialization. |
| | | | |
| | == Software types == | | == Software types == |