Сохранение положения матрицы игрового мира в базе данных - PullRequest
2 голосов
/ 02 мая 2011

В игре у меня есть игроки, в которых их положение и ориентация сохраняются в матрице 4 на 4.

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

Из доступных типов данных в SQL Server правильно ли просто хранить матрицу в виде строкового представления или есть лучший выбор типа данных?

Спасибо, Адам

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

1 Ответ

1 голос
/ 02 мая 2011

Я бы сохранял каждую «ячейку» матрицы 4x4 в поле таблицы PlayerPosition или что-то подобное. Поскольку вся матрица хранится в 1 текстовом поле, вам придется проанализировать ее, чтобы извлечь ее из базы данных, и это, вероятно, медленнее, чем захват 4 полей и их использование для заполнения матрицы, поскольку данные фактически уже проанализированы.

Этот дизайн позволит вам пометить ваши данные в базе данных, чтобы указать, что означает каждое поле (ячейка) матрицы (если оно имеет значение), а также позволит вам запросить их, если хотите. Например, в будущем может быть полезно составить график распределения игроков по всему миру. Чтобы быть в состоянии сделать это, используя в основном SQL, а не дополнительный язык программирования, может быть достаточно мощным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...