forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   ИИ в мортал комбат. (http://forum.boolean.name/showthread.php?t=8630)

demon112 08.07.2009 15:57

ИИ в мортал комбат.
 
Думаю каждаму удару/движению присвоить своё значение, и рандомно их воспроизводить, но мне кажется что получится слабый ИИ, как ещё можно его запрограмить?

BlackDragon 08.07.2009 16:07

Ответ: ИИ в мортал комбат.
 
Каждому удару сопоставить контр удар. Если вовремя атаки игрока, бот может контратаковать (нужная дистанция между ботом и игроком, позиция бота), то боту следует выполнять контрудар, иначе уйти в оборону - отпрыгнуть назад, поставить блок.

IGR 08.07.2009 16:23

Ответ: ИИ в мортал комбат.
 
Цитата:

Думаю каждаму удару/движению присвоить своё значение
если уж присваивать то да:
есть множество атак допустим и массив уклонов (в т.ч. блоков, отпригований) !! на каждую атаку есть подмножество уклонов !!
- плеер 1 узнает какой удар сейчас проводит плеер 2 !!
- рандомно или еще как-то (по приеритету например) выбирает с множества уклонов на эту атаку, уклон !!
- выполняем уклон !!
- если отбили атаку переходим в атаку !!
- если не отбили то выгребаем !!

demon112 08.07.2009 17:04

Ответ: ИИ в мортал комбат.
 
Хм, хорошая идейка....

Amatsu 08.07.2009 20:27

Ответ: ИИ в мортал комбат.
 
Сделай самообучающийся Аи =) Допустим, пусть в начале дерется игрок против неподвижного бота, а игра записывает все движения игрока. Если игрок проводит комбо по боту, игра запоминает что мол ага, противник стоял так, делал то-то (в данном случае просто стоял), а удар нанес по нему такой-то урон. Впрочем, можно как раз заставить бота рэндомно наносить удары по игроку, а игрок пусть пытается уворачиваться и контратаковать, а игра за ним (за игроком) записывает. Потом, во время боя игра просто будет сравнивать ситуации в которые попадал ее подконтрольный бот и воспроизводить из своего опыта соответствующие данным условиям атаки. Если же условия не соответствуют ни одной из знакомых ей ситуаций, пусть бьет рэндомом. Ну и, разумеется, даже в битве с простым игроком игра не будет переставать самосовершенствоваться =)

NitE 08.07.2009 20:32

Ответ: ИИ в мортал комбат.
 
Amatsu, всегда ты придумываешь самые простые пути решения задачь )))

demon112 09.07.2009 05:02

Ответ: ИИ в мортал комбат.
 
Amatsu, хм, всё так просто))))

Randomize 09.07.2009 05:33

Ответ: ИИ в мортал комбат.
 
Цитата:

Сообщение от Amatsu (Сообщение 110400)
Сделай самообучающийся Аи =) Допустим, пусть в начале дерется игрок против неподвижного бота, а игра записывает все движения игрока. Если игрок проводит комбо по боту, игра запоминает что мол ага, противник стоял так, делал то-то (в данном случае просто стоял), а удар нанес по нему такой-то урон. Впрочем, можно как раз заставить бота рэндомно наносить удары по игроку, а игрок пусть пытается уворачиваться и контратаковать, а игра за ним (за игроком) записывает. Потом, во время боя игра просто будет сравнивать ситуации в которые попадал ее подконтрольный бот и воспроизводить из своего опыта соответствующие данным условиям атаки. Если же условия не соответствуют ни одной из знакомых ей ситуаций, пусть бьет рэндомом. Ну и, разумеется, даже в битве с простым игроком игра не будет переставать самосовершенствоваться =)

Так было сделано в Guilty Gear XX Accent Core, очень удивляет когда от "компа" видишь свой набор приёмов.

Amatsu 09.07.2009 10:04

Ответ: ИИ в мортал комбат.
 
Такая система есть и в аркадных автоматах Tekken5. Там для каждого игрока создается свой акаунт, называется Ghost. И в процессе боя игра запоминает все его тактики. Потом во время игры можно загрузить себе противником одного из таких призраков другого игрока. В версии на пс2 такая система тоже есть, но там количество и качество призраков фиксировано на момент штамповки диска и призрак текущего игрока не создается, потому что записывать его некуда. Хотя, по идее пс2 можно подключить к нету... Но я не пробовал.

demon112 09.07.2009 13:01

Ответ: ИИ в мортал комбат.
 
ты так всё расказываешь, будто это сделать - раз плюнуть)

Amatsu 09.07.2009 13:16

Ответ: ИИ в мортал комбат.
 
На блитце это сделать в общем то не сложно, но боюсь будет тормозить при переборе вариантов атаки в базе. Хотя если сделать распределенный перебор: 1) не проверять все варианты за один проход а разгрузить их по всему времени между атаками бота 2) разделить комбы по условиям и например в ситуации когда надо атаковать фронтально - проверять одну группу. Когда в прыжке - другую группу и т.д.

IGR 09.07.2009 14:30

Ответ: ИИ в мортал комбат.
 
Цитата:

1) не проверять все варианты за один проход а разгрузить их по всему времени между атаками бота 2) разделить комбы по условиям и например в ситуации когда надо атаковать фронтально - проверять одну группу. Когда в прыжке - другую группу и т.д.
+1 !! нада хранить даные структурированно !! и отсортировано по нужному критерию !! тотал перебор некатит !! :)

demon112 09.07.2009 17:03

Ответ: ИИ в мортал комбат.
 
+ всё это нано сделать на мидлет паскале))

Barrako 03.08.2009 12:35

Ответ: ИИ в мортал комбат.
 
А когда сделаешь, даш сыграть? А вообще когда сделаешь?

JACUK 13.11.2009 03:37

Ответ: ИИ в мортал комбат.
 
Да походу чел начитался и решил забросить))


Часовой пояс GMT +4, время: 16:48.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot