Перейти к содержанию

Imp Mech Project


Рекомендуемые сообщения

Good news, everyone!

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

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

Ссылка на комментарий
  • Ответов 987
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

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

Такие дела, такой вот 0.5 апдейта. Хорошего вам вечера, ребятки.

this+is+impressive+in+a+lot+of+ways+_f2c6404c4a1d012c860da0754b6f6028.gif
  • Класс! 1
Ссылка на комментарий

Ссылка на билд

Конечно хотелось бы посидеть еще. Но к счастью, время у меня вроде есть, а билд стоит выкладывать по расписанию.

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

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

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

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

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

Такие вот дела, приятных вам танцев.

golden-time-kaga-kouko-gif-anime-938076.gif
Ссылка на комментарий

:icon_biggrin: им вообще пофиг на всё...они задом прут на выстрел пипцы...но радует другое, их можно гонять как стадо, подходя к ним они от тебя отходять начинают))

Ссылка на комментарий

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

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

Так или иначе, не вылезайте из кокпита посреди туториала, чтоб не пришлось вручную убивать процесс. В воскресенье выдам вам право на это, тогда и развлекайтесь.

Ссылка на комментарий

Ссылка на билд

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

Однако, две небольшие фигни заставляют меня чувствовать незавершенность всего этого дела.

Во-первых, и это на самом деле мелочь, производительность проседает, и количество ботов строго ограниченно в данный момент. Однако, мелочь это поскольку код, который я тщательно потырил написан просто ужасно. Там столько косячных мест, что даже частичная правка позволила сократить нагрузку на проц где-то процентов эдак на 5-10.

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

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

Скучать не придется.

И вы не скучайте. Сегодня специально для вас полноценный симулятор пастуха роботов, где вы еще такой встретите?

tumblr_mq0s2sWYy01su5xpxo1_500.gif
Ссылка на комментарий

Какие-то глюки сервера ратник. Пишет ошибку, но... Там снизу окна должна быть полоса Save, ты в нее тыкаешь? Через нее, по крайней мере у меня файл стянулся без проблем.

Ссылка на комментарий

в задачу бота будет входить допустим анализ вражеского меха....

"аха! я выбил торс! нужно срочно попасть именно в эту же локку" или "засекли! на меня пошли ракеты. нужно срочно убежать за горочку"

:-) я правильно поняла твою задумку ?

Ссылка на комментарий

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

Ссылка на комментарий

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

а дальше бот действовал по обстоятельствам.

в основном боты бегали по кругу "каруселили" на среднеарифметической дистанции оружия

Ссылка на комментарий

Ссылка на билд

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

Тем не менее, торжественно объявляю эту неделю самой бесполезной в своей жизни*. Все, чем я вообще занимался - звук шагов. Проклятый звук долбанных шагов. Тыдыщ-тыдыщ, бл#ть!!! Что-то в итоге конечно получилось, но учитывая удельные трудозатраты на столь незначительную фичу, наверняка в игре нет ничего более сложного для меня, и впредь не появиться. Результат меня так и не устроил. А кроме того, звуки еще и омерзительно накладываются друг на друга и толпа топочущих ботов превращается в какой-то кошмар. Исправить это можно через кривую распространения волны, но и там беда - эта кривая в первую очередь жрет низкие частоты, в результате поступь меха на расстоянии превращается в ритмичные удары по медному тазику. Собственно пусть все это дерьмо им и накроется.

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

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

*Без учета времени потраченного на бухло и баб.

xrZYg0t.gif
Ссылка на комментарий

Джордан Вайсман - один из создателей БТ, и тут внезнапно кто-то под этим ником регистрируется на форуме.

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

Да, с таким не шутят, я знаю, но отдельно отмечаю, я это не серьезно. А то черт знает что напридумываете.

Ссылка на комментарий

Ссылка на билд

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

На этом закроем тему на некоторое время. У меня еще будет шанс поработать над звуком, когда будет бета и все такое, в общем наступит время активного полишинга.

В остальном же билд галочный, ничего заметного глазу в нем нет. Хотя вру, эффекты дыма чуть изменил и пару багов поправил. Зато-зато, удалось переписать весь новый код, который вовлечен в движение, оптимизировать его, ну и что важнее всего разобраться что там к чему. Отсюда следующие планы: исправить наконец ходьбу задницей, малость облизать алгоритмы рулевого управления, чтоб боты не "жали на кнопки" с частотой сто раз в секунду, что вызывает неприятные эффекты дрожания, когда эти засранцы не могут выбрать направление движения. И сверху к этому есть идеи о том, как убрать дерганную анимацию при втыкании в препятствие (это уже не зависит от скудных зачатков ИИ) и малость пересчитать карту проходимости местности, чтоб боты пореже терялись на ровном месте. Ну да, я уже малость им вправил мозги насчет стен, но работы еще предстоит немало.

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

Ждите апдейтов... во славу Омниссии, конечно же.

b1a3jBg.gif
Ссылка на комментарий

Ссылка на билд

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

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

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

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

В!!!) Дальше будет еще круче. Оставайтесь с нами.

EbJBHt7.gif
Ссылка на комментарий

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

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

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

qx3HYxR.gif
Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Расскажите друзьям

    Нравится Эриданская лёгкая кавалерия? Расскажите друзьям!
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...