Какой формат файла лучше использовать для хранения файлов, сохраненных на плеере? - PullRequest
2 голосов
/ 17 июня 2010

Я делаю игру на Java, и мне нужен хороший формат файла для хранения сохраненных данных игрока.

Есть предложения?

Не стесняйтесь приводить примеры в коде, если выwant.

EDIT: это игра сервер-клиент, поэтому сохраненные данные будут на сервере.Также я не хочу использовать сериализацию.

Ответы [ 4 ]

3 голосов
/ 17 июня 2010

Похоже, что все ответы до сих пор касаются XML, который является неплохим форматом, но есть и другие варианты, которые могут оказаться полезными, которые должны ускорить время запуска:

Json : Распространено и длится дольше, чем мои следующие два предложения.

Комиссионные : Что использует Facebook. Должно быть быстрее, чем Json, поддерживается меньшим количеством языков.

Буферы протокола : Используется Google. Вероятно, самый быстрый, а также легко расширяемый.

Или просто заставьте ваши классы поддерживать Сериализуемый .

2 голосов
/ 17 июня 2010

Если, как вы говорите, информация будет сохранена на сервере, она обязательно должна быть в базе данных.Типичный игровой протокол хранит информацию о пользователях в базе данных - извлекает ее в память при входе в систему, с ленивыми обновлениями базы данных для изменений объекта в памяти (поддерживает высокую производительность игры), когда они играют в игру и обновляют своипамять "пользовательский объект состояния игры.

Не ограничивайте масштабируемость вашей игры, начав с файлового хранилища только потому, что это может быть немного проще.

2 голосов
/ 17 июня 2010

XML

давайте сохраним любую имеющуюся у вас структуру данных в стандартном формате, и вам не нужно будет писать для нее собственный синтаксический анализатор / записывающее устройство

, если вам нужны файлы длябыть «защищенным» от геймеров, меняющих свои результаты / прогресс / ... (не уверен, где хранятся файлы? или имеет ли это значение?), вы можете передать XML с помощью алгоритма шифрования или зашифровать элементы данных, прежде чем помещать их в XML

1 голос
/ 17 июня 2010

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

<?xml version="1.0"?>
<Game>
<player  id="01d">
     <name>
             John
      </name>
      <skill>
        Rookie
      </skill>
      <score>
       122
      </score>      
</player>
</Game>

Конечно, вы можете зашифровать его, чтобы сделать его взломанным

...