1) Нужна не сетка, а т.н. "дерево квадрантов" или, на языке вероятного противника -
quadtree.
2) В этих ваших ютубах есть
отличный туториал на тему построения такого дерева. Ну и вообще можно погуглить по запросу "javascript quadtree collision detection".
3) Вот я даже нагуглил за вас
реализацию сего принципа. В демке коллизии проверяются только внутри зелёного прямоугольника, остальное игнорируется движком. На этом и построен принцип использования дерева квадрантов.