05 января 2009
Обновлено 17.05.2023

Горячая линия: игрострой

Горячая линия: игрострой - изображение обложка

24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru и по SMS на короткий номер 1121 с префиксом #dev (в начале сообщения печатаете слово #dev, а затем, через пробел, сам вопрос). Стоимость каждого SMS — около 3 рублей. Обратите внимание, ответы на вопросы даются только в журнале.

Моя твоя не понимать

Постоянно читаю статьи о создании игр — не только в «Игромании», но и в интернете. Выучил множество специализированных терминов, но иногда попадаются совсем уж непонятные. Например, что значат слова « рефакторинг », « тест-кейсы » и « юнит-тесты »? — Алексей Старостин

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

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

— нажать кнопку «Опции» и проследить, чтобы в результате открылось нужное окно;

— нажать кнопку «Профиль», посмотреть, чтобы движок игры подгрузил файл profile.ntr, сделал в нем замену поля Name и сохранил.

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

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

Интенсивная разработка

Меня всегда удивляло, почему онлайновые шутеры вроде Battlefield и Unreal Tournament разрабатываются столько же, сколько и офлайновые игры? Там же контента в разы меньше. Пара десятков карт (каждая в разы меньше, чем в любом однопользовательском экшене), несколько персонажей, немного оружия… А какой-нибудь Team Fortress 2 делали вообще девять лет. Понятно, что часть этого времени работа стояла, но все равно — какие-то нереальные сроки получаются. Авторы часто оправдываются, что, мол, сетевой код отлаживали, а это долго… Но неужели настолько? — _SMS с номера +7-903--11-06_*

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

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

Кстати, в упомянутом вами Team Fortress 2 глубина проработки уровней находится вообще на какой-то недостижимой высоте. Что UT , что Enemy Territory: Quake Wars и рядом не валялись. Тут даже в одном-единственном подземном коридоре длиной метров 20 может быть несколько стратегических точек: в одной превосходство имеет поджигатель, в другой — пулеметчик, а если инженер поставит турель в третьей, то вовсе никто не пройдет.

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

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

Автоматический агроном

В некоторых играх, когда бродишь по лесу или хотя бы по рощице какой-нибудь, наблюдаешь всего 5-6 разновидностей деревьев, все остальное — клоны. Но есть и игры, где каждое дерево уникально. Вплоть до рисунка коры. Я немного увлекаюсь моделлингом и отлично представляю себе, насколько сложно создать одно такое дерево. А ведь в игре их тысячи, и все разные. Неужели все это заказывается аутсорсерам или не дай бог делается моделлерами компании? Тогда понятно, почему некоторые игры так долго разрабатываются. — Анатолий Васин

Нет, конечно. Давным-давно существуют генераторы 3D-объектов. Можно штамповать разномастные бочки, камни, траву и даже облака. С деревьями, кстати, всегда было больше всего мороки. Дело в том, что обычное живое дерево растет по принципу дихотомического или симподиального ветвления, то есть каждая веточка дает начало двум (или большему числу) других. И таких «развилок» очень много. Если сделать слишком мало, то любой заметит, что дерево не такое, каким должно быть. Просто так гробить полигоны на какие-то там деревья никто, разумеется, не хотел, поэтому чаще всего ветки изображались схематично, игроки воротили носы. Потом все же додумались обучить генераторы деревьев (вроде TreeGenerator ) создавать ствол и самые крупные ветки при помощи полигонов, а мелкие веточки — за счет сплайнов или просто в виде спрайтов.

Существуют и генераторы персонажей, некоторые разработчики ими даже пользуются (для создания NPC-массовки), вот только анимировать все равно приходится вручную, тут уже никакая автоматика не поможет.

По рукам?

Наша игра подходит к стадии альфа-тестирования, собираемся идти к издателю на поклон. При этом мы слышали две разных версии дальнейшего развития событий. Одни говорят, что у крупных издателей договор для всех стандартный, другие — что процент, который мы получим от продаж, напрямую зависит от качества игры. Как же оно на самом деле? Каких подводных камней ждать и сколько вообще денег реально получить? — _SMS с номера +7-902--53-28_*

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

Например, сугубо психологический. То есть как вы поведете себя на переговорах, сколько будете запрашивать. Если издателю будет очевидно, что он имеет дело с новичками, то и обдерет как липку. Скажем, даст $0,1 с каждого проданного диска. Это мало, обычно предлагают $0,5, но некоторым разработчикам удается так себя подать, что получают и $1, и даже больше. Иногда стоит сходить к нескольким издателям. Даже если первый предложит немного, то второму можно сказать, что с вами уже готов подписать контракт другой издатель, и таким образом заключить более выгодный контракт. Только упаси вас бог в таких случаях кого-то обманывать, издательский мирок в России очень тесный, ложь быстро всплывет на поверхность.

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

И еще. Прежде чем что-то подписывать, проконсультируйтесь у юриста. Иногда помогает и просто намек на то, что вы собираетесь это сделать.

Фокус фокус-группы

Слышал, что для тестирования игр используют фокус-группы, недавно даже сам читал одно такое приглашение. Вообще-то для этого есть бета-тесты, зачем еще какие-то фокусы? Если они проводятся так же, как и во многих других бизнесах, то понятно, как появляются плохие игры. Интересно, разработчики вообще читали исследования фокус-групп (например, «Фокус-группа как смертельная ошибка бизнеса»), они знают, насколько это неэффективно? — Влад Иванов

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

О том, что фокус-группы крайне бесполезны, написано действительно очень много. Только тут ведь все как в рекламе. Мало кто «умеет их готовить». Правильный «фокус», — то есть проведенный своими силами (а не под заказ) и с заранее четко расставленными приоритетами, — дает очень хорошие результаты.

Вот делаете вы RTS и хотите узнать, насколько удобно управлять юнитами и раздавать им задания через придуманное вами новаторское меню. Тут фокус-группа очень даже поможет. Кидаете клич на сайте, собираете немного хардкорных игроков, немного казуалов и оперативненько консультируетесь с ними, что здорово, а что нужно поправить.

А вот если ставить для фокус-группы вселенские задачи (« А хороша ли наша игра, и если да, то чем именно? »), то ничего толкового не выйдет. Наговорят всякой ерунды, и не дай вам бог последовать услышанному.

Портфолио профессионалов

Подскажите, как правильно моделлеру составить свое портфолио, чтобы взяли на работу? Я подрабатываю фрилансером, включил в портфолио лучшие свои творения (пару огромных детализированных замков, модели оружия, сделанные в 3DS Max), но чаще всего мне дают от ворот поворот, хотя опыта у меня значительно больше, чем у людей, которых потом берут на ту же работу. — Алексей Субботин

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

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

— Качество текстур, насколько детально проработаны, правильно ли наложены, как сделана карта освещения;

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

— Умение работать в 3D-редакторах.

А теперь давайте проанализируем по пунктам ваше портфолио. Умение моделировать персонажей игр не раскрыто. Текстуры для зданий несложно найти в Сети (так что неизвестно, сами ли вы их рисовали — практика «заимствования» распространена очень широко). Анимации вообще нет — развевающийся на крыше флажок или спецэффекты выстрелов не в счет. Да и создано, насколько мы поняли, все в 3DS Max. С точки зрения работодателя вы выглядите как моделлер строений и оружия, работающий только в «Максе», и непонятно, владеющий ли анимацией. Такой узкий специалист мало кому нужен.

Так что включайте в портфолио персонажей (с полным набором анимации), сделанных в 3DS Max, Maya , ZBrush , обязательно затекстурированных, и все у вас будет нормально. Ах да, к каждой модели обязательно прилагайте файл с описанием, в какой программе что делалось и сколько у вас на это приблизительно ушло времени.

Правила гротеска

Во многих играх персонажи выглядят нереалистично, но все равно очень здорово. Зачастую тела нарочито уменьшают, головы, наоборот, увеличивают, я так понимаю, это называется гротеск. А есть какие-то правила, по которым создаются такого рода герои? Я несколько раз пробовал моделировать в ZBrush нечто похожее, но получилось не очень, при том, что пропорциональные герои у меня более-менее получаются. — Кирилл Стержнев

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

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

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

Соберись, тряпка!

А что происходит с технологией ragdoll? В современных играх она какая-то не такая, как раньше. Помню, в Unreal Tournament 2003 над трупами противников можно было издеваться как хочешь, хоть узлы из них вязать. А нынче забаву отобрали, трупы в играх стали довольно «жесткие». — Влад Махнев (Казань)

С самой технологией ничего не произошло, просто ragdoll стали загонять в жесткие рамки. Ну не могут у трупа руки и ноги выгибаться назад в области коленных и локтевых суставов. Да и голова на 360 градусов после смерти не вращается, если только ее специально не откручивать… Так что девелоперы поступают просто: блокируют недопустимые оси движения суставов.

Если говорить конкретно, то применяется не ball-socket joint (шаровые суставы, гнущиеся в любую сторону), а hinge joint (шарнирное соединение). Нам вот очень интересно, насколько далеко разработчики зайдут в моделировании реалистичных трупов. Если через недельку-другую можно вернуться на уже обследованную локацию, трупы там будут гнить и разлагаться? А лежащие в воде мертвяки будут раздуваться и всплывать от накопившихся газов? И, наконец, сделает ли кто-нибудь трупное окоченение (тут уж, извините, никакого рэгдола)?

Взгляд в бесконечность

Купил с большим опозданием The Orange Box, прошел Portal, и сразу возник вопрос. Если выстрелить порталами в потолок и в пол (ну или в две стены, расположенные напротив), то в обе стороны получается бесконечный тоннель. Это какие же мощности нужны, чтобы просчитывать такой объем информации? Я программист и отлично представляю себе, какая это нагрузка на процессор. Штук десять сделать — и то все лагать должно жутко, а тут (я внимательно смотрел) изображение в реальном времени изменяется даже в двадцатом по счету портале. Где-то нас определенно обманывают, только не пойму где. — Иван Кузьмин (Самара)

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

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

Бумажный игрострой

Вопрос мой про игростроение, только не про обычное, а про бумажное. В рубрике «Интернет» вы несколько раз давали ссылки на сайты, где можно скачать выкройки для бумажных моделей персонажей игр, но наверняка таких сайтов больше. Где еще брать заготовки? — Антон Лымарев

Для начала советуем заглянуть на сайт www.cubeecraft.com. В основном здесь собраны персонажи мультфильмов, но и игровые герои тоже попадаются — Марио, Мастер Чиф, Сэм c Максом, есть даже Vault Boy из Fallout и Гордон Фримен. Выкройки предельно простые, так что никаких особенных навыков оригами для сборки не понадобится.

Если же вы увлекаетесь моделированием из бумаги, то рекомендуем посетить еще и вот эти сайты:

http://cp.c-ij.com/en/contents/1006 — множество очень сложных бумажных моделей, от бульдозера до замков и парусных кораблей;

www7a.biglobe.ne.jp/sf-papercraft/Gallery/Gallery.html — еще более сложные выкройки героев и техники из « Звездных войн » и Star Trek;

http://readymech.com — очень простенькие кавайные зверушки. Никакого отношения к играм не имеют, но здорово смотрятся на столе;

**_www.yamaha-motor.co.jp/global/entertainment/papercraft — _**на сайте компании Yamaha собрано несколько десятков выкроек мотоциклов, животные, есть даже маски для различных праздников;

http://paperinside.com — сборник самых разных бумажных моделей, от героев « Южного парка » до сложносоставных выкроек оружия из Unreal Tournament ;

http://paper-replika.com — подборка бумажной техники и оружия;

http://paperkraft.blogspot.com — еще одна подборка бумажных заготовок. На первый взгляд, выглядят довольно просто, но линий сгиба очень много, так что приготовьтесь, на одну модельку у вас уйдет не менее часа. Зато и результат соответствующий — каждая работа выглядит округлой, а не квадратно-рубленной.

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь