{"schemaVersion":1,"record":{"key":"mechanic/automation-programming--t113","type":"mechanic","id":"automation-programming--t113","lang":"en","title":"Logic circuits, signals and feedback","summary":"Signals measure state, conditions select responses and feedback repeats control based on the result.","updatedAt":"2026-10-22","status":"active","url":"https://gamemechanics.pro/en/knowledge/mechanic/automation-programming--t113/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/mechanic/automation-programming--t113.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/mechanic/automation-programming--t113.md","aliases":[],"tags":["Automation and programming","Mechanics and variants"],"sourceIds":["source-96be186d8ada50a0","source-8a3a7e105b6c798e"],"sources":[{"id":"source-96be186d8ada50a0","title":"Factorio: Content","url":"https://www.factorio.com/game/content","verifiedAt":null},{"id":"source-8a3a7e105b6c798e","title":"Portal","url":"https://store.steampowered.com/app/400/","verifiedAt":null}],"sections":[{"id":"principle","title":"How it works","body":"Signals measure state, conditions select responses and feedback repeats control based on the result."},{"id":"variants","title":"Variants","body":"### Mechanic variants\n\n<a id=\"t113-variants\"></a>\n\n- Thresholds start a pump at low inventory. <a id=\"t113-v1\"></a>\n- Hysteresis prevents repeated rapid switching. <a id=\"t113-v2\"></a>\n- Delays separate commands from their results. <a id=\"t113-v3\"></a>\n- Logical AND combines several permission conditions. <a id=\"t113-v4\"></a>"},{"id":"example","title":"Design example","body":"A pump starts below one-third storage and stops above two-thirds to avoid command chatter.\n\nPrototype check: Test threshold noise and measurement delay so control avoids unintended oscillation."},{"id":"context","title":"Context and limits","body":"Automation moves repeated work into a system; the player builds connections and identifies the limiting stage. Each overview separates player actions, state changes and alternative rules. Examples are hypothetical design scenarios, not claims about a named game. A prototype check states an observable question for the next iteration. Existing detailed references remain separately linked from the direction map."}],"relations":[],"placements":[{"catalogId":"automation-programming","id":"t113","title":"Automation and programming","url":"https://gamemechanics.pro/en/mechanics/automation-programming/#t113","categoryIds":["mechanics"]}],"supersededBy":[],"attributes":{"preview":{"updatedAt":"2026-10-22","title":"Logic circuits, signals and feedback","description":"Signals measure state, conditions select responses and feedback repeats control based on the result.","image":{"src":"images/mechanics/adventure-portal-04.webp","width":640,"height":360,"game":"Portal","sourceUrl":"https://store.steampowered.com/app/400/","originalUrl":"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/400/0000002586.1920x1080.jpg?t=1745368554","credit":"Valve","rights":"Game imagery © its respective rights holders. Publisher-distributed Steam screenshot; all rights reserved. Excluded from MIT and CC BY 4.0.","caption":"Buttons and indicators control a passage state","alt":"Buttons and indicators control a passage state","markers":[{"x":84,"y":59,"label":"Button in the active state"},{"x":42,"y":25,"label":"Indicator shows the condition result"}]},"tips":["Show the signal source, condition and observable result."],"examples":[{"title":"Portal","url":"https://store.steampowered.com/app/400/"}]}},"endsAt":null,"provenance":"Original bilingual editorial overviews authored for gamemechanics.pro on 2026-10-20 and reviewed on 2026-10-21. Scenarios are hypothetical design examples; prototype checks describe work to perform, not completed playtests. Primary sources support the stated techniques and implementation context, not every proposed variant.","license":"CC-BY-4.0","codeLicense":"MIT","attribution":"gamemechanics.pro contributors","catalogKey":"catalog/automation-programming"}}