Вопрос

Я имею в виду не только публикацию, но и практически все, что происходит между завершением написания чистого кода и выпуском первой версии.Например, как игры делают так, чтобы их файлы сохранений были скрыты/неуязвимы для взлома, как они включают свои ресурсы в игру вместо того, чтобы иметь файл ресурсов, содержащий все спрайты и т. д., как они делают так, чтобы существуют специальные расширения файлов, такие как .rect и .screen_mode и так далее и тому подобное.

Кто-нибудь знает какие-нибудь хорошие книги, статьи, веб-сайты и т. д.это объясняет процесс между завершением чистого кода игры и ее выпуском?

Это было полезно?

Решение

Я не думаю, что разработчики прилагают много усилий, чтобы гарантировать, что сохранения скрыты или их невозможно взломать.Компьютерные игры обычно просто сохраняются в папку, по одному файлу на каждое сохранение, и любая путаница, скорее всего, является результатом использования двоичного формата файла (который требует определенных усилий для обратного проектирования) или значений открытого текста, которые не имеют особого смысла. контекста, а не преднамеренных попыток обойти хакерство.Вероятно, существует масса компьютерных игр, которые поставляются с очень легко взломанными текстовыми или XML-файлами сохранения, но я никогда не был хакером сохранений, поэтому у меня нет конкретных примеров.На консолях файлы сохранения сохраняются на карту памяти или на жесткий диск консоли, что делает доступ к ним по своей сути неудобным, но помимо этого я не думаю, что разработчики консолей прилагают большие усилия для шифрования или иного запутывания данных сохранения.Эта энергия, скорее всего, будет направлена ​​на защиту игры от мошенничества, если она используется в онлайн-игре, или просто на улучшение работы других систем.

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

Я не знаю, какие платформы вы имеете в виду, но для ПК и консольных игр ресурсы не заложены в исполняемый файл.Обычно вы увидите отдельный исполняемый файл, а затем различные архивы и файлы конфигурации.В зависимости от игры это может быть один пакет ресурсов или, возможно, несколько пакетов связанных ресурсов, таких как графика, звук, данные уровней и т. д.В целом консольные игры архивируются более агрессивно (чтобы свести к минимуму файловые операции на медленных оптических носителях и, возможно, для преодоления ограничений собственных файловых систем на более примитивных платформах).Некоторые компьютерные игры содержат очень разрозненные ресурсы, даже файлы сценариев висят в открытом доступе.

Другие советы

Если вы разрабатываете для Windows или XBox 360, Microsoft может предложить некоторую помощь здесь. Ознакомьтесь с инструментами для разработки игр для Visual Studio C ++ Express Edition . .

Если вы ищете книги, Основы разработки игр должна ответить на ваши вопросы.

Чтобы обойти изменения сохраненных файлов, вы можете реализовать простой алгоритм шифрования и использовать его для шифрования сохраненных файлов, а затем расшифровывать их при загрузке. Расширения файлов - просто вопрос выбора.

Чтобы использовать специальные расширения файлов в вашей игре, просто сделайте следующее:

<Ол>
  • Создайте несколько файлов в выбранном формате с таким расширением, а затем
  • напишите код, который знает, как читать этот формат, и укажите его на эти файлы.
  • Расширения файлов - это условные обозначения, не более того; в них нет ничего волшебного.

    ETA: Что касается встраивания ресурсов, есть несколько разных способов решения этой проблемы. Один из распространенных приемов - хранить все ваши ресурсы в небольшом количестве файлов - возможно, только в одном (Guild Wars использует этот подход).

    С другой стороны, вы можете оставить свои ресурсы распределенными по множеству файлов в дереве каталогов, возможно, в произвольном формате, который требует специальных инструментов для изменения, а может и нет. Цивилизация 4 делает вещи таким же образом, как и все игры с Турбинами, с которыми я знаком. Это вопрос вкуса, и в любом случае это не очень важно.

    Я думаю, что лучшее решение состоит в том, чтобы разбить ваши изображения на фрагменты определенного размера, а затем соединить их в произвольном порядке в новом файле. Этот случайный порядок известен только вам, и, следовательно, только вы знаете, как перемешать плитки, чтобы вернуть исходное изображение.

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

    Если вам нужно, я могу опубликовать код для вас.

    Я бы предложил проверить презентацию от разработчиков World of Goo (отличная игра): http://2dboy.com/public/eyawtkagibwata.pdf .

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top