Here's my solution, first submission to ruby quiz, I hope is not 100% rubbish. I use a * 2 calculating the distance to avoid some noisy movements when approaching the ending point (so when the simple cost of terrain is about the same dimension of the distance). You can try the small map of the quiz without the *2 to see this behaviour. When the distance from the end point is >> than the terrain costs the *1 and *2 version act more or less the same way whell, here's the code. http://pastie.caboo.se/17815 Thanks Paolo