надо сдвигать карту при перемещении корабля - вычисляешь разность точки А и Б, делишь на число шагов. Но у тебя подход не жизнеспособный - почитай про фоновые цветовые карты.
вообще "из коробки" всегда доступен только базовый функционал. opengl и directx тоже основаны на подобном примитивном функционале.
+ это не самая быстрая технология - во многих браузерах она реализуется программно
там обычный canvas, по сути такую игру можно на простом html сделать, в интернете гуляло пару аркадных портов - нагуглишь при желании. но лучше учи unity или unrealEngine, а еще лучше забей на это т.к. современный геймдев это на 80% дизайн.
получить координаты отображаемого участка карты - х,y левой верхней и правой нижней точки , выбрать из базы все объекты расположенные в данных координатах. для ускорения процесса можно кешировать результат.
Как можно сказать что-то не видя кода? Возможно что и никак, все-таки все упирается в браузерную реализацию. Как вариант посмотри chrome api\sdk возможно там есть какие-то пометки. Делал несколько простеньких игр - проблем вроде не возникало даже при полной перерисовке.