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

Imp Mech Project


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

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

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

Так или иначе, лучше чем стандартный метод в голову ничего не влезло. Но он далеко не идеален, ведь задача визуального обнаружения противника ботами состоит в том, что каждый бот, должен проверить видит ли он каждого другого бота. Нет, конечно зона видимости у них ограничена, но в хорошую погоду это чертовых два километра радиуса. Затем нужно проверить находится ли цель спереди (глаз на затылке у ботов нет, как и игрока), и не загораживают ли цель всякие штуки вроде стен, гор, игрока или других ботов. Что в итоге? Правильно. Возводим количество ботов во вторую степень (на калькуляторе это 15 умножить на 16(поскольку игрок не использует этот алгоритм, но тем не менее обладает мехом, который можно обнаружить)) и умножаем на время одной проверки, именно столько времени уйдет на подобные вычисления. Не сильно много, но система то предполагает реальное течение времени, а не ожидание хода противника по десять минут.

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

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

Что еще хотелось бы запилить в этой области:

1. Ну, во первых более приличный алгоритм слежения. Дело не только в вышеописанных глюках, но и в том, что бот элементарно теряет цель в момент пересечения любым объектом линии обзора. Нужно дать ему немножко "памяти", чтоб он после такой потери попробовал найти ту же цель, примерно там же где она и была.

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

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

4. ????

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

А пока порадуйтесь вместе со мной. Боты прозрели! Алилуя-вся-херня!

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

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

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

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

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

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

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

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

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

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

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

Дальше, удалось переделать движение мало-мало. Самое важное, боты теперь стараются именно обойти мех, а не просто отходят от него на "безопасное" расстояние.

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

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

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

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

Вот теперь точно все рассказал. Хорошей вам недели, девочки и мальчики. Играйте в годные игры, пишите письма, возносите хвалебные оды.

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

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

Много писать не буду, поскольку вымотан.

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

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

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

Что дальше? Дальше я попробую мало-мало сгладить углы в движении, и написать спавнилку на две команды. А также, системы распознавания "свой-чужой". Не то, чтоб меня действительно и полностью устраивало движение, но хотелось бы уже поменять test-case'ы, поскольку нужна более приближенная к реальности обстановка, чтоб понять, насколько ИИ годиться в продакшн.

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

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

Потестил билд 270414. На нетбуке асус 101. Как ни странно запустилось. Даже в качестве fantastic. Правда напоминало скорее Total Eclipse на ZX. Это где то примерно 5-7 FPS :) На минимальном качестве напоминало уже Total Eclipse в режиме Turbo. в районе 15 FPS :)

Боты. Сделали 2 шага и выстроились в шахматном порядке. Всё. Начинают двигаться только когда к ним подходишь. Делают 2-3 шага и снова чота ждут. За игроком не следят и вообще какие то вялые. Ничего не делают. Стоят себе и жизни радуются.

Собственно всё.

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

Кроме того тестил ранние билды, там с FPS всё ок. Есть замечание по поводу полёта снарядов.

Ребяты, мы что из воздушки стреляем? почему снаряды летят с дозвуковой скоростью? Засёк по ближайшему холму. 800 метров в секунду это в районе хорошей PCP пневматики скорость снаряда. Нормальный "пушечный" снаряд должен делать 1.5-2 км за секунду как нефиг делать.

Хотя конечно я не знаю какой вес у тех снарядов. Сужу по скорострельности. Которая как у пулемёта.

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

Кроме того тестил ранние билды, там с FPS всё ок. Есть замечание по поводу полёта снарядов.

Ребяты, мы что из воздушки стреляем? почему снаряды летят с дозвуковой скоростью? Засёк по ближайшему холму. 800 метров в секунду это в районе хорошей PCP пневматики скорость снаряда. Нормальный "пушечный" снаряд должен делать 1.5-2 км за секунду как нефиг делать.

Хотя конечно я не знаю какой вес у тех снарядов. Сужу по скорострельности. Которая как у пулемёта.

смеешься чтоль про начальную скорость снаряда? http://ru.wikipedia.org/wiki/152-%D0%BC%D0%BC_%D0%BF%D1%83%D1%88%D0%BA%D0%B0_2%D0%9036 почитай. В основном пушки и стреляют до 900м\с. опять же в зависимости от типа снаряда.

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

Мы стреляем так, как выглядит красивше. Где-то в будущем, возможно скорость снарядов измениться исходя из нужд баланса, но никак не реальности.

Алсоу Начальная скорость 792 м/с, что значит что я чертов ясновидящий (хотя, приукрашиваю конечно, скорости варьируются от 600 до 1к), поскольку рассчитывал оружие в руках, как нечто авиационно-тридцати-миллиметровое.

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

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

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

Ссылка на комментарий
смеешься чтоль про начальную скорость снаряда? http://ru.wikipedia....D0%B0_2%D0%9036 почитай. В основном пушки и стреляют до 900м\с. опять же в зависимости от типа снаряда.

Нет, это не смешно.

Пжалста вот.

"В качестве примера можно взять испанский БОПС пушки калибра 105 мм компании «Empersa Nacional Santa Barbara», который на скорости 1500 м/с с расстояния 5000 м пробивает мишень стандарта НАТО под углом 60° от линии огня и состоящую из бронеплиты толщиной 120 мм и десяти дополнительных листов брони по 10 мм, расположенных на расстоянии 10 мм друг от друга."

и ещё от туда же.

" Плотность материала в настоящее время ограничена, так как в настоящее время в технике не существует материалов плотнее вольфрама и урана, практически употребимых для военных целей. Скорость БОПС также ограничена величинами в интервале 1500—1800 м/с и зависит от конструкции артиллерийских орудий и боеприпасов к ним."

И Это в 20 веке. А не в 31. :)

Современный эксперементальный раилган (испытывается на атомных крейсерах т.к. жрёт энергии шо та пипца) выдаёт почти первую космическую, где то 7 км в сек. Гаусс работает на том же принципе (ну почти) и по идее должен выдавать примерно такую же скорость.

Ну и далее в таком же духе.

Хотя я согласен с автором что баланс важнее всего. Но и если уж есть ручной запуск реактора, т.е. сим максимально приближенный к реальности то почему оружие у них должно быть пневматическим? :) Вообще то даже БОПСом из современной пушки попасть по цели движущейся со скоростью 60-120 км/ч довольно не просто. Так что вот, так сказать. Мда.

С наилучшими пожеланиями.

:)

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

Далее про радар и горизонт.

Горизонт с высоты кокпита "в поле или море", т.е. без гор и холмов. Должен варьироваться от 10 до 20 примерно километров. (с высоты человека это 3 км примерно). Есть формула для точных цифр но уже совсем ночь и мне немного лень её искать с инетом в 64 кбита. :)

Радар дальность которого 1 км (с высоты около 15 метров!) это извините не радар, а шутиха на 315 транзисторе от приёмника "нейва". Который может весить 5 тонн только если у него корпус из железа размером 1х1х1 метр.

Для сравнения рация системы уоки-токи берёт на 4-5 км при излучаемой мощности примерно 1 Вт. И это опять таки 20 век.

Нормальный СВЧ радар берёт как минимум до горизонта. И весит от силы килограмм 300 вместе с антеннофиддерным хозяйством и прочими приводами тарелки. Отдельная тема радары на ФАР. Которые ещё легче и на много.

Так что либо в 31 веке технари совсем разучились делать нормальные вещи, то ли я не знаю что и думать. :)

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

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

А про радар... Так ведь на дворе, по сути, средневековье - одно только название, что, мол, XXXI век. :icon_biggrin:

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

И вообще попытки всерьёз привязать научно-техническую базу вселенной БТ (выдуманной) к реальному миру по моему считаются дурным тоном. Или я не прав?

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

Не-не, подкалиберы и их подтип - БОПСы - имеют сравнительно высокие начальные скорости полёта. В том то и идея, как я уже объяснял.

"За счёт меньшей, чем у обычного снаряда, массы, дульная скорость сердечника значительно превышает таковую для иных типов снарядов (по некоторым данным, 1600 м/с против 800—1000 м/c), а небольшой диаметр сердечника гарантирует низкое сопротивление воздуха при полёте."

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

Не-не, подкалиберы и их подтип - БОПСы - имеют сравнительно высокие начальные скорости полёта. В том то и идея, как я уже объяснял.

"За счёт меньшей, чем у обычного снаряда, массы, дульная скорость сердечника значительно превышает таковую для иных типов снарядов (по некоторым данным, 1600 м/с против 800—1000 м/c), а небольшой диаметр сердечника гарантирует низкое сопротивление воздуха при полёте."

 

я про то же, что подкалиберные и т.п. (без ВВ) имеют высокую скорость. А с ВВ более низкую

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

 

800 метров в секунду это в районе хорошей PCP пневматики скорость снаряда.

Заинтересовал, хотелось бы узнать про РСР со скоростью 800. Хочу такую пневму.

В наличии матадор R3M 5.5 , скорость до 300. В наличии Велес 5.5 , скорость до 300.

 

 

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

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

Таким макаром можно оправдать тонкие и большие профили брони мехов. А так же активное использование фугасов. И, с натяжкой, даже то, что броня держит попадание вольфрамового лома на дикой скорости (гаусса), но при том пробивается кулаком другого меха.

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

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

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



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

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

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

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