Структура данных для уровней в играх

Я создаю платформер на JavaScript, используя холст , который полностью основан на плитках. Как лучше всего хранить блоки предметов в игре (стены, полы, предметы)? Дело в том, что каждую плитку можно уничтожить или создать.

В настоящее время у меня есть 2D-массив, поэтому я могу быстро проверить, находится ли элемент в определенной позиции X и Y. Проблема заключается в том, что когда пользователь перемещается и карта должна прокручиваться, мне нужно переназначить каждый блок. А что происходит, когда элемент находится на x = 0 ? Я не могу использовать отрицательные индексы.

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

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

6
задан Louis 28 September 2010 в 00:55
поделиться