Ru/Making a Mod: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(→‎Ваше оружие - геймплей: Исправил несколько опечаток)
m (Multipage removal)
 
(26 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar|title = Создание модификации}}
|title=Создание Модификации
|en=Making_a_Mod
|es=Making_a_Mod:es
|fr=Making_a_Mod:fr
}}


Эта статья призвана помочь вам сделать [[Source Engine Features|Source Engine]] модификацию, или ''[[mod:ru|мод]]''. Сперва рассматриваются советы по началу разработки и набору команды. Далее - советы касательно игрового дизайна. В завершении предоставлено пошаговое руководство по организации финальных изменений и релиза вашего мода, что является самой трудной частью.
{{back|Category:Modding|Категория: Модификация}}{{toc-right}}
Эта статья призвана помочь в разработке {{source|4}} {{L|Modification|модификации}}. Сперва рас&shy;смат&shy;ри&shy;ваются советы по началу раз&shy;ра&shy;бот&shy;ки и набору команды. Далее советы касательно игрового дизайна. В завершении предоставлено пошаговое руководство по организации финальных изменений и релиза вашеё модификации, что является самой трудной частью.


== Старт ==
==Начало==
Давайте начнем с того, как собрать команду. Основное правило - сделать ее маленькой. Управление командой подобно полному рабочему дню, даже если вся команда находится в одном здании. Если вы имеете дело с онлайн командой, все ваше время уйдет на управление, и это означает, что у вас не останется время на непосредственное участие в создании мода. Если в команде много людей, это не означает, что работа будет двигаться быстрее. Чем больше людей вы контролируете, тем дольше вы тратите на это время. Основная команда по созданию Team Fortress - 3 человека. Основная команда по созданию [[Counter-Strike]] - 1 человек.
Начнём с того, как собрать команду. Основное правило сделать её маленькой. Управление командой подобно полному рабочему дню, даже если вся команда находится в одном здании. Если вы имеете дело с онлайн командой, всё ваше время уйдёт на управление, и это означает, что у вас не останется времени на непо&shy;сред&shy;ствен&shy;ное участие в создании модификации. Если в команде много людей, это не значит, что работа будет двигаться быстрее. Чем больше людей вы контролируете, тем больше вы тратите на это времени. Изначально, основная команда {{tfc|4}} состояла из 3 человек, а команда {{cs|4}} — из 1 человека.


При поиске членов команды, старайтесь нанимать людей, без которых вы точно не сделаете мод. Вашим первым членом команды может стать любой, кто может программировать, делать модели, создавать карты и т.д. Но для первой версии, вам, вероятно не понадобится более одного человека на каждую часть вашего мода (код, звуки, модели, карты). Вам не нужно думать о новых полноценных моделях, звуках, или картах. Не нанимайте людей, чьих работ вы не видели. Убедитесь, что они привыкли завершать свои проекты. Если человек сделал 20 моделей, но не закончил их - он вам точно не нужен.
При поиске членов команды, старайтесь нанимать людей, без которых вы точно не сделаете мод. Вашим первым членом команды может стать любой, кто может {{LCategory|Programming|программировать}}, делать {{L|Model|модели}}, {{LCategory|Level Design|создавать уровни}} и т. д. Но для начала, вам, вероятно не понадобится более одного человека на каждую часть вашей модификации (код, {{LCategory|Sound System|звуки}}, модели, карты). Вам не нужно думать о новых полноценных моделях, звуках, или картах. Не нанимайте лю&shy;дей, чьих работ вы не видели. Убедитесь, что они привыкли завершать свои проекты. Если человек сделал 20 моделей, но не закончил их он вам точно не нужен.


== Дизайн мода ==
==Дизайн модификации==
Как автор мода, самый полезный вопрос который вы можете задать самому себе - "Почему кто-либо должен играть в мою игру?" Это достаточно сложный вопрос, чтобы ответить на него правдой, но если вы сможете ответить, вы на правильном пути. Подумайте чего нет в вашем моде, или что в нем есть такого, чего нет в других модах. Было ли сделано что-либо новое для игроков? Сделано ли достаточно, чтобы привлечь игроков, играющих в другие игры? Даже если вы не можете ответить на этот вопрос, просто думая об этом, вы сможете улучшить вашу модификацию.
Как автор модификации, самый полезный вопрос который Вы можете задать самому себе — ''«Почему кто-либо должен играть в мою игру?»''. Это достаточно сложный вопрос, чтобы ответить на него, но если вы сможете, вы на вер&shy;ном пути. Подумайте чего нет в вашем моде, или что в нём есть такого, чего нет в других модификациях. Было ли сделано что-либо новое для игроков? Сделано ли достаточно, чтобы привлечь игроков, играющих в другие игры? Даже если вы не можете ответить на эти вопросы, просто рассуждая об этом, вы сможете улучшить вашу модифика&shy;цию.


=== Ваше оружие - геймплей ===
===Ваше оружие — игровой процесс===
У вас есть то, чего нет у коммерческих разработчиков: Вам не придется беспокоится о коммерческом успехе нового стиля игры. Коммерческим разработчикам приходится думать о привлечении розничных продавцов, безубыточности и о многих других неприятных вещах, и именно поэтому многие игры являются лишь немного измененными классическими жанрами. Но вас это не касается. Вы можете пробовать новые идеи, развивать их и сделать что-то новое, что изменит игровую индустрию. Это ваше преимущество над коммерческими разработчиками. Облегчите вашу работу, сконцентрировавшись на этой грани, и не тратьте свое время на конкуренцию с коммерческими продуктами, которые явно добились успеха. Большинство модов не могут конкурировать на уровне содержания (карты, модели, звуки и т.д.) с коммерческими продуктами. Над ними работают художники с многолетним опытом. Победите их вашим геймплеем. Игроки будут играть, даже если не планируется улучшений, но имеется интересный геймплей. Многие люди не понимают, почему в течении года после релиза Team Fortress 1 в него ничего не добавлялось.
У вас есть то, чего нет у коммерческих разработчиков: вам не придётся беспокоиться о коммерческом успехе нового стиля игры. Коммерческим разработчикам приходится думать о привлечении розничных продавцов, безубыточности и о многих других неприятных вещах, и именно поэтому многие игры являются лишь немного изменёнными классическими жанрами. Но вас это не касается! Вы можете пробовать новые идеи, развивать их и сделать что-то новое, что может изменить игровую индустрию. Это ваше преимущество над коммерческими разработчиками. Облегчите вашу работу, сконцентрировавшись на этой грани, и не тратьте своё время на конкуренцию с коммерческими продуктами, которые явно добились успеха. Большинство модов не могут конкурировать на уровне содержания с коммерческими продуктами. Над ними работают художники с многолетним опытом. Победите их вашим игровым процессом. Игроки будут играть, даже если не планируется улучшений, но имеется интересный игровой процесс. Многие люди не понимают, почему в течение года после релиза {{tfc|4}} в него ничего не добавлялось.


=== Release soon, Release often ===
===Выпускайте скорее, выпускайте чаще!===
Вы имеете огромное преимущество над коммерческими разработчиками. Вы можете выпускать обновления гораздо чаще, быстрее и больше, чем они. Мы совместили эту философию разработки мода в одну фразу - "Release soon, Release often." Коммерческие разработчики работают 2-3 года, чтобы выпустить их игру, и надеются на бога, чтобы людям она понравилась. Вам не нужно верить. Вы можете разработать идею мода, сделать 25% от всего, затем предоставить результат игровому сообществу, и они сразу же свяжутся с вами. После этого вы можете добавлять остальной контент по частям, в это же время получая мнения о первой версии, и продолжать выпускать новые версии каждые один-два месяца. Вы всегда находитесь на связи со своими игроками, так что вы не попадете в ситуацию, когда вы потратили много времени на то, что игрокам может не понравится. Весь фокус в том, чтобы уменьшить количество недочетов в финальной версии. Первоначальная версия должна быть веселой и играбильной, но не содержащей попытки реализовать все придуманные вами функции.
Вы имеете огромное преимущество над коммерческими разработчиками. Вы можете выпускать обновления гораздо чаще, быстрее и больше, чем они. Мы совместили эту философию разработки модификации в одну фразу — «Выпускайте скорее, выпускайте чаще!». Коммерческие разработчики работают 2–3 года, чтобы выпустить их игру, и надеются на бога, чтобы людям она понравилась. Однако вы можете разработать идею модификации, сделать 25% от всего, затем предоставить результат игровому сообществу, и они сразу же свяжутся с вами. После этого вы можете добавлять остальной контент по частям, в это же время получая мнения о первой версии, и продолжать выпускать новые версии каждые один–два месяца. Вы всегда находитесь на связи с игроками, так что вы не попадёте в ситуацию, когда вы потратили много времени на то, что игрокам может не понравится. Весь фокус в том, чтобы уменьшить количество недочётов в финальной версии. Первоначальная версия должна быть весёлой и играбельной, но не содержащей попытки реализовать все придуманные вами особенности.


Будьте осторожны. "Быстрый выпуск" не означает, что вы должны выпускать не качественные версии, нужно делать небольшие, но качественные изменения. Первая версия [[Counter-Strike]] не имела и половину от того, что она имеет сейчас. Команда CS делала высококачественные, но не большие модификации. В последний год они добавляли все больше функций, и в ответ на это, все больше игроков становились их фанатами.
Будьте осторожны: «Быстрый выпуск» не означает, что вы должны выпускать некачественные версии, нужно делать небольшие, но качественные изменения. Первая версия {{cs|4}} не имела и половину от того, что она имеет сейчас. Команда {{cs|4}} делала высококачественные, но небольшие модификации. В последний год они добавляли всё больше особенностей, и в ответ на это, всё больше игроков становились их фанатами.


=== Другой - не обязательно лучший ===
===Другой не обязательно лучший===
Когда вы думаете над игровым дизайном, не попадитесь в ловушку, полагая, что "Различие - это хорошо". Нет смысла переделывать код и модель дробовика, если он не влияет на общую концепцию вашей игры. Всегда держите в памяти вопрос, "Почему кто-либо должен играть в мою игру?" Ответ, "Мой мод имеет новую боевую систему и новую систему передвижения", не всегда является лучшим ответом. Ваша боевая система отлична от Half-Life? Хорошо... но она лучше? Сделает ли она вашу игру более интересной? Сделает ли новая система передвижений вашу игру более веселой? Игрок использует уже существующие системы, и делая что-то новое, изучите, что игроку будет полезно. Поэтому, прежде чем изменять что-либо, убедитесь, что изменения приведут к лучшему результату, и сделают вашу игру более веселой. Не бойтесь оставлять все тоже самое, что было в Half-Life.
Когда вы думаете над игровым дизайном, не попадитесь в ловушку, полагая, что «Различия — это хорошо». Нет смысла переделывать код и модель дробовика, если он не влияет на общую концепцию вашей игры. Всегда держите в памяти вопрос: «Почему кто-либо должен играть в мою игру?». Ответ: «В моём моде есть новая боевая система и новая система передвижения» — не всегда является лучшим. Ваша боевая система отлична от {{hl|4}}? Хорошо… но она лучше? Сделает ли она вашу игру более интересной? Сделает ли новая система передвижений вашу игру более весёлой? Игрок использует уже существующие системы, и делая что-то новое, изучите, что игроку будет полезно. Поэтому, прежде чем изменять что-либо, убедитесь, что изменения приведут к лучшему результату, и сделают вашу игру более весёлой. Не бойтесь оставлять всё то же самое, что было в {{hl|4}}.


=== Реальные цели ===
===Реальные цели===
Создавайте для себя реалистичные цели. Подумайте о том, сколько занимает коммерческая разработка FPS шутера с 10 пушками. Если ваш мод будет иметь 40 единиц оружия, вы действительно усложните себе жизнь. Всегда помните, что "Качество превосходит над Количеством." Игроки предпочитают иметь 10 уникальных, сбалансированных и веселых, чем 40 не сбалансированных единиц оружия, некоторые из которых чуть лучше других.  
Создавайте для себя реалистичные цели. Подумайте о том, сколько занимает коммерческая разработка Шутер от первого лица с 10 пушками. Если ваш мод будет иметь 40 единиц оружия, вы действительно усложните себе жизнь. Всегда помните, что «Качество превосходит над количеством». Игроки предпочитают иметь 10 уникальных, сбалансированных и весёлых, чем 40 не сбалансированных единиц оружия, некоторые из которых чуть лучше других.


Не бойтесь вырезать контент и особенности. Если мод выглядит не законченным, или какой-либо контент не соответствует качеству остального контента - начните вырезать. В ходе разработки HL около 30% из оригинальной идеи были вырезаны, потому что их было не возможно закончить в сроки. Как мы уже говорили, "Качество превосходит над Количеством." Игроки предпочитают играть в 3 действительно хороших, протестированных карты, чем в 10 плохо разработанных, и это даст вашему моду репутацию качественного мода. Не позвольте миру увидеть ваши худшие разработки.
Не бойтесь вырезать контент и особенности. Если мод выглядит не законченным, или какой-либо контент не соответствует качеству остального контента начните вырезать. В ходе разработки {{hl|4}} около 30% из оригинальной идеи были вырезаны, потому что их было невозможно закончить в сроки. Как мы уже говорили, «Качество превосходит над количеством». Игроки предпочитают играть в 3 действительно хороших, протестированных карты, чем в 10 плохо разработанных. Это даст вашей модификации репутацию качественной модификации. Не позвольте миру увидеть ваши худшие разработки.


=== Понимание движка ===
===Понимание движка===
Вы действительно должны прочитать [[SDK_Docs:ru|документацию]], включенную в SDK. Вы должны не просто понимать как делаются вещи в движке, но и как сделать их правильно. Вы можете сделать оружие, стреляющее 50 ракетами, но если вы не понимаете, как работает движок, то можете сделать это таким образом, что мод будет использовать большое количество сетевого трафика. Это важно для каждой модификации. Если создатели карт не понимают движок, они будут делать огромные карты, не задумываясь о том, сколько данных будет посылаться пользователям, играющим в нее, и каждый будет винить ваш код за слишком интенсивное использование сети. Если вы программист, хорошей идеей будет присоединится к рассылке списка HL Кодеров, где вы сможете поговорить с многими другими программистами, а так же с некоторыми сотрудниками Valve. Рассылка списка имеет большие архивы, в которых содержится много полезных решений общих проблем моддинга.
Вам действительно стоит прочитать {{L|SDK Docs|документацию}}, включённую в SDK. Вы должны не просто понимать как делаются вещи в движке, но и как сделать их правильно. Вы можете сделать оружие, стреляющее 50 ракетами, но если вы не понимаете, как работает движок, то можете сделать это так, что мод будет использовать большое количество сетевого трафика. Это важно для каждой модификации. Если создатели карт не понимают движок, они будут делать огромные карты, не задумываясь о том, сколько данных будет посылаться пользователям, играющим в неё, и каждый будет винить ваш мод за слишком интенсивное использование сети. Если вы программист, хорошей идеей будет присоединиться к рассылке списка {{hl|4}} программистов, где вы сможете поговорить с многими другими программистами, а так же с некоторыми сотрудниками {{L|Valve}}. Рассылка списка имеет большие архивы, в которых содержится много полезных решений общих проблем.


== Завершение ==
==Завершение==
Мы видим много сильных модов, содержащих большие объемы потрясающего контента, но так и не попавших в руки игрокам. Этот раздел поможет вам начать подготовку к выпуску финальной версии вашей модификации.
Мы видим много сильных модов, содержащих большие объёмы потрясающего контента, но так и не попавших в руки игрокам. Этот раздел поможет вам начать подготовку к выпуску финальной версии вашей модификации.


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


В этом разделе есть много вещей, которые могут показаться резкими или жестокими. Это печально, но это отражает сложность процесса. Здесь представлен опыт, сформированный из уроков, полученных нами в процессе подготовки к выпуску многих продуктов, большинство из которых явились результатом болезненных ошибок, срывавших даты выхода. Вас может это удивить, но действительно важно следовать определенному совету - вполне возможно, что мы были вынуждены отодвигать наши даты выхода на недели только потому, что мы не воспользовались им.
В этом разделе есть много вещей, которые могут показаться резкими или жестокими. Это печально, но это отражает сложность процесса. Здесь представлен опыт, сформированный из уроков, полученных нами в процессе подготовки к выпуску многих продуктов, большинство из которых являлись результатом болезненных ошибок, срывавших даты выхода. Вас может удивить, но действительно важно следовать определённому совету вполне возможно, что мы были вынуждены отодвигать наши даты выхода на недели только потому, что мы не воспользовались ими.


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


Не бойтесь, становится гораздо проще, когда вы прошли через это несколько раз. На ваш третий или четвертый мод вы станете экспертом!
Не бойтесь, становится гораздо проще, когда Вы прошли через это несколько раз. На момент третьй или четвёртой модификации Вы станете экспертом!


== Пять недель до релиза ==
==Пять недель до релиза==
=== Централизуйте управление ===
===Централизуйте управление===
Вы должны назначить одного члена вашей команды как [[Shipping Leader In Detail|Shipping Leader]] (SL). Этот человек будет управлять процессом разработки на протяжении следующих пяти недель. Все изменения, вносимые в мод должны будут производиться только по просьбе SL, а так же все запросы изменения направляются на этого человека. Не один человек из команды не должен самостоятельно изменять что-либо, не зависимо от того, насколько значительно изменение в моде, только если это не является просьбой SL. Это не означает, что остальная часть команды теряет контроль над процессом разработки; SL это все еще часть команды, и он должен выслушивать все отзывы. Назначение SL - сделать так, чтобы все изменения проходили через одного человека. Это позволит избежать таких проблем, как сделанное создателем карт в последнюю минуту изменение, повлекшие за собой не работоспособность какого-то участка кода. SL будет знать состояние каждого компонента игры (код, карты, модели, текстуры, и т.д.) на протяжении всех 5 недель, чтобы нечего не случилось.
Вы должны назначить одного члена вашей команды как {{L|Shipping Leader In Detail|Shipping Leader}} (SL). Этот человек будет управлять процессом разработки на протяжении следующих пяти недель. Все изменения, вносимые в мод должны будут производиться только по просьбе SL, а так же все запросы изменения направляются на этого человека. Ни один человек из команды не должен самостоятельно изменять что-либо, не зависимо от того, насколько значительно изменение в моде, только если это не является просьбой SL. Это не означает, что остальная часть команды теряет контроль над процессом разработки, так как SL это всё ещё часть команды, и он должен выслушивать все отзывы. Назначение SL сделать так, чтобы все изменения проходили через одного человека. Это позволит избежать таких проблем, как сделанное создателем карт в последнюю минуту изменение, повлёкшее за собой неработоспособность какого-то участка кода. SL будет знать состояние каждого компонента игры (код, карты, модели, {{L|texture|текстуры}}, и т. д.) на протяжении всех 5 недель, чтобы ничего не случилось.


Выбор SL не легок. Вот несколько советов:
Выбор SL не лёгок. Вот несколько советов:
* Не надо сразу полагаться на человека, который в настоящий момент работает над модом, особенно если работа над модом велась несколько месяцев, и он ни насколько не приблизился к релизу.
* Не надо сразу полагаться на человека, который в настоящий момент работает над модом, особенно если работа над модом велась несколько месяцев, и он ни насколько не приблизился к релизу.
* Кодеры, возможно, являются лучшим выбором. Когда подготовка к релизу подходит к концу, большинство изменений делается именно в игровом коде.
* Программисты, возможно, являются лучшим выбором. Когда подготовка к релизу подходит к концу, большинство изменений делается именно в игровом коде.
* SL должен быть высоко мотивированным, дисциплинированным и организованным насколько это возможно. SL должен отдать проекту пять недель его или ее жизни.
* SL должен быть высоко мотивированным, дисциплинированным и организованным насколько это возможно. SL должен отдать проекту свои пять недель жизни.
* Sl должен быть способным принимать глобальные решения касательно мода. Sl должен понимать, что часто требуется вырезать особенности и контент мода, чтобы успеть к дате выхода.
* SL должен быть способным принимать глобальные решения касательно модификации. SL должен понимать, что часто требуется вырезать особенности и контент модификации, чтобы успеть к дате выхода.


=== Установите последовательность разработки ===
===Установите последовательность разработки===
Вам необходимо создать последовательность разработки мода. Разработка представляет собой принятие всех работ и делает устанавливаемую, рабочую версию мода (как правило, в виде установочного файла). Это должен делать только SL на протяжении следующих пяти недель, и SL должен действовать по строгой последовательности действий, которых он всегда придерживается. Создание последовательности действий позволяет не тратить часы на исправление ошибок, являющихся результатом действий, отличных от действий другого человека.
Вам необходимо создать последовательность разработки модификации. Разработка представляет собой принятие всех работ и делает устанавливаемую, рабочую версию модификации (как правило, в виде установочного файла). Это должен делать только SL на протяжении следующих пяти недель, и SL должен действовать по строгой последовательности действий, которых он всегда придерживается. Создание последовательности действий позволяет не тратить часы на исправление ошибок, являющихся результатом действий, отличных от действий другого человека.


SL должен постоянно поддерживать финальную или кандидата на релиз версию мода. Все изменения должны отправляться к нему, и он должен включать их в свою копию мода с полным пониманием влияния этих изменений на остальные части мода. Не забывайте постоянно делать резервные копии!
SL должен постоянно поддерживать финальную или предварительную версию модификации. Все изменения должны отправляться к нему, и он должен включать их в свою копию модификации с полным пониманием влияния этих изменений на остальные части модификации. '''Не забывайте постоянно делать резервные копии!'''


SL должен ежедневно делать работоспособную версию мода для игрового тестирования. Подробнее об этом позже.
SL должен ежедневно делать работоспособную версию модификации для игрового тестирования. Подробнее об этом позже.


=== Замораживание особенностей ===
===Замораживание особенностей===
Подготовка к выходу - это процесс замораживания не доделанных частей вашего мода. "Замораживание" означает, что не доделанные части не трогаются вообще. Ошибки найденные в замороженных частях требуют тщательной обработки. Если ошибка действительно важная (устойчиво воспроизводящаяся), просто подметьте ее и исправьте в следующем обновлении вашего мода. Независимо от соблазна "легкого исправления", размораживание частей вашего мода необходимо избегать насколько это возможно.  
Подготовка к выходу это процесс замораживания недоделанных частей вашей модификации. «Замораживание» означает, что недоделанные части не трогаются вообще. Ошибки найденные в замороженных частях требуют тщательной обработки. Если ошибка действительно важная (устойчиво воспроизводящаяся), просто подметьте её и исправьте в следующем обновлении вашей модификации. Независимо от соблазна «лёгкого исправления», размораживание частей вашей модификации необходимо избегать насколько это возможно.


К моменту выпуска, за пять недель, вы так же должны заморозить особенности мода. Это означает, что вы не должны их изменять. Если часть вашей команды не хочет принимать участие в выпуске, но хочет продолжить работу по разработке мода, они должны работать с отдельной копией контента и базой программного кода. Большая часть пакетов для контроля кода позволяет ветвление кода на этот случай (Да, мы крайне рекомендуем вам использовать что-нибудь для контроля исходного кода). Каждые изменения сделанные в моде отныне должны только исправлять ошибки.За этим должен следить SL. Даже если кодер придумал какую-либо класную возможность, думая, что она делается всего за 10 минут, не позволяйте ему добавлять ее. Даже если кодер отправляет код, законченный и проверенный на отсутствие ошибок, не вставляйте его в мод. Оставьте до следующей версии.
К моменту выпуска, за пять недель, вы так же должны заморозить особенности модификации. Это означает, что вы не должны их изменять. Если часть вашей команды не хочет принимать участие в выпуске, но хочет продолжить работу по разработке модификации, они должны работать с отдельной копией контента и базой программного кода. Бо́льшая часть пакетов для контроля кода позволяет ветвление кода на этот случай (мы крайне рекомендуем вам использовать что-нибудь для контроля исходного кода). Каждые изменения сделанные в моде отныне должны только исправлять ошибки. За этим должен следить SL. Даже если программист придумал какую-либо классную возможность, думая, что она делается всего за 10 минут, не позволяйте ему добавлять её. Даже если программист отправляет код, законченный и проверенный на отсутствие ошибок, не вставляйте его в мод. Оставьте до следующей версии.


Для SL разумно придерживаться позиции, что любое изменение в моде с момента начала процесса выпуска добавляет два дня к дате выпуска.  
Для SL разумно придерживаться позиции, что любое изменение в моде с момента начала процесса выпуска добавляет два дня к дате выпуска.


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


Чтобы облегчить эту задачу, мод должен поддерживаться в играбильном состоянии все время. Очень, очень сильно переживайте за каждый день, в который мод стал не играбильным. Если кодер или создатель карт сделал изменение, которое портит мод, хорошо подумайте, прежде чем включать изменения в SL сборку. Как долго игра будет неиграбильна? Сколько игровых тестов вы пропустите? Сколько членов команды не смогут работать, потому что мод не запускается? Не нарушаемая разработка должна стать религией для команды.
Чтобы облегчить эту задачу, мод должен поддерживаться в играбельном состоянии всё время. Очень, очень сильно переживайте за каждый день, в который мод стал не играбельным. Если программист или создатель карт сделал изменение, которое портит мод, хорошо подумайте, прежде чем включать изменения в SL сборку. Как долго игра будет неиграбельна? Сколько игровых тестов вы пропустите? Сколько членов команды не смогут работать, потому что мод не запускается? Не нарушаемая разработка должна стать религией для команды.


Когда вы начинаете игровое тестирование, убедитесь, что максимальное количество членов вашей команды может провести тестирование вместе с вами. Каждый работающий над игрой должен регулярно в нее играть. Так же убедитесь, что у вас есть внешние тестеры. Включите логирование сервера (установите "log" на "on" в файле server.cfg). Вся выходящая информация в сервере будет записываться в файл в директорию gamedir/logs (Имя файла будет совпадать с датой). Всякий раз, когда игрок замечает ошибку, пусть он использует кнопку "say" чтобы сказать "BUG: описание бага". Затем, когда игра закончится, вы можете открыть лог файл и посмотреть все сообщения о багах, использовав поиск по слову "BUG:".
Когда вы начинаете игровое тестирование, убедитесь, что максимальное количество членов вашей команды может провести тестирование вместе с вами. Каждый работающий над игрой должен регулярно в неё играть. Так же убедитесь, что у вас есть внешние тестеры. Включите журнал сервера (установите «log» на «on» в файле {{L|server.cfg}}). Вся исходящая информация сервера будет записываться в файл по пути «'''Папка игры'''\logs» (имя файла будет совпадать с датой). Всякий раз, когда игрок замечает ошибку, пусть он использует кнопку «Сказать» чтобы сказать «ОШИБКА: описание бага». Затем, когда игра закончится, вы можете открыть log файл и посмотреть все сообщения о багах, использовав поиск по слову «ОШИБКА:».


=== Баги и Изменения ===
===Ошибки и изменения===
SL должен вести полный список ошибок и изменений, и их текущее состояние. Предпочтительно, чтобы это делалось с помощью настоящей базы данных. E-mail является совершенно не допустимой для отслеживания ошибок; слишком просто переместить новое сообщение с первой страницы пользователя и т.д. SL должен после каждого игрового тестирования добавлять в список баги и необходимые изменения из лог файла, и сообщать о них членам команды. Когда член команды исправил баг или сделал изменение, он должен послать новый контент SL, который должен убедиться, что ошибка исправлена и изменить ее статус в списке ошибок.
SL должен вести полный список ошибок и изменений, и их текущее состояние. Предпочтительно, чтобы это делалось с помощью настоящей базы данных. Электронная почта является совершенно не допустимой для отслеживания ошибок; слишком просто переместить новое сообщение с первой страницы пользователя и т. д. SL должен после каждого игрового тестирования добавлять в список ошибки и необходимые изменения из log файлов, и сообщать о них членам команды. Когда член команды исправил ошибку или сделал изменение, он должен послать новый контент SL, который должен убедиться, что ошибка исправлена и изменить её статус в списке ошибок.


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


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


''Русскоязычным пользователям предлагается посмотреть на систему багтрекинга, используемую компанией "Бука", скриншот которой есть в [http://www.kriconf.ru/2004/rec/KRI-2004.ProjectManagement_06.ppt докладе Николая Сафронова с КРИ-2004]. Это внутренняя разработка - простая, быстрая и достаточно эффективная. В самом первом приближении это столбцы с номерами багов, описанием ошибки, ее серьезностью и статусом ''
===Вырезание или откладывание особенностей===
Самая трудная, скверная, и к сожалению, наиболее необходимая часть подготовки к выпуску — быть реалистом, и вырезать не готовые части. Мы в {{L|Valve}} шутим, что у каждого есть своя любимая особенность игры, которая в конечном счёте была вырезана. Это помогает каждому подготовить себя к тому, что их особенности, которые они хотели видеть в игре (или на которые они потратили много времени), могут быть вырезаны. Ваша игра просто не может содержать все классные особенности и выпуститься в разумные сроки. SL должен принимать решение о том, что необходимо вырезать, основываясь на том, как далеко вы зашли в процессе создания и как далеко до даты выпуска.


=== Вырезание или откладывание особенностей ===
Чем ближе к выпуску, тем больше вы должны думать над каждой обнаруженной ошибкой. Является ли это ошибкой в особенности, которая обязательно должна входить в игру? Сколько дней понадобится, чтобы исправить эту особенность? Можно ли вырезать эту особенность, или её можно отложить до более поздней версии?
Самая трудная, скверная, и к сожалению, наиболее необходимая часть подготовки к выпуску - быть реалистом, и вырезать не готовые части. Мы в Valve шутим, что у каждого есть своя любимая особенность игры, которая в конечном счете была вырезана. Хотя это не так, это помогает каждому подготовить себя к тому, что они будут иметь функции, которые они хотели -- или на что они потратили много времени--, но могут быть вырезаны. Ваша игра просто не может иметь все класные функции и выпуститься в разумные сроки. SL должен принимать решение о том, что необходимо вырезать, основываясь на том, как далеко вы зашли в процессе создания и как далеко до даты выпуска.


Чем ближе к выпуску, тем больше вы должны думать над каждой обнаруженной ошибкой. Является ли это ошибкой в функции, которая обязательно должна входить в игру? Сколько дней понадобится, чтобы исправить эту функцию? Можно ли вырезать эту функцию, или ее можно отложить до более поздней версии?
===Семь раз отмерь, один раз отрежь===
Как мы уже говорили снова и снова, процесс подготовки сложный, и он становится ещё сложнее, если вы неправильно управляете приоритетами разработки. Долгая работа никогда не заменит внимательного выбора того, что необходимо исправить, что отложить, а что вырезать вообще. SL должен быть очень осторожен при выборе над какими ошибками и изменениями надо работать, и кому. Не тратьте неделю на исправление небольшой проблемы в функции просто потому, что она классная. Исправьте ошибки которые заставляют игру вылетать. Исправьте ошибки, мешающие подготовке к выпуску. Исправьте ошибки, мешающие другим членам команды исправлять свои ошибки. SL должен разработать категории ошибок для принятия правильных решений. Хорошее разбиение ошибок по уровням важности:
* Должно быть исправлено
* Тяжёлые
* Средние
* Незначительные
* Нулевые
* Отложенные


=== Семь раз отмерь, один отрежь ===
Так как проект становится ближе к выпуску, SL должен тщательно оценивать каждую появляющуюся ошибку. Помните, что каждая исправленная ошибка ведёт за собой больше игровых тестов и обычно — к новым и новым ошибкам. Если у вас осталось две недели до релиза, а у вас ошибка, требующая для исправления трёх дней работы и 500 строк кода, вы точно не успеете до релиза, если не вырежете или не отложите этот фрагмент игры до следующей версии.
Как мы уже говорили снова и снова, процесс подготовки сложный, и он становится еще сложнее, если вы неправильно управляете приоритетами разработки. Долгая работа никогда не заменит внимательного выбора того, что необходимо исправить, что отложить, что вырезать вообще. SL должен быть очень осторожен при выборе над какими ошибками/изменениями надо работать, и кому. Не тратьте неделю на исправление небольшой проблемы в функции просто потому, что она класная. Исправьте ошибки завершающие игру (crash bugs). Исправьте ошибки, наименее мешающее подготовке к выпуску. Исправьте ошибки, мешающие другим членам команды исправлять свои ошибки. SL должен разработать категории ошибок для принятия правильных решений. Хорошее разбиение по уровням важности: Должно быть исправлено, Тяжелые, Средние, Незначительные, Нулевые, Отложенные.


Так как проект становится ближе к выпуску, SL должен тщательно оценивать каждую появляющуюся ошибку. Помните, что каждая исправленная ошибка ведет за собой больше игровых тестов и обычно - к новым и новым ошибкам. Если у вас осталось две недели до релиза, а у вас баг, требующий для исправления трех дней работы и 500 строк кода, вы точно не успеете до релиза, если не вырежете или не отложите этот фрагмент игры до следующей версии.
==Три недели до релиза==
===Заморозка контента===
К этому моменту нужно стремиться к завершённости контента. Это означает, что весь контент игры, кроме игрового кода, должен быть заморожен. Все карты, модели, текстуры, звуки, {{L|HUD Elements|HUD}} арт, Launcher арт и т. д. должны быть завершены и находится в копии игры у SL.


== Три недели до релиза ==
===Прекращение работ===
=== Заморозка контента ===
Это уже подчёркивалось на отметке за пять недель до релиза, но сейчас это ещё важнее. SL должен быть единственным человеком, которому разрешено изменять мастер-копию игры, и он должен просто встраивать исправления ошибок от программистов, которые должны исправлять ошибки полученные только от него.
К этому моменту нужно стремиться к завершенности контента. Это означает, что весь контент игры, кроме игрового кода заморожен. Все карты, модели, текстуры, звуки, HUD арт, Launcher арт и т.д. должны быть завершены и находится в копии у SL.  


=== Прекращение работ ===
===Игровое тестирование===
Это уже подчеркивалось на отметке за пять недель до релиза, но сейчас это еще важнее. SL должен быть единственным человеком, которому разрешено изменять мастер-копию игры, и он должен просто встраивать исправления ошибок от кодеров, которые должны исправлять ошибки полученные только от него.
Игровое тестирование модификации должно проводится каждый день, по крайней мере в течении двух часов. С этого момента и до самого выхода вам нужно как можно больше людей, которые занимаются вашим модом. Слишком поздно вносить какие-либо крупные изменения игрового дизайна — даже не надейтесь.


=== Игровое Тестирование ===
==Одна неделя до релиза==
Игровое тестирование мода должно проводится каждый день, по крайней мере два часа. С этого момента и до самого выхода вам нужно как можно больше людей, которые занимаются вашим модом. Слишком поздно вносить какие-либо крупные изменения игрового дизайна - даже не надейтесь.
===Никаких исправлений в последнюю минуту===
SL должен оценивать каждое изменение, которое должно быть сделано, или же они должны быть отложены до следующих версий. Опять же, здравый подход — считать, что любое изменение, даже одна строка кода, добавит два дня к дате релиза.


== Одна неделя до выхода ==
==Безопасный двухдневный промежуток==
=== Никаких исправлений в последнюю минуту ===
Когда все запланированные ошибки исправлены, а всё остальное было отложено, это ещё не конец. Теперь подождите 48 часов, в течении которых вы должны проводить игровые тестирования как сумасшедшие. Постарайтесь, чтобы все играли в игру столько времени, сколько могут. Если нашли ещё ошибки, которые могут быть исправлены, исправьте их, и начните 48-часовой процесс снова.
SL должен оценивать каждое изменение, которое должно быть сделано, или же они должны быть отложены до следующих версий. Опять же, здравый подход - считать, что любое изменение, даже одна строка кода, добавит два дня к дате релиза.


== Безопасный двухдневный промежуток ==
Если в течении 48-часового игрового тестирования не было найдено никаких новых ошибок, вы готовы к релизу!


Когда все запланированные ошибки исправленывсе остальное было отложено, это еще не конец. Теперь подождите 48 часов, в течении которых вы должны проводить игровые тестировании как сумасшедшие. Постарайтесь, чтобы все играли в игру столько времени, сколько могут. Если нашли еще ошибки, которые могут быть исправлены, исправьте их, и начните 48 часовой процесс снова.  
==Пост-релиз==
И так, мод вышел, игрокам он очень нравится, а на сайтах пишут, как увлекательно в него играть. Закончена ли ваша работа — решать вам. Из нашего опыта в области онлайн-игр, мод остаётся популярным, пока вы его поддерживаете. Не важно, насколько хорош ваш мод, он не соберёт какого-то заметного числа игроков в первой версии. Количество игроков будет увеличиваться посредством выпуска нового контента, исправления ошибок, и, конечно, поддерживаемого сообщества. {{cs|4}} и {{tfc|4}} начали с самого малого и росли каждый день. С каждой новой версией всё больше игроков начинали в них играть.


Если в течении 48 часового игрового тестирования не было найдено никаких новых ошибок, вы готовы к релизу!
Знание что исправлять, что изменить, и как прислушиваться к сообществу приходит с опытом, в процессе продолжительного самообучения.


== Пост-Релиз ==
Удачи!
И так, мод вышел, игрокам он очень нравится, а на сайтах пишут, как увлекательно в него играть. Закончена ли ваша работа теперь - решать вам. Из нашего опыта в области онлайн-игр, мод остается популярен, только когда вы его поддерживаете. Не важно, насколько хорош ваш мод, он не соберет какого-то заметного числа игроков в первой версии. Количество игроков будет увеличиваться посредством выпуска нового контента, исправления ошибок,  и, конечно, поддерживаемого сообщества. Counter-Strike и Team Fortress начали с самого малого и росли каждый день. С каждой новой версией все больше игроков начинали в них играть.


Знание что исправлять, что изменить, и как прислушиваться к сообществу приходит с опытом, в процессе продолжительного самообучения.
==См. также==
* {{L|Successful Mod Team Tips|Успешная команда — советы}}
* {{L|Shipping Leader In Detail|Работа Shipping Leader в подробностях}}
* {{L|Mod Distribution|Упаковка модификации и подготовка к публикации}}


Удачи!
__NOTOC__


== См. также ==
{{ACategory|Valve}}
* [[Shipping Leader In Detail:ru|Работа Shipping Leader'а в подробностях]]
* [[Mod Distribution:ru|Запаковка & Выпуск Мода]]
* [[:Category:Modding:ru|Категория:Моддинг]]
[[Category:Modding:ru]]
[[Category:Russian]]

Latest revision as of 17:31, 12 July 2024

English (en)Deutsch (de)Español (es)Français (fr)日本語 (ja)한국어 (ko)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)
Категория: Модификация

Эта статья призвана помочь в разработке Source Source модификации(en). Сперва рас­смат­ри­ваются советы по началу раз­ра­бот­ки и набору команды. Далее — советы касательно игрового дизайна. В завершении предоставлено пошаговое руководство по организации финальных изменений и релиза вашеё модификации, что является самой трудной частью.

Начало

Начнём с того, как собрать команду. Основное правило — сделать её маленькой. Управление командой подобно полному рабочему дню, даже если вся команда находится в одном здании. Если вы имеете дело с онлайн командой, всё ваше время уйдёт на управление, и это означает, что у вас не останется времени на непо­сред­ствен­ное участие в создании модификации. Если в команде много людей, это не значит, что работа будет двигаться быстрее. Чем больше людей вы контролируете, тем больше вы тратите на это времени. Изначально, основная команда Team Fortress Classic Team Fortress Classic состояла из 3 человек, а команда Counter-Strike Counter-Strike — из 1 человека.

При поиске членов команды, старайтесь нанимать людей, без которых вы точно не сделаете мод. Вашим первым членом команды может стать любой, кто может программировать(en), делать модели(en), создавать уровни(en) и т. д. Но для начала, вам, вероятно не понадобится более одного человека на каждую часть вашей модификации (код, звуки(en), модели, карты). Вам не нужно думать о новых полноценных моделях, звуках, или картах. Не нанимайте лю­дей, чьих работ вы не видели. Убедитесь, что они привыкли завершать свои проекты. Если человек сделал 20 моделей, но не закончил их — он вам точно не нужен.

Дизайн модификации

Как автор модификации, самый полезный вопрос который Вы можете задать самому себе — «Почему кто-либо должен играть в мою игру?». Это достаточно сложный вопрос, чтобы ответить на него, но если вы сможете, вы на вер­ном пути. Подумайте чего нет в вашем моде, или что в нём есть такого, чего нет в других модификациях. Было ли сделано что-либо новое для игроков? Сделано ли достаточно, чтобы привлечь игроков, играющих в другие игры? Даже если вы не можете ответить на эти вопросы, просто рассуждая об этом, вы сможете улучшить вашу модифика­цию.

Ваше оружие — игровой процесс

У вас есть то, чего нет у коммерческих разработчиков: вам не придётся беспокоиться о коммерческом успехе нового стиля игры. Коммерческим разработчикам приходится думать о привлечении розничных продавцов, безубыточности и о многих других неприятных вещах, и именно поэтому многие игры являются лишь немного изменёнными классическими жанрами. Но вас это не касается! Вы можете пробовать новые идеи, развивать их и сделать что-то новое, что может изменить игровую индустрию. Это ваше преимущество над коммерческими разработчиками. Облегчите вашу работу, сконцентрировавшись на этой грани, и не тратьте своё время на конкуренцию с коммерческими продуктами, которые явно добились успеха. Большинство модов не могут конкурировать на уровне содержания с коммерческими продуктами. Над ними работают художники с многолетним опытом. Победите их вашим игровым процессом. Игроки будут играть, даже если не планируется улучшений, но имеется интересный игровой процесс. Многие люди не понимают, почему в течение года после релиза Team Fortress Classic Team Fortress Classic в него ничего не добавлялось.

Выпускайте скорее, выпускайте чаще!

Вы имеете огромное преимущество над коммерческими разработчиками. Вы можете выпускать обновления гораздо чаще, быстрее и больше, чем они. Мы совместили эту философию разработки модификации в одну фразу — «Выпускайте скорее, выпускайте чаще!». Коммерческие разработчики работают 2–3 года, чтобы выпустить их игру, и надеются на бога, чтобы людям она понравилась. Однако вы можете разработать идею модификации, сделать 25% от всего, затем предоставить результат игровому сообществу, и они сразу же свяжутся с вами. После этого вы можете добавлять остальной контент по частям, в это же время получая мнения о первой версии, и продолжать выпускать новые версии каждые один–два месяца. Вы всегда находитесь на связи с игроками, так что вы не попадёте в ситуацию, когда вы потратили много времени на то, что игрокам может не понравится. Весь фокус в том, чтобы уменьшить количество недочётов в финальной версии. Первоначальная версия должна быть весёлой и играбельной, но не содержащей попытки реализовать все придуманные вами особенности.

Будьте осторожны: «Быстрый выпуск» не означает, что вы должны выпускать некачественные версии, нужно делать небольшие, но качественные изменения. Первая версия Counter-Strike Counter-Strike не имела и половину от того, что она имеет сейчас. Команда Counter-Strike Counter-Strike делала высококачественные, но небольшие модификации. В последний год они добавляли всё больше особенностей, и в ответ на это, всё больше игроков становились их фанатами.

Другой — не обязательно лучший

Когда вы думаете над игровым дизайном, не попадитесь в ловушку, полагая, что «Различия — это хорошо». Нет смысла переделывать код и модель дробовика, если он не влияет на общую концепцию вашей игры. Всегда держите в памяти вопрос: «Почему кто-либо должен играть в мою игру?». Ответ: «В моём моде есть новая боевая система и новая система передвижения» — не всегда является лучшим. Ваша боевая система отлична от Half-Life Half-Life? Хорошо… но она лучше? Сделает ли она вашу игру более интересной? Сделает ли новая система передвижений вашу игру более весёлой? Игрок использует уже существующие системы, и делая что-то новое, изучите, что игроку будет полезно. Поэтому, прежде чем изменять что-либо, убедитесь, что изменения приведут к лучшему результату, и сделают вашу игру более весёлой. Не бойтесь оставлять всё то же самое, что было в Half-Life Half-Life.

Реальные цели

Создавайте для себя реалистичные цели. Подумайте о том, сколько занимает коммерческая разработка Шутер от первого лица с 10 пушками. Если ваш мод будет иметь 40 единиц оружия, вы действительно усложните себе жизнь. Всегда помните, что «Качество превосходит над количеством». Игроки предпочитают иметь 10 уникальных, сбалансированных и весёлых, чем 40 не сбалансированных единиц оружия, некоторые из которых чуть лучше других.

Не бойтесь вырезать контент и особенности. Если мод выглядит не законченным, или какой-либо контент не соответствует качеству остального контента — начните вырезать. В ходе разработки Half-Life Half-Life около 30% из оригинальной идеи были вырезаны, потому что их было невозможно закончить в сроки. Как мы уже говорили, «Качество превосходит над количеством». Игроки предпочитают играть в 3 действительно хороших, протестированных карты, чем в 10 плохо разработанных. Это даст вашей модификации репутацию качественной модификации. Не позвольте миру увидеть ваши худшие разработки.

Понимание движка

Вам действительно стоит прочитать документацию(en), включённую в SDK. Вы должны не просто понимать как делаются вещи в движке, но и как сделать их правильно. Вы можете сделать оружие, стреляющее 50 ракетами, но если вы не понимаете, как работает движок, то можете сделать это так, что мод будет использовать большое количество сетевого трафика. Это важно для каждой модификации. Если создатели карт не понимают движок, они будут делать огромные карты, не задумываясь о том, сколько данных будет посылаться пользователям, играющим в неё, и каждый будет винить ваш мод за слишком интенсивное использование сети. Если вы программист, хорошей идеей будет присоединиться к рассылке списка Half-Life Half-Life программистов, где вы сможете поговорить с многими другими программистами, а так же с некоторыми сотрудниками Valve(en). Рассылка списка имеет большие архивы, в которых содержится много полезных решений общих проблем.

Завершение

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

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

В этом разделе есть много вещей, которые могут показаться резкими или жестокими. Это печально, но это отражает сложность процесса. Здесь представлен опыт, сформированный из уроков, полученных нами в процессе подготовки к выпуску многих продуктов, большинство из которых являлись результатом болезненных ошибок, срывавших даты выхода. Вас может удивить, но действительно важно следовать определённому совету — вполне возможно, что мы были вынуждены отодвигать наши даты выхода на недели только потому, что мы не воспользовались ими.

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

Не бойтесь, становится гораздо проще, когда Вы прошли через это несколько раз. На момент третьй или четвёртой модификации Вы станете экспертом!

Пять недель до релиза

Централизуйте управление

Вы должны назначить одного члена вашей команды как Shipping Leader(en) (SL). Этот человек будет управлять процессом разработки на протяжении следующих пяти недель. Все изменения, вносимые в мод должны будут производиться только по просьбе SL, а так же все запросы изменения направляются на этого человека. Ни один человек из команды не должен самостоятельно изменять что-либо, не зависимо от того, насколько значительно изменение в моде, только если это не является просьбой SL. Это не означает, что остальная часть команды теряет контроль над процессом разработки, так как SL это всё ещё часть команды, и он должен выслушивать все отзывы. Назначение SL — сделать так, чтобы все изменения проходили через одного человека. Это позволит избежать таких проблем, как сделанное создателем карт в последнюю минуту изменение, повлёкшее за собой неработоспособность какого-то участка кода. SL будет знать состояние каждого компонента игры (код, карты, модели, текстуры(en), и т. д.) на протяжении всех 5 недель, чтобы ничего не случилось.

Выбор SL не лёгок. Вот несколько советов:

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

Установите последовательность разработки

Вам необходимо создать последовательность разработки модификации. Разработка представляет собой принятие всех работ и делает устанавливаемую, рабочую версию модификации (как правило, в виде установочного файла). Это должен делать только SL на протяжении следующих пяти недель, и SL должен действовать по строгой последовательности действий, которых он всегда придерживается. Создание последовательности действий позволяет не тратить часы на исправление ошибок, являющихся результатом действий, отличных от действий другого человека.

SL должен постоянно поддерживать финальную или предварительную версию модификации. Все изменения должны отправляться к нему, и он должен включать их в свою копию модификации с полным пониманием влияния этих изменений на остальные части модификации. Не забывайте постоянно делать резервные копии!

SL должен ежедневно делать работоспособную версию модификации для игрового тестирования. Подробнее об этом позже.

Замораживание особенностей

Подготовка к выходу — это процесс замораживания недоделанных частей вашей модификации. «Замораживание» означает, что недоделанные части не трогаются вообще. Ошибки найденные в замороженных частях требуют тщательной обработки. Если ошибка действительно важная (устойчиво воспроизводящаяся), просто подметьте её и исправьте в следующем обновлении вашей модификации. Независимо от соблазна «лёгкого исправления», размораживание частей вашей модификации необходимо избегать насколько это возможно.

К моменту выпуска, за пять недель, вы так же должны заморозить особенности модификации. Это означает, что вы не должны их изменять. Если часть вашей команды не хочет принимать участие в выпуске, но хочет продолжить работу по разработке модификации, они должны работать с отдельной копией контента и базой программного кода. Бо́льшая часть пакетов для контроля кода позволяет ветвление кода на этот случай (мы крайне рекомендуем вам использовать что-нибудь для контроля исходного кода). Каждые изменения сделанные в моде отныне должны только исправлять ошибки. За этим должен следить SL. Даже если программист придумал какую-либо классную возможность, думая, что она делается всего за 10 минут, не позволяйте ему добавлять её. Даже если программист отправляет код, законченный и проверенный на отсутствие ошибок, не вставляйте его в мод. Оставьте до следующей версии.

Для SL разумно придерживаться позиции, что любое изменение в моде с момента начала процесса выпуска добавляет два дня к дате выпуска.

Игровое тестирование

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

Чтобы облегчить эту задачу, мод должен поддерживаться в играбельном состоянии всё время. Очень, очень сильно переживайте за каждый день, в который мод стал не играбельным. Если программист или создатель карт сделал изменение, которое портит мод, хорошо подумайте, прежде чем включать изменения в SL сборку. Как долго игра будет неиграбельна? Сколько игровых тестов вы пропустите? Сколько членов команды не смогут работать, потому что мод не запускается? Не нарушаемая разработка должна стать религией для команды.

Когда вы начинаете игровое тестирование, убедитесь, что максимальное количество членов вашей команды может провести тестирование вместе с вами. Каждый работающий над игрой должен регулярно в неё играть. Так же убедитесь, что у вас есть внешние тестеры. Включите журнал сервера (установите «log» на «on» в файле server.cfg(en)). Вся исходящая информация сервера будет записываться в файл по пути «Папка игры\logs» (имя файла будет совпадать с датой). Всякий раз, когда игрок замечает ошибку, пусть он использует кнопку «Сказать» чтобы сказать «ОШИБКА: описание бага». Затем, когда игра закончится, вы можете открыть log файл и посмотреть все сообщения о багах, использовав поиск по слову «ОШИБКА:».

Ошибки и изменения

SL должен вести полный список ошибок и изменений, и их текущее состояние. Предпочтительно, чтобы это делалось с помощью настоящей базы данных. Электронная почта является совершенно не допустимой для отслеживания ошибок; слишком просто переместить новое сообщение с первой страницы пользователя и т. д. SL должен после каждого игрового тестирования добавлять в список ошибки и необходимые изменения из log файлов, и сообщать о них членам команды. Когда член команды исправил ошибку или сделал изменение, он должен послать новый контент SL, который должен убедиться, что ошибка исправлена и изменить её статус в списке ошибок.

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

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

Вырезание или откладывание особенностей

Самая трудная, скверная, и к сожалению, наиболее необходимая часть подготовки к выпуску — быть реалистом, и вырезать не готовые части. Мы в Valve(en) шутим, что у каждого есть своя любимая особенность игры, которая в конечном счёте была вырезана. Это помогает каждому подготовить себя к тому, что их особенности, которые они хотели видеть в игре (или на которые они потратили много времени), могут быть вырезаны. Ваша игра просто не может содержать все классные особенности и выпуститься в разумные сроки. SL должен принимать решение о том, что необходимо вырезать, основываясь на том, как далеко вы зашли в процессе создания и как далеко до даты выпуска.

Чем ближе к выпуску, тем больше вы должны думать над каждой обнаруженной ошибкой. Является ли это ошибкой в особенности, которая обязательно должна входить в игру? Сколько дней понадобится, чтобы исправить эту особенность? Можно ли вырезать эту особенность, или её можно отложить до более поздней версии?

Семь раз отмерь, один раз отрежь

Как мы уже говорили снова и снова, процесс подготовки сложный, и он становится ещё сложнее, если вы неправильно управляете приоритетами разработки. Долгая работа никогда не заменит внимательного выбора того, что необходимо исправить, что отложить, а что вырезать вообще. SL должен быть очень осторожен при выборе над какими ошибками и изменениями надо работать, и кому. Не тратьте неделю на исправление небольшой проблемы в функции просто потому, что она классная. Исправьте ошибки которые заставляют игру вылетать. Исправьте ошибки, мешающие подготовке к выпуску. Исправьте ошибки, мешающие другим членам команды исправлять свои ошибки. SL должен разработать категории ошибок для принятия правильных решений. Хорошее разбиение ошибок по уровням важности:

  • Должно быть исправлено
  • Тяжёлые
  • Средние
  • Незначительные
  • Нулевые
  • Отложенные

Так как проект становится ближе к выпуску, SL должен тщательно оценивать каждую появляющуюся ошибку. Помните, что каждая исправленная ошибка ведёт за собой больше игровых тестов и обычно — к новым и новым ошибкам. Если у вас осталось две недели до релиза, а у вас ошибка, требующая для исправления трёх дней работы и 500 строк кода, вы точно не успеете до релиза, если не вырежете или не отложите этот фрагмент игры до следующей версии.

Три недели до релиза

Заморозка контента

К этому моменту нужно стремиться к завершённости контента. Это означает, что весь контент игры, кроме игрового кода, должен быть заморожен. Все карты, модели, текстуры, звуки, HUD(en) арт, Launcher арт и т. д. должны быть завершены и находится в копии игры у SL.

Прекращение работ

Это уже подчёркивалось на отметке за пять недель до релиза, но сейчас это ещё важнее. SL должен быть единственным человеком, которому разрешено изменять мастер-копию игры, и он должен просто встраивать исправления ошибок от программистов, которые должны исправлять ошибки полученные только от него.

Игровое тестирование

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

Одна неделя до релиза

Никаких исправлений в последнюю минуту

SL должен оценивать каждое изменение, которое должно быть сделано, или же они должны быть отложены до следующих версий. Опять же, здравый подход — считать, что любое изменение, даже одна строка кода, добавит два дня к дате релиза.

Безопасный двухдневный промежуток

Когда все запланированные ошибки исправлены, а всё остальное было отложено, это ещё не конец. Теперь подождите 48 часов, в течении которых вы должны проводить игровые тестирования как сумасшедшие. Постарайтесь, чтобы все играли в игру столько времени, сколько могут. Если нашли ещё ошибки, которые могут быть исправлены, исправьте их, и начните 48-часовой процесс снова.

Если в течении 48-часового игрового тестирования не было найдено никаких новых ошибок, вы готовы к релизу!

Пост-релиз

И так, мод вышел, игрокам он очень нравится, а на сайтах пишут, как увлекательно в него играть. Закончена ли ваша работа — решать вам. Из нашего опыта в области онлайн-игр, мод остаётся популярным, пока вы его поддерживаете. Не важно, насколько хорош ваш мод, он не соберёт какого-то заметного числа игроков в первой версии. Количество игроков будет увеличиваться посредством выпуска нового контента, исправления ошибок, и, конечно, поддерживаемого сообщества. Counter-Strike Counter-Strike и Team Fortress Classic Team Fortress Classic начали с самого малого и росли каждый день. С каждой новой версией всё больше игроков начинали в них играть.

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

Удачи!

См. также