Как команда должна делиться / хранить игровой контент во время разработки?

8

Кроме Dropbox, что было особенно полезно для хранения и обмена игровым контентом, таким как изображения, во время разработки (аналогично тому, как Dropbox поддерживает работу в автономном режиме, автоматическую синхронизацию и поддержку windows / osx)?

Мы рассматриваем возможность размещения нашего собственного сервера SharePoint, но, похоже, он действительно ориентирован на документы ... Может, Box.net подойдет?

РЕДАКТИРОВАТЬ

Для кода мы используем Git.

Точнее, я искал простой, автоматический способ, чтобы контент, созданный художниками / аудиоинженерами, был доступен каждому. Такие функции, как одобрение активов, также не повредит. После ответа, связанного с Тетрадом, Alienbrain выглядел довольно интересным, но ... это выход из нашего бюджета (возможно, это будет чем-то, что нужно инвестировать в будущем).

Что в конечном итоге делает ...

Мы собирались использовать Box.net, но загрузка приложений синхронизации для настольных компьютеров требовала от нас ждать, пока они по какой-то причине свяжутся с ними. У нас не было много времени ждать, поэтому мы в конечном итоге пошли с командами Dropbox. Box.net имеет хороший набор функций, но мы никогда не чувствовали себя сдержанными без них.

Спасибо за помощь :).

irwinb
источник
4
Вы ищете систему контроля версий? gamedev.stackexchange.com/questions/480/...
Тетрада
Простой скрипт и scp?
Jcora

Ответы:

18

Это зависит от характера контента:

  • Это актив, загружаемый игрой, например модель или текстура? Вы хотите систему контроля версий.
  • Является ли это какой-либо формой данных, которые не загружаются непосредственно игрой, но используются для создания данных, непосредственно загружаемых игрой, таких как электронная таблица локализации? Вы хотите систему контроля версий.
  • Это документ, описывающий игровой дизайн, некоторые особенности, технический процесс или процедуру? Вы хотите систему контроля версий.
  • Это файл, который можно перестроить из чего-то, что уже находится под контролем версий, например, исполняемых файлов и объектов компоновщика? Вы , вероятно , не нужна система контроля версий (*).
  • Это файл, которым вы хотите временно поделиться с коллегой, например, изменение кода или обновленный ресурс, который вы не хотите постоянно использовать в игре, но он нужен для продолжения работы? Вы не хотите систему контроля версий. (^)

(^) В этом случае есть несколько вариантов:

  • Вы упомянули Dropbox, который отлично подходит для совместной работы с командами на любом расстоянии, но ограничивает вас объемом 2 ГБ. Это должно быть хорошо для временного использования, учитывая, что все ваши другие данные должны быть в управлении версиями; однако, если вам нужно больше места, теперь есть (платная) опция Dropbox for Teams .

  • Если вы не хотите оплачивать стоимость более крупного плана Dropbox, но вам нужно лишь время от времени обмениваться большими файлами, то можно использовать один из десятков сайтов для обмена файлами (например, RapidShare).

  • Хостинг FTP-сервера также может быть целесообразным для вас.

  • Если вы работаете в одной и той же локальной сети (или можете настроить VPN), то и Windows, и Mac могут создавать сетевые общие ресурсы, которые могут быть записаны друг для друга, без ограничений по размеру. Распространено создание общего ресурса для чтения / записи с именем Dropbox и его использование для обмена файлами. Также принято называть машины в честь своих пользователей; то есть, чтобы отправить файл Джону Доу, я могу открыть общий ресурс \\JOHNDOE\Dropboxи поместить туда файл.

  • Особо следует упомянуть Git, если вы делитесь кодом: вы можете создать отдельную ветку со своими изменениями кода и перейти в свой основной репозиторий. Затем другие люди могут получить ваши изменения, не нарушая вашу masterветку. (В этих случаях обычно размещают вашу ветку в каталоге с вашим именем, т.е johndoe/bugfix..)

(*) Иногда вам может понадобиться зафиксировать / сохранить исполняемые файлы и файлы символов где-нибудь, чтобы отладить проблемы со старыми сборками, без необходимости перестраивать игру. Это обычно имеет место при работе с аварийными дампами.

Блэр Холлоуэй
источник
1
Подводя итог: все, что связано с продуктом, которое не генерируется другими вещами, связанными с проектом, переходит в контроль версий.
jwenting
Ответ де-факто, хотя он может быть более сложным, чем кажется. «как работать в автономном режиме» <- это означает hg / git / некоторые другие DVCS, если svn не может рассматриваться как «работающий в автономном режиме». Тем не менее, основной проблемой OP являются изображения, поскольку DVCS, как я знаю, не очень хорошо справляются с двоичными файлами, в этом случае ему может понадобиться SVN.
kizzx2
SVN хорошо работает с редкими отправками / обновлениями, если существует хорошее разделение труда (в противном случае количество конфликтов слияния может выйти из-под контроля, как и в любой такой системе).
jwenting
Будете ли вы хранить все текстуры и модели в системе управления версиями, даже если они составляют гигабайты? (Я никогда не работал над проектом с таким количеством данных не из исходного кода, поэтому мне интересно, как люди это делают)
RomanSt
1
@romkyns: Да, я бы определенно хранил все это в VCS. В какой-то момент вы будете сожалеть о том, что его не было. Что касается управления очень большими репозиториями: это боль, но ее можно смягчить, поместив данные в отдельные репозитории. Наш текущий проект на работе имеет репозиторий «art-source» (100+ ГБ) и «промежуточный» репозиторий (~ 20 ГБ). Художники помещают свои источники текстур / моделей в art-source, но затем экспортируют их в промежуточное звено для использования игрой (или системой сборки). Только художники нуждаются в полном репо-источнике; всем остальным просто нужно промежуточное звено.
Блэр Холлоуэй