forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Избежание погрешностей (AI) (http://forum.boolean.name/showthread.php?t=3814)

Fant 04.07.2007 12:51

Re: Избежание погрешностей (AI)
 
Мы тут так много наобсуждали)

Может попорядку?

У меня есть массив, опираясь на который, я проверяю, можно ли туда пойти или нельзя

Есть ИИ, и что бы он корректно останавливался у стенки, было небходимо ввести таймер!

В результате у меня появились погрешности (или не из-за таймера)...и вот я прошу посоветовать\помочь мне...как же все-таик этих погрешностй избежать?

moka 04.07.2007 13:32

Re: Избежание погрешностей (AI)
 
Не используй таймер, а делай так:
Двигаешь объект, и проверяешь координаты, если он на перекрёстке (сколько у тебя там квартал не знаю), то проверять на наличие стен и изменяй направление\двигай дальше.
Тоесть не таймер используй а условие если координаты бота, совпадают с координатами перекрёстка (погрешности с координатами учитывай, т.к. они Везде!)

Fant 04.07.2007 14:22

Re: Избежание погрешностей (AI)
 
Цитата:

Сообщение от MoKa
Не используй таймер, а делай так:
Двигаешь объект, и проверяешь координаты, если он на перекрёстке (сколько у тебя там квартал не знаю), то проверять на наличие стен и изменяй направление\двигай дальше.
Тоесть не таймер используй а условие если координаты бота, совпадают с координатами перекрёстка (погрешности с координатами учитывай, т.к. они Везде!)

А как я проверю, стоит ли бот на перекрестке? Пусть 1 проход=10 блиц клеток

moka 04.07.2007 14:45

Re: Избежание погрешностей (AI)
 
If abs(EntityX(Bot)-PoloskaX)<.1
EndIf

Fant 04.07.2007 14:53

Re: Избежание погрешностей (AI)
 
Цитата:

Сообщение от MoKa
If abs(EntityX(Bot)-PoloskaX)<.1
EndIf

-PoloskaX - это что за переменная?

У меня есть средтсва:
en1\Understand_f=1 или 0
en1\Understand_b=1 или 0
en1\Understand_l=1 или 0
en1\Understand_r=1 или 0

Проверяют есть ли препядствие и с какой оно стороны

HolyDel 04.07.2007 20:25

Re: Избежание погрешностей (AI)
 
одна еденица - один метр.
будет z-buffer баловаться - camerarange() настрой.

Fant 09.07.2007 08:50

Re: Избежание погрешностей (AI)
 
Цитата:

Сообщение от HolyDel
одна еденица - один метр.
будет z-buffer баловаться - camerarange() настрой.

с что это за буфер и почему но будет ругаться? И самое главное, при чем тут camera range.?

HolyDel 09.07.2007 11:15

Re: Избежание погрешностей (AI)
 
ето насчет масштаба.
насчет погрешностей, они тебе действительно мешают? игра плохо работает или тока текст ненравица?
для сравнения вещественных чисел используй свою ф-ию, например:
Код:

Function eq(a#,b#,e#=0.001)
        If Abs(a-b)<e Then Return 1 Else Return 0
End Function


Fant 09.07.2007 15:27

Re: Избежание погрешностей (AI)
 
Цитата:

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

Function eq(a#,b#,e#=0.001)
 If Abs(a-b)<e Then Return 1 Else Return 0
End Function


ну...как сказать...это мне для ии нужно. Ведь если они будут час путешествовать по карте, то погрешность будет со временем все больше. Я бы хотел, что бы мой объект, используя таймер путешествовал без погрешностей! У меня игрок без погрешности, хотя с таймером. Я ии почти так же сделал и сейчас у меня погрешность в .006а то и меньше. Но это при проходе двух или трех клеток. Я пока больше не проверял. Но думаю, что погрешность увеличится.

HolyDel 09.07.2007 15:33

Re: Избежание погрешностей (AI)
 
не думаю что погрешность увеличится. она будет скакать туда сюда но примерно в етом диапазоне.

Fant 11.07.2007 11:41

Re: Избежание погрешностей (AI)
 
что-то у меня так не заладилось! Может есть другой способ? Например у меня есть массив, по которому движутся ии. Но дело в том, что когда он проверяет свободно ли впереди, то останавливается на полпути из-за округления..вообщем блин!. На первый взгляд казалось, что все так просто, а теперь почему-то проблемы

moka 11.07.2007 12:09

Re: Избежание погрешностей (AI)
 
Попробуй в корне пересмотреть алгоритм, и написать Заного новый, заместо того. Всё приходит с эксперементами.

Fant 11.07.2007 13:02

Re: Избежание погрешностей (AI)
 
Цитата:

Сообщение от MoKa
Попробуй в корне пересмотреть алгоритм, и написать Заного новый, заместо того. Всё приходит с эксперементами.

я пересмотрел сложнейший алгоритм а=а+1 скорость =.1 двигаю пока а<=10 и все-равно неточно. Я уже думаю может это глюк блиц? Если скорость ии 1, то проблем, кстати нет. А если не глюк, то что же делать? Я бы хотел, что бы ии останавливался ровно перед кубиком а не за .0
2 до него

moka 11.07.2007 13:10

Re: Избежание погрешностей (AI)
 
Уже же говорили и в этой теме, и на форуме отдельно обсуждали: Это Глюк Блица! :)

Fant 11.07.2007 16:41

Re: Избежание погрешностей (AI)
 
Цитата:

Сообщение от MoKa
Уже же говорили и в этой теме, и на форуме отдельно обсуждали: Это Глюк Блица! :)

клево! И что мне теперь делать? Как же мне теперь это дело организовать?


Часовой пояс GMT +4, время: 04:08.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot