You can walk around freely in all four directions but a single keypress will make Udo walk an entire square so he always stops at the middle of the square.
It uses the animations from the main game, but they look pretty cool. It's drawn in such a way that the block in front of Udo can overlap him slightly and the shadows use alpha blending and look pretty cool.
It's not Z-buffered or anything. Before I draw the map, I work out which map cell Udo's bottom right corner is in, then when I draw that map block, I draw Udo's shadow then Udo as well.
Obviously the stars represent levels, although I've not implemented this yet. When the world is loaded, it loads information about each level and stores it against the position of the star. When Udo walks onto a star, the name of the level alpha fades in at the bottom of the screen and fades out again when he walks off it. The path to the level file is stored with this information as well.
The water is constantly slowly scrolling underneath the island from right to left as well, which looks pretty cool. If I hacked some rivers through this island I reckon it would look pretty good.
I figure these bits will be passive like Mario's maps and just give you the opportunity to enter levels. Bits will be blocked off until you have completed certain levels and so on.
Although I must admit I've got some vague ideas in my head to put some sort of RPG adventure game elements into the World Map bits. Like perhaps other characters to talk to that send you off into the normal levels to look for certain items.
Spent all that time writing a font engine. Might as well use it.
[EDIT - Update]
When you stand on one of the stars, pressing space now takes you to the level specified in the level details file. When you have completed the level, the star and the name text go grey in the World Map.
The game saves your position, score and the completion state of all the levels whenever you complete a level, so when you exit the game and start again, you begin standing on the last level star you completed, with your score at the time.
You just get three lives at the start of each level now and the lives are not displayed in the World Map mode since it didn't make a lot of sense. If I ever manage to get checkpoints working along the levels, the lives system will make a bit more sense than it does at the moment. At the moment the only downside to losing all your lives is that you have to start the game again, then walk from the last level you completed to the level you are trying to beat.
The other thing I need to add is dynamic blocks on the World Map. I'll have to save the state of these along with everything else and come up with a flexible system for removing them at the appropriate times.