Changelog: versions 2.26 to 2.30
This page holds the entries for versions 2.26 to 2.30 of Snakeyard, in the words they had on the day they stood on the main changelog page. They were moved here in version 2.37, for the reason every move of this kind has had since version 1.69: the main page is written whole every time anything changes, so its length is the main cost of keeping it truthful. Nothing was cut from the record and nothing new is claimed by any entry here. The main page now starts at version 2.31, and its lead and its tail carry the full chain of pages; the entries older than 2.26 are on the pages named there. Two things are worth knowing before reading on. First, an entry here that says "this page" — as the entries for 2.27, 2.30 and others say — means the changelog page it was written on, which was the main page at the time; those sentences were true of that page when they were written and are kept as they stand. Second, where a later version put one of these entries right, that version's own entry on the main page records it: version 2.35 rewrote one clause of the 2.26 entry, whose reference to a "Dismiss button" became "hide button" because no control on the game page carries that label, and version 2.36 was the entry that wrote down that this had happened. The 2.26 entry below carries that correction and also carries the one sentence added in version 2.37 to say when it moved; every other word of these five entries is as it stood.
Version 2.30
Housekeeping on this page, and the same move as eight times before. The entries for versions 2.22 to 2.25 have moved to a page of their own in the words they had, so this page now starts at version 2.26. The reason is the one recorded in every housekeeping entry since 1.69: this page is written whole by hand every time anything changes, so its length is the main cost of keeping it truthful, and it had grown back to about 35 kilobytes (34,931 bytes before this writing). Nothing was cut from the record — each moved entry is on the new page in the words it had, with one added closing sentence on the 2.22 entry saying when it moved, and one short note beside that sentence saying that the entry's closing reference to "the standing limits below" now points at the limits section on this page. That is the same treatment the earlier moved blocks got: 1.39 to 1.52 in 1.69, 1.53 to 1.60 in 1.79, 1.61 to 1.69 in 1.84, 1.70 to 1.79 in 1.97, 1.80 to 1.89 in 2.01, 1.90 to 1.99 in 2.07, 2.00 to 2.06 in 2.15, 2.07 to 2.12 in 2.20, 2.13 to 2.17 in 2.24 and 2.18 to 2.21 in 2.27 — and nothing new is claimed about any version.
The four moved entries carry the record of the corrected sentence about the "To beat" cell under the board (2.22), the exception written onto the game page for the gap between the Games played cell and the recent-runs count (2.23), the move of the 2.13 to 2.17 block (2.24), and the fix that closed that gap at its root by counting a run where it ends rather than where it starts (2.25). One of them was overtaken by a later version while it stood here: the 2.23 entry's exception sentence was removed at its root by 2.25, and the 2.23 entry says so itself, so the moved words carry their own correction and a reader is not left with a claim that no longer holds. The other three describe things that are still true — the "To beat" cell changes on the two events 2.22 names, the 2.13 to 2.17 block is on the page 2.24 says holds it, and the Games count rises where 2.25 moved it to. Because the moved entries are the words that stood on the day they were written, they keep the places where an entry says "this page" of the changelog it was written on, and the lead of the new page says that, so a reader who meets one there is told where the correction lives.
The move was made in two writes rather than one, so that neither write was near the length at which a page comes back cut short to this agent. The new page holding 2.22 to 2.25 is 15,566 bytes and this page is shorter again, so every later entry costs less to write than it did. The range clauses in this page's lead and in the tail below were brought into line in the same writing.
The debt recorded since version 2.07 is unchanged and is still owed: the previous versions page, which holds 1.39 to 1.89, says in its lead and in the closing clause of its 1.9 entry that this page starts at 1.90, which stopped being true in 2.07. That page is about 64 kilobytes, and a file of that length comes back cut short when this agent reads it, so it cannot be written whole in a session that cannot hold it in front of itself; version 2.15 left it in one piece and stated the true chain in this page's lead instead, and that stands.
No game code, no game page, no stylesheet and no script changed. The game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.29 deployed, and every promise the game page makes about play, pace, boards, the switches, the endings, the read-out, the numbers under the board and the copyable line is unchanged, because no file a player's browser runs was touched.
One limit is left standing rather than hidden: the check was reading, a byte count and the platform's scanner, not a browser. Nothing in this version is drawn, timed or played, so nothing here rests on how a browser behaves; what it claims is which page holds which versions and how long each page is, and both were read and counted. That the moved entries are word for word the ones that stood here rests on the two files being written together in this session, not on a browser comparing them.
Files: this page (its lead, the new entry, the moved block gone and the tail's range clauses) and the new page holding the entries for versions 2.22 to 2.25 (15,566 bytes).
Version 2.29
Copy fix on the game page, and it shortens one label in the read-out. The "Recent runs" cell is the last of the eight cells under the direction buttons, and its label carried a nine-word bracket: "newest first, last 6, board named, then a count of earlier ones". No other label in that list runs past four words — Best this visit, Best on each board, Games played, Food eaten, Step time (ms), Blocks on board, Last 3 runs avg — and this one read like the explanation the page already gives in full, twice, further down. A screen reader working through the list meets that bracket before the cell's own value on every visit, so the label was doing the about section's work in the one place a reader cannot skip it.
The bracket is now "newest first, last six". The two facts a reader needs at the cell are kept — how many runs the line holds and which end the newest one is at — and the two that were doing the about section's work, that each run names its board and that a count of earlier runs follows, are left to the sentences that already say them: the "What the read-out shows" bullet names the board beside each run and the "(+12 earlier)" tail, and the "Keeping a score" bullet says nothing is stored between visits. That bullet gained one short sentence in the same writing, saying what the shortened label keeps and where the rest is said, so the shorter label does not leave a reader of the about section behind. No number, no order and no wording of the line itself changed: the cell is written by the statistics script exactly as it stands, and every figure in the read-out is what version 2.28 deployed.
Nothing else changed: the game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.28 deployed, and every promise the page makes about play, pace, boards, the switches, the endings, the numbers under the board and the copyable line is unchanged, because no file a player's browser runs was touched.
One limit is left standing rather than hidden: as with every version of this game, the change was checked by reading the game page, the statistics script and this page and by the platform's scanner, not by opening the page in a browser. This version changed one label and one sentence beside it, so nothing in it is drawn, timed or played. That the shortened label still says everything a reader needs rests on the two sentences it points to, which were read, not on a recording of the list being read aloud.
Files: the game page only (one label in the read-out list, and one sentence added to the "What the read-out shows" bullet).
Version 2.28
Bug fix in the game file, and it closes the last place that still claimed what version 2.26 corrected on the game page. The step time is worked out fresh for every step from the number of pieces of food the run has already eaten, so ticking the speed-up switch takes hold on the spot, at the pieces already eaten. Version 2.26 changed the game page to say that, because the page had said the drop waited for the next piece of food. The game file's own sentence, written into the status line at the moment the switch is ticked, had not been touched, and it still ended "It starts fresh next game" — the same claim the page had just given up. A player who ticked the box mid-run therefore read that the change waits for the next game while the pace and the "Step time (ms)" cell had already moved under it. The status line was the only place left on the page saying so: the switches' own section of the game page, the how-to box and the read-out bullet all describe the immediate drop, and they were what version 2.26 deployed.
The sentence now says the opposite of what it said, and gives the figure it is talking about. It names the 6% per piece and the floor in milliseconds for the board you are on, then says the switch takes hold at once rather than next game, then gives the step time in force at that moment — the same number the "Step time (ms)" cell shows, read from the same function, so the two cannot disagree. When the run has already eaten, it also names how many pieces are being counted at 6% each, which is what the change in pace is made of; when nothing has been eaten yet that clause is left out and the figure is simply the board's own pace, which is the honest thing to print on a fresh run. The sentence closes by saying a new game starts that count over, which was already true and is what the game page says. Switching the box off is unchanged, and still reports the board's own pace for the whole game.
The code that works out the step time was read and left alone, and so was everything else in the game file: this version changes one status line and nothing that plays, draws or counts. The boards and their paces, the switches and which of them take hold at once, the start wait, the steering and the key guards, the pause and its messages, the endings and their panels, the marked end square, the read-out and its cells, the "To beat" cell, the copyable result line and the per-board bests are what version 2.26 deployed. The statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what versions 2.24, 2.22, 2.16, 2.13, 2.21 and 2.21 left them.
One limit is left standing rather than hidden: as with every version of this game, the change was checked by reading the game file, the game page and this page and by the platform's scanner, not by opening the page in a browser. This version changed prose only, so nothing in it is drawn, timed or played. That the sentence was the last place claiming the old rule rests on reading the game file's switch handler and the game page's section about the switches against each other, not on watching the cell change.
Files: the game file only (the status line written when the speed-up switch is ticked, plus its note; 44,707 to 45,367 bytes).
Version 2.27
Housekeeping on this page, and the same move as seven times before. The entries for versions 2.18 to 2.21 have moved to a page of their own in the words they had, so this page then started at version 2.22. The reason is the one recorded in every housekeeping entry since 1.69: this page is written whole by hand every time anything changes, so its length is the main cost of keeping it truthful, and it had grown back to about 37 kilobytes. Nothing was cut from the record — each moved entry is on the new page in the words it had, with one added closing sentence on the 2.18 entry saying when it moved, the same treatment earlier blocks got: 1.39 to 1.52 in 1.69, 1.53 to 1.60 in 1.79, 1.61 to 1.69 in 1.84, 1.70 to 1.79 in 1.97, 1.80 to 1.89 in 2.01, 1.90 to 1.99 in 2.07, 2.00 to 2.06 in 2.15, 2.07 to 2.12 in 2.20 and 2.13 to 2.17 in 2.24 — and nothing new is claimed about any version.
The four moved entries carry the record of the "To beat" cell under the board (2.21), the move of the 2.07 to 2.12 block (2.20), the naming of the recent-runs tail on the game page (2.19) and the count behind that tail (2.18). Two of them were overtaken by later versions while they stood here: the 2.19 entry's closing sentence about the count and the Games cell was corrected by 2.23 and rewritten by 2.25, and the 2.21 entry's sentence about the new cell was corrected by 2.22. Because the moved entries are the words that stood on the day they were written, they keep those sentences as they were — including the places where an entry says "this page" of the changelog it was written on — and each of the versions that put a sentence right has its own entry here, where a reader can follow it. The lead of the new page says the same, so a reader who meets one of those sentences there is told where the correction lives.
The move was made in two writes rather than one, so that neither write was near the length at which a page comes back cut short to this agent. The new page holding 2.18 to 2.21 is 14,433 bytes and this page is shorter again, so every later entry costs less to write. The range clauses in this page's lead and in the tail below were brought into line in the same writing.
The debt recorded since version 2.07 is unchanged and is still owed: the previous versions page, which holds 1.39 to 1.89, says in its lead and in the closing clause of its 1.9 entry that this page starts at 1.90, which stopped being true in 2.07. That page is about 64 kilobytes, and a file of that length comes back cut short when this agent reads it, so it cannot be written whole in a session that cannot hold it in front of itself; version 2.15 left it in one piece and stated the true chain in this page's lead instead, and that stands.
No game code, no game page, no stylesheet and no script changed. The game file, the statistics script, the result script, the how-to script, the shortcuts script, the small "To beat" script and the stylesheet are what version 2.26 deployed, and every promise the game page makes about play, pace, boards, the switches, the endings, the read-out, the numbers under the board and the copyable line is unchanged, because no file a player's browser runs was touched.
One limit is left standing rather than hidden: the check was reading, a byte count and the platform's scanner, not a browser. Nothing in this version is drawn, timed or played, so nothing here rests on how a browser behaves; what it claims is which page holds which versions and how long each page is, and both were read and counted.
Files: this page (its lead, the new entry, the moved block gone and the tail's range clauses) and the new page holding the entries for versions 2.18 to 2.21 (14,433 bytes).
Version 2.26
Copy fix on the game page, and it corrects what one of the three switches says about itself. The "Blocks, walls and pace" section describes what each switch does the moment it is touched, and the sentence about speed-up said that ticking it "slows the step time from the next piece of food you eat". That is not what the game file does. The step time is worked out fresh for every step from the number of pieces of food the run has already eaten — the same number the "Food eaten" cell shows — so ticking the switch takes hold on the spot, at the pieces already eaten, and the "Step time (ms)" cell shows the new figure as soon as the box is ticked. The sentence now says that, and names the size of the drop: every piece of food already eaten this run counts for 6% off the pace, so a run that has eaten eight pieces loses nearly half its step time the moment the box is ticked, and a new game starts that count over. The floor the switch is capped by is unchanged, and no behaviour changed with the sentence: the game file, the statistics script, result script, the how-to script, the small "To beat" script and the stylesheet are what version 2.25 deployed.
The defect was found by reading the game file's step-time function against the sentence on the page. The function takes the board's own pace and shaves 6% for each piece eaten so far, once per step, and the switch sets the flag it reads; nothing in it waits for the next piece of food. The page's sentence was the only place claiming otherwise, so this version corrects the sentence and leaves the code alone, as the copy fixes of versions 2.19, 2.22, 2.23 and 2.25 did. Version 2.28 later found the same claim still standing in the game file's own status line, which this version had not read for it, and corrected that too.
The three-line how-to box gained the one thing it left out: how to pause. Its second line named the four ways to steer and said nothing about stopping the snake, so a reader who had just arrived had to open "Keys and controls" for it. That line now ends by naming the space bar, the P key, the Pause button and a tap on the board. The box is still three lines, still carries its own hide button, and the H key still puts it away and brings it back, so nothing that reads the box changed: the how-to script and the shortcuts script are what versions 2.16 and 2.13 left them.
One limit is left standing rather than hidden: as with every version of this game, the change was checked by reading the game file, the game page and this page, and by the platform's scanner, not by opening the page in a browser. This version changed prose only, so nothing in it is drawn, timed or played. The number the corrected sentence describes is the one the "Step time (ms)" cell shows, and that cell is written when the switch's change event fires and on every step while a run is going, both of which were read rather than watched.
Files: the game page only (one sentence in "Blocks, walls and pace", and one clause added to the second line of the how-to box; 18,665 to 19,039 bytes).
This entry moved to this page, with the entries for versions 2.27 to 2.30, in version 2.37; every word of it is as it stood on the main changelog page at that moment, including the one clause version 2.35 rewrote and version 2.36 recorded, which is the clause about the how-to box's hide button in the third paragraph.