Я уже несколько месяцев пробую различные способы создания двухмерной тайловой игры. У меня всегда каждая плитка была отдельным объектом класса «Плитка». Объекты плитки хранятся в двумерном массиве объектов. Это оказалось крайне непрактичным, в основном с точки зрения производительности при одновременном рендеринге множества тайлов. Я помог в этом, разрешив рендеринг тайлов только на определенном расстоянии от игрока, но это тоже не очень хорошо. У меня также были проблемы с объектами, возвращающими исключение нулевого указателя, когда я пытался редактировать значения плитки в игре. Это связано с неправильной инициализацией объектов в 2D-массиве.
Есть ли другой, более простой способ сделать это? Я не могу представить, чтобы каждая игра, основанная на тайлах, использовала именно этот способ, я должен что-то упустить.
РЕДАКТИРОВАТЬ: Возможно, LWJGL просто не подходит для использования? У меня аналогичные проблемы с реализацией системы шрифтов с LWJGL... ввод более одного предложения приведет к снижению FPS на 100 или даже больше.