There are videos covering the first ~30 levels, beyond that the best place for tips is the player community in Discord.
2020
Creator of
Recent community posts
Do you remember if you got the error while trying to solve the first OCaml puzzle or the second one?
Server logs suggest that you solved the first OCaml puzzle successfully, got a second OCaml puzzle in response, then after ~30 seconds refreshed the page, which could actually be done automatically by the browser upon network error. That refresh resulted in starting a new game.
Without more info, my only guess is that the server was too busy for the reverse proxy to fully process the request.
Unfortunately, the game isn't downloadable, and being a "Web 1.0 captcha" poses limitations regarding connection retries.
In case of an error like this (or one of the 50x errors), the best workaround depends on the browser: first, try to go back to the previous page, then either go forward (if the browser allows that) or re-submit the same diagram again. If the browser doesn't support going back to the previous page, refreshing the page may do the trick.
Non-negative numbers represent jumps to previous commands (loops), and -1 means termination.
For example, see Try it online.
The mouse sensitivity issue should hopefully be fixed in the new version. Thank you for reporting it!
It's tricky to rotate even-sized bounding boxes in place in a way that's reversible without using Undo, and I'd also like to maintain consistency with Home/End. I'm also not sure about conditionally entering Move mode, given that pressing Enter/Space while not in that mode would start executing the solution.
Now that mouse sensitivity has been lowered, please retry using the Ctrl+E - PgUp/PgDn - Enter sequence; if it's still too much of a hassle, I can consider having PgUp/PgDn/Home/End + modifier key (Shift or Ctrl) perform an implicit Ctrl+E.
I've temporarily added two special modes, would you be able to check whether any of the following fixes the issue?
1. https://graphomata.com/game/play-online.html?wndopt=1
2. https://graphomata.com/game/play-online.html?wndopt=2
(If so, I'll make it the default.)
The game negates the browser's zoom settings actively in order to achieve pixel-perfect text, so changing it wouldn't help.
A few questions:
- Do you play in windowed mode or fullscreen? If fullscreen, is it activated in the game (Options > Fullscreen) or by the browser (F11 or View > Full Screen)?
- Do you get the same issue when playing the Intro here on itch.io? Normally, you should see "Done" and "Skip" buttons on the top-right and bottom-right corners.
- In about:config, has any of the following settings been modified (appear in bold): layout.css.devPixelsPerPx, layout.css.dpi, privacy.resistFingerprinting ?
- Most importantly, do you currently have any workaround?
Does it only happen in the Windows version, and the HTML5 version connects successfully (can be tested in About > Server Data)?
If only in the Windows version, does running
curl --http1.1 -I https://graphomata.com/game/
(pre-installed on Windows 10+) produces "HTTP/1.1 200 OK" as the first line?
If also on the browser, what relevant errors do you get in the Developer Tools (Console and Network tabs)?
Thanks, old user has been deleted.
I've deployed another version that skips SSL certificate verification and outputs errors to the terminal.
What error do you get? Additionally, what's the OS version?
The best way to get all your solutions, achievements etc. is using About > Data > Export. No documentation yet.
I'm not exposed to player solutions - this way I can enjoy the game also as a player, on an equal footing. At least in my case, I've found that the more modular a solution is (and especially at later levels), the lower score I get...
Thanks, I can certainly do that in one project. The profile, however, doesn't embed files and is a little more complex (lower bound seems to be 4.5K Unicode characters, using one-letter animation names and similarly custom-X classes...)
Anyway, just wanted to add that CSS is typically highly compressible, if bandwidth or page loading speed are of concern (x5 compression ratio using normal gzip, in my case.)
I've deployed a new Linux version with upgraded dependencies (libcurl and mbedTLS).
If it still doesn't work, does running
curl --http1.1 -I https://graphomata.com/game/
Thanks for your contribution! The new threshold is now included in the latest version.
If the game fails to connect at startup, it retries every minute. Does restarting the game fix the issue?
Additionally, did you by any chance export the savefile from the HTML5 version after you started seeing histograms?
If you didn't overwrite the Linux savefile with the updated one, connecting from it will create a duplicate user and your "unique contribution" mark will temporarily vanish from the leaderboard until I delete your HTML5-submitted solutions from the server (not a big deal, I just need to be aware of the need to do it).
Re: platforms, itch.io is really the best, so welcome!
Line 7 can't be the first to execute because its defer expression initially evaluates to true.
The longer version:
- "In some cases, the statement will contain a clause that specifies that it cannot be executed until certain conditions apply. This results in the statement being deferred and placed back on the to-do list."
- "The defer statement takes a boolean argument. If the argument is true, the statement is deferred - i.e. the remainder of the statement is not executed and the line number of the defer statement remains on the to-do list."
- "The following standard [...] boolean operators work as expected: [...] &&, ||, !."
- "An integer used in a boolean context evaluates to false if the line of that number is not currently on the to-do list and to true if it is on the to-do list at least once."
The initial to-do list includes all lines so all defer expressions evaluate to true:
- Line 2: (T && T) --> T
- Lines 4 and 8: (T || T) --> T
- Line 5: ((T || !T) && T) --> T
- Line 7: (T || !T) --> T
Therefore, the executable lines are {1,3,6}. Executing lines 3 and 6 any number of times doesn't modify the to-do list, so they can be ignored (except for determining halting). "Eventually", line 1 will be picked, executed and removed from the to-do list.
Once that is done, the defer exression of line 2 will be the only one that evaluates to false:
- (1 && 7) --> F && T --> F
Therefore, the executable lines will be {2,3,6}, line 2 will ultimately get picked, and "A B" will be printed.
Then, depending on whether read() returns 1 or 0, we'll have a to-do list of either [3,4,5,6,7,8] or [4,5,6,7,8], the executable lines will be either {3,5,6} or {4,6}, and either "D E" or "C" will get printed (all respectively). And so on...
Are you overlooking the effect of "defer"? AFAICT in your screenshot execution order is deterministic up to conditions, and the program terminates successfully (i.e. with empty "to-do list").
Anyway the hints are now available in-game, and I've also placed print() statements on separate lines (the spec, while being somewhat loose, doesn't allow both print() and lines specifications on the same line).