[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 1 из 1
  • 1
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » AI (мозги врагов)
AI
VirusssДата: Понедельник, 02.11.2009, 09:37 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Вот хотел узнать пару вещей касающихся исскуственного интелекта(короче - врагов):
еси у меня куча союзников и куча врагов,мне надо чтобы враг случайно выбирал апонента среди моих союзников:

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

Кто нибудь можете плиз посоветовать лучшый способ как этот выбор осуществить?

Добавлено (02.11.2009, 09:37)
---------------------------------------------
ладно вот моя версия:имя каждого врага и союзника заносим в 2-х мерный массив,и далее просто
делаем через функцию RND()-так получится?

 
blitz3dДата: Понедельник, 02.11.2009, 09:56 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
Я бы замерял дистанцию между союзником и врагом. Если она достаточно мала и враг не занят в это время боем то сводить обеих в драку.

Плюс добавил бы к этому элемент рэндома. Т.е. ввел бы немного непредсказуемости Rnd-м так как слишком все будет предугадаемо и наиграно.

Но надо же сделать нормальный AI. Я бы поиграться с переменными и ввел бы еще проверку по углу зрения. Т.е. если нападают со спины - то не факт что воин заметит удар


перед тобой две таблетки - красная и синяя - какую ты выберешь?
 
VirusssДата: Понедельник, 02.11.2009, 11:52 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Я короче надумал сделать игру с участием крупных боев,войско на войско,и у меня возникли несколько проблем:
1)Как сделать что бы чел стрелял из арбалета(что бы снаряды летели)
2)Случайный выбор - это я решил
3)боевая система,но об этом я поже рассскажу
4)мне надо что бы как то не прописывать все для всех обьектов,можно ли их в типы обьеденить или что то вроде того?

ну и еще пара мелких....

 
blitz3dДата: Понедельник, 02.11.2009, 12:27 | Сообщение # 4
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
Для стрел из арбалета советую ввести тип объекта - "стрела". Тогда не надо будет с ней возиться.

Достаточно будет создать стрелу и задать ей условия полета.

Code
CreateStrela(X,Y,Z,sX,sY,sZ,massa,dalnost)

Цикл будет проверять колизию стрелы с воином.

Code
Function Update_strela()

       For str.strela=Each strela

    Next
         
End Function

Если колизия возникает, воин падает, а стрела уничтожается


перед тобой две таблетки - красная и синяя - какую ты выберешь?
 
VirusssДата: Понедельник, 02.11.2009, 13:24 | Сообщение # 5
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
Quote (blitz3d)
CreateStrela(X,Y,Z,sX,sY,sZ,massa,dalnost)

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

Добавлено (02.11.2009, 13:24)
---------------------------------------------
ладно - это я понял - мы создаем в координате орбалета,меня интерисует можно ли например условие написать не для кадого обьекта,а для всех сразу но одного типа?

там еси "жизнь"=0 то ........-тут написать не обьект а название типа или что то такое....
Короче - как это сделать?

 
blitz3dДата: Понедельник, 02.11.2009, 13:48 | Сообщение # 6
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
создать два одинаковых типа, но для разных видов стрел

Quote (Virusss)
ладно - это я понял - мы создаем в координате орбалета,меня интерисует можно ли например условие написать не для кадого обьекта,а для всех сразу но одного типа?

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

В типах нужно создавать и воинов


перед тобой две таблетки - красная и синяя - какую ты выберешь?
 
VirusssДата: Понедельник, 02.11.2009, 19:44 | Сообщение # 7
Подполковник
Группа: Пользователи
Сообщений: 412
Награды: 2
Репутация: 5
Статус: Offline
А в одном типе можно создавать подтипы?Например в типе "враги" - подтипы "рыцарь" и "мечник"?
 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » AI (мозги врагов)
  • Страница 1 из 1
  • 1
Поиск: