на рисунке: Игрок двигается вправо, слева скрыты дальние объекты.
Качать
здесь.
(exe-пример без алгоритма оптимизаций, ранняя версия заготовки)
Это двухмерный массив с произвольным числом элементов в ячейке.
+Отличие - произвольное количество X/Y ячеек. Не нужно заранее инициализировать количество ячеек: если располагается новый объект в неподготовленной ячейке - добавляется эта ячейка в цепь массива.
Пишу на Delphi (первый опыт dll).
В планах:
попадание ячейки в угол обзора (иначе скрывать). Пока хотя бы "входит ли точка (центр ячейки) в треугольник (угол обзора)"