Hi,

I was wondering if there is some "public" highscore list for Sokoban levels found in Sokoban for Windows online?

Also, a maybe dumb question about highscores: Is it preferable better to have less moves over pushes or vice versa?

E.g. If on a level I have 145 moves and 64 pushes, in another try 148 moves and 62 pushes, in a third try 142 moves and 65 pushes.

Which one is rated on first place?

I'm asking because I found out that the ranks in the internal Sokoban highscore tables are not seeming to have a consequent rule on SOME levels. Maybe this could also be a little bug (I'm using version 2.3 b3).

Anybody has some ideas?

Thanks in advance,

Nicolas

Hi,

there is no public highscore list.

A qoute from the help file:

So your example would give the following order:

145 m 64 p

148 m 62 p

142 m 65 p

But this was NOT quite correctly implemented.

I had several tries on some original levels and took screenshots of the scores Sokoban for Windows gave me.

Have a look at Level 6:

Here the third score shows LESS moves than the top score AND the number of pushes are EQUAL to the top score.

Therefore it should be rated place 1, nevertheless it is rated place 3.

On Level 2 the algorithm seems to work:

On this highscore table all tries seem apparently sorted on number of pusheson the first look.

But I played them in following order (in ranks shown on the pic): 2, 4, 3, 1 and 5.

2 and 4 could not be compared, therefore chronologically.

3 had less moves than 2 and 4, but more pushes than 2 and less than 4. So consequently 3 has been ranked higher than 4 (because for THIS score it was comparable better), but for 2 there was no comparison possible because of more moves.

1 had best moves AND pushes, therefore playced on top.

5 could not be compared to any score because of highest number of pushes.

So here the algorithmn works exactly as it should be.

Can you explain this?

Hi,

this is definitely a bug. I have fond it and it will be corrected shortly. The problem was that I used a binary search to find the position for a new score. The binary search fails when the compared score is neither higher nor lower than the one to insert. A linear search method has to be used.

Thanx for reporting this.

/Björn

Hello Nicolas.

You can find the current world records of many levels at www.sokobano.de

There are both types of solutions: Move optimized solutions and push optimized solutions.

Matthias

Thanks Björn for your quick reply!

And thanks Matthias, i found sokobano.de two days ago already

Björn, I have a proposal for the highscore table:

Why not dividing the highscore table in two parts: Best moves highscores / best pushes highscores.

I think this should not be too difficult to implement (please correct me if i am wrong!) and would be an additional challenge for some players.

This would also solve the little bit confusing thing about incomparable and therefore chronologically stored scores.

I imagine it could work like this:

The first time a solution is found (164m/78p), the score will be entered in both tables.

If in a second try you improve moves AND pushes (161m/76p), this score is new top on both tables.

Then, in a third try you get less moves but more pushes (159m/79p), you get place 1 on the move highscore table, but last place on the pushes table.

Best Moves highscores1. 159m 79p

2. 161m 76p

3. 164m 78p

Best Pushes highscores1. 161m 76p

2. 164m 78p

3. 159m 79p

What do you think?

Best regards,

Nicolas

Good idea! I'll give it some thought.

Björn