The toggle for overwriting is alright, but its still a little unnatural to use; would it be possible to run tests then instead of having "save+go back to level select"/"replay" having a third option of "don't save changes and go back to level select"? Ideally then you could paste someone else's link into the address bar and then choose to save it over what you have.
The problem is the autosave. (It runs every 15 seconds, so if you close the game without going to the save/load screen / returning to the main menu, you don't lose ALL your progress.) The game has to know whether or not you're going to overwrite the save at the moment you give it the string.
(I agree that the toggle is pretty unnatural, though. It was very much a five-minute fix.
Would total best parts/total best time on the main menu be doable?
Sure! Done.
Do you offer refunds on the amount of lost concentration, sleep and time this has so far cost me you evil evil man? :D
How about this - if you really want, I'll refund you all the money you paid me for the game. Deal?
-
I guess, given the finite nature of the grid provided it would technically be possible to solve, but almost certainly infeasible.
This is pretty much what I was getting at.
-
You could use random strings to test; if you have a machine which you know is always correct for any input (and does it in a reasonable time frame!), you can then throw random strings at them both and compare outputs. The only issue you would have to deal with is detecting infinite loops in user made systems, but a heuristic of 50 moves without any change to the string would catch them in my opinion. If you did this in the background you could obviously run it at a much higher speed (I assume it is the animations which take time, and not the actual computation of if it is valid or not).
Of course, this does fall down slightly further for ones which have standard input formats, although I don't think there are many of those.
I had a discussion with another player about detecting a non-halting machine about half the thread back (and later in email), for the purposes of a mode that would instantly run tests. The problem with your suggestion is that it only detects very simple loops - consider a case in which a robot is oscillating between a red and blue writer, for instance. The problem is not actually insolvable - there are at least two methods that can be applied. The first would be to create a list of every state (position / tape symbols) that has been entered, and, every time the robot moves, check to see if it's been in its current state before. If so, it's looping, and you should halt. This approach, however, quickly becomes prohibitively expensive both in terms of memory and computational complexity.
The second approach - which was suggested by the player I was talking with, and is apparently used in academia/industry (?) - is to run two copies of the machine at the same time, one twice as fast as the other. If they're ever in the same state at the same time, you're looping!
Anyway, that's the halting problem solved. (Take that, Alan Turing and Alonzo Church!) Your approach to determining correctness is interesting... true 'randomness' is somewhat worrying, though. Plausibly, with a nearly-correct machine, you could just retry until you got a set of tests that your machine passed... and similar problems.
More feasibly, and completely unrelated, could you code a rotate option into the selection tool? It would greatly speed up things, especially when you get halfway through a complicated mass of junctions before realising it will take less space if its rotated 90 degrees.
I probably should. (You're not the first to request it.) I'll poke at it soonish.