I'd like to throw something into this debate too.
As possibly a perfectionist sort of player, I dislike getting a higher score on a room that I know I can optimise, especially if it's somewhere between 1-50 moves (I tend to leave large rooms for reasons mentioned below). The only problem is is that I know that if someone can optimise a room better than I can, there's also a possibility that I can optimise it further, i.e. the person at #1 is possibly not going to be there for long. Unfortunately for me, if I can't already see what I need to do in a demo or in my original solution, I won't actually know if the room is optimal or not, so I have to have a go myself and attempt to equal or better the #1 score.
And this is the problem - when you attempt to get a #1 score, you're doing just that - attempting to do what someone else who got the last #1 didn't. It may be that he/she missed that going down the passage first before hitting the orb saves 1 move, or perhaps that cutting the tar like
this instead of like
that saves 3 because fewer tar babies are formed. So, since you need to discover what this missing trick is, you have to work it out yourself, since the demo can't show you what you need to do.
This is where the problem gets nasty, since if you want to do it theoretically, you'll need to calculate decision trees and compute what monster states will be in each area if you make a particular sequence of moves. While this is fine in simple rooms, if you have lots of monsters, and if they are all important to the solution, I simply can't plan more than a few moves accurately in advance since I'm not a computer. Therefore I need to resort to trial and error and choose novel movements that the demo or I didn't use in order to see if the monsters move favourably. Obviously I don't use complete trial and error, and move randomly, since that's silly, but I may have 20 choices of combinations of movements that look like they could work in a particular section and I'd like to try them all to see if they actually do work. Basically, I perform what you might call "
educated-guess"
trial-and-error. In a short room, this is not too bad, but in longer rooms, this could be a nightmare. Imagine playing a complex sequence of 200 moves 15 times simply to make 15 experiments! Of course, if a room requires 500 moves to reach the variable section, then that's completely out of the question - I don't have the time to do it, so I have to give up, and end up rather dissatisfied. This is why I only have 400 or so highscores, and only about 150 of them are actually anywhere near optimal - I simply don't have the time and energy to play rooms over and over just for highscores, and I don't want lots of unoptimal ones either. So I end up not playing as many rooms as some.
This is then my case for unlimited undo, or at least automatic saves every so often - I want to try out something novel and different in a solution; I want to be #1 in a room, and not simply copy someone else's demo. However, if I need to replay 200 identical moves just to get to the experimental area, then it's just a massive waste of time for me. Unlimited undo would allow me to experiment without retracing my steps until I found a solution or a set of moves that looks promising. It would encourage and allow me to look for alternate solutions and think laterally, without so much of a time penalty.
Let me take a simple example, just to show you the sorts of things I do when I go for a highscore, and how in this case it actually worked (for now). [I also risk Rabscuttle stealing all my #1s in the hold if I do this, but I guess it's a risk I'm willing to take for the sake of this argument]:
If you go to Perfection, Perfect 4, 1S 1W, and have completed it, you'll see that I have just obtained a #1 score of 473 moves. Here's a basic analysis of how I did it:
Up to about move 330, the solution is pretty much inflexible due to the nature of the room. Anyone going for a highscore will have done the room in almost the exact same way up to here, and so, I don't think anyone can reach column 1 before this move. So I can be pretty sure that I'm fully optimised up to here if I've moved like the people in the winning demos. Now, however, I have a choice - there are a set of series of movements that can be made in this last area, all of which give similar results, but one or two are more efficient than others.
Warning! Really nasty spoilers in this tag. Intended only for people who have actually finished the room.
Click here to view the secret text
×I now have four basic goals -
1. Fend off the roaches being produced by the queen in the south.
2. Move the roaches in column 10 into column 8.
3. Move the roaches in column 8 into column 6.
4. Move the roaches in column 6 into column 1.
I can see that only one roach can be moved into the column to the left of it at a time, and that the entire column of roaches needs to be displaced by one in order to let the new one in and free up the diagonal transition square for another roach. I can also see that I can move a roach into the column 8 transition square (9,15) at the same time as get one out of column 6. So, it would probably be a good idea to do both at the same time if possible, since that looks like it will be more efficient.
So, I travel to (1,15) to do this for the first time. Now, I have a choice with two viable options. [Note: N, E, S and W stand for movement in the compass directions, and A and C for swinging in the anti-clockwise or clockwise directions].
Do I...
1. Move all roaches in column 10 into column 8 first, while killing the two roaches that leave column 6 (4N+4S+5N+5S+10N = 28 moves), move all the roaches in column 8 into column 6 (1N+1S+1N+2S+2N+3S+3N+4S+4N+5S+5N = 31 moves), and then release them into column 1 (11S = 11 moves)? This is the solution in the previously winning demo, with a total of 70 moves.
2. Move one roach in column 10 into column 8 and release one roach from column 6 (11N = 11 moves), kill the roach released from column 6, release another while moving another roach from column 10 into 8 (11S = 11 moves), move the last roach in column 10 into 8 (4N+4S = 8 moves) move all the roaches in column 8 into column 6 (11N+1S+1N+2S+2N+3S+3N+4S+4N = 31 moves) and then release them into column 1 (11S = 11 moves)? I can also consider this a possible solution, since although you travel up and down 22 squares to move the roaches between columns alternately, you save the 20 moves used to herd the last one into a column with the other 5, to give a total of 72 moves.
[All other ideas involving transferring more than one roach into columns 8 and 6 alternately instead of all at once will require more moves (for each alternate transfer, add 22, subtract 4(n-1) moves, where n is the number of roaches in columns 8 and 10 at the start of the transfer)]
Obviously, option 1 is the better one, and I therefore choose it, but note how close option 2 is. If n had been 7 instead of 6, then in fact, choosing option 2 would be more efficient. I'd gain 22 moves for having to move up and down 11 squares in order to get one roach from column 10 into column 8, but I'd save the 24 moves needed to move the 6 roaches in a column so that the 7th one can also enter it, leading to a decrease in move count by 2.
Finally, I am left with a choice over how to kill the 6 roaches attacking from the east and the queen.
Do I...
1. Rotate to face the roaches and kill them by swinging (1A+2 wait+6*(1A+1C) = 15 moves) and then go for the queen, stepping on the force arrow at the end (1C+14S+1SE = 16 moves)? This is the solution in the previous #1 demo, with a total of 31 moves.
2. Head directly south for the queen, ignoring the roaches (14S = 14 moves), step onto the force arrow, and rotate to face northwest to kill one roach (1SE+3C = 4 moves), and then kill the remaining 5 by swinging? (5*(1C+1A) = 10 moves). This gives a total of 28 moves, since I save 3 moves used for swinging towards the roaches and then back towards the queen.
Obviously option 2 is the better one, and it gave me a 3 move improvement on the last highscore.
And now for my point: I analysed my movements and choices here in detail, but this required a significant amount of time to do, probably slightly more than I actually needed when attempting to get the highscore for the first time using trial and error. In fact, when I was faced with these choices, I tried both combinations for each in order to work out which was the better one, and didn't spot the second choice for decision 2 until I did it by accident when I pressed "
2"
too many times.
In far more complex rooms, analysing choices like this will take far too long, and may still require experimentation to find the movement order of monsters anyway. So I am forced to use analysis to find possible solutions and use experimentation to find the best one in a sort of iterative process.
Let's say that, for example, if I had to play all 330 moves from the beginning each time to do this, and let's say that the 50 or so moves to analyse, like I did above, were exceedingly complex with many different monsters and elements to watch all at once, such as in Bavato's Dungeon L13 1S 1E, neither the option of "
educated-guess"
trial-and error, nor the option of analysis would be open to me to find an optimal solution simply because of time constraints. So, I'm disadvantaged from getting a highscore since I don't want to copy someone else's demo directly and I don't have as much time as other people to find an optimal solution, which I find unfair. Unlimited undo in this case would put me on a more level playing field with other people who have more time, since my ingenuity and ability to experiment will be tested more, rather than how much time I have on my hands to repeat a few hundred identical moves repeatedly.
I did see the argument about persistence, but really, if a person is willing to try out 500 different sequences at random in the hope of finding one that works, then he'd be more-or-less wasting his time, since someone with a bit of cunning may be able to reduce those 500 possibilities to 30, for example, and so get the optimal score faster. And, of course, if you do have a lot of time but you use your cunning to find an optimal solution, then you deserve getting the #1 score, since you made the effort to do so. The time problem will always be there, of course, but unlimited undo will give others who don't have lots of time a better chance.
Of course, there is also the problem of people using unlimited undo to make completing a room more easy. So, as a compromise, unlimited undo could be like the F6 demo feature - you can only use it if you've previously completed the room as a feature to help you go for a highscore (DROD can occasionally get confused about completed rooms, so I guess that would need be fixed first). After all, why else (apart from seeing the room again) would you replay it?
____________________________
Resident Medic/Mycologist
[Last edited by agaricus5 at 02-18-2006 10:14 AM]