In esse, ex nihilo.
Sic vita est.
 SokEvo overview
SokEvo is a Sokoban puzzle creator.  It uses evolution by (un)natural selection to produce difficult puzzles using little more than random numbers.
  • The evolver starts with a random population (or set) of template puzzles.
  • A puzzle is chosen at random and mutated, creating a new template.
  • The new template is converted into a puzzle using a generator, which determines how many box pushes are required to solve it – its fitness.
  • If the resulting puzzle is better than any others in the population, it will be retained and displace the worst existing puzzle / template.
  • The mutation and selection continues, gradually increasing the difficulty of the puzzles by forcing them to have longer solutions.
  • Typically creating a new set will result in a completely different outcome, as the evolution of the puzzles will take a different path.
 Getting started
  • Once the program has been downloaded, installed and is running, it acts as a web server – i.e. you need to use your web browser to access it.  It does not provide any output in a window nor command-line console.
  • The program runs in the background until you use your web browser to access it and shut it down (unless you kill the process directly).  Type http://localhost:2015 in the address bar of your web browser to access and control the SokEvo server process.
  • Although moderately complex puzzles can appear quite quickly (within a few minutes), in order to give the evolver time to produce the best puzzles you should be prepared to wait before taking one of the top puzzles from the population / set.  Typically this could mean letting it run for as much as 30 hours.
SokEvo is available for Linux and MS Windows ('95, '98, NT, 2000, XP).  It is based on the Simple DirectMedia Layer (SDL) and SDL_net libraries.
Last updated: 30 January 2009
sokevo-1.03.src.tgz (377 K) (Linux) version 1.03 source code (requires SDL source).
sokevo-1.03.i386.tgz (319 K) Linux version 1.03 pre-compiled (requires SDL and SDL_net). (611 K) MS Windows version 1.03 (includes SDL.dll and SDL_net.dll).
Feel free to contact the author – e-mail with your praise, comments, ideas, stories, etc.

This page has been validated.
© 2011 by Lee J Haywood.