29 августа 2006
Обновлено 17.05.2023

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

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

24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адресgamedev@igromania.ru

Наткнулся в TES Construction Set на функцию редактирования path-gird. Можете вкратце рассказать, что она из себя представляет?

Path-girds — это контрольные точки, по которым перемещаются все персонажи The Elder Scrolls 4: Oblivion. Если их не будет, NPC моментально дезориентируются и начнут либо топтаться на месте, либо строевым шагом устремятся в сторону горизонта — только вы их и видели. Контрольные точки существуют не сами по себе, а объединены в так называемые путевые сетки : каждому пункту присвоен свой порядковый номер, и персонаж передвигается от точки с меньшим номером к точке с большим. В итоге получается маршрут движения. По такому принципу построено перемещение NPC в подавляющем большинстве игр.

Конкретно в редакторе TES Construction Set существует несколько видов путевых сеток. Синие показывают пути следования игровых персонажей. Красные — новые маршруты, созданные пользователем. Оранжевые точки — это автоматически генерируемые путевые сетки для NPC, которые в игре ведут себя, что называется, по-умному. Маршрут их движения постоянно корректируется AI. Более подробный рассказ о path-girds ждет вас во втором видеоуроке по модифицированию TES 4: Oblivion.

Я пытаюсь сделать мод на основе игры Rome: Total War. Создал карты, города, но никак не могу разработать новые виды войск. Я так понимаю, что это делается при помощи скриптов, но никак не пойму, по какому принципу они работают?

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

type NEW warriors; // название новых бойцов;

dictionary net_v_slovare ; // наименование войск в словаре (любое значение);

category infantry; // новые войска — простая пехота;

class heavy; // новые войска — тяжелая пехота (не давится конницей);

voice_type Medium_1; // голоса войска (выбираются из звуковой библиотеки);

soldier new_warrior_raider, 40, 0, 1.5 // основные характеристики нового вида войск;

attributes sea_faring, hide_anywhere, frighten_foot, hardy // дополнительные характеристики;

formation 1.2, 1.2, 2.4, 2.4, 4, square; // перечень боевых формаций;

stat_health 1, 0; // здоровье воинов;

stat_pri 50, 8, no, 0, 0, melee, blade, piercing, axe, 25 ,1 // здесь и далее идет список основных характеристик, с ними можно экспериментировать;

stat_pri_attr no

stat_sec 0, 0, no, 0, 0, no, no, no, none, 25 ,1

stat_sec_attr no

stat_pri_armour 5, 4, 7, leather

stat_sec_armour 0, 0, flesh

stat_heat 3

stat_ground 2, -2, 3, 2

stat_mental 40, impetuous, trained

stat_charge_dist 40 ; // расстояние до противника, на котором новые войска начинают атаковать;

stat_fire_delay 0; // время между двумя выстрелами (если бойцы не умеют стрелять, ставьте ноль);

stat_food 80, 300;

stat_cost 2, 40, 10, 10, 10, 10

ownership romans julii; // какому государству принадлежат новые войска.

Теперь можно зайти в меню одиночной игры, создать сражение ( Custom Battle ) и добавить себе в войска новых бойцов.

Вопрос по TES 4: Oblivion. Я создал небольшую пещерку и оформил ее по своему вкусу, но не знаю, как соединить интерьер с внешним миром. Не подскажете вкратце, как сделать новую область частью целого мира?

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

В поле Cell выберите ячейку игрового мира, куда будет перемещен игрок. Если хотите, можете задать конкретное место, где будет заброшен герой: для этого достаточно кликнуть по кнопке Select Reference in Render Window. Загрузите произвольную карту, добавьте во внешнюю локацию дверь и настройте ее на телепортирование игрока в пещеру. Можете тестировать свою разработку в игре — все должно работать — два мира сольются в один.

В некоторых миссиях GTA: San Andreas игроку приходится отстреливаться от полиции или бандитов, высунувшись из люка машины. С помощью какой команды это можно сделать в San Andreas Mission Builder?

Подобный фокус легко провернуть при помощи команды:

0464: put_actor $PLAYER_ACTOR into_turret_on_car $car at_car_offset 0.0 0.0 0.0 unknown 1 angle 360.0 with_weapon 0

Этой командой мы помещаем игрока в так называемый Turret Up-режим. PLAYER_ACTOR — имя персонажа. into_turret_on_car $car at_car_offset — машина, к которой будет «прицеплен» герой. 0.0 0.0 0.0 — координаты, определяющие, на каком расстоянии от центра игрок будет помещен в Turret Up-режим. 1 — параметр, задающий местоположение игрока на транспортном средстве. В случае с этим параметром возможны следующие варианты:

0 — лицом по ходу движения Face Front Of Car;

1 — лицом к левому окну;

2 — лицом назад;

3 — лицом к правому окну;

4 — высунувшись из окна.

Цифра 0 в конце скрипта определяет оружие, из которого игрок будет вести стрельбу.

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

Отключить режим стрельбы можно командой:

0465: remove actor $PLAYER_ACTOR from turret mode

Этот скрипт просто «выдергивает» персонажа из режима Turret Up.

Вопрос месяца

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

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

Практически все создатели малых игр тестируют свои работы совершенно бесплатно. Если у вас есть постоянный выход в интернет (а все говорит о том, что он у вас есть), вы можете провернуть аналогичный фокус. Заходите на любой англоязычный поисковик и вбивайте в нем слова «betatester», «gamesunderground» и что-нибудь похожее. В ответ вы получите несколько сотен ссылок на форумы и сайты, где люди, уже засветившиеся в геймдеве (на каких-нибудь мелких проектах), совершенно бесплатно консультируют начинающих разработчиков игр и программ, а также помогают выловить баги из их творений.

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

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

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

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

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

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