Не будет готового типа двигаться в точку, обходя. На карте будут банки, столбы, баррикады. Т.е. например, если у робота 'плохая' программа, то он будет шмалять по банкам.
Добавлено (25.05.2011, 13:14) --------------------------------------------- Serg1971, так и сделаю
Не будет готового типа двигаться в точку, обходя. На карте будут банки, столбы, баррикады. Т.е. например, если у робота 'плохая' программа, то он будет шмалять по банкам.
Ты хотя-бы сначала то реализуй, что я сказал... На кубиках вместо баррикад! Потом уж дальше двигай!
Quote (WIBarts)
Serg1971, так и сделаю
Вот тогда интересно будет смотреть что получается, и прогресс для дальнейшего движения наметится!
Сообщение отредактировал Serg1971 - Среда, 25 Мая 2011, 13:19
Ну в принципе движение вообще можно примитивно организовать - движение вперёд, если препятствие - поворот направо 90
Или просто пустить пару пустышок как потомков перед объектом, которые заранее будут видеть столкновения, и при столкновении разворачивать до тех пор пока пустышка не будет касаться стены и т.д Я так делаю, так реалистично, а если пустить пустышок штук 5 в перед то ваше будет клево =) Я узнал что у меня, Есть огромная семья! Монитор, системный блок В сеть воткнул я проводок Windows - небо голубое Это всё моё родное, Без инета жить нельзя! Наркоман наверно я.
Или просто пустить пару пустышок как потомков перед объектом, которые заранее будут видеть столкновения, и при столкновении разворачивать до тех пор пока пустышка не будет касаться стены и т.д Я так делаю, так реалистично, а если пустить пустышок штук 5 в перед то ваше будет клево =)
Ага, интересный вариант... Но заметь:
Quote (WIBarts)
Не будет готового типа двигаться в точку, обходя. На карте будут банки, столбы, баррикады. Т.е. например, если у робота 'плохая' программа, то он будет шмалять по банкам.
То есть ТС по любому придётся работать по поиску кратчайшего пути (алгоритм А*)
То есть ТС по любому придётся работать по поиску кратчайшего пути (алгоритм А*)
АхАхА, НЕТ! Для этого берется невидимый спрайт или невидимый цилиндр (смотря какое пространство игры) и такая же но двигающаяся пустышка вокруг оси персонажа (лучше две, и чтоб крутились в разные стороны). Я так делал ИИ намного сложнее таких как тут надо. Короче, если подумаешь сам поймешь о чем я, там всё логично, просто долго объяснять а времени у меня мало.
Я узнал что у меня, Есть огромная семья! Монитор, системный блок В сеть воткнул я проводок Windows - небо голубое Это всё моё родное, Без инета жить нельзя! Наркоман наверно я.
triger, ты не понял сути вопроса. То что ты мне сейчас говоришь - это просто метод определения коллизий с обьектом, я много способов применял - не спорю у тебя оригинальный способ довольно... Суть не в этом. Любой алгоритм связанный с коллизиями зачахнет вот на такой задаче: Попробуй-ка запрограммируй данный уровень, что-бы можно было ставить обьект и цель в любом месте, а мы посмотрим... Тебе не помогут и сто пустышек
Quote (Matou)
Вообще-то это самое простое в этой затее)
Ну - это кажется просто, до начала практической реализации...
Что касается самой задачи - я бы собрал небольшую карту, разделил её на мелкие ячейки, создал массив с проходимостью каждой ячейки с весовым коэффициетом 0-100 (100 - это совсем не проходимая зона). Задал бы первоначальный коэффициент проходимости робота к примеру 15. Т.е робот может преодалевать ячейки с проходимостью 0-15 с разной скоростью, чем меньше проходимость ячейки - тем выше скорость, 0-скорость максимальная. И часа за три сделал бы первую демку на кубиках не дожидаясь никакого диздока! А когда есть ходовая - можно уже прикрутить одно оружие. Пусть бы робот колесил в случайном направлении - пока в радиусе его обзора не появлялся противник, тогда он бы прокладывал путь к нему...
"Все машины, претендующие на "разумность", должны обладать способностью преследовать определенные цели и приспосабливаться, т.е. обучаться"/Н.Винер,основоположник кибернетики/
Пойду в команду, если вышеназванное будет реализовываться в ИИ.
Еще пару замечаний из личного опыта создания ИИ: 1. Программирование ИИ - это на 99% описание логики его "среды обитания". 2. ИИ только на скриптах не сделаешь. Настоящий ИИ - это база знаний построенная по принципу: для похожих ситуаций - похожие реакции. 3. Даже простейший ИИ, например, для игры в крестики-нолики, начинает осмысленно себя вести только накопив в БД более 1000 записей! /имеется ввиду "настоящий ИИ", который сам находит правильный алгоритм ходов, а не заранее заскриптованный/ 4. Скрипты тоже должны быть! Даже Природа без них не обошлась (даже человек имеет массу рефлексов-скриптов, особенно в начале жизни).
Вы не говорите ЧТО мне делать, Я не говорю Вам КУДА пойти.
Сообщение отредактировал akyl91 - Понедельник, 30 Мая 2011, 18:08
"Все машины, претендующие на "разумность", должны обладать способностью преследовать определенные цели и приспосабливаться, т.е. обучаться"/
Даешь народу ген-алгоритмы! Начните с малого. Разработайте какой-нибудь простой алгоритмический язык, что бы игра была доступна и аудитории слабо владеющий программированием. Если не игра получится, так обучаемая программа точно!