2015-09-14 1 views
1

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

Я знаком с SVN и SCM в «классическом» (только для чтения исходного кода) использовании.

После некоторых исследований, кажется, неволей является путь для управления исходным кодом и бинарное содержимое, как модели, текстуры, звуки ...

Но, честно говоря, я изо всех сил немного в поиске хорошая структура.

Я хочу поставить все в исходное управление, так что это означает исходные файлы художников, а также исходный код игры.

Потоковое хранилище кажется приятным для разработчиков/исходников, но для художников это немного громоздко. Я не думаю, что художники будут счастливы управлять потоками и копировать/интегрировать в ветви.

Итак, моя идея состоит в том, чтобы положить все в простое хранилище, а затем добавить еще одно хранилище потока, чтобы добавить «обледенение» сверху.

Проблема в том, что я не знаю, возможно ли это или как. Я думаю, что я вспоминаю одно сообщение в форуме о том, что кто-то настроил поток, который бы отразил «стандартную ветку», но я не смог его найти.

К сожалению, мой Google-фу не подводил меня, так что я спрошу здесь:

  1. Есть ли какая-то «стандартный» или «рекомендованное» неволей установки для игры, связанные с развитием? Я даже не мог найти один полный пример:/
  2. Могу ли я создать поток, который «отразит» стандартную ветку на простом складе? Если да, то как?

спасибо.

ответ

0

Вы можете интегрировать контент из потоков, не связанных с потоками, в хранилище потоков.

Большинство клиентов используют этот процесс для перемещения своего контента из потоков, не связанных с потоками, в потоковые хранилища.

Потоки предназначены для обеспечения немного большей структуры вашего рабочего процесса и последующей методологии слияния копий.

Не использовать потоки также имеет свои преимущества, но легче делать дурацкие вещи и немного уходить с рельсов. Поэтому я не уверен, что если художники будут работать в среде без потоков, а все остальные будут работать в среде с потоками, это будет лучшим решением для вас.

Вы можете проверить Принятия Руководство Streams, которая дает советы для переезда и работы с потоками:

http://www.perforce.com/sites/default/files/pdf/streams-adoption-guide.pdf

Вы также можете найти эту презентацию Merge2013 полезно, так как это обсуждается, как в Великобритании Игра компании развиваться и работать с потоками:

http://www.perforce.com/resources/presentations/merge-2013/tips-tricks/streamlining-game-development-streams

Кроме того, вы можете обнаружить, что решение Helix Cloud неволей встречает ваши требования:

http://www.perforce.com/helix-cloud

Надеется, что это помогает, Джен.

+0

Презентация Merge2013 больше ориентирована на поток, чем использование связанных с игрой действий, но, как оказалось, это действительно хорошо и ответил на некоторые из моих вопросов. Мне нравится, что вы можете иметь виртуальный поток, который является подмножеством главной линии. Я думаю, что это сделало бы трюк для этих художников. Я собираюсь провести локальное тестирование. – Sadral

2

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

  1. Потоки не обязательно подразумевают ветвление; вы можете иметь один поток «/ art/main», который художники работают исключительно. Там нет неотъемлемой причины, по которой им нужно создавать и поддерживать филиалы (за исключением причин, по которым вы обычно создаете филиалы, но они могут не относиться к вашим художественным активам так же, как к вашему коду).
  2. Преимущества использования потоков за пределами управляющих кодовых линий - это централизованное управление спецификациями клиентов - предположим, вы заметили, что все художники представляют гигантские генерируемые файлы «.foo», которые не обязательно должны находиться в хранилище. Вместо того, чтобы пытаться заставить всех ваших художников добавлять строки «- // .... foo» к своим спецификациям клиента или возиться с триггерами, вы добавляете одну строку «Игнорируется» в спецификацию потока «// art/main», и она затрагивает всех, кто использует этот поток.
  3. Вы можете легко делиться контентом между разделами «искусство» и «код» вашего репозитория, независимо от того, используют ли обе команды потоки, одну команду или нет.

Предположим, что вы создали депо потока «// art» (с потоком «art/main») и депо потока «// code» (с «// code/main» plus any в других потоках имеет смысл создавать потоки dev для разных кодеров, которые хотят работать над разными функциями в изоляции, прежде чем объединять их вместе и т. д.). В вашем «// кода/главный» поток добавить этот путь:

import art/... //art/main/... 

Теперь все от «// Искусства/главным» показывается в каталоге «искусство» под клиентами «// код/​​главный» , а также клиентов дочерних потоков, таких как «// code/sadral». Обратите внимание, что этот точный синтаксис работает, если искусство живет в «локальном» хранилище, а не в «поточном» хранилище депо - файлы депо являются файлами депо.

Если вам нужно изолировать определенные версии художественных ценностей, имейте в виду, что вы можете создавать филиалы в арт-депо // без участия художников; они просто продолжают работать в // art/main, а кто-то другой может позаботиться о разветвлении/копировании вещей по мере необходимости во время процесса разработки.

+0

Мне тоже нравится ваше решение. Я не знаю почему, но я всегда хотел добавить «ветви» тоже мои потоки, делая процесс сложным для художников.Но ваше решение иметь только магистраль приятно и легко, почему я не подумал об этом? В конечном итоге ваше решение и P4Jen похожи. В вашем распоряжении разные депо, P4Jen использует виртуальные потоки и «несколько магистралей» без каких-либо ветвей, если это необходимо. Я собираюсь провести локальное тестирование и посмотреть, лучше ли для моего решения одно решение (но я думаю, в конце концов, это одно и то же). – Sadral