Legibility

Card keyword state

card-keyword-state · an adoption of Fact list, version 2

Tests included

Use in your package

The first button opens the authoring tool with these answers and numbers already filled in. You still add the rules and tuning of your own game.

What is in the zip file

The zip file holds the adoption and its acceptance tests. In the authoring tool, choose Add contract and pick this zip file. If you edit your package outside the authoring tool, unpack the zip file in your package folder. The files of the zip file go into contracts/.

The contract that this adoption uses

This contract covers facts that players must be able to read. It says how each fact is shown, heard, or felt. Color alone does not count as a way to read a listed fact. This contract does not cover HUD layout or tutorials.

Read the full Fact list contract →

Questions

The supplied answer is marked on each question. Pick other answers to see what changes. Nothing is saved here: the zip file and the authoring tool use the supplied answers.

Can color be the only way to read a fact that the game shows?

Choices for Can color be the only way to read a fact that the game shows?
Supplied answer Color is never the only way to read a fact. Red enemies and green allies also differ by an outline or a label.

Every fact the game shows remains readable when all hue differences are removed. Player color settings may still be offered, but they do not replace this requirement.

Color may be the only way to read a fact when the player can replace the color. A player who cannot tell red and green apart can choose two colors that the player can tell apart.

Any fact the game shows may use hue as its sole distinction only when a player-facing setting lets the player change every color carrying that fact. The changed presentation must preserve the same fact.

Why this is asked

Some players cannot tell some colors apart. A second way to read the fact keeps enemies and allies distinct for every player. A color setting helps only the player who finds it.

Can sound be the only way to read a fact listed here?

Choices for Can sound be the only way to read a fact listed here?
Supplied answer Sound is never the only way to read a listed fact. A danger tone also has a label or an icon.

Every promised fact remains readable with audio muted. The reviewer groups rows by fact citation and confirms at least one non-audio channel per fact: text, symbol-or-shape, place-or-size, animation, outline-or-contrast, or haptic.

Sound may be the only way to read a listed fact. Muting a rising danger tone may hide how close a timer is to ending.

A promised fact may become unreadable when all audio is muted. Its Fixed citation must identify every play situation in which the audio-only promise applies.

Why this is asked

A sound-only warning disappears when the game is muted or a player cannot hear it. This choice says whether another way to read the fact is required.

Are you promising a player setting for any listed fact?

Choices for Are you promising a player setting for any listed fact?
Your game promises no player setting for the listed facts. Your game may still have settings, and a row may name one. A color setting that your color answer promises is still promised.

Every row still declares any player-facing setting that changes or can disable its channel. The adoption promises none of those settings through this answer, even when a row names a setting that the game has. A setting that a row does name is still binding: its declared result is audited like any other row fact. Answering color-alone with player-recolorable independently promises its color setting.

Supplied answer Your game promises a player setting for at least one listed fact. A warning-volume setting changes the same warning wherever it appears.

The adoption promises at least one player-facing setting that changes or can disable a channel named by a readable-facts row. Every affected row names the setting and its result. The changed presentation is observable in every applicable play situation named by the citation of each affected fact.

Why this is asked

Different players need different ways to read a fact. This choice says whether your game promises any presentation setting.

Numbersno numbers

This contract has no numbers to set.

Rulesno rules

A rule is a check between the numbers. Validation reports a rule that fails.

This contract has no rules between its numbers.

Lists1 list

Each list holds the rows this adoption supplies. A list can be empty.

Readable facts

readable-facts

IdFactChannelPresentation settingsWithout audio
exhausted-symbol02-mechanics.md#exhausted-cardssymbol-or-shapeColor-blind palette recolors the hourglass badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.—
exhausted-text02-mechanics.md#exhausted-cardstextHUD scale resizes the Exhausted label; color-blind palette, reduced motion, and audio-off do not affect it.—
shielded-symbol02-mechanics.md#shielded-cardssymbol-or-shapeColor-blind palette recolors the shield badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.—
shielded-text02-mechanics.md#shielded-cardstextHUD scale resizes the Shielded label and shield value; color-blind palette, reduced motion, and audio-off do not affect it.—
shielded-shimmer02-mechanics.md#shielded-cardsanimationReduced motion disables the shield shimmer; shielded-symbol and shielded-text remain readable.—
silenced-symbol02-mechanics.md#silenced-cardssymbol-or-shapeColor-blind palette recolors the crossed-rune badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.—
silenced-text02-mechanics.md#silenced-cardstextHUD scale resizes the Silenced label; color-blind palette, reduced motion, and audio-off do not affect it.—
Test inputsscope and seeds

Some tests need a scope or seeds from the adoption before they can run.

fact-policy-holds

Fact policy holds

Scope
all Fixed mechanics prose that promises the player can read Exhausted, Shielded, or Silenced on a card in hand or on the board, and every readable-facts row

presentation-control-visible

Presentation control visible

Scope
color-blind palette, HUD scale, reduced motion, and audio-off at both ends of their supported ranges, for Exhausted, Shielded, and Silenced cards in hand and on the board
Acceptance tests17 tests apply

The contract comes with 6 tests. A test that runs once per row is counted once for each row. Tests that do not apply to these answers are still listed, with the reason.

fact-policy-holds

the readable-facts list is complete and has no duplicate pair

generalonce

Applies to card-keyword-state.

Audit class: observer-judged. Across the supplied scope, the readable-facts list has at least one row, every fact the Fixed prose promises the player can read appears in at least one row, and no two rows name the same fact citation and the same channel.

Test steps and diagnostics
Scope

all Fixed mechanics prose that promises the player can read Exhausted, Shielded, or Silenced on a card in hand or on the board, and every readable-facts row

Holds

the readable-facts list has at least one row; every fact the Fixed prose promises the player can read appears in at least one row; no two rows name the same fact citation and the same channel

Diagnostics
  • card-keyword-state-fact-list-completeness

color-and-audio-policy-holds

the promised color and audio policies hold throughout play

generalonce

Applies to card-keyword-state.

Audit class: observer-judged. Across every fact the game's Fixed prose says the player can tell, including facts with no readable-facts row, and the play situations that prose names, every fact the game shows remains readable after all hue differences are removed; every promised fact remains readable with audio muted and has at least one row whose channel is text, symbol-or-shape, place-or-size, animation, outline-or-contrast, or haptic.

Test steps and diagnostics
Scope

every fact the game's Fixed prose says the player can tell, including facts with no readable-facts row, across the play situations that prose names

Holds

every fact the game shows remains readable after all hue differences are removed; every promised fact remains readable with audio muted and has at least one row whose channel is text, symbol-or-shape, place-or-size, animation, outline-or-contrast, or haptic

Diagnostics
  • card-keyword-state-fact-observer-results
  • card-keyword-state-color-and-audio-state

presentation-control-visible

the promised presentation setting changes a fact in play

generalonce

Applies to card-keyword-state.

Audit class: observer-judged. Across the supplied scope, at least one player-facing setting changes or can disable a channel named by a readable-facts row. Every row names each setting that affects its channel and the result at every supported end, and the running game matches that declaration in every applicable cited situation. A row whose channel a setting can disable names another readable row for the same fact, or states that the fact becomes unreadable. An unreadable result obeys the selected color and audio policies.

Test steps and diagnostics
Scope

color-blind palette, HUD scale, reduced motion, and audio-off at both ends of their supported ranges, for Exhausted, Shielded, and Silenced cards in hand and on the board

Holds

at least one player-facing setting changes or can disable a channel named by a readable-facts row; every row names every setting that changes or can disable its channel and states the result at each supported end; each declaration matches the running game in every applicable play situation named by the row's fact citation; when a setting can disable the row's channel, the row names another channel row for the same fact that remains readable or states that the fact becomes unreadable, and any unreadable result obeys the selected color and audio policies

Diagnostics
  • card-keyword-state-presentation-settings
  • card-keyword-state-presentation-observer-results

presentation-setting-effect-holds · exhausted-symbol

the setting declaration for exhausted-symbol matches play

scenarioper readable-facts row

Applies to the exhausted-symbol row.

Audit class: observer-judged. For exhausted-symbol, observe every named setting at both ends of its supported range in every applicable situation named at 02-mechanics.md#exhausted-cards. The channel changes or is disabled exactly as declared. If the channel is disabled, another row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies. This row declares: Color-blind palette recolors the hourglass badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.

Test steps and diagnostics
Given

the channel at 02-mechanics.md#exhausted-cards; this row declares: Color-blind palette recolors the hourglass badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.

When
  • every named setting is observed at both ends of its supported range in every applicable play situation named at 02-mechanics.md#exhausted-cards
Then
  • the channel changes or is disabled exactly as declared
  • if the channel is disabled, another declared row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies
Diagnostics
  • card-keyword-state-exhausted-symbol-presentation-setting-result

presentation-setting-effect-holds · exhausted-text

the setting declaration for exhausted-text matches play

scenarioper readable-facts row

Applies to the exhausted-text row.

Audit class: observer-judged. For exhausted-text, observe every named setting at both ends of its supported range in every applicable situation named at 02-mechanics.md#exhausted-cards. The channel changes or is disabled exactly as declared. If the channel is disabled, another row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies. This row declares: HUD scale resizes the Exhausted label; color-blind palette, reduced motion, and audio-off do not affect it.

Test steps and diagnostics
Given

the channel at 02-mechanics.md#exhausted-cards; this row declares: HUD scale resizes the Exhausted label; color-blind palette, reduced motion, and audio-off do not affect it.

When
  • every named setting is observed at both ends of its supported range in every applicable play situation named at 02-mechanics.md#exhausted-cards
Then
  • the channel changes or is disabled exactly as declared
  • if the channel is disabled, another declared row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies
Diagnostics
  • card-keyword-state-exhausted-text-presentation-setting-result

presentation-setting-effect-holds · shielded-symbol

the setting declaration for shielded-symbol matches play

scenarioper readable-facts row

Applies to the shielded-symbol row.

Audit class: observer-judged. For shielded-symbol, observe every named setting at both ends of its supported range in every applicable situation named at 02-mechanics.md#shielded-cards. The channel changes or is disabled exactly as declared. If the channel is disabled, another row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies. This row declares: Color-blind palette recolors the shield badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.

Test steps and diagnostics
Given

the channel at 02-mechanics.md#shielded-cards; this row declares: Color-blind palette recolors the shield badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.

When
  • every named setting is observed at both ends of its supported range in every applicable play situation named at 02-mechanics.md#shielded-cards
Then
  • the channel changes or is disabled exactly as declared
  • if the channel is disabled, another declared row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies
Diagnostics
  • card-keyword-state-shielded-symbol-presentation-setting-result

presentation-setting-effect-holds · shielded-text

the setting declaration for shielded-text matches play

scenarioper readable-facts row

Applies to the shielded-text row.

Audit class: observer-judged. For shielded-text, observe every named setting at both ends of its supported range in every applicable situation named at 02-mechanics.md#shielded-cards. The channel changes or is disabled exactly as declared. If the channel is disabled, another row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies. This row declares: HUD scale resizes the Shielded label and shield value; color-blind palette, reduced motion, and audio-off do not affect it.

Test steps and diagnostics
Given

the channel at 02-mechanics.md#shielded-cards; this row declares: HUD scale resizes the Shielded label and shield value; color-blind palette, reduced motion, and audio-off do not affect it.

When
  • every named setting is observed at both ends of its supported range in every applicable play situation named at 02-mechanics.md#shielded-cards
Then
  • the channel changes or is disabled exactly as declared
  • if the channel is disabled, another declared row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies
Diagnostics
  • card-keyword-state-shielded-text-presentation-setting-result

presentation-setting-effect-holds · shielded-shimmer

the setting declaration for shielded-shimmer matches play

scenarioper readable-facts row

Applies to the shielded-shimmer row.

Audit class: observer-judged. For shielded-shimmer, observe every named setting at both ends of its supported range in every applicable situation named at 02-mechanics.md#shielded-cards. The channel changes or is disabled exactly as declared. If the channel is disabled, another row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies. This row declares: Reduced motion disables the shield shimmer; shielded-symbol and shielded-text remain readable.

Test steps and diagnostics
Given

the channel at 02-mechanics.md#shielded-cards; this row declares: Reduced motion disables the shield shimmer; shielded-symbol and shielded-text remain readable.

When
  • every named setting is observed at both ends of its supported range in every applicable play situation named at 02-mechanics.md#shielded-cards
Then
  • the channel changes or is disabled exactly as declared
  • if the channel is disabled, another declared row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies
Diagnostics
  • card-keyword-state-shielded-shimmer-presentation-setting-result

presentation-setting-effect-holds · silenced-symbol

the setting declaration for silenced-symbol matches play

scenarioper readable-facts row

Applies to the silenced-symbol row.

Audit class: observer-judged. For silenced-symbol, observe every named setting at both ends of its supported range in every applicable situation named at 02-mechanics.md#silenced-cards. The channel changes or is disabled exactly as declared. If the channel is disabled, another row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies. This row declares: Color-blind palette recolors the crossed-rune badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.

Test steps and diagnostics
Given

the channel at 02-mechanics.md#silenced-cards; this row declares: Color-blind palette recolors the crossed-rune badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it.

When
  • every named setting is observed at both ends of its supported range in every applicable play situation named at 02-mechanics.md#silenced-cards
Then
  • the channel changes or is disabled exactly as declared
  • if the channel is disabled, another declared row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies
Diagnostics
  • card-keyword-state-silenced-symbol-presentation-setting-result

presentation-setting-effect-holds · silenced-text

the setting declaration for silenced-text matches play

scenarioper readable-facts row

Applies to the silenced-text row.

Audit class: observer-judged. For silenced-text, observe every named setting at both ends of its supported range in every applicable situation named at 02-mechanics.md#silenced-cards. The channel changes or is disabled exactly as declared. If the channel is disabled, another row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies. This row declares: HUD scale resizes the Silenced label; color-blind palette, reduced motion, and audio-off do not affect it.

Test steps and diagnostics
Given

the channel at 02-mechanics.md#silenced-cards; this row declares: HUD scale resizes the Silenced label; color-blind palette, reduced motion, and audio-off do not affect it.

When
  • every named setting is observed at both ends of its supported range in every applicable play situation named at 02-mechanics.md#silenced-cards
Then
  • the channel changes or is disabled exactly as declared
  • if the channel is disabled, another declared row keeps the fact readable or this row states that the fact becomes unreadable, and that result obeys the selected color and audio policies
Diagnostics
  • card-keyword-state-silenced-text-presentation-setting-result

audio-off-result-holds

the audio-off result for Row.id matches play

scenarioper readable-facts row

Does not apply to card-keyword-state: no row in readable-facts matches channel audio cue or spatial audio or narration or audio description.

fact-readable-by-channel · exhausted-symbol

the fact defined at 02-mechanics.md#exhausted-cards is readable through a pictorial symbol, distinct shape, or pattern alone

scenarioper readable-facts row

Applies to the exhausted-symbol row.

Audit class: observer-judged. The check repeats in every play situation named at 02-mechanics.md#exhausted-cards. Every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish. Then the only thing that changes with the fact is a pictorial symbol, distinct shape, or pattern. Developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route. Within each named play situation, an observer meets each state the cited prose names at least once, in an order that the observer does not know, and correctly names the state every time from a pictorial symbol, distinct shape, or pattern alone.

Test steps and diagnostics
Given

the fact defined at 02-mechanics.md#exhausted-cards, checked separately in every play situation named there; every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish, so that a pictorial symbol, distinct shape, or pattern is the only thing that changes with the fact; developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route

When
  • within each named play situation, an observer using a pictorial symbol, distinct shape, or pattern meets each state the cited prose names at least once, in an order the observer does not know, with no prior knowledge of which state is present
Then
  • in each named play situation, the observer correctly names the state every time from a pictorial symbol, distinct shape, or pattern alone
Diagnostics
  • card-keyword-state-exhausted-symbol-observer-result

fact-readable-by-channel · exhausted-text

the fact defined at 02-mechanics.md#exhausted-cards is readable through words or numbers shown to the player alone

scenarioper readable-facts row

Applies to the exhausted-text row.

Audit class: observer-judged. The check repeats in every play situation named at 02-mechanics.md#exhausted-cards. Every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish. Then the only thing that changes with the fact is words or numbers shown to the player. Developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route. Within each named play situation, an observer meets each state the cited prose names at least once, in an order that the observer does not know, and correctly names the state every time from words or numbers shown to the player alone.

Test steps and diagnostics
Given

the fact defined at 02-mechanics.md#exhausted-cards, checked separately in every play situation named there; every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish, so that words or numbers shown to the player is the only thing that changes with the fact; developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route

When
  • within each named play situation, an observer using words or numbers shown to the player meets each state the cited prose names at least once, in an order the observer does not know, with no prior knowledge of which state is present
Then
  • in each named play situation, the observer correctly names the state every time from words or numbers shown to the player alone
Diagnostics
  • card-keyword-state-exhausted-text-observer-result

fact-readable-by-channel · shielded-symbol

the fact defined at 02-mechanics.md#shielded-cards is readable through a pictorial symbol, distinct shape, or pattern alone

scenarioper readable-facts row

Applies to the shielded-symbol row.

Audit class: observer-judged. The check repeats in every play situation named at 02-mechanics.md#shielded-cards. Every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish. Then the only thing that changes with the fact is a pictorial symbol, distinct shape, or pattern. Developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route. Within each named play situation, an observer meets each state the cited prose names at least once, in an order that the observer does not know, and correctly names the state every time from a pictorial symbol, distinct shape, or pattern alone.

Test steps and diagnostics
Given

the fact defined at 02-mechanics.md#shielded-cards, checked separately in every play situation named there; every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish, so that a pictorial symbol, distinct shape, or pattern is the only thing that changes with the fact; developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route

When
  • within each named play situation, an observer using a pictorial symbol, distinct shape, or pattern meets each state the cited prose names at least once, in an order the observer does not know, with no prior knowledge of which state is present
Then
  • in each named play situation, the observer correctly names the state every time from a pictorial symbol, distinct shape, or pattern alone
Diagnostics
  • card-keyword-state-shielded-symbol-observer-result

fact-readable-by-channel · shielded-text

the fact defined at 02-mechanics.md#shielded-cards is readable through words or numbers shown to the player alone

scenarioper readable-facts row

Applies to the shielded-text row.

Audit class: observer-judged. The check repeats in every play situation named at 02-mechanics.md#shielded-cards. Every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish. Then the only thing that changes with the fact is words or numbers shown to the player. Developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route. Within each named play situation, an observer meets each state the cited prose names at least once, in an order that the observer does not know, and correctly names the state every time from words or numbers shown to the player alone.

Test steps and diagnostics
Given

the fact defined at 02-mechanics.md#shielded-cards, checked separately in every play situation named there; every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish, so that words or numbers shown to the player is the only thing that changes with the fact; developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route

When
  • within each named play situation, an observer using words or numbers shown to the player meets each state the cited prose names at least once, in an order the observer does not know, with no prior knowledge of which state is present
Then
  • in each named play situation, the observer correctly names the state every time from words or numbers shown to the player alone
Diagnostics
  • card-keyword-state-shielded-text-observer-result

fact-readable-by-channel · shielded-shimmer

the fact defined at 02-mechanics.md#shielded-cards is readable through movement over time alone

scenarioper readable-facts row

Applies to the shielded-shimmer row.

Audit class: observer-judged. The check repeats in every play situation named at 02-mechanics.md#shielded-cards. Every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish. Then the only thing that changes with the fact is movement over time. Developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route. Within each named play situation, an observer meets each state the cited prose names at least once, in an order that the observer does not know, and correctly names the state every time from movement over time alone.

Test steps and diagnostics
Given

the fact defined at 02-mechanics.md#shielded-cards, checked separately in every play situation named there; every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish, so that movement over time is the only thing that changes with the fact; developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route

When
  • within each named play situation, an observer using movement over time meets each state the cited prose names at least once, in an order the observer does not know, with no prior knowledge of which state is present
Then
  • in each named play situation, the observer correctly names the state every time from movement over time alone
Diagnostics
  • card-keyword-state-shielded-shimmer-observer-result

fact-readable-by-channel · silenced-symbol

the fact defined at 02-mechanics.md#silenced-cards is readable through a pictorial symbol, distinct shape, or pattern alone

scenarioper readable-facts row

Applies to the silenced-symbol row.

Audit class: observer-judged. The check repeats in every play situation named at 02-mechanics.md#silenced-cards. Every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish. Then the only thing that changes with the fact is a pictorial symbol, distinct shape, or pattern. Developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route. Within each named play situation, an observer meets each state the cited prose names at least once, in an order that the observer does not know, and correctly names the state every time from a pictorial symbol, distinct shape, or pattern alone.

Test steps and diagnostics
Given

the fact defined at 02-mechanics.md#silenced-cards, checked separately in every play situation named there; every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish, so that a pictorial symbol, distinct shape, or pattern is the only thing that changes with the fact; developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route

When
  • within each named play situation, an observer using a pictorial symbol, distinct shape, or pattern meets each state the cited prose names at least once, in an order the observer does not know, with no prior knowledge of which state is present
Then
  • in each named play situation, the observer correctly names the state every time from a pictorial symbol, distinct shape, or pattern alone
Diagnostics
  • card-keyword-state-silenced-symbol-observer-result

fact-readable-by-channel · silenced-text

the fact defined at 02-mechanics.md#silenced-cards is readable through words or numbers shown to the player alone

scenarioper readable-facts row

Applies to the silenced-text row.

Audit class: observer-judged. The check repeats in every play situation named at 02-mechanics.md#silenced-cards. Every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish. Then the only thing that changes with the fact is words or numbers shown to the player. Developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route. Within each named play situation, an observer meets each state the cited prose names at least once, in an order that the observer does not know, and correctly names the state every time from words or numbers shown to the player alone.

Test steps and diagnostics
Given

the fact defined at 02-mechanics.md#silenced-cards, checked separately in every play situation named there; every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish, so that words or numbers shown to the player is the only thing that changes with the fact; developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route

When
  • within each named play situation, an observer using words or numbers shown to the player meets each state the cited prose names at least once, in an order the observer does not know, with no prior knowledge of which state is present
Then
  • in each named play situation, the observer correctly names the state every time from words or numbers shown to the player alone
Diagnostics
  • card-keyword-state-silenced-text-observer-result
JSONthe adoption as one file

Answers you try on this page do not change this file. To change an adoption, open it in the authoring tool.

{
  "contract": "fact-list",
  "version": 2,
  "origin": "https://opengdd.org/contracts/fact-list-2",
  "summary": "This contract covers facts that players must be able to read. It says how each fact is shown, heard, or felt. Color alone does not count as a way to read a listed fact. This contract does not cover HUD layout or tutorials.",
  "mechanism": [
    "Each readable-facts row is one fact-and-channel promise. A fact carried by several non-color channels repeats the same Fixed citation in several rows; a fact with no row makes no channel-readability promise under this contract.",
    "A row promises that its channel alone lets a player distinguish the states the cited Fixed prose defines in every play situation the citation names. The check repeats for each named situation. Every other route to the fact, declared or not, is removed or made identical across the states that the observer must distinguish. The named channel is then the only thing that changes with the fact. Developer instrumentation that the game does not present to the player, such as an audit pane, a debug overlay, or a save file, is not a route. Within each named play situation, an observer meets each state the cited prose names at least once, in an order that the observer does not know, and must name the state every time from the named channel alone.",
    "A fact carried by memorable authored content, such as a published deck or a fixed map, can be readable through a route the channel rows do not describe; the rows promise presentation, not secrecy.",
    "The ten channel ids are text, symbol-or-shape, place-or-size, animation, outline-or-contrast, audio-cue, spatial-audio, narration, audio-description, and haptic. Color is not another channel: color-alone is a game-wide policy for every fact the game shows, including a fact with no row, while a fact appears in readable-facts only when at least one non-color channel carries it.",
    "A listed fact may be a unit state, warning direction, resource amount, or card state. This contract records whether that fact is readable; it does not define tutorials, controls, or how the state changes.",
    "Each row declares every player-facing setting that changes or can disable its channel. If a setting can disable that row's channel, the adoption either names another row for the same fact that remains readable or states that the fact becomes unreadable. The unreadable result is forbidden whenever another selected policy requires the fact to remain readable under that setting.",
    "Package validation checks the list's shape, ids, channel choices, Fixed citations, and required setting declarations. The verification pack separately audits list completeness, the game-wide color and audio policies, each setting declaration, and whether each channel distinguishes the cited states. Under fixed-by-game a row may declare no affected setting. A setting that a row does declare is binding and is audited like any other row fact. The answer player-recolorable to color-alone still promises its color setting, whatever the answer to presentation-control is."
  ],
  "questions": {
    "color-alone": {
      "asks": "Can color be the only way to read a fact that the game shows?",
      "rationale": "Some players cannot tell some colors apart. A second way to read the fact keeps enemies and allies distinct for every player. A color setting helps only the player who finds it.",
      "guidance": "never",
      "options": {
        "never": {
          "meaning": "Color is never the only way to read a fact. Red enemies and green allies also differ by an outline or a label.",
          "semantics": "Every fact the game shows remains readable when all hue differences are removed. Player color settings may still be offered, but they do not replace this requirement."
        },
        "player-recolorable": {
          "meaning": "Color may be the only way to read a fact when the player can replace the color. A player who cannot tell red and green apart can choose two colors that the player can tell apart.",
          "semantics": "Any fact the game shows may use hue as its sole distinction only when a player-facing setting lets the player change every color carrying that fact. The changed presentation must preserve the same fact."
        }
      }
    },
    "audio-alone": {
      "asks": "Can sound be the only way to read a fact listed here?",
      "rationale": "A sound-only warning disappears when the game is muted or a player cannot hear it. This choice says whether another way to read the fact is required.",
      "guidance": "never",
      "options": {
        "never": {
          "meaning": "Sound is never the only way to read a listed fact. A danger tone also has a label or an icon.",
          "semantics": "Every promised fact remains readable with audio muted. The reviewer groups rows by fact citation and confirms at least one non-audio channel per fact: text, symbol-or-shape, place-or-size, animation, outline-or-contrast, or haptic."
        },
        "allowed": {
          "meaning": "Sound may be the only way to read a listed fact. Muting a rising danger tone may hide how close a timer is to ending.",
          "semantics": "A promised fact may become unreadable when all audio is muted. Its Fixed citation must identify every play situation in which the audio-only promise applies."
        }
      }
    },
    "presentation-control": {
      "asks": "Are you promising a player setting for any listed fact?",
      "rationale": "Different players need different ways to read a fact. This choice says whether your game promises any presentation setting.",
      "guidance": "player-configurable",
      "options": {
        "fixed-by-game": {
          "meaning": "Your game promises no player setting for the listed facts. Your game may still have settings, and a row may name one. A color setting that your color answer promises is still promised.",
          "semantics": "Every row still declares any player-facing setting that changes or can disable its channel. The adoption promises none of those settings through this answer, even when a row names a setting that the game has. A setting that a row does name is still binding: its declared result is audited like any other row fact. Answering color-alone with player-recolorable independently promises its color setting."
        },
        "player-configurable": {
          "meaning": "Your game promises a player setting for at least one listed fact. A warning-volume setting changes the same warning wherever it appears.",
          "semantics": "The adoption promises at least one player-facing setting that changes or can disable a channel named by a readable-facts row. Every affected row names the setting and its result. The changed presentation is observable in every applicable play situation named by the citation of each affected fact."
        }
      }
    }
  },
  "declares": {
    "rows": {
      "readable-facts": {
        "description": "List every fact and every independent way players can read it without color. Use one row per pair, with no repeats. Two ways to read health need two rows whose fact field names the same place in your game's rules. A finished adoption needs at least one row. No automatic check counts the rows. A person who reviews the design checks that the list has at least one row.",
        "record": {
          "id": {
            "type": "string",
            "required": true,
            "pattern": "kebab-case",
            "unique": true,
            "description": "A short name for this fact and its channel in your game's words, such as health-number or threat-arrow. Use a different name for each row."
          },
          "fact": {
            "type": "citation",
            "required": true,
            "description": "Where your game's rules define the fact and its states. The same rules must name every play situation that this row covers."
          },
          "channel": {
            "type": "string",
            "required": true,
            "options": [
              "text",
              "symbol-or-shape",
              "place-or-size",
              "animation",
              "outline-or-contrast",
              "audio-cue",
              "spatial-audio",
              "narration",
              "audio-description",
              "haptic"
            ],
            "description": "The non-color way that carries this fact by itself. In each named situation, an observer must identify every state from this way alone. Text uses words or numbers shown to the player. Symbol-or-shape uses a pictorial symbol, a plain shape, or a pattern, such as a shield badge or hatching. Place-or-size uses where something sits or how large or full it is, such as a threat arrow's direction. Animation uses movement over time, such as a pulsing border. Outline-or-contrast uses an outline or a contrast between light and dark. Audio-cue uses a sound whose direction and position do not matter. Spatial-audio uses the direction or position of a sound. Narration reads interface content. Audio description explains visual action that the interface does not name. Haptic uses vibration or another touch pattern."
          },
          "presentation-settings": {
            "type": "string",
            "required": true,
            "description": "Name every player setting that changes this row's channel or can disable it. Say what happens at each end of the setting's range. For a switch, say what happens when it is on and when it is off. Write 'none' when no setting affects the channel. If a setting can disable the channel, name another row for the same fact that remains readable, or state that the fact becomes unreadable. The fact may become unreadable only when your color and sound answers do not require it to stay readable. The automatic check only sees that this field is filled in. A person who reviews the design checks that it is true."
          },
          "without-audio": {
            "type": "string",
            "when": {
              "row": {
                "channel": [
                  "audio-cue",
                  "spatial-audio",
                  "narration",
                  "audio-description"
                ]
              }
            },
            "description": "Say what a player gets when audio is off. Name a non-audio row for the same fact, or state that the fact becomes unreadable. The fact may become unreadable only when your color and sound answers do not require it to stay readable. The automatic check only sees that this field is filled in on an audio row. A person who reviews the design checks that it is true."
          }
        }
      }
    }
  },
  "pack": "sha256:6a83cb5dfb2ce52df9f147e4b20e1dc8322d89fe4d44dbcda826548a09f66eee",
  "answers": {
    "color-alone": "never",
    "audio-alone": "never",
    "presentation-control": "player-configurable"
  },
  "values": {},
  "rows": {
    "readable-facts": [
      {
        "id": "exhausted-symbol",
        "fact": "02-mechanics.md#exhausted-cards",
        "channel": "symbol-or-shape",
        "presentation-settings": "Color-blind palette recolors the hourglass badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it."
      },
      {
        "id": "exhausted-text",
        "fact": "02-mechanics.md#exhausted-cards",
        "channel": "text",
        "presentation-settings": "HUD scale resizes the Exhausted label; color-blind palette, reduced motion, and audio-off do not affect it."
      },
      {
        "id": "shielded-symbol",
        "fact": "02-mechanics.md#shielded-cards",
        "channel": "symbol-or-shape",
        "presentation-settings": "Color-blind palette recolors the shield badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it."
      },
      {
        "id": "shielded-text",
        "fact": "02-mechanics.md#shielded-cards",
        "channel": "text",
        "presentation-settings": "HUD scale resizes the Shielded label and shield value; color-blind palette, reduced motion, and audio-off do not affect it."
      },
      {
        "id": "shielded-shimmer",
        "fact": "02-mechanics.md#shielded-cards",
        "channel": "animation",
        "presentation-settings": "Reduced motion disables the shield shimmer; shielded-symbol and shielded-text remain readable."
      },
      {
        "id": "silenced-symbol",
        "fact": "02-mechanics.md#silenced-cards",
        "channel": "symbol-or-shape",
        "presentation-settings": "Color-blind palette recolors the crossed-rune badge but preserves its shape; HUD scale resizes it; reduced motion and audio-off do not affect it."
      },
      {
        "id": "silenced-text",
        "fact": "02-mechanics.md#silenced-cards",
        "channel": "text",
        "presentation-settings": "HUD scale resizes the Silenced label; color-blind palette, reduced motion, and audio-off do not affect it."
      }
    ]
  },
  "verification": {
    "fact-policy-holds": {
      "scope": "all Fixed mechanics prose that promises the player can read Exhausted, Shielded, or Silenced on a card in hand or on the board, and every readable-facts row"
    },
    "presentation-control-visible": {
      "scope": "color-blind palette, HUD scale, reduced motion, and audio-off at both ends of their supported ranges, for Exhausted, Shielded, and Silenced cards in hand and on the board"
    }
  }
}