Sepp is alpha software. YHBW.
Sepp, the Sliding Evil-Piece Puzzle, implements a computer version of the classic sliding puzzle game, which has 15 sliding tiles in a 4-by-4 matrix and is also known as the 15 puzzle, in which the properly ordered tiles would form a picture. Variants like Loyd's would be unsuitable for this version of the game because a picture in which two contiguous tiles were swapped (and which, therefore, could not be recomposed) might annoy users and likely be perceived as a bug in the program; therefore, Sepp does not perform arbitrary tile swapping when scrambling the tiles, and the original image can always be obtained given enough tile pushes.
On the other hand, Sepp implements its own innovative kind of player aggravation: based on a user-configurable degree of evil, ranging from Not at all evil to beyond Very Evil, Sepp decides, during each animation frame, whether it will disturb a tile while the game is in progress. For better or worse, this feature, which can be disabled by setting the evilness to Not at all evil, sets Sepp apart from other, similar games.
This project was originally developed between December 9 and December 21, 2005, as the “personal project” for a class called Programming Fundamentals 1 that the author took at the University of Lugano's Faculty of Informatics. The goal was to exercise and demonstrate programming skills acquired over the course of the previous seven weeks.
The alpha version of Sepp can already do quite a few things.
Just as importantly, Sepp does not implement a feature that may at first seem like an obvious requirement: Sepp does not keep track of the number of times the user pushed a tile. It seems hardly fair to do so in the face of the random gratuitous tile pushes the program performs during gameplay, some of which can really trip one up. Sepp does, however, keep track of tile pushes it makes, and uses this information to lower its evilness as the game wears on; that is, if the player wants to get cute and start solving a barely-scrambled game, Sepp is much more likely to push tiles during play but, gradually, it relents, and the game becomes more playable.
Sepp is written for the DrScheme environment; therefore, Sepp should run just fine on any platform on which you can get DrScheme to run. :-) I developed it on a 1.3GHz AMD Duron with SDRAM, so your machine will most probably run it without problems.
The latest-and-greatest version of Sepp [Tar/GZ|Tar/BZ2] dates from 24 March 2006 and is released under version 2 of the GNU General Public License. Sepp is free software.
Those who are interested in what one can accomplish after seven weeks of functional programming at InfUSI, starting from nil, can download the original version of the project from my USI portfolio.
Here is a printer-friendly document explaining how to use Sepp. It's from December, but it is still accurate, as the interface has not changed. An online version is in the works.
Believe it or not, any question or suggestion regarding Sepp is most welcome. Here are the focal points of Sepp support and development:
When you unpack the compressed archive, the resulting directory is named after the corresponding the CVS release tag, which is derived from the release date. This tag is also found in the footer of standard distribution files and in the header of program source code files. Please, refer to this tag in your messages.
This project would not have been what it is and was without the involvement of fellow conspirator Marco D'Ambros, whose no-nonsense technical advice, high expectations, and well-timed moral support made Sepp better. I also wish to thank Professor Michele Lanza for believing in his students and giving us projects worth sinking our teeth into.