Как опубликовать игру? - PullRequest
2 голосов
/ 20 июня 2009

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

Так кто-нибудь знает какие-нибудь хорошие книги, статьи, веб-сайты и т. Д., Объясняющие процесс между завершением чистого кода для игры и его выпуском?

Ответы [ 7 ]

2 голосов
/ 20 июня 2009

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

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

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

1 голос
/ 20 июня 2009

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

1 голос
/ 20 июня 2009

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

0 голосов
/ 21 июня 2009

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

0 голосов
/ 20 июня 2009

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

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

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

0 голосов
/ 20 июня 2009

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

  1. Создайте несколько файлов в формате по вашему выбору с таким расширением, а затем
  2. написать код, который знает, как читать этот формат, и указать его на эти файлы.

Расширения файлов - условные обозначения, ничего более; в них нет ничего волшебного.

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

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

0 голосов
/ 20 июня 2009

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

...