Боты!!!

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Боты!!!

Страницы: 1  новая тема

Автор Сообщение

частый гость
Группа: Участники
Сообщений: 28
Добавлено: 31-07-2006 19:28
Здрасте!
Хочу создать 2D шутер типа NeedForKill или TimeToKill.
Необходимо поведение ботов в 2D игре. Как искать путь до цели: где прыгнуть, где нет. Когда прыгнуьть....?Сеййчас парюсь с этим. Если есть у кого наработки, может кто и поможет:)
Спасибо!

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 01-08-2006 12:31
где прыгнуть, где нет

странный вопрос тебе же решать где ему прыгнуть
ну я думаю на краю ямы;

на краю ямы ставиш невидемый блок и при столкновении с ним допустим переменная (BBB)получает значение true а в событии шага
бота
if(BBB == true) бот выполняет прыжок через яму (ну я думаю ты понимаеш получает определенную скорость, направление, спрайт)
а на другом конце ямы тоже невидемый блок и при столкновении с ним BBB == false

мастер
Группа: Сообщество GM
Сообщений: 108
Добавлено: 01-08-2006 13:45
Я как-то помогал делать простенького бота для 2д игрушки, могу поискать наработки(но он там очень простой)

Возможно скоро поробую сделать поиск пути для 2д с гравитацией

частый гость
Группа: Участники
Сообщений: 28
Добавлено: 03-08-2006 09:38
где прыгнуть, где нет

странный вопрос тебе же решать где ему прыгнуть
ну я думаю на краю ямы;

на краю ямы ставиш невидемый блок и при столкновении с ним допустим переменная (BBB)получает значение true а в событии шага
бота
if(BBB == true) бот выполняет прыжок через яму (ну я думаю ты понимаеш получает определенную скорость, направление, спрайт)
а на другом конце ямы тоже невидемый блок и при столкновении с ним BBB == false


Спасибо, я так исделал. У меня ваще много получается блоков, трамплинов, вышек, блоки, которые обозначают пустые места.
Только проблема не в этом. А как объяснить боту каким путем идти ко всем этим местам. В каком порядке....Алгоритм поиска пути, только с учётом 2d и гравитации....


Группа: Участники
Сообщений: 8
Добавлено: 03-08-2006 14:14
на краю ямы ставиш невидемый блок и при столкновении с ним допустим переменная


Зачем загружать себе жизнь, раставляя их вручную
Пускай раставляются автоматически! :
делаешь в событии создания плптформы(лучше через какую то долю секунды, что бы все платформы уже создались, и небыло казусов) что б она проверяла наличие рядом с ней(с двух старон) другой платформы(например функцией position_meeting(x+[длинна блока],y,obj)) , если нету, то пускай ставит блок прыжка.

вот восновном весь код автоматической растановки.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 03-08-2006 16:44
anji
А как объяснить боту каким путем идти ко всем этим местам

ну вомногих(почти всех)(8-битных)играх, это видно, боты подгружаются(активируются) когда герой находится в определенных локациях
я лично буду делать так:
в начале игры все образцы(боты) деактивируються;
создаю вертикальный тонкий блок (икс блока равен)- x = view_xview[0]+1300(ну 1300 это произвольно главное чтобы за видом)
ну ты понимаеш чтобы активировать отдельный образец бота
надо использовать отдельный другой блок который будет стыкатся с "вертикальным тонким блоком"

таким образом в отдельных местах появляются боты , и те боты
которые справа от тебя идут в твою сторону
ну вначале раскажу как у меня ходит герой
if(keyboard_check(vk_right))
{
if(place_free)x += 9
}
ну конечно там еще меняються куча переменных но это неважно

в событие создания бота (global.sidebot = 1)
в шаге бота
if(global.sidebot == 1)
{
if(place_free)x -= 9
}
и на счет ям, ну вот бот идет к тебе и на пути яма и тут блок
из-за которого он должен прыгать,стыкается з блоком, прыгает,
и (global.sidebot = 0 выключается передвижение) дальше перепрыгивая яму бот стыкается
с другим блоком global.sidebot = 1 и он пошол дальше

ну надеюсь ты понял , дальше можно манипулировать етим
допустим ты перепрыгнул бота, global.sidebot поменяла свое
значения: бот может убежат,присесть, достать ракетницу и в садить тебе , ну можна выдумать что хочеш

ну это нетак уж легко в том смысле чтобы получилось красиво
ну в 2d это легче чем в изометрии

почти невижу необходимости использовать в 2d платформах поиск пути (это больше к стратегиям)


kZUraX объясни по подробней непонял

частый гость
Группа: Участники
Сообщений: 28
Добавлено: 03-08-2006 19:55
anji
А как объяснить боту каким путем идти ко всем этим местам

ну вомногих(почти всех)(8-битных)играх, это видно, боты подгружаются(активируются) когда герой находится в определенных локациях
я лично буду делать так:
в начале игры все образцы(боты) деактивируються;
создаю вертикальный тонкий блок (икс блока равен)- x = view_xview[0]+1300(ну 1300 это произвольно главное чтобы за видом)
ну ты понимаеш чтобы активировать отдельный образец бота
надо использовать отдельный другой блок который будет стыкатся с "вертикальным тонким блоком"

таким образом в отдельных местах появляются боты , и те боты
которые справа от тебя идут в твою сторону
ну вначале раскажу как у меня ходит герой
if(keyboard_check(vk_right))
{
if(place_free)x += 9
}
ну конечно там еще меняються куча переменных но это неважно

в событие создания бота (global.sidebot = 1)
в шаге бота
if(global.sidebot == 1)
{
if(place_free)x -= 9
}
и на счет ям, ну вот бот идет к тебе и на пути яма и тут блок
из-за которого он должен прыгать,стыкается з блоком, прыгает,
и (global.sidebot = 0 выключается передвижение) дальше перепрыгивая яму бот стыкается
с другим блоком global.sidebot = 1 и он пошол дальше

ну надеюсь ты понял , дальше можно манипулировать етим
допустим ты перепрыгнул бота, global.sidebot поменяла свое
значения: бот может убежат,присесть, достать ракетницу и в садить тебе , ну можна выдумать что хочеш

ну это нетак уж легко в том смысле чтобы получилось красиво
ну в 2d это легче чем в изометрии

почти невижу необходимости использовать в 2d платформах поиск пути (это больше к стратегиям)


kZUraX объясни по подробней непонял

Спасибо за совет. Я уже немножко допер. Научил бота распознавать яму, место для запрыгивания на платформу (даже если она в воздухе), как перепрыгнуть преятствие на земле. Но вот проблема: Представь, что есть несколько платформ, они расположены на разных уровнях. Боту необходимо с нижней платформы добраться до верхней. Как его научить видеть этот путь - я пробую так при нахождении на платформе бот анализирует соседство триггеров для прыжка или ямы. По идее, потом он должен принять решение - прыгать, падать... и т.д, на какую платформу....Вообщем он должен понять как ему оптимально переместьться на верхнюю платформу, исходя из их располажения.
Проблему когда бот находится на одном уровне с игроком или выше его я вроде решил, а вот выше ниже не могу....

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 04-08-2006 16:09
честно мне несовсем понятно что ты имееш введу
если хочеш скинь мне исходник, зделай копию по удаляй все там лишнее а лучше просто там одна комната бот и твой герой и побольше коментов
думаю я так лучше смогу помочь
designer@interlink.pl.ua

Страницы: 1  новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Боты!!!

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU