Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 16.04.2008, 16:58   #1
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Бот-самолёт

Ктото уже делал леталку?
Если да то прошу помочь мне.
Необходимо научить бота уворачиваться от столкновения со мной, и с другими ботами.
Как это лучше делать?
Может быть у вас есть пример?
----------------------------------------
Те способы уворота которые реализовывал я, меня не устраивают.
-----------------------------------------
Да и как боту лучше вести преследование меня?
Я просто поворачиваю бота на себя.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 16.04.2008, 17:19   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Бот-самолёт

я делал сетевую леталку. уворачивания не делал, ибо ето нафиг мне не упало.
(Offline)
 
Ответить с цитированием
Старый 16.04.2008, 18:10   #3
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Бот-самолёт

Без уворачивания ведь враг со мной столкнётся!
И друг с другом будут сталкиваться...
Я пытался использовать турнентити, и танслатеентити, если я на
определённом расстоянии попадаю в угол обзора бота.
Но какието фуфловые увороты получаются...

Кстати исходнячка не осталось? Яб не против посмотреть.
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 16.04.2008, 18:19   #4
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Бот-самолёт

неа. гдето на форуме был, ищи Flyer.
фактически фраг бот должен определять углы между целью, если сумма квадратов углов становится меньше какого то определеного значения то надо сворачивать в сторону, противоположную углу. можеш ввести состояние "сворачиваемости".
(Offline)
 
Ответить с цитированием
Старый 16.04.2008, 18:54   #5
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Бот-самолёт

Ну у меня вот так:

If useru=2
If EntityDistance(a\entity,User)<140 And Userspeed#>0 And Abs(dx#)<20 And stopbot#=0 Then
TranslateEntity a\entity,0,+speed1#,0
v#=0.7
End If
End If

Исходняк твой посмотрел, жаль не пригодится...
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube

Последний раз редактировалось Crystal, 16.04.2008 в 19:03.
(Offline)
 
Ответить с цитированием
Старый 16.04.2008, 23:02   #6
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Бот-самолёт

Мож кто хоть теорией поведения летающего бота поделится?
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 17.04.2008, 11:41   #7
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Бот-самолёт

function SmotritelZaBotom(bot,ent)
return DeltaYaw(bot,ent)*DeltaYaw(bot,ent) + DeltaPitch(bot,ent)*DeltaPitch(bot,ent)
end function

...
for b.bot=each bot
if SmotritelZoBotom(b\ent,player)<30 then юла-юла-юла
next
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blitzerg (17.04.2008)
Старый 17.04.2008, 15:40   #8
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Бот-самолёт

в аттаче отрывок какой то статьи на тему самолетов, там вроде объясняется как нужно делать ИИ бота, но вот жаль статья не полная
Вложения
Тип файла: doc Глава 18.doc (179.5 Кб, 605 просмотров)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо H@NON за это полезное сообщение:
Blitzerg (17.04.2008), EvilChaotic (24.04.2008)
Старый 17.04.2008, 18:15   #9
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Ответ: Бот-самолёт

return DeltaYaw(bot,ent)*DeltaYaw(bot,ent) + DeltaPitch(bot,ent)*DeltaPitch(bot,ent)
Пардон я чтото не понял, зачем тут идёт это умножение и сложение?
Я угол так просто проверяю:
dx#=DeltaPitch(a\entity,User)
dy#=DeltaYaw(a\entity,User)
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием
Старый 17.04.2008, 18:37   #10
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Бот-самолёт

нам жэ нужно узнать попал ли объектв конус перед ботом? или в пирамиду? если в конус- то мы должны вычеслить сумму квадратов по каждой оси.
(Offline)
 
Ответить с цитированием
Старый 17.04.2008, 23:44   #11
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: Бот-самолёт

А что именно нужно, способность бота правдоподобно реагировать на цель или уходить от столкновений?
Я сам дольше всего продолбался именно с первым, и кое-как отшлифовал, работает так что если цель находится за полем зрения или сзади, делаем хаотичный маневр, походу проверяем не попал ли таргет в поле зрения. Как только таргет примерно впереди - следуем прицелом за ним и стреляем с припуском в надцать градусов. таким образом боты перестают крутиться вокру друг-друга и в то е время не летают прямо если ты сзади.. Функцию постить не буду, потому как там завязка на треть всего кода.
А по поводу второго у меня работала ф-ция, боты либо облетали либо останавливались перед друг-другом. Но возможно я ее редактировал, так что не гарантирую работоспособность, вобщем просто пример:
Function Scan(ou,tu);+
    u.Unit=Object.Unit(EntityName(ou))
    d=20;+u\mass Shr 1;*.5
    
    Touch1= EntityPick (u\scan,d);:RotateEntity u\scan,0,0,0
    If tu And u\speed#>1 PointEntity u\scan,tu:Touch2= EntityPick (u\scan,d)
    If (Touch1 Or Touch2)  Then
        RotateEntity u\scan,-15,0,0,0
        ;если ПОМЕХА ВВЕРХУ тогда поворачиваем сканер ВНИЗ на 15
        If EntityPick(u\scan,d) Then
            RotateEntity u\scan,15,0,0,0
            ;если ПОМЕХА ВНИЗУ тогда поворачиваем сканер ВВЕРХ-ВЛЕВО на 15-15
            If EntityPick(u\scan,d) Then
                RotateEntity u\scan,-15,-15,0,0
                ;если ПОМЕХА ВВЕРХ-ВЛЕВО тогда поворачиваем сканер ВНИЗ-ВПРАВО на 15-15
                If EntityPick(u\scan,d) Then
                    RotateEntity u\scan,15,15,0,0
                    ;если ПОМЕХА ВЕЗДЕ тогда ОСТАНАВЛИВАЕМ ДВИГАТЕЛЬ
                    If EntityPick(u\scan,d) Then
                        RotateEntity u\scan,0,0,0,0
                        i = 5
                    Else
                        RotateEntity u\scan,0,0,0,0
                        i = 4
                    EndIf
                Else
                    RotateEntity u\scan,0,0,0,0
                    i = 3
                EndIf
            Else
                RotateEntity u\scan,0,0,0,0
                i = 2
            EndIf
        Else
            RotateEntity u\scan,0,0,0,0
            i = 1
        EndIf
        i = 1
    Else
        RotateEntity u\scan,0,0,0,0
        i = 0
    EndIf
    Return i
    
;    u.Unit_humans=Object.Unit_humans(EntityName(t))
;    If  (u\state=9) Then Return 1 Else Return 2
End Function
непомню что я там с ней делал, но вобсчем принцип понятен. Скан это хайднутый пивот внутри корабля
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Blitzerg (18.04.2008)
Старый 19.04.2008, 18:59   #12
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Ответ: Бот-самолёт

Сообщение от H@NON Посмотреть сообщение
в аттаче отрывок какой то статьи на тему самолетов, там вроде объясняется как нужно делать ИИ бота, но вот жаль статья не полная
Попробуй найти все части.
(Offline)
 
Ответить с цитированием
Старый 19.04.2008, 22:13   #13
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Бот-самолёт

Сообщение от Bagration Посмотреть сообщение
Попробуй найти все части.
Еслиб еще хоть что нить знать об том что ты ищешь, тогда бы можно было попытаться, а так гиблое дело...
(Offline)
 
Ответить с цитированием
Старый 20.04.2008, 17:01   #14
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Бот-самолёт

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

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

Конкретизируй проблему.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (28.04.2008)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется опознать модель самолёта по скриншоту ABTOMAT Болтовня 7 20.09.2007 12:32
Вывод русского текста в самой игре GomZik Blitz3D 6 24.08.2007 22:36


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com