Страница 2 из 3

Что мы можем позаимствовать от других игр?

Добавлено: 06 окт 2012, 07:52
Vasaka
krupennikov писал(а): 05 окт 2012, 22:45Мое мнение сделать самый "живой мир" - это научить ИИ обучаться от игрока. То есть скрипт следит за действиями игрока, и если его действия приводят к победе, то ИИ принимает это на вооружение. Даже при начале игроком Новой игры. В следствии чего, игроку всегда будет играть тяжелее и соответственно интересней. Вот только осталась самая малость, воплотить это программно.

Ну, это тоже интересная задача сама по себе.
Мне как психологу очень интересны все эксперименты с ИИ. Это такие же алгоритмы, по которым работает сознание человека.
Только в отличие от ИИ, человек может создавать новые алгоритмы поведения, а так же новые алгоритмы по созданию новых алгоритмов, то есть выходит за пределы системы когда есть такая необходимость. ИИ же будет делать только то, что скажет программист.
Ключевая особенность, это умение человека сформулировать вопрос и создавать новые и новые алгоритмы которые приведут к решению поставленной задачи и ответу на вопрос.
Компьютер сам по себе не в состоянии сформулировать вопрос.
В общем Остапа понесло... :mosking: Моя тема, что тут скажешь...


Snake_B писал(а): 06 окт 2012, 00:25сама задача по само обучающему ИИ... ну уж точно не по адресу задача то... проще сделать логику ИИ в dll и после выхода игры переодически обновлять эту dll по опыту сильных игроков...

Согласен. Должна быть создана и описана спецификация подключения ИИ. Какие данные движок будет получать от модуля ИИ. Программист ИИ или модер, знающий эту спецификацию сможет накрутить ИИ алгоритм любой сложности и направленности. Оффтоп


Snake_B писал(а): 06 окт 2012, 00:25и тут... нет в стратегических играх ботов... и твой пример сталкера не корректен... там другой жанр игры... в большинстве стратегий скриптов практически нет... основной сюжет идёт между этапами... на крайний случай скрипт запускается в конце миссии, чтобы рассказать сюжет...
а в сталкере (в том жанре) сюжет это основное... и если боты там начнут жить в реальном времени, не ожидая игрока, то там не будет сюжета...

Я просто иллюстрировал подходы к созданию игр в общем. Это был только пример.


Snake_B писал(а): 06 окт 2012, 00:25и тут... нет в стратегических играх ботов... и твой пример сталкера не корректен... там другой жанр игры... в большинстве стратегий скриптов практически нет... основной сюжет идёт между этапами... на крайний случай скрипт запускается в конце миссии, чтобы рассказать сюжет...
а в сталкере (в том жанре) сюжет это основное... и если боты там начнут жить в реальном времени, не ожидая игрока, то там не будет сюжета...

и в общем на счет экспериментов... не думай уже как игрок то... ты ещё по хорошему при разработке vas-mod'а должен был поменять психологию... ну ладно, ты там dll не менял, но счас то ты вроде собрался учиться программировать... не чего там ставить (эксперименты) и не на что смотреть... компьютер (ИИ) будет делать то, что ты ему напишешь... ты им командуешь.
эти эксперементы ты можешь в голове у себя прокручивать... начало игры, появляется раса в звездной системе... ммм... проще на примере цивы...
поселенец и разведчик...
и дальше варианты, что он может сделать... может поискать лучше место для города... а может и не искать.... может разведчика в разведку отправить. далеко и навсегда... может разведывать рядом с городом, чтобы прикрыть если что от варваров...
и заметь для выбора варианта действий наличия игрока роли не играет.... может комп вообще один на карте...
да и в играх класса цивы ИИ даже не нужно различать кто из соперников живой человек, а кто ИИ...

и ещё раз... ты не собаку тренируешь... неделю потренировал, потом неделю нет... и проверяешь как она после недельного перерыва... не забыла ли команды... ИИ ты сам пишешь... и как он будет себя вести ты должен (хотя бы в общих чертах) понимать ещё до того как ты начнешь его (ИИ) писать... а если ты понимаешь, то тогда и эксперименты не нужны...

Эти эксперименты нужны для программирования. Могу ли я создать такое... как это создать... насколько это сложно и какие типовые приёмы есть и как их реализовывать.
Если бы я был крутым программистом, то я непременно так и делал, как ты описал, но я только учусь, и это один из моментов обучения. Потом я из этих освоенных концепций буду как архитектор планировать архитектуру игры.


Snake_B писал(а): 06 окт 2012, 00:25п.с. где то так году в 2003... были у меня тогда уже наработки в 3D....
типа такого:

всё летало, ездило (танк был))... даже стреляло иногда... правда противников не было...
а потом я как то сделал что-то вроде теста по ИИ... простые кружочки в 2D... вокруг них окружности (дальность видимости)... один кружочек - игрок... управление клавишами клавиатуры...
остальные враги... часть кружочков стояла на месте, другие ходили из одной точки в другую (патрулировали)... если видели игрока (и первые и вторые) начинали его догонять... но скорость у них была меньше... и когда игрок уходил из зоны видимости они останавливались (часть возвращалась туда где стояла, другая часть оставалась на новом месте, те кто патрулировал, уходили патрулировать дальше)...
и как то я принес этот тестовый вариант друзьям.... и они так увлеченно стали убегать от этих "врагов"... при том что демки в 3D у них такого восторга и близко не вызывали))

Ну, для меня лично, это говорит о том, что интересный геймплей никакой картинкой не заменить. В основе должен быть архи-интересный геймплей, а остальное по возможности.

Что мы можем позаимствовать от других игр?

Добавлено: 13 окт 2012, 23:56
neitron777
Раз уж зашла речь об этом, то могу высказать идею: надо разделить стратегическое и тактическое управление боем. Второе всегда осуществляет ии, т.к. у кораблей есть свой экипаж и тогда такой примитив, как рандом победы из цивы не нужен. Игрок дает приказы кораблям, а на месте при наличии корабля с центром командования они могути отменяться по ходу боя для определеных группп кораблей (по присвоеному значению) и даваться иные: например прикрытие дреноутов от авиации противника кораблям сопровождения, поддержка атакующих кораблей кораблям поддержки и многое иное. Главное ввести правило один командир - одна группа. В командном центре может быть как один командир, так и больше, зависит от размера. Командир всей флотской группировки необходим для включения тактического командования, а остальные объеденяют корабли в группы. Ну и бонус кораблям, которыми они командуют, от их опыта) То есть игрок, отдав приказ, может получить отклонения от результата, которого он добивается (небольшие отклонения) без рандома.


Добавлено через 39 секунд


Для ии так же необходимо это разделение, не только для игрока.


Добавлено через 1 минуту 6 секунд


И придумать команды для командиров, что бы их контролировать.


Добавлено через 2 минуты 52 секунды


Так же и по поселениям, планетам - нужны губернаторы: вы дали приказ планете, что ждете от нее производства, а губернатор сам управляет поселениями.


Добавлено через 1 минуту 13 секунд


Двух уровней руководства должно хватить? С накапливаемым опытом и набором команд.


Добавлено через 1 минуту 16 секунд


Это из жизни, только тут уровней управления будет больше, в сотни раз)

Что мы можем позаимствовать от других игр?

Добавлено: 14 окт 2012, 13:36
Malin
Это что-то вроде такого?
Есть у нас, скажем, флот_1 и есть у нас вражеская_система_1. Мы отдаём команду командиру флота_1:"Войти в вражескую_систему_1, исследовать планеты системы, атаковать любой флот врага, блокировать населённые планеты, на поверхность не высаживаться, держать позицию, полная отчётность действий." Далее флот_1 поступает под управление ИИ-командира, и сам расхлёбывает кашу в вражеской_системе_1. Сам добирётся до системы, оценит ситуацию в ней, сообщит игроку депешой, если врагов слишком много (в зависимости от морали и перевеса количества врагов будет ждать указаний или бежит из системы, или всё равно нападёт). Если ИИ-командир посчитает, что врагов мало, сообщит игроку, что начинает военные действия. После зачистки космоса системы и после исследования планет, и после установки блокад, также обо всём этом сообщит (полная отчётность) и заявит:"Задание успешно выполнено, держим позицию, ждём дальнейших указаний", и возможно добавит:"Просим подкрепления, на всякий случай..."
Причём все бои, которые ведёт командир нам не показываются, возможно приходит отчёт (Флот_1, потеряно 20% флота), но в любой момент можно заглянуть, что где творить, посмотреть как он сражается, на время взять управление на себя и тп.
Так?

Что мы можем позаимствовать от других игр?

Добавлено: 15 окт 2012, 01:32
neitron777
Нет,это модификация рандома из цивы, только с него взята одна идея, что бы не надеяться на перевес по кол-ву, а по сути будет не настолько криворукой идея, ведь тактическое руководство можно отлаживать, в отличие от рандома, там возможности для доведения до отсутствия жалоб ограничены.
Т.е. это действует только в экране боя - когда вражеские эскадры вошли в боевое столкновение по приказу обоих сторон или нападению одной стороны на другую. И при этом! командир, подвергнувшийся нападению, самостоятельно развернет свои силы для защиты, пока не поступят приказы от игрока. Мы играем в концепции один юнит на тайл, а это требует уже иного подхода в отражение отаки, чем передвижение стеками вблизи врага... А если еще юниты разного типа, то отражение атаки поодиночке приведет к гибели множества кораблей... Так же в процессе боя командир может использовать группы поддержки и прикрытия по их назначению, игроку только надо назначить корабли в них и определить, кого они будут опекать.

Добавлено через 4 минуты 25 секунд

В твоем много свободы комадиру, не будет ии на таком уровне еще долго, что бы не портить все, что можно :razz2:
Может после реализации тактического уровня и будет возможно внедрить третий уровень командования, но начинать с него... Очень сложно и смысла я в нем не вижу.
А так можно задать бегство новобранцев с поля боя, если у них нет командира, а противник опытный и они понесли большие потери :mosking:

Что мы можем позаимствовать от других игр?

Добавлено: 15 окт 2012, 03:49
Vasaka
Я так и не понял, что хотел сказать neitron777.

В начале я подумал так же как Malin, но если задумка была другой, то я не понял какой она была. :conf:

Что мы можем позаимствовать от других игр?

Добавлено: 15 окт 2012, 08:56
Malin
neitron777, не много не понятно, давай по полочкам разложим.
1) Командир - это ИИ, который помогает игроку?
2) Чем управляет командир? Флотом ?
3) Что может делать командир своим флотом? Передвигать по галактической карте? Системной? По карте боя?
4) Как командира регулирует игрок? Команды (полететь туда сделать то-то)? Условия (Если что-то так, то сделать так)?
5) Для чего нужен командир? Снимает нагрузку на игрока при больших империях? Занимается чем-то рутинным, что должен делать игрок каждый ход? Повышает эффективность боя?
6) Что значат "уровни командования"? Командир управляющий командирами?

Желательно что бы ты ответил на эти шесть вопросов с примерами в рамках mosc.

neitron777 писал(а): 15 окт 2012, 01:32В твоем много свободы комадиру, не будет ии на таком уровне еще долго, что бы не портить все, что можно

Если у игры будет противник под управлением ИИ (Другая раса\империя), то это значит, что возможность для ИИ-командира уже есть. Останется только вырвать из ИИ-императора, части кода для ИИ-командира (оценка своих сил и противника, тактика боя в системе и на поле боя...) и прикрутить к этому интерфейс управления (чтобы игрок мог назначать, удалять командира и влиять на него, приказывать) и интерфейс обратной связи (сообщения от командира, особая метка на флоте (этот флот под командованием ИИ-командира) и тп...)
А если взять за основу при создании игры ИИ-командира, то ИИ-император будет управлять ИИ-командирами, это , как я понимаю, те "уровни командования".

Что мы можем позаимствовать от других игр?

Добавлено: 15 окт 2012, 18:31
neitron777
С примерами в рамках цивы, т.к. в моск еще не играл)
Malin писал(а): 15 окт 2012, 08:56neitron777
1) Командир - это ИИ, который помогает игроку?

Примерно, как командир в 3 циве объеденял юниты в армию, что бы не надо было двигать их по одиночке и не так, т.к.он давал еще и бонус) Так и тут, толькол бонус не автоматом, а от использования этого принципа. Ведь в изменяющейся боевой обстановке человеку пришлось бы отслеживать изменяющуюся обстановку и ошибиться по невнимательности очень легко, а так он дает часть юнитов в подчинение ИИ (присваивает им классы) и просто указывает "стеку атаковать", а по суте атакуют ударные корабли, остальные или поддерживают их, атакую вместе с ними, или, при возникновении угрозы защищают их (как истребители в циве с включеной функцией перехвата защищают стек кораблей от другой авиации, так и тут истребители защищают крупные корабли (линкоры, дреноуты) от атак вражеских малых кораблей (они быстрее, у них бонус), ракетного огня (перехват ракет)... Они защают при неистраченных ходах (если остались при их нахождение в классе прикрытия (могут и атаковать), либо они изначально поставлены в класс защиты)
Malin писал(а): 15 окт 2012, 08:56neitron777
2) Чем управляет командир? Флотом ?

Да, сформинрованым игроком флотом, где он свел корабли в одну точку и присвоил им классы. Необходим один командир, что бы из толпы сделать армию и еще по одному для каждого класса кораблей, которые там есть с ограничением по числу кораблей.
Malin писал(а): 15 окт 2012, 08:56neitron777
3) Что может делать командир своим флотом? Передвигать по галактической карте? Системной? По карте боя?

По карте боя управлять рядом классов (что бы была функция, аналогичная перехвату авиации в циве и ряд других), в каждый класс можно назначить любой корабль, только выполнит ли он задачу) По системной и галактической карте флот передвигается, как одно подразделение (для этого нужен один комакндир в нем, в одиночку он не даст открытия ни одного класса (нельзчя будет назначить в них корабли, смотреть пункт 2)
Malin писал(а): 15 окт 2012, 08:56neitron777
4) Как командира регулирует игрок? Команды (полететь туда сделать то-то)? Условия (Если что-то так, то сделать так)?

Назначает корабли в классы. Атакующие корабли 100% управляются игроком, а классы прикрытия и защиты управляются ИИ в зависимсости от атакующего класса и противника. Может попосже увидите надобность в большем числе классов, вопрос в том, что вы хочите поручить ИИ в боевом экране?)
Malin писал(а): 15 окт 2012, 08:56neitron777
5) Для чего нужен командир? Снимает нагрузку на игрока при больших империях? Занимается чем-то рутинным, что должен делать игрок каждый ход? Повышает эффективность боя?

Рутина и эфективность.
Malin писал(а): 15 окт 2012, 08:56neitron777
6) Что значат "уровни командования"? Командир управляющий командирами?

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

Нет,это надо для всех отделить, что бы этот кусок модифицировать от пожеланий игроков и ИИ и Людям. Можно обозвать эти пару строк кода ИИ2, может через пару лет что-то большее из этого появиться... (когда флоты будут состоять из нескольких десятков или да же сотен кораблей, то и уследить будет труднее за ними в боевом экране и ИИ2 будет нужен другой) Я пока вижу в этом развитие командиров из цивы под данную игру.
Без командира не должно быть вообще метки флота, т.к. это просто толпа кораблей без единого командования, другое дело - сколько командиров в флоте (на сколько групп (по классам, а так же и по числу кораблей, т.к. для командира, управляющего классом кораблей, нужно ограничение по их числу) он разбит).

Ну и эти пару строчек можно потом привратить в пиар - нас два ИИ :lol:

Что мы можем позаимствовать от других игр?

Добавлено: 17 окт 2012, 19:40
Vasaka
У нас предусмотрено объединение однотипных кораблей в группы.
Бонусы от объединения - настраиваются позже.
Назначение командиров с бонусами - надстройка.

Или есть ещё какие-то нюансы которые я не уловил?

Что мы можем позаимствовать от других игр?

Добавлено: 17 окт 2012, 22:13
neitron777
Объеденение всех кораблей мв единый флот - один командир (не однотипных, а всех), а объедение по группам - по одному командиру на группу. Только в уже готовом флоте. Объеденяются любые, а не только однотипные, это даст большее разнообразие тактик. А автоматические действия групп - это уже мелочь, хотя очень интересная) Например кроме того же перехвата авиации можно дать линкорам автоатаку эсминцев врага и т.п., если будет оправдано балансом. Разумеется автоатака отключаемая)

Добавлено через 7 минут 16 секунд

Тактическая гибкость, если снять ограничения на однотипность кораблей в группе, будет выше, т.к. как истребители могут сбивать как другие истребители, так и корветы, кроме этого при различных типах кораблей еще и куча разновидностей построения их во время атаки...

Что мы можем позаимствовать от других игр?

Добавлено: 17 окт 2012, 23:43
Vasaka
Было два пути по которым можно было пойти.
1. Объединение разнотипных кораблей.
2. Объединение однотипных кораблей.

Пошли по второму пути. Весь дальнейший геймдизайн боевой части выстраивался исходя из этого. Всё балансировалось под это и придумывались новые идеи которые это дополняли и развивали.
Предложение начать всё заново конечно заманчиво Оффтоп, но наверное не годится.

Более того, при втором варианте понятно как балансировать тактическую составляющую. Есть чёткие классы кораблей, каждый выполняет какую-то свою функцию.
И совсем непонятно как создавать сколько-нибудь интересную тактическую модель при первом варианте, так чтобы получилось что-то отличное от "стенка-на-стенку" войнушки.