Так под "ИИ" я и подразумевал как-бы систему хаков в данной игре.
Меняешь правила - и сразу другой расклад. Пусть тогда смысл в поиске наилучшего варианта в неком сценарии. А в другом сценарии(в той же игре, но с другими данными и правилами) уже будет иной лучший вариант. Получается несчётная многовариантность, а отсюда и интересность, ... типа подбор различных комбинаций.
Как насчёт такого мнения?
А оно не "как бы", оно и есть... только не система.
У хаков не может быть системы.
Именно потому что это -- хаки.
Начнем с начала.
По хорошем, если делать действительно ИИ для игры,
у него должно быть сразу же честное отделение,
он должен "видеть" в игре только ровно ТО ЖЕ самое, что и человек-игрок.
И действовать по точно ТЕМ ЖЕ правилам.
Не катит.Меняешь правила - и сразу другой расклад. Пусть тогда смысл в поиске наилучшего варианта в неком сценарии. А в другом сценарии(в той же игре, но с другими данными и правилами) уже будет иной лучший вариант. Получается несчётная многовариантность, а отсюда и интересность, ... типа подбор различных комбинаций.
Как насчёт такого мнения?
Потому что такая взимозаменяемость и многовариантность,
предполагает некоторую четкую архитектуру (см. выше).
А хаковство характерно тем,
что чем больше хачиш, тем больше старые хаки мешают, ломаются,
при попытке добавить новые.
Собственно, из-за того я и спрашивал про программиста.
Достаточно опытный программист (если его раньше не научили), уже сам начинает
чуствовать/понимать этот вот момент, про хаки...
Что правда, не все и не всегда.![]()
Но вроде в этом нет необходимости, во всяком случае в игре в Циву. ИИ станет намного сильнее любого игрока(при подобном "уравнении") , тогда и вообще никогда не выиграть будет.
Но по факту то новую игру ведь всегда доделывают и переделывают, и тогда случается что она становится значительно лучше и интереснее первоначального варианта.
весьма спорное утверждение.... тем более применительно к играм вообще...
да и по достаточно опытным программистам... я пятый год на форуме... Peter прототип сделал, до этого моды, General игры делал...
а вот ты всё это время про программистов только рассказываешь.... не в обиду будет сказано...
Ну и?
В чем спорность-то?
Имеется другой опыт?
Более широкий, богатый и убедительный?
Не в обиду ни Петеру, ни Генералу,да и по достаточно опытным программистам... я пятый год на форуме... Peter прототип сделал, до этого моды, General игры делал...
потому что не про них.
Это раз.
Прототип я тоже делал.
Это два.
А так...
Там вообще-то Цива упоминалась. И игровой ИИ, о котором ТАК любят рассуждать не-программисты.
Да мне оно не обидно, ничуть.а вот ты всё это время про программистов только рассказываешь.... не в обиду будет сказано...
Потому как misplaced point :^)
Те, кто говорят про хаки как единственный способ построить нечто играющее/выигрывающее, заблуждаются. Например, знаменитый шахматный компьютер, выйгравший у Каспарова, никого не хачил. Конечно, можно сказать, что шахматы -- игра с полной информацией, и в нее выигрывает тот, кто сможет глубже просчитать. А если просчитать нельзя, то можно только хачить. Ну, что я могу сказать в этой ситуации. Скорее всего, вы не пробовали взяться за дело с нужной стороны. Стратегические игры требуют от игрока стратегического мышления, способность учитывать множество факторов. Почему бы программе не учитывать множество факторов? Возможно, вы просто не знаете, как перевести "учитывать множество факторов" с человеческого на машинный.
Ну.
Любое утверждение можно довести до абсурда,
противопоставив его единственному факту.
Не я, не я... (хотя и я тоже).Конечно, можно сказать, что шахматы -- игра с полной информацией, и в нее выигрывает тот, кто сможет глубже просчитать. А если просчитать нельзя, то можно только хачить. Ну, что я могу сказать в этой ситуации. Скорее всего, вы не пробовали взяться за дело с нужной стороны.
Речь шла о более глобальном, о разработчиках игр вообще.
Опять же. Не я...Стратегические игры требуют от игрока стратегического мышления, способность учитывать множество факторов. Почему бы программе не учитывать множество факторов? Возможно, вы просто не знаете, как перевести "учитывать множество факторов" с человеческого на машинный.
Речь шла о разработчиках Цивы.![]()
ну так выиграл то там не ИИ или алгоритм, а железяка, которая позволила перебрать больше вариантов, чем другие железяки. там же просто набор правил для перебора комбинаций. а Aku_Aku верно говорит, я даже на этих самых шахматах проверял. у меня отец неплохо играет в шахматы, но комп на самом суровом уровне обыграть не может, т.к. рано или поздно начинает разыгрывать какой-нить дебют, что бесполезно против компа. дальше сажусь я, ничерта не зная о дебютах, сбиваю столку шаблонную игру компа, после чего в середине партии передаю руль отцу, который теперь бывало заканчивал партию победой.
В качестве тренировки по написанию КИ (компьютерного игрока, термин ИИ здесь излишен) могу предложить рассмотреть кубик Рубика. Известно, что из любого положения он собирается не более чем за 26 ходов (по другой версии 20), но имеет примерно 43 252 003 274 489 856 000 состояний. Итого решение "в лоб":
Для хранения всех состояний нужно примерно один миллиард однотерабайтных винчестеров. Они будут хранить базу данных состояние/переходы, а построение алгоритма сборки суть нахождение кратчайшего пути по этой базе. Когда база готова, эта операция тривиальна.
Тем не менее машинка собирает кубик без привлечения такого объема информации. И процессор там отнюдь не пентиум, скорее в лучшем случае ARM7. А то и Atmega. Это ведь не означает, что указанная железяка умнее человека. Это показывает, как можно решать задачи пусть не отптимально, но с реальными затратами.
А вот этот на базе Samsung Galaxy S, вообще не тратит время на обдумывание. Процик там ARM 1GHz, но есть еще графический процессор.
Ну что, будут идеи по реализации игрового интеллекта?
а в чем смысл кубика рубика ? второго игрока то там нет. думаю любой программер за несколько часов переложит известный и нехитрый алгоритм в код. для тренировки нужен противник, который каждые три движения "мешает" (делает движение)
кстати, помню в детстве был где-то конкурс на такой КИ, там было поле сколько-то на сколько-то клеток (10х10 кажется) и два противника. каждый противник делает ход закрывая 5 клеток формы Г, как конь ходит. проигрывает тот кто не сможет сделать ход. весь прикол, как я понял, кто раньше начнет просчитывать остающиеся варианты.
Я предложил тему для тренировки.
Когда человек учится водить автомобиль, он начинает не на Кутузовском проспекте, а на автодроме, где других машин нет.
Попробуйте формализовать операции с кубиком Рубика, возможно, это улучшит взаимопонимание между гейм-дизайнерами и программистами.
Могу предложить следующий алгоритм.
сначала выставляем на место угловые кубики, комбинаций там не должно быть много, либо они все просчитываются заранее, либо существует алгоритм с ветвлениями, позволяющий выставить угловые кубики, скажем, за 8 ходов.
потом простой операцией (П2Ф2)*3 попарно меняем кубики на гранях. Разумеется, перед самой этой операцией нужно подлежащие замене кубики вывести на нужные места, затем вернуть обратно.
Но так мы не уложимся в 20 поворотов.
Чтобы уложится в 20 поворотов, нужно список операций подвергнуть оптимизации. Какой именно -- без математики не обойтись.