Мне нужен определенный список каталогов, по одному или несколько на каждую платформу, куда нужно поместить файлы сохранения игры и другие данные, сгенерированные игрой . Либо на основе спецификации разработчика ОС, либо потому, что это обычное использование, если нет рекомендаций.
Пожалуйста, предоставьте один ответ для каждой платформы с разными каталогами. Кроме того, пример того, как получить расположение каталога в C ++ или C, является лучшим , так как это язык, с которым вам будет сложнее работать.
Место проживания:
- Данные игры игрока (сохраненные игры, конфиг).
- Совместно используемые данные игры (например, рекорды или настройки для всех пользователей компьютера).
- Временные игровые данные (он же каталог кеша).
Ответы:
Windows (XP и последующие)
На основании:
В этих местах предполагается, что Windows установлена на диске C :. Добавьте в эти каталоги свой каталог с названием игры или игровой компании, а затем название игры.
Если вы используете приложение Windows 8 в стиле Metro , вам придется использовать определенный API, а не пытаться обращаться к каталогам. Читать:
Данные игры игрока
Windows Vista и следующие:
Windows XP:
Вы можете автоматически получить правильный адрес, зависящий от имени пользователя, получив
APPDATA
переменную окружения .Стандарт С (все компиляторы):
Visual Studio 20xx ( избегайте предупреждения getenv () о том, что это небезопасно ) - не в стиле Metro:
Повышающие пользователи : в данный момент я пишу эту систему boost.files (которая также является проектом библиотеки файловой системы, предложенной для следующего стандарта C ++), пока не реализована функция, обеспечивающая правильный каталог. Тем не менее, были дискуссии об этом раньше . Пожалуйста, не стесняйтесь обновлять этот раздел, если что-то изменилось.
Данные общей игры
Windows Vista и следующие:
Windows XP:
Вы можете автоматически получить правильный адрес, получив
PROGRAMDATA
переменную окружения .Стандарт С (все компиляторы):
Visual Studio 20xx ( избегайте предупреждения getenv () о том, что это небезопасно ) - не в стиле Metro:
Повышающие пользователи : в данный момент я пишу эту систему boost.files (которая также является проектом библиотеки файловой системы, предложенной для следующего стандарта C ++), пока не реализована функция, обеспечивающая правильный каталог. Тем не менее, были дискуссии об этом раньше . Пожалуйста, не стесняйтесь обновлять этот раздел, если что-то изменилось.
Временные игровые данные
Windows Vista и следующие:
Windows XP:
Вы можете автоматически получить правильный адрес, получив
TEMP
переменную окружения .C ++ пользователи Повышения : есть простой кросс-платформенный функция Boost.Filesystem для этого
Стандарт С (все компиляторы):
Visual Studio 20xx ( избегайте предупреждения getenv () о том, что это небезопасно ) - не в стиле Metro:
источник
MacOS
На основании:
В ОС на основе Unix
~
каталог автоматически располагается в домашнем каталоге пользователя, где находятся данные пользователя. Это означает, что на каком бы языке вы ни находились, на этих платформах вы можете автоматически обращаться к этой папке, используя~
функцию, не зависящую от ОС. Также обратите внимание, что/
это корневой путь всей системы, а не путь к корню основного диска.Добавьте в эти каталоги свой каталог с названием игры или игровой компании, а затем название игры.
Данные игры игрока
Руководство Apple состоит в том, чтобы найти файлы сохранения и конфигурации, чтобы они автоматически сохранялись в облаке, если они доступны:
Тем не менее, лучше (и чаще использовать) практику, чтобы найти эти файлы в:
Просто знайте, что в этом случае файлы не будут автоматически сохраняться в облаке. Если вы хотите, чтобы игрок выбрал, используйте API платформы, чтобы он сделал выбор.
Данные общей игры
Обратите внимание, что это не так
~
, это связано не с домом пользователя, а с корнем системы.Временные игровые данные:
Если данные не нужно хранить между выполнениями:
Если данные должны храниться между казнями;
C ++ пользователи Повышения : есть простой кросс-платформенный функция Boost.Filesystem для этого
источник
~/Documents
. Это для пользователя, чтобы выбрать организовать; Вы никогда не должны писать по фиксированному пути в Документах. Ваша игра должна использовать~/Library/Application Support/Your App Name/
для сохранения и других пользовательских данных.Linux Debian (Ubuntu, Fedora и т. Д.)
На основании:
В ОС на основе Unix каталог ~ автоматически располагается в домашнем каталоге пользователя, в котором находятся данные пользователя. Это означает, что независимо от языка, на этих платформах вы можете автоматически обращаться к этой папке, используя ~ вместо функции, специфичной для ОС. Также обратите внимание, что / - это корневой путь всей системы, а не путь к корню основного диска.
Добавьте в эти каталоги свой каталог с названием игры или игровой компании, а затем название игры.
Данные игры игрока
Традиционно для игры Aquaria это будет:
Обратите внимание, что каталоги и файлы, начинающиеся с,
.
будут по умолчанию скрыты для пользователя.Большинство настольных компьютеров сейчас пытаются придерживаться спецификации XDG , которая рекомендует
или
для конфигурации и сохранения игр вместо.
Если
$XDG_CONFIG_HOME
не установлено, используйте:или
Это главным образом для того, чтобы освободить домашний каталог пользователя, а также позволить пользователям запускать несколько профилей приложения, если они сочтут это необходимым. В спецификации есть и другие специальные пользовательские каталоги.
Данные общей игры
Общие конфигурационные файлы должны находиться в
Временные игровые данные
источник