хранение и реализация карты браузерной игры

Я пишу простую браузерную игру с двухмерной картой. Я реализую эту карту как HTML-таблицу (хорошо, вы можете ругать меня за использование таблиц позже, но это работает) с фоновыми изображениями. Карта может быть очень-очень большой, но она не сильно изменится, если вообще изменится. Хотя со временем я мог бы сделать больше карт.

Ячейки карты будут иметь не только фоновое изображение, но и свойства, такие как то, что на них, предметы или специальные события, входы в город и т. д. Я хотел бы спросить, как лучше всего хранить эти данные. Я опираюсь на базу данных из-за того, насколько неизменной будет карта. В базе данных будет только то, что находится поверх ячеек. Но как мне тогда сохранить фон? Как огромные массивы PHP, которые загружаются по частям?

Буду очень признателен за любые дополнительные советы по запуску такой системы, которые я пока не могу предвидеть.


person Tesserex    schedule 14.09.2010    source источник


Ответы (1)


Плоские файлы — лучший выбор, чем базы данных для карт на основе тайлов. Если вы можете зафиксировать максимальное количество объектов, которые могут присутствовать на плитке (для предопределенных объектов это может быть просто битовая маска), тогда для каждой плитки потребуется фиксированный объем памяти, и вы можете просто разместить свою карту как плоская последовательность плиток. Вы можете индексировать любую плитку (x, y) в этом представлении, ища y * map_width + x-ю позицию.

person casablanca    schedule 14.09.2010