Вы можете решить ограничивающий прямоугольник этого окна просмотра и просто не рисовать ничего за пределами прямоугольника. Это стало еще проще, если ваш мир основан на сетке.
Для мира на основе вам понадобятся два (вложенных) цикла для рисования области просмотра, ширины и высоты.
Для каждого цикла вам нужна начальная точка и конечная точка.
Чтобы получить начальную точку для каждого цикла: разделите (ширину / высоту) на (ширину / высоту) ячеек в сетке, а затем задайте пол для этого числа.
Чтобы получить конечную точку для каждого цикла: разделите (ширина / высота) на (ширину / высоту) ячеек в сетке, а затем «потолок» этого числа.
Оттуда вы можете просто нарисовать сетку, используя начальную и конечную точки, которые были рассчитаны ранее.
Если ваш мир не основан на сетке, вы можете использовать простой тест «точка в прямоугольнике» или октре.