19

» WarCraft 3 / Отлов цели приказа

Naadir, очень маленький и не сильно тратящий ресурсы костыль. Есть ещё вариант с баффом, но кто его наложил движок может и не выдавать.
19

» WarCraft 3 / Отлов цели приказа

Naadir, можно создать матрицу и записывать туда приказы и если ты стал целью чего-то приказа. Например "атакован"
19

» WarCraft 3 / Пересечение времен. Altered Melee карта для 20 игроков

deflinok, господин definok, не делайте мне больно, используя клифы и модели из разных игр в дизайне ландшафта и юнитов. Спасибо :)
19

» WarCraft 3 / Проблемы с ордером

pro100master, там есть матрицы? Что? Или снова представление одномерного массива многомерным?
19

» WarCraft 3 / Проблемы с ордером

Steal nerves,
Рассмотрим приложенный мною файл.
Здесь мы имеем переменные, такие как
name-peasant - эта переменная отвечает за родство и структурируется блоками. Например, есть два peasant с именами 0000 0000 0000 0001 и 0000 0000 0001 0002. Это значит, что 2 рабочий сын первого рабочего. Возможно, 16ричная кодировка будет здесь уместнее. Это позволит в 4х поколениях отличать своих от чужих и добавлять разные забавные условия, которые позволяют рабочему "атаковать всех кроме родственников". По факту, выделяя в будущем их в племена.
Характеристика-действие - это то, как рабочий реагирует на события в % соотношении.
Событие - это действие, произошедшее вокруг рабочего или с рабочим.
Оба этих параметра составляют матрицу поведения, которая бесконечно расширяема.
Кратко пройдемся по событиям:
  • обычное - состояние, когда рабочий один, ему ничего не угрожает.
  • в группе - состояние, когда вокруг рабочего есть другие рабочие. Возможно, бегать в толпе - не очень выгодное решение, поэтому найдутся одиночки, которые будут этих групп сторониться, либо наоборот чувствовать себя в них лучше.
  • стресс - это низкий показатель здоровья-голода - возможно, рабочие изменят свое поведение, когда обычного состояния, чтобы добыть пищу, не найдется. Следовательно, место попыток бегать за травой, он резко перейдет на употребление собратьев или будет кричать о помощи, чтобы кто-то с ним поделился пищей.
  • атакован - состояние, когда на рабочего напали. Возможные модели поведения - убегать, звать на помощь, защищаться.
  • Крик о помощи - что будет делать рабочий, когда в каком-то радиусе кому-то потребуется помощь?
  • Болезнь/погода - внешние обстоятельства, написанные просто так. Но смысл думаю понятен.
Причина статуса - это характеристика для каждого рабочего для того, чтобы он принял во внимание какое-то событие. Например, один рабочий впадет в стресс при 10% здоровья, а другой при 50%.
Раздражительность статуса - статусов может быть много, например может идти дождь и одновременно рабочий будет атакован. Она перемножается на абсолютно все % снизу по столбцу, чтобы получить ответ, что при таких условиях все же будет делать рабочий.
Так же отдельное внимание хочу обратить на поиск пути - это просто список алгоритмов для поиска пропитания. Например бежать к дальнему кусту, но если в радиусе 1000 метров есть другой, бежать к нему. Или стоять и ждать пока куст не респавнится рядом. Или бежать к ближнему кусту со всей толпой.
А теперь к конкретике - суть в том, чтобы добавляя случайные +-% к характеристикам родителя и выдавая их потомку, получить один или несколько видов поведения у рабочих. Возможно, это будут религиозные фанатики, которые будут ждать рандома от Бога рандома, что он пошлет куст звездолиста рядом с ними или отъявленные убийцы, питающиеся своими собратьями или помощники друг другу, предпочитающие умереть сами, но не дать погибнуть товарищу или рабочие, которые будут собирать ресурсы только во время дождя.
Если посмотреть в прогрессии, то когда мы исключим все возможные операции поведения с беготней к кустам, можно будет выйти на уровень выше - постройке поселений. Для этого нужно два фактора - дать возможность рабочим высаживать рассаду кустов самим и определение своего-чужого :)
Ах да. Основные проблемы:
  • отсутствие массивов в warcraft3.
  • без понятия, почему мой warcraft не переваривает выложенные карты адекватно, когда я их модифицирую.
  • не понятно, как на гуи (а здесь ничего сложного, все if-ами) сделать функции, чтобы не перегружать основной код.
ПС: многовероятен шанс, что победят те, кто будет нападать на других рабочих, чтобы их убить и одновременно звать на помощь :)
Загруженные файлы
19

» WarCraft 3 / Проблемы с ордером

ProstoParya, я просто в шутку хочу подобавлять разных переменных, которые бы меняли ИИ peasant'ов, чтобы благодаря конкуренции узнать какая из поведенческих основ самая эффективная :) А ещё это генерирует забавные ситуации. Но пока что я не разобрался, почему у всех все работает, а у меня нет.
А вообще, можно даже устроить конкурс на такого рода ИИ, если найдутся желающие.
19

» WarCraft 3 / Повышение уровня способности триггерно

crusader556, сделай копию абилок и выдай разные разным зданиям и не парься. Всего-то 3 уровня.
19

» WarCraft 3 / Проблемы с ордером

Naadir, надо снизить % укрепления новых генов, ибо, например 25% агрессии и 75% сбора может быть выгоднее. Надо делать +-% шанс с каждым поднятием, ибо агрессия будет выгодной моделью при большом числе работников, а при малом - нет. Давать хп не за атаку, а за убийство.
Дополнительные модели поведения - ожидание (ждать пока появится предмет рядом или работник которого можно убить),;
Поведение при защите - сражаться или убегать или звать на помощь?
Возможно, засунуть при появлении работника в яйцо на 3 секунды, чтоб снизить кучность.
Возможно, записывать в БД для каждого работника радиус смены цели в зависимости от гена. У тебя сейчас константа в 500. Что выгоднее, бежать напрямик или сворачивать с дороги с каким-то радиусом?
Модель поведения крафтера - выгоднее бегать с другими или потратить время на получение предмета +к атаке/защите/скорости?
Модель поведения запаса ресурсов - хавать итем только когда он нужен. (Нужно снизить отхил от итема до 50%)
А так же, можно ввести шанс на получение одного из используемых поисков пути :) коих тут уже штуки 3.
И это только первые мысли, кои я бы сделал, если варик бы не тупил :(
В общем пока что такой концепт
Загруженные файлы
19

» WarCraft 3 / Проблемы с ордером

Naadir, у меня не пашет. Юниты отказываются ходить :/ но это и правда именно моя проблема, и я не знаю, с чем она связана
19

» WarCraft 3 / Проблемы с ордером

Naadir, вот эта версия хорошо пашет. Спасибо :)
Но стоило мне ввести табличку для рандомного генома, все поломалось. У Вас так же?
Загруженные файлы
19

» WarCraft 3 / Проблемы с ордером

Naadir, эм, одна из них, которая прогоняет все через массив - не пашет. Не знаешь в чем дело? По коду так и не сказать. Во второй, двойной цикл поиска предметов, убивающий варкрафт :)
19

» WarCraft 3 / Проблемы с ордером

Naadir, отлично. Следующий шаг система приоритетов. Крестьянин делает бросок кубов д100 и в зависимости от генетических шансов либо стоит, либо атакует первого попавшегося, либо бежит за едой.
19

» WarCraft 3 / Проблемы с ордером

Naadir, главное это решить проблему с циклом. Я не могу продолжать исследование крестьян, когда они просто так встают как вкопанные..
19

» WarCraft 3 / Проблемы с ордером

Naadir, только тут не один крестьянин, и их снова затаргетится толпа.
19

» WarCraft 3 / Проблемы с ордером

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

» WarCraft 3 / Алгоритм для создания круговой области

Пушистый, давай, удачи. В следующий раз, прежде чем морочить голову старикам с хгм, гугли матан :)
19

» Fa_losophy / Припекло

Msey, спамлю идеями без разбора. Каков концепт? Вы определились? Нужно что-то мелкое, но расширяемое со временем, если взлетит? Нагажу своими идеями куда угодно и уйду в закат. Готов работать за концовку где все умрут.
Ну или браузерную стартежку. Они все умерли, а те что остались - донатны до нельзя.
Концепт браузерной стратежки. Все спавнятся на большой мировой карте. Потихоньку мир уменьшается под влиянием чумы. Из-за этого точки более развитых игроков всегда вымирают и приходится переселяться в глубь незараженных зон. Через некоторое время чума отступает, освобождая новые территории. И так раз за разом. Области, которые будут незаражены в каждом из пришествий чумы - рандомны. МОЖНО СОБИРАТЬ КОРОВАНЫ, ЧТОБЫ ПЕРЕВОЗИТЬ СКРАБ.
И конечно же, нужно ввести системку "остатков прежнего мира". Чтобы по прошествии чумы, можно было селиться в развалинах прежних замков и деревень, находить книжки и другое говно оставленное игроками с прошлой сессии.
19

» Wanderer: Акт 1 / Wanderer: Акт 1

Obelick, при загрузке героя на новую версию. 1 уровня. не сохранилось при загрузке героя. На новую локацию до обнаружения не переходил.
ведь разница только "косметическая"
не согласен. Разница от проков. Проки - вешают дебафы. Дебафы - это контроль. А контроль билдов я не заметил (или не умею их делать)
19

» Wanderer: Акт 1 / Wanderer: Акт 1

Obelick, у меня не сохранилось начальное зелье. Так что уверен. Либо ты переслал старую версию.
Каких сундуков?)
Ящики, бочечки, обычные сундуки. С них есть около 20-30% шанс выпадения асша. Можно гриндить лоадя игру :)
Ветка за брилл была прикольной тем, что был выбор не влияющий ни на что, но дающий новые квесты и их решения, не отбирая наград.
Встретил так же при генерации проблему с тем, что квесты фракции в брилле постоянно одни и те же (два). В общем, версия относительно стабильна. Ждем больше контента.
Скорость атак можно оформить в виде талантов отдельной ветки.
  1. Вроде как "вы получаете +10% к скорости атаки, но комбо набирается только с 50% шансом.
  2. Или Вы получаете +20 к скорости атаки, но ваш физический урон падает на 20%.
  3. Вы получаете 20% к скорости атаки после применения такого-то заклинания.
  4. Вы получаете шанс прока при атаках всех пассивных заклинаний с шансом прока.