Вопрос знатокам: где лучше всего хранить игровую информацию в Юнити?

Создаю карточную игру, в которой каждая карта имеет свой набор уникальных полей, свойств, енумов. Само собой, эти значения необходимо где-то хранить. В начале разработки я задался этим вопросом и нашел гайд быстрого импорта данных из CSV-таблицы (Excel) в Юнити.
Решение оказалось действительно простым, но всё равно содержало в себе несколько минусо…

66

Я раньше использовал JSON, но коллеги на работе считают его достаточно медленным по текущим реалиям, поэтому используют MemoryPack.
Тут все зависит от специфики данных, с которыми вам с ГД предстоит работать.
Если данных по балансу много, они строятся из различных последовательностей и связях, то для ГД явно удобно вести их в таблицах. Разработчику в таком случае необходимо все это парсить без использования SO, потому что в нем смысла нет, если баланс можно поменять в оригинальной таблице.
Можно парсить и читать сразу из CSV, а можно хранить файлом в удобном для тебя формате в какой-то директории, из которой игра умеет читать (типа Resources или StreamingAssets). Ну или читать по вебу...
Если же данных немного или все они изменяются ручками - то легче использовать SO и не парится.

Что касается кодировки - если после импорта в CSV кириллица читается нормально, значит проблема на стороне кода при парсинге\десериализации.

https://github.com/Cysharp/MemoryPack

5
Ответить
Автор

Спасибо большое!

Ответить