IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> atanks, atomic tanks, AI
сообщение
Сообщение #1


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Добрый день!
Решил вот написать игру по типу atomic tanks(я в неё ещё под ДОСом играл, а тут нашел под линух и убил много времени)).
Но возникли проблемы с определением куда будут стрелять танки, которые находятся под управлением компа.. Где бы можно было почитать про создание подобных "интиллектов"? а то смотреть чужие исходники очень тяжело, да и не нужен мне супер-пупер алгоритм...

для тех кто не знает игры
скрин: Прикрепленное изображение
скачать можно тут

заранее благодарен.


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


а какие могут быть варианты? у каждого уровня сложности ставишь свою погрешность, и стреляешь по оптимальной траектории, смещенной на случайную величину с дисперсией, равной погрешности.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(Michael_Rybak @ 7.03.2008 21:08) *
а какие могут быть варианты? у каждого уровня сложности ставишь свою погрешность, и стреляешь по оптимальной траектории, смещенной на случайную величину с дисперсией, равной погрешности.
хм.. А как поступать когда вариантов выстрела с прямым попаданием несколько(напрямую и скажем с рикошетом от стенки)? И как получить это оптимальную траекторию?
update
и как выбрать по какому танку стрелять?

одни вопросы?)

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 618
Пол: Мужской

Репутация: -  24  +


Можно например сделать так:
Каждый выстрел задается несколькими значениями (направление, тип оружия, сила выстрела... точно не помню)
Можно сгенерировать набор выстрелов случайно, расчитать их и выбрать лучший по результату. Чтобы компьютер играл сильнее можно генерировать больше вариантов smile.gif.


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(Archon @ 9.03.2008 12:08) *
Каждый выстрел задается несколькими значениями (направление, тип оружия, сила выстрела... точно не помню)
да, в оригинальной версии задаются эти три параметра..
Цитата(Archon @ 9.03.2008 12:08) *
Можно сгенерировать набор выстрелов случайно

Как? Если их бесчисленное множество.. можно делать упор на силу а можно на угол, можно стрелять напрямую а можно рикошетом от стенки...
Цитата(Archon @ 9.03.2008 12:08) *
, расчитать их и выбрать лучший по результату.
как выбрать лучшего среди бесконечности?)

да и еще надо выбрать по кому стрелят...

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 618
Пол: Мужской

Репутация: -  24  +


smile.gif

Ну... Я же не предлагаю рассматривать ВСЕ возможные случаи. Скажем придумали мы 100 совершенно случайных выстрелов. Какой шанс, что хоть один из них окажется удачным? Думаю, достаточно большой. Вот и находим лучший из этих 100. Если нет ни одного попадания, ничего страшного, ведь компьютер тоже промахиваться должен, просто выбираем тот, который ближе к врагу.

Можно развить идею. Например производим случайные выстрелы, пока один не попадет достаточно близко к какому-нибудь противнику. Затем проводим корректировку параметров, просто немного Увеличив/уменьшив параметры случайным образом.

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


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


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

пойду читать теорию(мат часть+ физ часть)


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


При наличии нескольких равнозначных вариантов выбор между ними осуществляется одним из следующих способов:
1. Датчиком случайных чисел.
2. Приоритетным выбором.
3. Берется первый попавшийся (не в смысле "произвольный", а именно в смысле "первый из найденных").
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 25.11.2020 1:05
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name