One more question: is the game real-time or turn-based? One of the main differences between Sokoban and Supaplex is that the latter has a notion of time (IIRC there was even a time limit for gathering "victory blockers"). Also, some of the harder Supaplex levels relied a lot on avoiding/running from those bastard forks.

]]>What degenerate case, it's the map maker's job to make an interesting map/campaign. These map exactly on the concept of patch tree, so you know, only play those signed by people you trust.

As to movement, player always moves to an adjacent square. Can be done with clicking, this item screams to be implemented in html5.

]]>I think I got it, but the numbers don't check out, so just to make sure, I'll give formalization another shot: a r-map comprises r concentric "rings", of length 1, 6, 6*2, ..., 6*(r-1), centered around the coordinate (1,1). The first ring has length 1, the second 6, the third 12, etc. (pen and paper drawing agrees on this), so in general: the first "ring" has one tile, while ring k (1 < k <= r) has 6*(k-1) tiles.

Then in general, for 1 < k <= r, coordinates can be represented as (k, i) where 1 <= i <= 6*(k-1). Then the first coordinate on the outermost ring (could be top-most by convention) is (r,1), the "last" coordinate is (r,6*(r-1)), while the "middle" (could be bottom-most by convention) is (r,6*(r-1)/2 + 1). I've verified this on a hand-drawn 3-map.

Looking at it, I see two problems: 1. the degenerate r = 1 case is a bit annoying (but could be handled gracefully), and 2. I'm not sure what moves are available to the player. I guess it would make sense to preserve the directions as represented by the coordinates (away from/towards the center and forwards/backwards on the current ring), and it makes sense to make this explicit, since there's no such thing as up/down-left/right movement in this universe.

I think I have a pretty clear image of how this should look now, I'll see if there's some easy way to arbitrarily draw these r-maps.

]]>I think I got it, but the numbers don't check out, so just to make sure, I'll give formalization another shot: a r-map comprises r concentric "rings", of length 1, 6, 6*2, ..., 6*(r-1), centered around the coordinate (1,1). The first ring has length 1, the second 6, the third 12, etc. (pen and paper drawing agrees on this), so in general: the first "ring" has one tile, while ring k (1 < k < = r) has 6*(k-1) tiles.

Then in general, for 1 < k < = r, coordinates can be represented as (k, i) where 1

]]>