![]() |
|
Модераторы: Rickert |
![]()
|
|
| Кнером |
|
|||
|
тОрмоз ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 19 |
Fighter, мне не понятно, как мой мостр видит и определяет, что это враг.
Если они находятся на одной линии, тогда они друг друга видят и можно стрелять? Или когда подходят близко друг к другу и находятся на одной линии? |
|||
|
||||
| Никто |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Ходить,спать,есть,пить.
Тогда зачем делать ИИ.Другое дело-сделать минимальный ИИ.Так это относительно просто.Только я не пойму как будут проходить бои,по реакции или как. --------------------
|
||||
|
|||||
| Fighter |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Ладно, думаю что мне все-таки придется самому написать ИИ и выложить его исходник вместе с самой игрой. Вот только тогда наверное всем будет все ясно. Но я еще раз повторю, что графики у меня там фактически никакой нет, я писал это все на Delphi и если говорить чисто программистским языком, то у меня на форме каждый враг - это Shape, снаряды - тоже Shape.
|
|||
|
||||
| Кнером |
|
|||
|
тОрмоз ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 19 |
||||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Я могу дать один вариант ИИ на псевдокоде,я пишу на C.Поэтому придется самому переводить.Только мне надо знать.Как монстр определяет пулю,скорость пули,какая скорость самого монстра.
--------------------
|
|||
|
||||
| Кнером |
|
|||
|
тОрмоз ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 19 |
Никто, а как определяет монстра знать не нужно?
Это сообщение отредактировал(а) Кнером - 4.8.2006, 13:53 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Способность юнитов избегать огня и нападать толпой это одно, а вот проводить организованный бой целой армией в нескольких местах одновременно, "задумываясь" о целях и приоритетах немного другое. Пока не врубаюсь как описать формально (спрограммить) второе...
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Кнером |
|
|||
|
тОрмоз ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 19 |
Sardar, второе не сильно отличается от первого. Можно взять аналог из реальной жизни. Например как в армии, только по чинам не знаю, не служил. Например, у каждой группы, должен быть начальник. Начальник отвечает загруппу, а группа в свою очередь подчиняется командам своего начальник. Т.е. если напали на вторую группу, первые не придут на помощь если не прикажет начальник. Начальники общаются между собой так же как и в первом случаи простая группа нападающих.
Вариант 1. Просто нападающая группа. В ней, каждый может общаться с любым. Если напали, то идут в бой все. Команды может быть будет отдовать тот у кого есть приоретет. Или кто как может. Вариант 2. С командиром. Командиры решают куда идти, как нападать, кому помогать. Таким образом "армия" будет иметь тактику. Одни заходят с лева, другие с права. Третьи ждут. Если у первого проблемы, то командир третьей грппы отдает приказ помочь первым и направляет. - Ребята, приведите код на Си или дельфи, чтобы я понял как писать код и работать с СДК. Мааааленький примерчик. |
|||
|
||||
| Никто |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Конечно,нужно.
Пока планируется,что по одному монстру на каждой противостоящей стороне.Потом,когда все это получится,переходить на отряды.При этом каждый монстр должен отвечать за свою функцию.Пользователь сам определяет тактику. Это сообщение отредактировал(а) Никто - 4.8.2006, 14:25 --------------------
|
||||
|
|||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Человек кинет пару дешёвых, но сильно бронированных юнит на эту ораву, те бросяться, всю ораву накрываем чем нибудь мощным (ракетным залпом например). Не пойдёт...
А если командира завалят, то остальные встанут? Ну допустим будут адоптированны другим командиром, а я возьми их всех и замочи, армия встала? Также как командиру управлять юнитами? Будут паттерны вносимые один раз человеком, не будет адоптации к изменяемой ситуации. С анализировав все паттерны строиться "скрипт" (заметь, не ИИ, а скрипт) который с 100% вероятностью выигрывает. ИМХО тут каждый юнит должен обладать своей логикой + глобальная карта приоритетов, где каждый юнит высчитывает свою "пользу" (например нет смысла дёргаться если время похода слишком долгое или растратим топливо, или точно не известно нет ли засады). Логика строиться из набора выражений, например для нового юнита сброшеного с воздуха: если приоритет текущей позиции всё таки выше, значит опросим всех рядом, выберем наиболее эффективного для нас противника (ракетница выберет большого монстра, не окружённого нашими юнитами ближнего боя). Катим туда, стреляем, по пути сравниваем что же сейчас сделать более эффективней (в расчёт принимаеться всё, время на смену боеприпасов, поездка, "жизнь" врага (не дёргаться если его прямо сейчас добьют)). Таким образом будет один большой организм как муравьи, эффективно уничтожающие любого противника, подстраиваясь в принципе под любую тактику в лоб. А вот стратегически думать, брать "крепость", вычислить выгоду не внося это всё заранее паттерном в ИИ, вот это я не врубаюсь как сделать, как начать даже (описать мысль). -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
| Fighter |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Ты на псевдокоде. Ну, ты тогда выложи сюда. Может быть кто-нибудь увидит, посмотрит и возьмется за твой псевдокод. Вообще, можно непосредственно по SDK вопросы задавать, непосредственно о написании, а то тут одни только общие вопросы. Добавлено @ 01:30 Да, интернет у меня в ночное время, так что извините, отвечаю тогда когда вылезаю (иногда даже не доживаю до интернета) - но отвечаю сразу же как оказываюсь в интернете, так что если я сегодня не отвечал - значит я и не вылезал. |
|||
|
||||
| Кнером |
|
||||
|
тОрмоз ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 24.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 19 |
Этот вариант в начале темы предлагали. Я его просто еще раз озвучил. Предложи свой вариант. Вообще, напримере армии, следующий по званию становится командиром. Убили, следующий и т.д. В армии как раз учат не думать, а точнее отчают. Там учат выполнять приказы. Сказали бежать, в атаку, значит ты должен бежать, а не размышлять о том, сколько бежать, хватит ли боевого запаса и т.д.
Это кто решает? Сброшенный юнит, все или всё таки командир? |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Нету идей
Тут свои ньюансы, в коде это значит они будут обладать в принципе идеентичной логикой, система выбирает наиболее вероятного лидера и отдаёт управление ему. Если какой то юнит, не лидер, нарвёться на проблему, он должен спросить командира что делать, это время, особенно во время жёсткого боя, потери. ИМХО все юниты должны "думать" одновременно, но просчитывать свои приоритеты действий изходя из целей глобального маштаба (карта, куда все докладывают состояния горячих точек и интересных обьектов). Юнит автономен, нарвался на проблему:
Такой ИИ будет самообучаться. По сути это просто система накопления знаний, но в виду своей очевидности (БД с алгоритмами и т.д.) станет не эффективной когда база разрастётся в обьёмах. Вот тут и нужен инновационный подход... Нейронные сети? Как сказал ранее каждый юнит свободен делать что захочет, но "хочет" он из глобальных приоритетов, которые обращаються в конкретные действия. Нарвался он на монстра, сравнил сколько народу вокруге, сравнил что есть важного в округе, если самое важное это сам юнит (мы где то на територии, баз рядом нет), то просто убегаем, помечая проблему на карте. Если же вокруг есть что нибудь более приоритетное, то на карте помечаем большую проблему и ждём подкрепления. А вообще медленно это всё будет работать, тут нужен какое-то, на первый взгляд не очевидное, решение... -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Все игродельщики в один голос говорят, что нейронные сети не подходят, потому что 1) Очень сложно обучать 2) Очень сложно отлаживать - представьте себе, у вас заглючило поведение юнита. Как будете отлаживать нейронную сеть |
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Я имею в виду сам алгоритм.Про само понятие псевдокода я могу только догадываться.Расскажи о возможностях монстров.И как инициализируется карта. --------------------
|
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |