Krstn, твои познания впечатляют; ты историей, что ли, увлекаешься?
Krstn
> Для НПС хватит и 4-5.
И как ты их объяснишь? Он придумает другие фокусы которые будут совершенно непредсказуемыми но не нарушать их формально. У машины нет здравого смысла, ИИ понимает только букву закона, не дух. Например при появлении ГГ всё население начнёт резко эмигрировать на противоположный конец мировой карты. У крестьян и бандитов окажется интерес "не связываться" куда большим чем взаимная вражда. Или бандиты после пары квестов могут всё понять, перестать быть бандитами и начать жить мирно. Это в их шкурных интересах. Или ещё что нибудь, вы не можете предсказать.
Virtex
> NPC кроме использования логики, должны еще уметь самообучаться и обобщать
> отдельные наблюдаемые факты в закономерности. Это было бы вообще круто, да. :)
А в этом и нет сложности:)
Еще в далеких 60-ых (если не раньше) была придумана бумажная версия обучающего "робота"
(без компьютера можно создать из спичечных коробков и с большим количеством разноцветных пуговиц или шариками).
Хоть в крестики нолики, хоть что посерьезнее можно играть (больше емкостей тогда нужно приготовить и предметов символизирующих процесс обучения - ходов и логику).
[ Кстати, самозванец по этому роботу попал на страницы журнала "Игромания". Минимум он не указал источник публикации. ]
Система элементарная, но на этой основе можно и создавать поведение персонажей в компьютерных мирах.
Только сильнее развить.
А по сути - так и программируют же использование приоритетной логики НПС или в стратегиях.
/Если обобщая и упрощая мысль.
Krstn
> Как раз к тому времени изобрели стрелы с узким как игла наконечником, которые
> проходили сквозь кольчугу.
Ты это зря написал. Вызовешь гнев специалистов же, про пробивание кольчуги из-за иглы:)
Krstn
> Вообще быть крестьянином в средневековье было не так уж плохо. Но это всё
> отступление - по существу же самого вопроса напишу позже в следующем посте.
Вот вот. может и сам придешь к выводу, что на базе чего-то создается поведение, а не самостоятельная жизнь.
Ты же сам описываешь уже с х е м у
вы не можете предсказать.
Разве?
zlos
> Безумно много. ИИ не ограничен ничем, у него нет человеческого "здравого
> смысла" и он не устаёт. Он может такие фокусы придумывать что вам и не снилось.
Верю. :) В Dwarf Fortress случаются интересные события такого рода, на Лурке можно примеры почитать. Например, как из-за одного опечаленного дварфа может погибнуть весь гарнизон крепости.
Хотя настоящим любителям песочниц нахождение таких "ситуационных багов" даже доставляет удовольствие - ведь эти "баги" в рамках игровой вселенной органичны и поэтому как бы даже и не баги совсем, а что-то вроде лайфхаков. :) Но патчи потом их фиксят. :)
> Насколько я помню самообучающийся нормальный ИИ был в одной стратегии в начале
> 2000-х и он был очень злым, практически моментально находил противодействие
> фокусам игрока. Это при том что он работал на очень слабом железе тех времён.
> Может найду название. Любой нормальный ИИ - мгновенный проигрыш человека без
> шансов.
Думаю, ИИ хорошо выигрывает в играх, где мало юнитов, вариантов их действий, нет "тумана войны" и есть большая детерминированность каждого действия (т.е. когда делаешь ход с одной "клетки" на другую, то юнит гарантированно дойдет). Потому что тогда мощности железа позволяют делать глубокий перебор и всё потом идет как и задумано. Пример такой игры - шахматы. В более же сложных играх победит человек за счет интуиции и абстрактного мышления.
А вообще, конечно, надо дать игроку возможность выбирать уровень сложности игры.
D-Prince
> > NPC кроме использования логики, должны еще уметь самообучаться и обобщать
> > отдельные наблюдаемые факты в закономерности. Это было бы вообще круто, да.
> А в этом и нет сложности:)
> Еще в далеких 60-ых (если не раньше) была придумана бумажная версия обучающего
> "робота" > (без компьютера можно создать из спичечных коробков и с большим количеством
> разноцветных пуговиц или шариками).
Слышал про этого робота. :)
Жаль, что в сложных играх всё упрется в ресурсы железа.
Яльг
> Разве?
Ага. Сейчас и так практически невозможно полностью просчитать поведение обычный компьютерной программы без всяких ИИ-заскоков.
я гдето на этом форуме начинал темку про разработку ИИ на основе нейронных сетей - но потом както забыл и забил, не было не времени, ни возможностей сесть и обдумать процесс обучения таких "ботов"
идея была такова: есть возможные действия, есть нейронная сеть, которая получает данные от окружающего мира, и выводит вероятность совершения каждого поступка
далее можно еще кинуть "кубики", но я тогда просто включал действие с наибольшей вероятностью
сложность была такая:
как обучить такую нейронную сеть в принципе? - человек учится всю жизнь, а тут нужно это сделать быстро.
ну и у меня появилась тогда идея сделать возможность обучения одной нейронной сетью другие сети и запилить "эталон"ную сеть вручную, тогда бы были в меру быстрое создания нпц, + редактируя обучения можно было бы создавать акценты на возможных действиях
в итоге, если всё получается успешно, мы получаем систему, которая способна рассуждать постольку-поскольку является мозгом сама по себе, пусть даже ее рассуждения мы не сможем отдебажить и проверить
к сожалению, я не смог/не успел/обленился это реализовать и поэтому проверить тоже )
Надо стремиться сделать всё как можно проще. мир можно поделить на локации, ИИ будут обладать только НПС на той локации где находится ГГ,
на остальных локациях НПС рандом определяет себе задачу, через какоето время рандом определяется достигнута цель или не достигнута,при этом
НПС дается опыт который распеделяется рандом.Опыт может быть отрицательным,цель может находится в другой локации.
Например богатый купец может стать еще богаче ,а может и стать голодранцем,так же может помереть,рыцарь может превратиться в непобедимого батыра
или калеку или в труп.Количество опыта зависит от сложности задачи , сложные задачи выпадают редко.НПС имеют уровни и классы ,уровень нпс как увеличиваться так и уменьшатся при изменении уровня нпс может переходить из одного класса в другой.
НАПРИМЕР
уровень класс
1 нищий
2 разбойник
2 батрак
2 подмастерье
2 рядовой
3 кулак
3 ремесленик
3 наёмник
3 торговец
3 сержант
4 купец
4 офицер
и так далее
Количество НПС в каждой локации ограничено
могут появлятся новые НПС (вместо трупов) но кол-во НПС в игре ограничено
zlos
Наверное я мутант, потому что когда я достаточно долго играю в какую-то игру я вполне себе могу предсказать события на некоторое время вперед.
а в LOL я вообще предсказываю поведение людей на 5 минут вперед, без проблем. Заметь! Людей!!!
Яльг
Речь про поведение программ изнутри. По моему единственная полностью доказанная программа это TeX.
zlos
Ну так разработчик долго просидевший над своей программой так же будет знать что она может сделать в той или иной ситуации.
Думаю стоит сойтись на мнение о том, что ... тут перефразируем Оккама "все что можно упростить, надо упросить". Тут я согласен с предыдущим оратором, что всё, что в иных квадратах пусть расчитывается по упрощенной системе условия + рандом + параметры НПС=результат. Цель - эмуляция игрового мира для игрока. Пусть он вернется к дровосеку через неделю и увидет больше срубленных деревьев в лесу. Для этого не надо полностью просчитывать каждый взмах топора. Зато результат будет. И в самом деле это будет частичкой того ощущения - "мир живой".
Сейчас изучаю упомянутую Europe 1400. Позже попробую обобщить ваши высказывания - написать короткое резюме и сделать какие-нибудь выводы.
По по-поводу истории - не так что бы очень уж увлекался, то есть книгу Питера Н Джоунса "Металлография и относительная эффективность наконечников и защитных доспехов в средние века" я не штудировал, но кое что знаю. Поэтому "специалистов" - отшить смогу)))
Альберт Эйнштейн переформулировал принцип «Бритвы Оккама» следующим образом: «Всё следует упрощать до тех пор, пока это возможно, но не более того».
Яльг
> Ну так разработчик долго просидевший над своей программой так же будет знать
> что она может сделать в той или иной ситуации.
Нет, это совершенно не так.
поддерживаю, иногда программы творят ТАКОЕ...
в целом можно предполагать в каких пределах может действовать ИИ, а что конкретно он будет делать... могут же быть ситуации о которых при разработке не думали? вот там ИИ и отжигает.
Тема в архиве.