This is basically a Library to provide the quick basics of the original Sokoban-like Gametype.
What's Sokoban?
User your worker and WASD to push all "crates" in their storage box.
- You can only push a crate in the direction you are going (you can not pull it!)
- You can not push more than one crate at a time
For Mappers
To use this library on your custom maps:
- Create a Terrain; right now only cliffs will be checked whether the player can move there.
- The default (right now hard coded) box-size is 2.0. That means if you want a corridor a player can pass you need to make it at least 2.0 units in width. This will be the minimum box-size, because right now you are unable to create cliffs which are smaller than 4x4.
- Set up a nice interface if you want one, or use the one of the demo map
- Place Points on your map (align it to the grid) for the Player, each Crate and each Storage Box.
- Add/Edit the following in the Map Initialisation Trigger
SCobanInit(<Crate Unit Type>, <Player Unit Type>) SCobanReset() SCobanAddGameElement(<Element Type>, <Point>) for each Game Element SCobanStart()
Things to do/Known Issues
- Timer and Number of Moves
- Competition mode for more than one player
- Right now there is an offset of 1 for aligning the game elements, meaning they are aligned to odd offset positions for X and Y, you could get odd results when using even numbers of grid positions
- Few performance enhancements
- Tons of formatting, documentation, etc. :)
- Whatever comes to my mind...
Feel free to post bugs/suggestions.
Have Fun Naim