How Time-Loop Stories Preserve the Trace of One Action: Choose Only One Cross-Iteration Variable
When writing a short loop story for the first time, you can preserve only a change on one observable object, while all other world states reset to the same baseline. This lets the author track iteration by iteration which action a difference comes from. What is discussed here is an inheritance item within the story world; the knowledge that readers and players have already read the previous text does not mean the character has cross-iteration memory.

Introduction
When writing a short loop story for the first time, you can preserve only a change on one observable object, while all other world states reset to the same baseline. This lets the author track iteration by iteration which action a difference comes from. What is discussed here is an inheritance item within the story world; the knowledge that readers and players have already read the previous text does not mean the character has cross-iteration memory.
The fictional teaching example The Repeating Last Tram is used below to explain. This is a story made up to explain the rules, not measured data, and it does not mean that any tool will automatically support playthrough inheritance.
First Fix the Reset Event
In The Repeating Last Tram, the protagonist Lin Wan boards the same last tram every night. The reset event is the tunnel before the train enters the terminal station, the lights flash three times, time returns to 10:40 that night, and she is once again standing on the same platform. This event must be exactly the same every iteration: the same location, the same trigger condition, the same announcement.
Fixing the reset event has three functions. First, readers know when "this iteration is over." Second, the author knows where to cut off inheritance. Third, any difference can be attributed to the single preserved item, rather than "this time it happened to be different."
When writing, it is recommended to write the reset event as a fixed passage, appearing verbatim every iteration, or changing only one punctuation mark. Do not change the wording every iteration, as that will make readers mistakenly think the reset itself is changing.
Choose Only One Cross-Iteration Variable
There are many things that can be preserved: memory, wounds, objects, relationships, weather, a sentence. Choosing one first can narrow the scope of inspection for a short story; a long work that needs multiple inheritances should write rules separately for each, and "one item" should not be treated as a hard requirement for all loop stories.
The Repeating Last Tram chooses the scratch on the ticket stub. Every iteration when Lin Wan boards, she is holding the same old ticket stub. At the end of the first iteration, there is an extra fingernail scratch on the edge of the ticket stub. At the start of the second iteration, the scratch is still on the ticket stub, but her memory, the passengers' faces, and the conversations in the carriage all reset.
The scratch is visible, countable, and noticeable by others. It does not explain its cause; it only serves as evidence that "the previous iteration really happened."
When choosing the preserved item, you can ask three questions:
- Can it be directly seen or touched by the character or the reader?
- Is it small enough that it will not solve the protagonist's core dilemma for her?
- Can it produce writable changes within three iterations?
If you answer "yes" to all three, then set it as the only inheritance item.
Three-Iteration Change Table
The table below is the design for the first three iterations of The Repeating Last Tram. The numbers and the number of scratches are fictional examples, not recommended parameters.
| Iteration | Preserved after reset | New action in this iteration | Ticket stub state | What readers can infer |
|---|---|---|---|---|
| First iteration | None | The player chooses to have Lin Wan wake the elderly person in the next seat, and she scratches the ticket stub when nervous | One scratch | Readers see the scratch appear |
| Second iteration | One scratch | The player chooses to get off early, and a new scratch is added at the door | Two scratches | Readers confirm the old scratch is preserved; Lin Wan does not remember its cause |
| Third iteration | Two scratches | The player has Lin Wan ask the conductor why the ticket stub has marks | Three scratches, with a missing corner on the edge | The conductor can inspect the existing marks, but cannot prove the complete previous iteration experience |
Note that the "missing corner" in the third iteration is new wear besides the scratches. It still belongs to the same preserved item, not a second variable. The author can allow the preserved item itself to wear down, but cannot add an independent inherited piece of information.
A Counterexample That Cannot Be Preserved
If Lin Wan remembers the old person's name in the second iteration and still says this name in the third iteration, then "memory" becomes a second cross-iteration variable. Readers will ask: since memory can remain, why can she not remember the route, the time, or the other passengers?
The purpose of this counterexample is to draw the boundary. It is not that "memory absolutely cannot be written," but that "once it is written, it must be handled as a formal inheritance item." If this story only wants to preserve the scratch on the ticket stub, then the name in the second iteration must disappear at reset, and Lin Wan must ask again in the third iteration.
When writing a counterexample, mark clearly that it is only a hypothesis, not a new world fact. For example: "Suppose the author has Lin Wan remember the name; then the name becomes a second inheritance item, and the uniqueness of the ticket stub scratch is weakened." This sentence itself does not change the story rules; it only explains what another way of writing would bring.
Make Differences Explainable
When each iteration repeats, differences cannot appear out of nowhere. They should be traceable to a specific action in the previous iteration.
In the first iteration, Lin Wan scratches the ticket stub with her fingernail because she is nervous. In the second iteration, the scratch is still there, and she can only ask "who scratched this," and cannot confirm whether the previous iteration was a dream, because she does not have that memory. The player, however, can use what was seen in the previous iteration to choose another action. In the third iteration, the conductor says, "This ticket stub is too old to be from today," which is a judgment about the existing marks, not a restoration of her memory. The author must separately check what the player can know and what the character can know, to avoid secretly inheriting a second state in the dialogue.
Explainable differences usually look like this:
- What was done in the previous iteration, what is left in this iteration;
- Who notices the preserved item in this iteration;
- Which choice in this iteration the preserved item changes.
If a difference cannot be traced to the previous iteration, readers will treat it as a setting the author added on the spot. If a difference can be traced to the previous iteration, the repeated turns have a sense of progression.
A Brief Reminder When Collaborating with AI
If the author uses AI to assist in generating loop passages, they need to know that prompt constraints do not guarantee that every output is correct. You can ask it to "preserve only the ticket stub scratch, and do not add memory inheritance," but you still need to manually check whether each iteration's text secretly contains a second inheritance item. AI will not maintain the world rules for the author; it only generates text according to the current input.
Completion Check
After writing three iterations, use the checklist below to verify. For each item, only answer "yes" or "no."
| Check item | Yes | No |
|---|---|---|
| Is the reset event exactly the same every iteration | ||
| Is there only one cross-iteration preserved item | ||
| Can each iteration's difference be traced to the previous iteration's action | ||
| Is there still no second independent inheritance item | ||
| Is the preserved item small enough that it does not solve the core dilemma | ||
| Can readers see the preserved item's change within three iterations |
If any item is answered "no," first change the rules, then change the text. When the rules are unclear, adding iterations will only amplify the confusion.
First write one sentence each to clarify the reset event and the only preserved item, then record another line: what the character can infer from the current marks, and what the player additionally knows. Once the three sentences match, then begin writing the first iteration.


