У меня все еще есть проблемы с упаковкой своих ресурсов, после прохождения сложных API-интерфейсов и в основном просто zip-файлов, которые истощают мой мозг, я подумал, что я мог бы также упаковать игру с ресурсами, видимыми человеческому глазу, в простую папку.
Это было бы непрофессионально? Лично я никогда не видел, чтобы игры делали это, это в основном означало бы, что игрок мог просто отредактировать все, что он хочет в игре, например пойти в map1.txt и добавить X где-нибудь, чтобы создать стену, или изменить спрайт игрока. пони в MS PAINT.
sound.dat
. Использование несжатых папок с несколькими сотнями файлов делает (де) установку довольно раздражающей.Ответы:
Нет, изменение игровых данных называется моддингом, что является обычной практикой и часто рассматривается как положительный эффект. На самом деле хорошо держать данные игры как можно более прозрачными и редактировать их как можно проще. Тем более, если вы выбираете более «продвинутых» игроков в качестве целевой аудитории.
Причина, по которой вы не найдете много AAA-игр, которые используют простую структуру папок для своих данных, заключается в том, что они используют настраиваемые оптимизированные форматы архивов, чтобы улучшить время загрузки. Недостатком является снижение прозрачности и дополнительные необходимые инструменты в наборе инструментов. Однако для небольших или 2D-игр эти две вещи, как правило, имеют большую ценность, чем улучшенное время загрузки.
Просто убедитесь, что то, что люди видят, не просто огромный беспорядок :) поместите файлы в правильную структуру папок.
источник
В дополнение к другим ответам следует учитывать две важные проблемы:
Испортите сюрпризы
Скажите, что я на полпути через игру и открою папку "видео". Любопытно, я нажимаю на одну и вижу финальную заставку игры.
Проигрышный вызов
Тот же сценарий, но я считаю, что сохраненный игровой формат имеет значение «золото». Я меняю его с 250 на 999999999, и он работает. Внезапно ваша тщательно продуманная кривая сложности, обеспечивающая максимальное удовольствие от игры, исчезла.
И то, и другое может привести к потере интереса к игре, частично, если не полностью. Это может привести к более низкому общему впечатлению о том, насколько хороша игра (несправедливо, но верно).
Подумайте об этом с точки зрения вашей целевой аудитории - молодые игроки особенно подвержены порче собственного удовольствия, даже не понимая, что это именно то, что они делают.
Даже если вы хотите поощрять моддинг, вы все равно можете защитить пользователей от разрушения их собственного опыта игры «случайно».
источник
Возможно, непрофессионально это неправильное слово. Это действительно зависит от игры, плохо ли оставлять открытые файлы.
Для простой одиночной игры игроки и моддеры будут любить вас. Вы дадите им возможность легко менять свою игру и делать то, что они хотят. И имейте в виду, всегда будут моддеры для игры, независимо от того, насколько она маленькая. Многие геймеры будут чувствовать себя ущемленными, если моддинг будет сложным, в конце концов, они купили вашу игру и должны иметь возможность делать в ней все, что захотят.
С другой стороны, легко редактировать игровые ресурсы плохо для многопользовательской игры, так как это считается мошенничеством. Злонамеренные игроки могут заменять контент, чтобы сделать врагов более заметными, стены прозрачными и т. Д. Хотя в коде игры действительно должно быть обеспечено, чтобы активы не были подделаны, подход «пакет активов» имеет преимущество, помогая сдерживать эту деятельность (безопасность посредством неизвестность).
источник
Это легко исправить. Вы можете просто переименовать расширения в командной строке, используя что-то вроде
А затем поместите их в папку \ map
Вы можете получить доступ к командной строке из Windows, запущенной cmd
Это не остановит мододеров, которые знают, что они хотят модифицировать игру, и оставит менее небрежное впечатление у людей, которые просто хотят играть в игру, не оставляя при этом весь контент.
Да, это все еще будет редактируемым .. Люди просто с меньшей вероятностью заметят это.
Ответить на комментарий Эрика Робертсона
Если вы хотите правильно скрыть содержимое своей игры от игроков, вы можете использовать шифрование RSA в этих текстовых файлах и объединить их в один текстовый файл, пока вы там. Это не должно быть слишком большой проблемой, хотя я подозреваю, что это далеко не переусердствовать.
источник
Если это когда-либо было непрофессионально, это не может быть больше. На ранних этапах игры использовались собственные форматы пакетов, прежде всего для сохранения их интеллектуальной собственности (ИС).
Вы можете преодолеть некоторые ограничения, такие как фрагментация и ненужные вызовы функций базовой собственной файловой системы, упаковав все ресурсы в один архив. Это снижает вероятность фрагментации при развертывании пакета на клиентском ПК.
В худшем случае вы можете получить крошечные отдельные файловые ресурсы, разбросанные по секторам жесткого диска. (С появлением SSD этот пункт часто становится спорным)
Но все эти преимущества также можно получить с помощью бесплатного, старого
.tar
формата Unix .Кроме того, используя собственный формат пакета, вы можете преодолеть такие ограничения, как отсутствие контроля версий, файловых хэшей, кодировки и указателей / ссылок в файлах, и это лишь некоторые из них.
В заключение я бы поспорил о прозрачности в инди-разработке, если только вам явно не нужно защищать свой IP.
Что касается замечательных моментов, поднятых
MGOwen
: Для предотвращения неожиданностей, связанных с порчей, вы можете переименовать расширение файла, изменить атрибуты файла, использовать необычные форматы мультимедиа, вырезать заголовок мультимедиа, сохранить его в другом месте и т. Д. Во избежание потери вызова используйте двоичную сериализацию Писатель для хранения состояния вашей игры, с дополнительным шифрованием и переменными-приманками, если необходимо.Отказ от ответственности: я не разработчик игр. Рассматривайте только этот пост как отправную точку ...
источник
Это легко исправить, иначе поисковая индексация найдет финальное видео и т. Д. Итак,
Для файлов данных: перевернуть биты с помощью xor
Спрятать «Золото: 250» от GREP.
Просто закодируйте с тем же (случайным) значением xor.
Чтобы сохранить сцены вдали от случайных пользователей, попробуйте следующее: Machinarium перевел имена файлов, чтобы \ videos стал \ 0101, а затем все файлы имели 8-значный двоичный код, за которым следовал .101, чтобы остановить ассоциации файлов.
источник