𓂀 Thistle Companion for ATITD

Tale 11 · Run a garden, capture the chart, and see exactly where the week’s voids bit. Everything runs in your browser — nothing leaves this page.

Egypt time

Read the date and time off your in-game calendar and type them here. Not off a fan timer page — the one we checked had its clock running 58 minutes fast while its own countdowns were right.
An Egypt day is eight real hours times this, so 7h 17m at the value above. It comes from the timer page and changes rarely; leave it unless the clock starts drifting.
And the week. Cegaiel’s calendar prints the next one as Next Week: 482 Occurs @ Peret I-15 | 12:00 AM — copy that in and every week after it follows on its own, seven Egypt days apart.

Find a recipe

How this worksthe buttons, and what to ask for

One silk farm’s requirement, cheapest recipe out, built on whatever voids have been proved this week — and on none at all if none have, which is where a fresh week starts. You do not need the week’s full list of voids to get a working recipe — only the ones standing in the way of the recipe you are after. Most of the twenty-one never touch a given run at all, so a week with unknowns left in it can still give you exactly what the farm asked for.

Set the requirement first. Each of the seven vitamins takes one of four settings. + means the farm wants it high — 80 or over. means low — under 22. ~ means in between, which is a real requirement and not a shrug. any leaves it out of the ask altogether, and the fewer you pin down the more recipes there are to find, so ask for what the farm wants and nothing more. What you have asked for shows up on the buttons themselves, so you can read it off the thing you are about to press.

Daylight and Night are the same search in different light, and which one you can use depends on the Egypt clock: daylight runs start between 8:20 AM and 3:29 PM, night between 6:00 PM and 6:00 AM. The hours either side are dawn and dusk, where the sun sits at neither figure and is still climbing or falling, so nothing built for either window holds. It matters because the sun decides which reactions are live — shade reads 33 and full sun 99, while at night it is 0 — so a recipe built for one is wrong in the other. Each looks for a recipe needing no dung or saltpeter first, and only reaches for them if that fails. Rather not spend pushes it harder away from one or the other, though it will still use it if that is the only way through.

Recipe to settle the voids is a different job: it ignores the vitamin settings and looks instead for the run that puts the most still-unknown reactions to the test. Use it when the week’s table has rules reading unknown — run it, feed the result back in, and the next recipe is built on firmer ground. If nothing open can be reached in the light you are standing in, it searches the other window instead and hands you that recipe with a note saying when you can start it — so you always come away with something, even if it has to wait for morning.

Save to thistle_recipe.txt opens a save dialogue, so you choose where it goes — point it at your ATITD11 folder and save over thistle_recipe.txt. One recipe at a time, which is all that file ever holds. That is the file thistle_run.lua reads, and it is the route worth taking: that script grows the recipe on one garden and writes all forty-one ticks back to thistle_run.txt, which you drop into Analyze your run below. Nothing comes back from thistle.lua, so a recipe sent that way teaches you nothing about the week’s voids.

Copy for thistle.lua puts the same recipe on the clipboard in the form that script’s own paste screen wants — the forty-one rows, each ending in a comma, and nothing else. In thistle.lua pick your farm, press Edit Recipe, then Paste, then Save. It will read LOADED RECIPE in green; red INVALID RECIPE means it did not get 205 numbers. thistle.lua runs a recipe across several gardens at once and reads nothing back, so nothing comes home for this page to analyse.

Note: this page works one silk farm at a time. Thistle Mode in Automato can handle a whole list of farms at once.
one of them — it will still use it if that is the only way. Both — water and sun only, and it says so if there is no such recipe

The recipenothing yet

Analyze your run

How this workswhat it reads, and what it tells you

Drop thistle_run.txt here — the file thistle_run.lua writes when it finishes a garden, forty-one ticks and twelve columns of what actually happened. It holds one run, the last one, so read it before you start the next.

There is no button to press afterwards. Reading a run works it out and adds what it proves to This week’s voids at once, keyed on its name and time so the same run read twice counts once and two different runs both count.

What the verdict means. Either every number matches, which says no void touched this recipe and it can be trusted as it stands, or it diverges — and then it names the first tick and column where the garden and the model part company. Divergence is not failure: it is the evidence. Working backwards from it is how a void gets found.

Under that is what the garden actually made, read straight off the tick 40 row and classified the way a silk farm reads it: + for 80 or over, for under 22, ~ between. That is the answer the run was for, and it is true whether or not the model agreed with the rest of the chart.

Or type it in opens the same run as a grid you can correct — a digit the reader misread, or a tick it never caught. With nothing loaded it is all zeros, to type a run in from scratch. Edit numbers takes the grid as it stands and works it out again.
Drop thistle_run.txt here, or click to choose
Nothing loaded yet.
Load a run above.

Or type it inforty-one ticks, twelve columns

The loaded run is always here, ready to correct — a misread digit, or a tick the reader never caught. Nothing loaded means all zeros, to type a run in from scratch. Edit numbers takes the grid as it stands and re-reads it, keeping whatever the run file said went in.

This week’s voids

How this worksthe buttons, and what they touch

Every run you read tells you something about the rules it happened to exercise, and that is kept here and reused. You do not need it to get a working recipe — a run that matches all the way through has already proved no void touched it — but the more that is known, the better the first recipe tends to be. Runs are stamped with the Egyptian week and anything older is dropped by itself.

You can mark any of them void yourself. The void button in front of each rule forces it off whatever the runs say; press it again to hand it back to them. Where a run has already proved a rule void the button is lit and locked — nothing to force, and unforcing it would not make the rule live. A rule you have forced is flagged if a run says otherwise: your mark stands, and the disagreement is shown rather than hidden.

Update reads the box below it and sets rules from someone else’s list — the block out of config_thistle_local.txt, an /info from whoever published this week’s voids, or a chat message pasted as it came. It looks for a rule name with a 0 or a 1 near it: 0 marks that rule void, 1 clears your mark and hands the rule back to your runs. Comments after // or # are ignored, as is anything it does not recognise, and it tells you how many it set and what it could not place.

CLASH, on a rule, means two of your runs proved it opposite ways — one says void, the other says active. It shows as the word CLASH in the badge, in warning colour, with a red line under the grid and disputed: in the Copy line.

A week’s voids do not change while the week runs, so this is never something the game did — it is always bad data. Usually one of three: a run from before the turnover read in afterwards, a digit the reader got wrong, or a spoiled run — the wrong light, a click that landed late. Find the run you trust less and drop it. Your own hand marks never cause a clash: where a mark and a run disagree the mark wins, and the rule is flagged the run says active instead.

inert, on a rule, means no recipe can test it this week: the voids already proved leave nothing able to make the thing it eats, so it can never fire and cannot affect any garden. Void or not is both unanswerable and irrelevant — that is why it does not say unknown, which would send you off building a recipe for it. It stays inert until the week turns.

Copy puts the week in one line, for chat — what is void, what is still unknown, what is inert. Copy for config_thistle_local.txt puts the twenty-one rule_ 0/1 lines on the clipboard instead, for the config file Automato’s own tools read. Anything not proved void goes out as 1, active, which is the usual assumption but is still a guess.

Clear overrides throws away only the marks you set by hand. Whatever your own runs proved stays — which is the point of it being a separate button, so you can drop someone else’s list without losing your own evidence.

drop, next to each run in the list below, removes that one run from the week and works the voids out again without it. Use it when a run was spoiled — the wrong light, a missed click, a misread digit — and is dragging the answer somewhere it should not go. It only forgets the run here; the file on disk is untouched, so you can always read it back in.

All of it is per-week. When the Egyptian week turns, the pooled runs and your hand marks go together, because every void is redrawn at the turnover.

Get the scriptone file

This page works out the recipes; a script runs them in the game and reads the chart back. You need Automato with its ATITD11 scripts installed — everything else it wants, the garden button images and common.inc, comes with those.
runs one garden and captures all 41 ticks
  1. Put thistle_run.lua in Automato\games\ATITD11\scripts\
  2. Save a recipe from this page into Automato\games\ATITD11\ as thistle_recipe.txt — the save dialogue will make the file, so there is nothing to create first
  3. Run Automato, choose LUA Scripts, pick thistle_run.lua
It writes thistle_run.txt next to the recipe. Drop that back on this page and it works out what the week’s voids did to it.

thistle.lua is a different tool that already ships with Automato: it runs a recipe across several gardens at once and reads nothing back. Copy for thistle.lua, up in The recipe, formats a recipe for it. The two do not need each other.
Thistle Companion for ATITD — © 2026 Genhotep. Application code released under the MIT License (see the comment at the top of this file). The garden model — the twenty-five conversions, their ratios, conditions and order, the decay order and the forty-one tick structure — is game mechanics, worked out by the ATITD community and published in the ThistleSim spreadsheet. It is written from scratch here; no code from any other tool is included. Talos’ thistle garden simulator was the reference used to get it right, and the credit for the model belongs to him and to the people who built ThistleSim before him.
The rule names printed above — rule_Pot_Bio and the rest — follow the config format used by Automato’s thistle tools, by Dashing Strike, so that they paste straight into config_thistle_local.txt. The chart-reading and run-capture scripts that produce the data this page reads run under Automato and use its script library.
The model has been checked against four separate live runs and reproduced every number of every tick. It is only as good as the void list you give it, which is the whole point of this page. Always confirm a week’s voids on a second garden before committing a long recipe to them.
A Tale in the Desert is a trade mark of Desert Nomad Studios Limited (England and Wales, no. 11140442). This is an unofficial, fan-made tool: not affiliated with, endorsed by, or supported by them. Nutrient behaviour and thistle classification are game data, reproduced from the community wiki.
Nothing is uploaded — you can save this page and use it offline. Hosted at bigpoetry.net/atitd.