Хочу создать игру на js, по типу песочницы, и думаю как лучше сохранять мир, персонажа, и его инвентарь, так же миров может быть несколько (как в майнкрафте). Какая бд будет максимально эффективная для этих целей?
Это мой первый вопрос на q&a, так что возможно не совсем верно задал вопрос, если что-то не до конца ясно, спрашивайте ;)
Northen73, крч вообще пофиг, если это типа майнкрафт то мир вам сохранять не нужно, так как он процедурно генерируемый, сохранять вам нужно только изменения мира, тоесть что-то сломали, что-то поставили только это.
Так как эта игра врядли дойдет до своего логического конца, берите любую бд, можно mongodb, можно хоть прям сериализованный массив тупо в файл пихать. Так как сохранения будут или по таймеру или по кнопке. Вынесите сохранение в отдельный модуль который можно при необходимости легко переписать.
Northen73, ну естественно, только всмысле генерировать мир заново? По вашему нужно генерировать мир пока не закончится память? Мир создается вокруг игрока в зоне его видимости, больше не нужно. Естественно для одного и того же мира один и тот же сид, что за вопросы.
twobomb, ну кстати да, логично. А если массив выносить в отдельный файл, это же через ноду все делаться будет? И какой у него формат будет? Просто отдельный js модуль с одной переменной массива?
Northen73, Это вы про сохранение в файл? Я не знаю какая у вас там структура, массив или объект, или что угодно.
Почитайте про сериализацию. Про модуль я имею ввиду есть отделенная структура, или скажем класс. У которого содержаться все методы сохранения\загрузки мира. Которому мы дает какой-нибудь объект мира и говорим сохрани этот мир или загрузи сюда мир и эти методы это выполняют. Суть в том, что они все в одном месте и если вы захотите переписать сохранение например в какую нибудь бд, то вам просто нужно переписать эти методы.
Просто зачем вы задали вопрос сохранения, у вас что уже реализована генерация мира с возможностью его изменения? Для чего вам сейчас нужно сохранение? Вы пытаетесь начать с конца, реализуйте хотя-бы базовые вещи.