Я в настоящее время нахожусь в проекте разработки браузерной видеоигры. Он имеет карту стиля сетки, где игроки перемещаются и делают вещи. Карта, которую увидит игрок, не будет текущей картой, а вместо этого отобразит карту с предыдущим местоположением, когда он / она там находился.
Например:
Player1 в настоящее время живет в D3 и (30/03/2020) Player1 отправляется на A1 в исследовательской миссии, но обнаруживает, что A1 было дождливо, поэтому он уходит. Мне нужно пометить это действие на карте, чтобы Player1 позже мог визуализировать, что A1 был дождливым 30/03/2020 .
С точки зрения разработки БД I спроектировали его следующим образом:
- Таблица пользователей (довольно основы c)
- Таблицы текущей карты
таблица текущей карты, где поле местоположения - это PK и содержит информацию о текущей карте.
Я думал о создании таблицы, которая будет использовать UserID и LocationID для сохраняйте информацию о каждой карте для каждого игрока.
Но вот моя дилемма: Если карта 1000 X 1000, а у меня 100 игроков, то в таблице будет приблизительно 100 000 000 записей. Я хотел бы знать, есть ли другой способ, которым я могу проектировать БД, чтобы предотвратить такую большую таблицу. (Я хотел бы иметь трехмерный массив, если это возможно). Спасибо за ваш совет.