Ruby port of Octypus. Likely will be renamed 'Octypus' after completion.