Вопрос не забавный, а самый что ни на есть актуальный: именно потому я и призываю делать хоть какой-то минимальный ИИ командира (на случай, если попадается внештатная ситуация) + дать возможность прописывать игроком какие-то общие шаблоны поведения армии.
Выбор может зависеть действительно от многих факторов: возле какой части армии может подоспеть подмога (а это зависит и от модели боя - напр. одномоментный ли он, т.е. могут ли успеть помочь защищаться свои юниты с соседней клетки); от текущей задачи; от территории (если она будет различаться по защитно-ударным свойствам).
Да можно когда и случайно выбрать - главное, помнить, что возможные недостатки в такой игре - все равно несравнимо лучше, чем сегодняшнее состояние в стратегии.
Тоже вариант, но опять таки - в реальной ситуации могут быть разные варианты.
Если у Петера пойдет дело с сервером - сможем реально пощупать, "как оно работает"
суть здесь в том, что разделение армии само по себе может иметь целью обмануть противника.
действительно вариантов может быть масса.
если атаковать меньшую часть - враг сможет отделить одного быстрого воина и отправить его неизвестно куда и наша армия погонится за ним к черту на куличики в то время как вражеская уйдет от преследования.
имхо логичнее атаковать большую часть
но таким образом враг тоже может схитрить, например он делит армию на большой конный отряд и небольшой отряд артиллерии. артиллерия может продолжать движение в выбранном направлении не боясь что ее грохнут, а конный отряд будет отвлекать вражескую армию.
Йорик, "ИИ" это слишком расплывчато, нужны алгоритмы действия этого ИИ.
Написать "должен быть ИИ" все равно что написать "проблема должна быть решена", т.е. ничего не написать.
как этот ии должен действовать?
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
Я тут уже приводил ссылку на (ИМХО) отличный,и очень редкий текст:http://www.gaslampgames.com/2012/09/...ryone/Ведь это же практически полная 100%-я кухня геймдевелопера.Там отлично видно КАКИЕ решения выбираются для реализации,и КАКИЕ цели при этом преследуется,и КАК и ПОЧЕМУ именно в этом направлении.По сути, любая успешная игра -- это 2-3 (а больше и не нужно) подобных идей-решений,а не разработка какого-то мифического ИИ или прорвы объектов\ресурсов.
Последний раз редактировалось Peter; 18.10.2012 в 20:03.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
http://www.gaslampgames.com/2012/09/...n-for-everyone - чуть-чуть урл подправил
Тут я не совсем понял - ты за или против? Мне нравится, что появляется еще одна фича - обман противника. Тут сразу увеличивается число вариантов: если командиры принимают решения с какой-то вероятностью - то могут и погнаться, а могут и ударить по основной армии. И чем большее число солдат отделится от основной массы - тем вкуснее будет разбить отщепенцев. И тем легче будет разбить и основную массу - это ж интересно выбирать! А если еще не 100% видно состав и численность врага? Можно принять неправильное решение, или ты атакуешь клетку с врагом - а он ушел по своим делам - все как в реале.
Согласен, слишком общие слова. Конечно, если уже владеть теорией ИИ, можно правильно и мощно разрабатывать этот ИИ юнита, чтоб потом не переделывать, легко модифицировать, масштабировать или что там еще. А так остается просто в лоб писать логику по своему пониманию, наматывать логический ход за ходом.Йорик, "ИИ" это слишком расплывчато, нужны алгоритмы действия этого ИИ.
Написать "должен быть ИИ" все равно что написать "проблема должна быть решена", т.е. ничего не написать.
как этот ии должен действовать?
я указываю только на то что проблема не так проста. если разделить армию легко а адекватно отреагировать на это - сложно или вообще невозможно, возникает дисбалланс который может испортить игру.
то есть ты предлагаешь кидать монетку - за какой армией идти?Тут сразу увеличивается число вариантов: если командиры принимают решения с какой-то вероятностью - то могут и погнаться, а могут и ударить по основной армии. И чем большее число солдат отделится от основной массы - тем вкуснее будет разбить отщепенцев. И тем легче будет разбить и основную массу - это ж интересно выбирать! А если еще не 100% видно состав и численность врага?
в таком случае опять же отделив последовательно 4 воина можно с вероятностью 93% сбросить хвост.
скажу тебе по секрету, нет никакой теории ИИ.Согласен, слишком общие слова. Конечно, если уже владеть теорией ИИ, можно правильно и мощно разрабатывать этот ИИ юнита, чтоб потом не переделывать, легко модифицировать, масштабировать или что там еще. А так остается просто в лоб писать логику по своему пониманию, наматывать логический ход за ходом.
есть разные прикладные методы вроде нейронных сетей где надо быть хорошим специалистом чтобы вообще вышло что-то путное и которые не для всех задач применимы
а есть конечные автоматы и машины логического вывода которые и подразумевают что ты будешь "в лоб писать логику"
я хочу сделать чтобы юнит управлялся игроком а не ии, и для этого нужно придумать правила посредством которых игрок сможет доводить до юнита свою волю.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
Ничем особенно.
Разве что поможет как-то структурировать, оценить...
Вот у тебя, есть подобная идея?
Чтобы было понятно о чем я, приведу в пример Генерала -- у него была такая идея
"а что если игрушка типа Риска (надеюсь знаеш такую), но с картами" + "прикольно было бы научится на Флешах".
То есть, идея,
только геймплейная, а не любо какая -- идея для игры.
Плюс.
Личное желание и интерес разбиратся с тем, что понадобится для её реализации.
Вот такое и может дать на выходе игру.
А если идей чуть побольше, хоть 2-3 (а больше и не надо), и чуточку упорства (на чистом интересе уже не выедеш),
то даже и игрушку побольше чем простую казуалку (тут пример с Эадором).
Вон у Реныча,не было такой, геймплейной идеи, а было только желание "разобратся во флешах"... оно и не выстрелило.
У меня тоже, было куча идей (не буду тут говорить о их качестве -- потому что ХЗ),
но не было особого интереса\желания разбиратся в нужном для их реализации.
А на силе воли только, на насилии над собой "это НАДО сделать"... далеко не уедеш.
имхо команду "преследовать" не нужно делать на уровне армии. армии стоило бы ограничить совсем базовыми командами, что были в е-цив, а навороты типа патрулировать, преследовать и прочие делать на уровне "генерала", цепляемого к армиям. причем на первом этапе забить эти команды (генералу) пустыми заглушками.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
Может испортить. Но может, не такой уж и дисбаланс? У меня задача - взять все интересное из реала - ясно, что не забывая и об играбельности. В реале разделение армии происходило постоянно, и так же постоянно чесали репу полевые командиры, которым штабные генералы приказывали одно, а на местности все выглядело совсем по-другому.
Я предлагаю что-то оставлять И на волю случая, снова - как В РЕАЛЕ: командир может повестись и на небольшую группу отщепенцев, но если он плохой командир. В совсем отличной игре надо бы и уровни ИИ командиров юнитов вводить: плохо Правитель обучил, подготовил офицерье к войне - плохие решение оно и принимает в бою. Но в наших условиях хотя бы просто оставить НЕБОЛЬШУЮ вероятность принятия командиром не совсем правильного решения.то есть ты предлагаешь кидать монетку - за какой армией идти?
в таком случае опять же отделив последовательно 4 воина можно с вероятностью 93% сбросить хвост.
Для решения в т.ч. и этой проблемы я и предлагал вводить приоритеты приказов: если приоритет - убить как можно больше врагов, будет одно решение, юнит-смертник; чтоб очистить от врага клетку - другое; удержать клетку - третье и т.д.
Опять же сотрудничество родов войск: если отделились у врага конники - то и "наши" конники могут отделиться!, командир может расщепить свою армию, и ударить двумя юнитами, конниками по конникам, пешими по пешим.
И кстати вот вам и поле для применения элементов РПГ: игрок может ставить командиров армий, выбирая из имеющихся - напр. командарм А тупой служака, выполнит все что прикажут, но в нештатной ситуации не найдет интересного решения, будет тупо продолжать выполнять может уже ставшим неактуальным приказ; командир Б может и позволяет себе не всегда уместное своеволие, но в нештатной может действовать гибче.
Чем-то Аку напоминает , как вроде и не написано на эту тему тысячи книг и десятки теорий-подходов.скажу тебе по секрету, нет никакой теории ИИ.
Вот смотри: в Цив1,2 юниты атакуемой стороны тупо стояли при атаке по ним - никакого ИИ, как ты и хочешь. Чтоб нельзя было прорваться вглубь вражьей терры, чтоб не было слишком большого перекоса в сторону атакующего, придумали "блокировку прохода", но это было нереалистично. В Цив3 пошли дальше - атакуемые конники могли отступить, при проходе мимо дальнобойщика МОЖНО (а можно и не!) было получить выстрел, при наличии авиации С СООТВЕТСТВУЮЩИМ заданием МОЖНО было получить и бомбу в рыло.я хочу сделать чтобы юнит управлялся игроком а не ии, и для этого нужно придумать правила посредством которых игрок сможет доводить до юнита свою волю.
Ну можешь не считать это зачатками ИИ, но именно это и позволяет юниту В ОТСУТСТВИЕ управления игроком, т.е. в средине хода, вести себя более-менее осознанно, а не как истуканы.
Рад тебя видеть, Дэсперадо Петер насколько понимаю, предлагает увеличить скорости юнитов, что я давно хотел и тоже предлагал. И тогда МЕЖДУ ПРИКАЗАМИ игрока возникает неопределенность у командарма - что делать, куда двигаться после выигрыша в бою? проигрыша? если игра будет еще реалистичней и мы точно не будем знать расположения врага - то что делать, если дали команду разбить армию в точке А, а придя туда, обнаруживаем, что врага там нет? И куча других РЕАЛИСТИЧНЫХ неопределенностей.
П.С. Я почему так заостряю внимание на нюансах? В Циве меня всегда возмущала дискретность: при атаке в самый критический момент твой может уникальный или крайне важный юнит либо выжил, либо нет - и может после его гибели захватывается опустевший ключевой город, и тут же откусывается терра, на ней замедляются твои юниты и пошло-поехало - слишком резкий перекос.
Тогда как в реале, видя что проигрывает командир МОЖЕТ решит отступить в укрепленный город, может даже отделить часть солдат и поставить их в смертельный заслон, дав другим возможность отступить; даже в отсутствие солдат на прикрытие города поднимается ополчение - что уже есть в э-цив (но и тут надо бы уреалистичнить - а что если жители, зная кровожадность нападающих при восстаниях жителей, побоятся? или их убедят, что никого трогать не будут? или подкупят знать?); терра не станвится менее проходимой при одномоментном захвате врагом твоего города; терра вообще присоединяется к чьей-то границе по другим правилам, не как в Циве.
Конечно, Дэсперадо несравнимо лучший спец по э-цив чем я, но насколько помню, в э-цив юниты, встретившись на соседних клетках, тупо по-любэ вступали в бой, что может и лучше Цивы, но все равно не ахти.
И в модели боя были пробои: насколько я понял, каждый юнит при атаке двигался со своей скоростью, и конники получается должны были по-любэ вырываться вперед, что не всегда нужно.
И не дальнобои действовали лишь на этапе схождения (пусть поправит Дэсперадо если неправ, тут я плаваю), а не в рубке. И фланкеров не было, как в КтП2 нельзя было обойти конницей с фланга (а еще лучше - чтоб и с тыла).
А засады? - спрятать конницу в лесу и внезапно ударить? а еще различать фронт и фланги?
нет, в е-цив было совсем не так. во первых там армия объединяла несколько юнитов в пределах одной клетки, соответственно перемещалась армия со скоростью самого медленного юнита. генералов там не было, у армии были только базовые команды - переместиться, разделится и погрузиться на корабль. кажется все, если не считать настроек поведения (во время автобоя: убегать, защищать, грабить и т.п.). армии/юниты вступали в схватку если оказывались на соседних клетках в один квант времени (насколько я помню обсчет хода на 20 квантов бился).
что касается "перехвата", то мне она не нравиться чего-то. во первых возможность убежать в "туман войны" от конника пехотой была полезна, а конником было интересно пытаться вычислить куда он спрятался. если фича будет реализована, то ИИ наверно пойдет на перехват текущего положения юнита, а в е-цив мне нужно было выставить свой юнит туда, куда придет чужак, а не пытаться идти туда, где чужак сейчас. своеобразный фан был. может в целях охраны, но опять же слишком важная задача, что бы доверять автомату. я скорее всего предпочту руками отлавливать засранца.
по поводу скорости, мне вот скорость е-цив на начальном этапе нравилась, когда карта обрастала дорогами и скорости резко увеличились, вечно ощущение хаоса присутствовало, потому, что предсказать где всплывет чужак уже становилось почти не реально. но скорость настроить не проблема, был бы движок ...
еще в е-цив все команды, посылаемые на сервер в репорте, в зависимости от порядка их выполнения сервером, делились на три группы: premove, move, aftermove.
алхимики тоже кучу книг написали по превращению элементов
как это отсутствие управления? эти действия игрок задает а не ии. дает самолету миссию "перехват", оставляет ходы у юнита чтобы он мог стрельнуть и т.п.Ну можешь не считать это зачатками ИИ, но именно это и позволяет юниту В ОТСУТСТВИЕ управления игроком, т.е. в средине хода, вести себя более-менее осознанно, а не как истуканы.
мы тут договорились "армии" называть юнитами а "юнитов" - солдатами/воинами
как это у меня задумано сейчас - ты можешь отправить юнита в некую точку в тумане войны, задать ему стиль "агрессивный" и радиус агрессии скажем 3 клетки. по пути в эту точку, если он увидит врага в радиусе трех клеток - начнет его преследование. то есть ты можешь предугадать куда пойдет враг и выслать туда своего юнита. также ты можешь дать приказ идти в какую-то точку а потом уже включать агрессивность. т.е. "вкл агрессивность" и "идти в точку" это два разных приказа к-рые можно расположить в разном порядке. если ты задашь радиус агрессии в 1 клетку и пункт назначения, то это будет насколько я понимаю то же самое что было в ециве.что касается "перехвата", то мне она не нравиться чего-то. во первых возможность убежать в "туман войны" от конника пехотой была полезна, а конником было интересно пытаться вычислить куда он спрятался. если фича будет реализована, то ИИ наверно пойдет на перехват текущего положения юнита, а в е-цив мне нужно было выставить свой юнит туда, куда придет чужак, а не пытаться идти туда, где чужак сейчас. своеобразный фан был. может в целях охраны, но опять же слишком важная задача, что бы доверять автомату. я скорее всего предпочту руками отлавливать засранца.
а в чем смысл был такого деления?
какие типовые варианты использования таких команд были?
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
БЫЛ знатоком
Все-таки в рейтинге четвертым стоял в свое время, в Зале Славы е-цив мой портрет висел как победителя одной из партий серии ПРО (самая сложная серия, всего семь партий было в этой серии, в таких партиях участвовали только сильнейшие)
Сейчас уже мало что помню, столько лет и событий прошло с тех времен
Сервер сначала просчитывал команды premove, поступившие от всех игроков (нюансов не помню, давно это было, но, вроде, все команды по экономике были premove).
Потом просчитывались все команды move (связанные с движением юнитов, эти команды учитывали временную длину хода, 20 тиков, и сервер просчитывал каждый тик каждой команды). Именно в этой группе команд определялись взаимодействия между юнитами разных игроков.
И в конце просчитывались все команды aftermove (в-основном, дипломатические, типа объявления войны или мира, или команды создания армий из воинов. Т.е. ты не мог за один ход "поднять" армию и начать ей ходить, ходить поднятая армия могла только на следующий ход).
А смысл в том, чтобы вдруг, из ниоткуда, не могли появиться армии (из лежащего на складах оружия и свободных людей города) и сразу в этот же ход могли пойти куда-нить и кого-нить захватить или убить, а потом, в этот же ход, вернуться обратно и расформироваться, и тишина, все шито-крыто
Последний раз редактировалось MaiklIl; 20.10.2012 в 08:12.