Thanks for the answers. As for the strat, I did used a better one, but didn't though it would save me that much... And about the message, that's another cool add :) (I was thinking about telling you that, but you beat me :P)
I just got a bug in the game, & I can send it. It's on level 3-3. Should I send the video?
BTW, here's how I think I got the bug:
Played the level & screwed it up, so I pressed D (I could had saved time by pushing the block the other side or something like that...)
I used another window while the level was loading, I think I was checking this forum...
I put again the game to play, but Peter magically started to walk backwards, like when you press D, but this time he placed where I screwed it up last time.
Pressed Space Bar to see what happened, & it returned to where I leaved the 1st time, but I think the time was lower... (The blocks where sorted as I leaved them)
Edited: Decided not to send it, it wouln't be fair for the current record. I'll beat is normally :)
Yay, got me a record..
I will see how long it stands against Samurai Goroh...
Anyway, record message tells me that there's 79 seconds of error in it, is that really all human delay? Wow am I slow...
EDIT: Found a weird bug...
If you enter the Levels full name into the first change dialogue (which should only take the first number) the game not only gets weird but credits you to have beaten random levels... for example I'm supposed to have beaten 7-5...
Well, since Bisqwit made the game more fluid, seems that I can't use the kick as fast as before :( (Meaning that I can't use the faster way & lose some time instead :( )
BTW, I think whats the cause of the bugs I found.
For the 1st one, seems that you don't clean the Undo variable when you retry a level with D button. So, you can place all but 1 block, then press D to start again & then Space Bar to undo & magically return to the last position before with the time just started.
Also, I got another one while I screwed it up a block. Seems that I was pushing it & set Peter to move after with the mouse, but since I pushed the block to much I had to restart again & he walked through the block to get where I wanted with the mouse...
This is very helpful! Thanks for reporting.
But you couldn't submit a record that abuses this glitch - the server refuses any submission that doesn't complete the game. It checks the movie very thoroughly.
Thanks, apparently the autoaimer is not reseted when an undo is performed. This will be fixed soon too.
I couldn't duplicate this error (although I know weird things happen if you input an invalid level number), but I think I'll remove the "change level" button since it can now be accomplished using the Records page (which I always use nowadays).
The three mentioned bugs have been fixed and the game is back online with a new movie format that should cause less traffic.
For example, this is BoltR's movie for the first level:
which breaks down like this:
- at zero frame, walk up
- define default walk timing as 6 frames for the next 19 times, and wait that amount
- walk <for next three commands, default walk direction is left>
- walk, walk
- walk up
- face left
- define default timing after a "face" event as 1 frame for the next 5 times, and wait that amount
- grab
- define default timing after a "grab" event as 2 frames for the next 8 times, and wait that amount
- save, wait 0 frames, push
- define default timing after a "push" event as 12 frames for the next 7 times, and wait that amount
- walk down, walk left, face up, grab, save, wait 0 frames, push, walk left, walk up, face right, grab, save, wait 0 frames, push, walk down, walk right, grab, save, wait 0 frames, push, walk up, walk right, face down, etc etc.
Bisqwit: There appear to be a couple of minor problems that prevent some movies from playing correctly. Take a look at 1-4, 2-1, 2-2, 3-1, 3-2, 3-3, 3-4, 3-5, and probably others past 3-5.
Samurai G: I was looking at the beginning portions of your 3-1 run before it glitches, and I noticed that after you kick the first three blocks into the target area, you run over to them and then push them around. Specifically, you push two of them down. In those situations it's always more efficient to kick them, if you have reasonably fast reflexes:
Push (0.4s) + Move Up 1 (0.2s) = 0.6s
Kick (0.5s) = 0.5s
It seems likely that those two kicks are the two extra kicks that BisqBot uses. If you change this, your run will be 152/18/11 (compared to BisqBot's 150/20/11), so presumably you have some minor error in the order in which you move around the blocks.
Fixed.
Also added a few new levels. The graphics however are just palette-changed versions of the graphics of existing levels. If someone had the registered version of peterbox, I could use its real graphics in those levels...
(Phases 5,6,9,10,11,12)
Edit: From Warp's request, I also added the "0" key (both the digit row and numpad) as an alternative for the kick "K" key.
Hmmm... it's complaining.
"Record not saved! You walk diagonally from (180) to (201) at 121 after 262"
and that's the second record in a row that gets me that message.
Level 3-1:
43:13 - "Record not saved! You walk diagonally from (139) to (118) at 241 after 635."
42:76 - "Record not saved! You walk diagonally from (139) to (118) at 250 after 629."
42:79 - "Record not saved! You walk diagonally from (139) to (118) at 239 after 626."
42:36 - "Record not saved! You walk diagonally from (139) to (118) at 248 after 624."
41:93 - "Record not saved! You walk diagonally from (139) to (118) at 246 after 623."
41:83 - "Record not saved! You walk diagonally from (139) to (118) at 245 after 619."
41:96 - "Record not saved! You walk diagonally from (139) to (118) at 249 after 622."
41:70 - "Record not saved! You walk diagonally from (139) to (118) at 243 after 615."
Interesting, it let me submit a 42:23 (EDIT: and a 41:63). How sure are you that BisqBot has the most efficient path? Mine is 152/18/11 and the bot's is 150/20/11. Unless my path has 12 extra keyboard turns compared to the bot's (doubtful), shouldn't my route be faster?
Where I got that 12 from: (2 moves * 0.2 sec/move) - (2 pushes *0.4 sec/push) -> -0.4 sec -> 0.4 sec / 0.033 sec/turn = 12 turns.
EDIT: I tallied some stuff manually, it appears my path is turnier and grabbier than BisqBot's. Optimally my path can only be brought down to 40.754s.
Argh, I just improved my level 4-5 by almost a minute but it said that I walked in diagonal... Here's the exact message:
"Record not saved! You walk diagonally from (41) to (58) at 2394 after 6747."
Here are the stats...
Sent the vid :) , now you can watch it & maybe find what's the deal. I think is that you press, for example, Up with the mouse & right in the keyboard...
Movie desync bug fixed. (It was caused by the movie compressor accessing wrong variable when it tried to update the cached state of player facing.)
New submitted movies should work okay.
Warp about your reclaimed 3-5:
In the middle part after you use the bumper for the third time to stop a box early you did a small change to my route. I tried to crush for that insolence.... but I'm just too slow.
So here's what should be different:
Yours is the red route.
The blue route uses two steps and one turn less.
(But you're still so much faster, I'd need about 2 sec of improvement min to catch you)
EDIT: yousendit seems to be broken atm. So here's the second quality rapidshare link
It's behind the "Free" button near the bottom...
Actually I felt a bit bad about looking at your route and then copying it and beating your time by just a few tenths of a second... But I just had to try, I couldn't resist. Sorry. :)
I'll have to try that change you suggest to see if I can beat my own time.
I added a finetuning feature to the mouse aiming.
When you click the left side of a square, Peter will walk to that square and face left.
When you click the top side of the square, Peter will walk to that square and face up. And so on. Clicking near the middle of the square will act as it did before.
Skillful players can use this feature to avoid the 1-frame facing-change-lag that often occurs between mouse-aiming and pushing.
In fact, all facing delays can technically be eliminated with this trick.
The middle mouse button can be used for "kicking", but apparently it also invokes a "<load link from clipboard and load that page>" feature in Mozilla, effectively unloading the game. I don't know how to disable it from Javascript.
The same also goes for arrow keys if there are scrollbars present on the page.
Damn you! (This is virtually impossible for a human to profit from.)
PS - Did you do this to eliminate the pathing bug in your bot?
PPS - Please eliminate clicking in the middle of the square, just make it turn to the side we clicked closest to.
PPPS - Are you sure you eliminated the delay? I've been trying unsuccesfully for 30 minutes now to shave a frame off of 1-4, and I just keep getting 5:70 over and over again.
PPPPS - Can you eliminate the randomness from the mouse pathfinding algorithm? For example, after the first click on 1-4, sometimes Peter will go LLD and sometimes he will go LDL. It would be convenient if when traversing a completely unobstructed rectangle he would minimize the number of turns, and make the straight approach to the target square in the target direction be as long as possible. (So in my example Peter would go LLD.)