Я работаю над своей первой (C ++) игрой и хочу использовать дизайн на основе компонентов. В последнее время я много читал об этом, и вчера я решил, что хочу сохранить объектные данные во внешних файлах JSON, чтобы обеспечить большую гибкость и удобство доступа.
Затем до меня дошло, что оставление этих файлов в дереве каталогов игры позволит игрокам очень легко изменять что угодно.
Меня не беспокоит показ кода разработчикам, потому что игра будет с открытым исходным кодом, но я боюсь, что неопытный геймер может сломать игру или, по крайней мере, испортить удовольствие.
Я что-то пропустил? Какова политика скрытия игровых данных (в играх с открытым исходным кодом)? Это нормально, чтобы все было доступно каждому?
Если нет, то как можно спрятать данные?
Ответы:
Если игроки возятся и портят веселье, я бы сказал, что это их проблема. Для тинкеров половина удовольствия - видеть, что ломается.
Это все равно, что беспокоиться о том, что игроки будут использовать чит-код в режиме бога, и беспокоиться о том, что игрок не подвергается сомнению.
Я бы не стал ничего делать, кроме как поместить эти конфигурационные файлы в zip-файл (что вы, вероятно, должны делать в любом случае для загрузки) и убедиться, что ваш код может корректно обрабатывать поврежденные данные.
источник
Если они вмешиваются в игровые данные, то это то, что они считают «забавой». Вам не нужно защищать их от этого. В конце концов, данные компонентов сущности вряд ли являются спойлером. Возможно, если у вас есть диалог или данные квеста, это будет проблемой, но, вероятно, нет. Большинство геймеров даже не знают, где искать подобные вещи, не говоря уже о том, чтобы преднамеренно искать их или редактировать.
Мой совет - сжать его и переименовать расширение файла. Это защитит случайного зрителя, но вам не составит труда работать с ним. Вы можете использовать что-то вроде PhysicsFS для работы с файлами.
источник
txt
расширением. Поиграв довольно много, я решил, что сделаю игру сложнее, настроив эти параметры. Позже я поделился этими настройками с друзьями. Это было весело ...Вы можете хранить данные в зашифрованном виде , используя симметричную схему шифрования (AES), но это бессмысленно: программное обеспечение с открытым исходным кодом , поэтому каждый может прочитать ключ и, следовательно, расшифровать данные. Это просто «остановит» случайного игрока от мошенничества.
И это было бы бессмысленно даже в проектах с закрытым исходным кодом, поскольку найти ключ в бинарном файле игры довольно просто.
Итак, у вас есть две возможности:
источник
Я бы оставил это. Существует огромное сообщество модов, и игрокам нравится менять / моддинг игры. Если они что-то сломают, это на них. Они всегда могут переустановить.
Также облегчает работу с другими разработчиками.
источник