Показать сообщение отдельно
Старый 18.07.2008, 17:19   #37
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: помогите новичку с b3d

HolyDel, здесь преведён реалтайм или хотябы переодический (~100ms), алгоритм.
На самом деле работает отменно..
Почему этот алгоритм можно сделать и переодическим с непостоянством. Т.к. к примеру противник увидел персонажа и побежит к нему, к примеру если от последней точки противник скрился за углом и бот уже не видет его, тогда он либо продолжит двигатся дальше либо переключится.
ИМХО, но этот алгоритм никак не подходит под статичные просчёты, его нужно переприщитывать в зависимости от позиции объекта и цели.
Кстати, возможен даже и частичная динамика статики на уровне, поясню, к примеру есть перемещающийся объект, предположим машина, его нужно оббегать, так вот т.к. он динамичен, при расчёте пути, точкам которые прилигают к этому динамичному объекту приваивается флаг, и запоминаются одна точка до начала этого отрезка, и после. Таким образом при изменениях позиции объекта и когда бот уже близко, пересчитываем путь на этом участке, заного помечая динамику. Также нужно проверять и статический путь, на то что может где-то внедрился динамичный объект..

У меня ещё была идея сделать симулятор поиска пути, когда бот изначально не знает уровня, и изучает его. Также сделать звук и проникновения его через объекты, и огиб его углами. К примеру он услышал стук, но это было за углом, таким образом по сути он его не услышит, отрезок между ним и источником звука пересекается с уровнем, но радиус звука будет достаточно велик. И если бот в радиусе но за стеной, то запускаем поиск пути, до тех пор, пока длина пути немножко уменьшеная в зависимости от колличества поворотов пути, или путь не достигнет бота. Если достиг и немножко сокращённая длина меньше радиуса, тогда бот услышал.
Также звук может дать мало, если бот не встречал этого сектора. Я хотел разбивать плоскость на участочки, но сделать это корректно и автономно пока идей не имею, но что-то назревает. Бот переходя в помещение, всё что видит в радиусе и не за стенкой, тот участок помечается как изученным, поэтому алгоритм поиска пути не будет блокироватся этим участком.
Также режим перемещения в режиме изучения, когда бот будет перемещатся по уровню с целью иследовать эти области.
В общем такие вот мысли, незнаю зачем, но такой ИИ в области перемещения весьма помоему хорош
(Offline)
 
Ответить с цитированием