Well, that was fun. Actually, my favourite part was doing > while level.move(EAST); end and > 7.times{level.move(WEST)} in irb, before I built the CLI. I don't know why. It's interesting to use Ruby directly to control a game. So here is Dave's Cheap Ruby Sokoban: http://www.dave.burt.id.au/ruby/sokoban.rb That's cheap as in cheap beer and as in cheap speech, in case you were wondering. Standard Ruby, tested on 1.8.1, no dependencies apart from Sokoban levels: get them from the Ruby Quiz place http://www.grayproductions.net/ruby_quiz/sokoban_levels.txt or my place http://www.dave.burt.id.au/ruby/sokoban_levels.txt (Note: These levels are Copyrighted by Thinking Rabbit. You may play them but not profit from them in any way.)