diff --git a/src/en/space-station-14/departments/science/proposals/xenoarch-redux.md b/src/en/space-station-14/departments/science/proposals/xenoarch-redux.md index 6837ab3b7..c22891067 100644 --- a/src/en/space-station-14/departments/science/proposals/xenoarch-redux.md +++ b/src/en/space-station-14/departments/science/proposals/xenoarch-redux.md @@ -6,7 +6,7 @@ It may not fit with the new design requirements. | Designers | Implemented | GitHub Links | |-----------------|---|---| -| Thee EmoGarbage | :x: No | TBD | +| Thee EmoGarbage | :warning: Partiall | https://github.com/space-wizards/space-station-14/pull/33370 | ## Overview @@ -14,7 +14,8 @@ This proposal aims to re-imagine the science subdepartment of XenoArch and Artif This will be accomplished by changing node traversal to add more player agency, improving in-game tools for categorizing and understanding artifact structure, and adding additional equipment that makes manipulation more interesting. The ultimate goal is to redesign the system so players can better understand how artifacts work and to allow greater utility and mechanics to arise out of artifacts. -XenoArch should feel like unlocking the sprawling secrets of an artifact while additionally gaining points as a secondary reward for the research. +XenoArch should feel like unlocking the sprawling secrets of an artifact while additionally gaining points as a secondary reward for the research. Artifacts also should start being viewed not just thing that belongs only to lab, +but sometimes as useful tool for other crew members, increasing sci-to-other-departments interactions. _This redesign lends partial inspiration to Goon's artlab as well as Noita's customizable wands._ @@ -62,14 +63,56 @@ Just like the current system, all of these nodes have a trigger and an effect as However, you do not 'move' to a node like the current system, but you instead permanently unlock it like a tech tree. And just like a tech tree, unlocking a node has a cost associated with it. -The 'cost' is the activation of all of the triggers of the nodes in that path--that is, all of the nodes that needed to be unlocked in order for the current node to become available. +The 'cost' is the activation of all of the triggers of the nodes in that path - that is, all of the nodes that needed to be unlocked in order for the current node to become available. In this situation, the 'active' nodes are the nodes in each path that have the highest tier. These are the nodes that will produce effects when they are activated. -The remaining nodes are classified as 'latent'--unlocked but not creating any effects when the artifact is activated. +The remaining nodes are classified as 'latent' - unlocked but not creating any effects when the artifact is activated. All remaining nodes are simply locked and have no behavior. +### Node graph generation + +Nodes are generated by picking trigger and effect from respective pools. Effects are actual nodes (entities), while triggers are components which are applied to node. +For unlocking mechanic to work properly all triggers are made unique, which means max size of artifact is amount of different triggers we have in pool. + +**All of budget things is internal game mechanics and is not for player to view.** + +For balance we introduce concept of 'node budget'. +- Each trigger on the list gets 'budget range' and 'budget' assigned, according to how hard it is to activate by default (w/o interference). +- Each effect on the list gets 'budget range' it can match to. Some effects can scale (give more resources), giving them greater range, while others cannot. +- When rolling for trigger (and later for effect), current budget should be considered: +1. Generation budget starts with 0 on each starting node - so we roll only triggers which have '0-*' in 'Budget range' (things like using tools, feeding artifact, using water etc) +2. After picking trigger we get actual 'budget' from it (typically starting with 1500) - thats current node 'budget', then we roll for 'effect' that have this budget in its 'budget range' +3. Now we can go for next node - it can be solo (have only our previous node as predessor) or have multiple tier 0 nodes. We get 'budget' from each of them and sum it up. +Then we add const (~2000) and multiply it by current tier (so for tier 1 node its 2000, for tier 2 its 4000 etc) as virtual trigger value, and the sum will be our expected budget by +which we search trigger (by trying to fit into budget-range) for current node. If we cannot find node with correct budget range - well, then we just not +create node in this segment any further - we reached peak complexity. But if we found trigger - yay! We now can replace our 'virtual additional value' by selected trigger budget. + +Sample of process: + +We rolled tree with 2 tier0 nodes, 1 tier2 nodes and 1 tier3 node. All tier0 nodes connect to tier1. +1. We roll tier0 node from triggers with budget range 0-*, we get trigger with budget 1500 +2. We roll effect from effects with budget range which fit 1500 +3. We go to other tier0 node and repeat steps 1 and 2 +4. We calculate tier1 node virtual budget - 2*1500 (2 nodes of tier0 are direct predessors) + 2000 * 1 (its tier1 node) = 5000 +5. We roll trigger with budget range that contain 5000 (for example, trigger with range 5000->10 000) and replace virtual cost (2000) with its actual cost (for example 7500) making actual node budget 3000 (predessors sum) + 7500 = 10 500 +6. We roll effect with budget range that will contain 10 500 +7. We calculate tier2 node virtual budget - 10 500 (tier1 direct predessor) + 2000 * 2 (its tier2 node) = 14 500. +8. We roll trigger with budget range that contain 14 500 (for example, trigger with range 10 000-> 30 000) and replace virtual cost (4000) with actual cost (for example 14 000) making actual node budget 10 500 + 14 000 = 24 500 +9. We roll effect with budget range that will contain 24 500 + +### Meta-nodes + +To increase interactivity of artifacts and make them more versatile we add meta-nodes - nodes that have no effect by themselves, but change behaviour of other nodes. +They can have pretty streight-forward effect, like 'chance to not consume durability on use' or things for more mathematical approach (change position where effect going to be applied by N meters north). +Meta-nodes are rare compared to normal nodes, and to make them more special - any manipulations with them are going to be much tougher - they cannot be repaired using glue, Resequencer have higher chance of failing with them, etc. + +Such nodes won't require unlocking and will just unlock automatically after unlocking of their predessor, but they will affect activations of only those nodes that are their successors. +Meta-nodes also wont be affected by rule of 'only highest tier unlocked nodes are active nodes'. + +Meta-nodes require node activations to utilize shared context between one artifact activation. + ### Activation and Unlocking Nodes The activation of an artifact is now something that is distinct from simply triggering a node in the old system. @@ -112,13 +155,10 @@ This allows players to have a limited strategy for the nodes they want to unlock ### Handheld Scanner The handheld node scanner will be used to check information on the current active nodes of the artifact. -Clicking on an artifact with the handheld scanner will take a "snapshot" of it which can be viewed in a UI. -This gives similar info as the analysis console but is limited to the active nodes of the artifact. +Clicking on an artifact with the handheld scanner will link it to artifact which then can be viewed in a UI. +This gives similar info as the analysis console but is limited to the active nodes of the artifact and its current state. The scanner now gains a lot of utility as being able to quickly assess the state of an artifact without needing to bring it to science. -Being able to check the durability also helps when actively using the effects on the go. - -The scanner also has the ability to view the node structure of artifact fragments, which can be useful for sifting through them when trying to splice artifacts. ### Artifexium Artifexium, which previously activated artifacts, will now serve as a "dummy" stimuli when applied during an activation period. @@ -170,8 +210,6 @@ Note that the calculation for the last two points is based on the total number o If you destroy 2 nodes and then repair it by splicing 2 nodes onto it, you incur 0 penalty. To actually gain research from the artifact, you must place it on an analyzer and begin the 'research' task in the analysis console UI. -This begins a 30 second countdown where the artifact must remain on the analyzer, cannot be activated, cannot have any stimuli trigger, and the analyzer must remain powered. - -This provides an interesting window wherein sabotage and other such measures can be taken to steal the artifact or otherwise interrupt science. +Extracting points works only once per node, and uses all of node durability - so console asks for confirmation before extracting points. -At the end of this countdown, the research is added into the server and a glorious sound effect plays. \ No newline at end of file +This provides an interesting window wherein sabotage and other such measures can be taken to steal the artifact or otherwise interrupt science. \ No newline at end of file