Просмотр полной версии : ИИ в играх
как написать искуственный интеллект для врага в игре.
хотя бы ряд простых действий: передвижение, собирание, оружие бонусов, охота на игрока.
чтоб враг мог оценить ситуацию и по ней действовать.
напасть или убежать.
взять бонус\оружие или нет.
стрелять или нет.
сложноли сделать такое.
есть ли какие-нибудь примеры, статьи, посвященные созданию ии на as.
Заранее спасибо.
KidsKilla
16.10.2005, 20:12
1) http://www.yandex.ru/yandsearch?rpt=rad&text=%E8%F1%EA%F3%F1%F1%F2%E2%E5%ED%ED%FB%E9+%E8%ED%F2%E5%EB%EB%E5%EA%F2
2) http://www.google.com/search?ie=UTF-8&hl=ru&q=%D0%B8%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%B8%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82
3) http://gameai.com/
4) http://www.codenet.ru/progr/alg/ai.php
плохой вопрос
плохой ответ.
scourge ' kangaroo
18.10.2005, 18:35
Мне кажется, что конкретного ответа на твой вопрос и не дать...
имхо: Для каждой игры ии разрабатывается отдельно...
А вобще я обычно сначала состовляю алгоритм на бумаге:
т.е., например, если у игрока 100hp то ии ведёт себя так, если не сто, то по другому...
Вобщем нужно какследует подумать логически...
вообще... бредовый вопрос :))) пока искуственного интеллекта не существует :) просто есть очень сложные алгоритмы.. так же и в играх нужно использовать алгортимы просто немного проще.. хотя можно подключить к компьютеру нейронную сеть и наладить с ней связь пцтём local connection :) будет уже более правдноподобный искуственный интеллект :)))
как написать искуственный интеллект для врага в игре.
хотя бы ряд простых действий: передвижение, собирание, оружие бонусов, охота на игрока.
чтоб враг мог оценить ситуацию и по ней действовать.
напасть или убежать.
взять бонус\оружие или нет.
стрелять или нет.
сложноли сделать такое.
есть ли какие-нибудь примеры, статьи, посвященные созданию ии на as.
Заранее спасибо.
волновой алгоритм с некоторыми модами поможет тебе...
Есть еще ряд интересных алгоритмов, помимо волнового, которые применимы в играх. Например, алгоритм А*, алгоритмы Дейкстры, Флойда, Прима. Последние три я, помнится, реализовывал год назад, применимо к графам. Да, вот они http://shaman.paneuromedia.com/flash/programming/graphanalyzer/
ИИ сотсоит из нескольких алгоритмов, почитай книги известных авторов, там и алгоритм поиска есть, который может тебе пригодиться и т.д., вообщем точного ответа как его сделать нет, есть только твой мозг, с помощью него и делай!
ИИ сотсоит из нескольких алгоритмов, почитай книги известных авторов, там и алгоритм поиска есть, который может тебе пригодиться и т.д., вообщем точного ответа как его сделать нет, есть только твой мозг, с помощью него и делай!
а каких именно авторов?
a kde o volnovom algoritme pochitatj?
A vot para linkov na samyje luchshije tutorialy pro AI v osnovnom o A* kotoryje ja nashel v knige Flash MX Game Design Demystifies ot Joba Makara:
- http://www.gamasutra.com/features/19970801/pathfinding.htm samyj luchshij AI tutorial na nete - nado bezplatno zaregistrirovatsja - k tutorialu prilozhen coool source v katorom mozhno zamedleno prosmatret kak rabotajet boljshe 10 raznych algoritmov po poisku puti
- http://theory.stanford.edu/~amitp/gameprog.html - super sajt o programirovanii igr i algoritme A* - jestj Flash source...
- http://www.geocities.com/jheyesjones/astar.html - jesche odin A* tutorial
- http://www.gameai.com - ochenj plochoj design no neplochoj content, stranichka o vsevozmozhnom AI v igrach
я бы просто понаблюдал за ходом своих мыслей во время игры и сформировал соответствующий алгоритм для ИИ
получается для реализации ИИ нужно использовать простой if и random ?
Я тут делаю игру, ну типа летаешь на космическом корабле и бьешь врагов. и
как раз дошел до стадии AI... Пока враг только проверяет, насколько ему надо
повернуться к игроку и летит к нему. Вот исправлю глюки и сделяю, чтоб он
стрелял.
Кстати, знает кто-нибудь, как сделать нормально такой код: враг определил,
сколько должен состоять поворот в градусах и нужно определить, в какую
сторону ему нужно поворачиваться по 10 градусов... А то он у меня иногда
поворачивается рывками и зависает.
ребята я не жадный, узайте на здоровье!
_http://www.andre-michelle.com - тут еще много чего!
Я сейчас реализую редактор графов с поиском кратчайших путей, по матрице смежности, и у меня возникла проблема с алгоритмами Дейкстры и А*. Нормальных псевдокодов в сети не встречал. Если у кого есть готовые проекты, желательно в Delphi скиньте пожалуйста!
bigpapapump@yandex.ru
имхо, ии писать легче всего (разве что, для шахмат сложнова-то)... а так просто пишешь набор условий и всего делов... почаще юзаешь команду if, другими словами. Ну например надо тебе, чтоб какой-нибудь танк (или что там за враги) добрался до ближайшей аптечки и скушал ее: делаешь двойной цикл, высчитываешь гипатинузы от каждого танка к каждой аптечке и, соотв-но, назначаешь аптечку до которой самое маленькое расстояние целью. ну и где-то у тебя там в скрипте прописанно, чтоб танк двигался к i-ой аптечке... это все конечно - примитив, но вот из таких примитивов ИИ и состоит. Штук 20 таких алгоритмов дают видимость умного компа
Samodelkin
16.05.2006, 16:53
Мало того что все путают понятия ИИ и ИР, так еще и ИИ-ом называют всё что можно и нельзя.
нет никакого ИР, как и нет никакого ИИ. Есть только набор условий. Чем он больше, тем выше видимость ИИ. Компьютер, который высчитывал 100 млн комбинаций в секунду - проиграл Каспарову, а который 200 - выиграл.
Бармалей
16.05.2006, 17:19
нет никакого ИР, как и нет никакого ИИ
Насколько я знаю ИИ - это термин, который очень часто употребляется профессиональными разработчиками игр. Или ты можешь придумать более точную и короткую формулировку?
нет никакого ИР, как и нет никакого ИИ. Есть только набор условий. Чем он больше, тем выше видимость ИИ. Компьютер, который высчитывал 100 млн комбинаций в секунду - проиграл Каспарову, а который 200 - выиграл.А сколько в секунду комбинаций высчитывал Каспаров? Может быть он порастратился в первом поединке, и во втором уже не стал высчитывать с такой скоростью и расслабился.:mosking:
Samodelkin
16.05.2006, 17:42
Называть сложный алгоритм ИИ неверно, есть самообучающиеся программы, есть нейронные,семантические сети, и т.п все это в той или в иной степени ИИ. Есть и более яркие примеры применения ИИ чем игры, это тот-же Abbyy FineReader.
У всех он есть а сказать что это никто не может...
имхо, ии писать легче всего ... а так просто пишешь набор условий и всего делов... почаще юзаешь команду if, другими словами.
У меня вот какой вопрос. Ведь алгоритм Дейкстры ищет кратчайшие пути
между одной и всеми остальными вершинами и записывает пройденные вершины в массив. В итоге в этом массиве находится масса лишних вершин, т. к. мне нужно кратчайшее растояние между двумя вершинами.
Помоему выход - создание дерева кратчайших путей, но это как-то сложно. Если кто нибудь реализовывал алгоритм Дейкстры подскажите выход из ситуации!
Бармалей
17.05.2006, 16:42
Называть сложный алгоритм ИИ неверно, есть самообучающиеся программы, есть нейронные,семантические сети, и т.п все это в той или в иной степени ИИ. Есть и более яркие примеры применения ИИ чем игры, это тот-же Abbyy FineReader.
Может и неверно так называть, но термин уже сильно прижился. По крайней мере в игровой индустрии.
Например, правильным значением слова "пользователь" вообще является "врач", но мы подразумеваем под ним совсем другое.
[G@ng$t@]Un1t
17.05.2006, 22:27
Если делать хороший ИИ то без волнового алгоритма и других алгоритмов не обойтись. Ну если ваша игра типа KILL'EM All где враги просто должны идти под прицел то там уже можно(даже нужно) без них. Но и там, и там надо хорошенько подумать головой.
да, поиск кратчайшего пути - не самая легкая задачка. Поищи литературу про "Теорию графов". там их много способов, я уж сейчас всех не помню... поиск в ширину, в глубину(рекурсивный) и т.д. Если для таких игр, как Герои - то любой подойдет, а если, к примеру, риалтайм стратежка, где две сотни танков постоянно должны искать кратчайший путь к движущейся цели, находящейся на другом конце гигантской карты с кучей препятствий, то будет жутко лагать и надо обходными путями идти.
А кстати, никто не может в двух словах алгоритм шахмат объяснить. Я прям нутром чую, что он в десять строчек умещается, но придумать как-то не получается:))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.