Procedural level generation in Ruby