Добавлен DemonoiD
Коллеги, не могу понять, почему карта (см. приложение) после 10-15 итераций ломается и крестьяне стоят.
В кратце - я заставляю бегать крестьян к самому ближнему кусту звездолиста, но после нескольких кустов они наотрез отказываются продолжать движение дальше.
Следующим этапом будет добавление чуточку рандома и генерация случайных свойств дистабилизирующих или улучшающих выживание крестьян в этом тяжелом мире.
В кратце - я заставляю бегать крестьян к самому ближнему кусту звездолиста, но после нескольких кустов они наотрез отказываются продолжать движение дальше.
Следующим этапом будет добавление чуточку рандома и генерация случайных свойств дистабилизирующих или улучшающих выживание крестьян в этом тяжелом мире.
Принятый ответ
Naadir, мне почему-то кажется, что у тебя проблема в том, что есть цветок 1 и 10 работников. И у тебя получаются записи типа:
цветок 1 - работник 10.
цветок 1 - работник 8.
цветок 1 - работник 7.
цветок 1 - работник 10.
цветок 1 - работник 8.
цветок 1 - работник 7.
В общем, массив не отчищается при удалении предмета с карты. А ещё может быть такое, что функция pick предметов на карте, каждый раз выдает разные id предметам.
Добавил БД-индификтор предметам в первую версию поиска.
Получить ID любого предмета можно стандартной гуи-фцией valueitem. Пока что в раздумьях, как сделать адекватную матрицу, адекватно расширяемую? Или возможно её чем-то заменить?
Можно ли как-то обыграть такую структуру в war3?
Можно ли как-то обыграть такую структуру в war3?
За неимением мысли о матрице, сделал пока что генерацию "родства" до 4х поколений. Теперь Вы вполне можете узнать, кто был отцом, дедом и прадедом отдельно взятого юнита. См. приложенный файл. по ссылке.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Naadir
По поводу бегания толпой... Не всегда. Если их много, то образуется несколько групп. А в принципе -- так и должно быть, это логичное поведение каких-нибудь, ну скажем, рыбок.
Если ты хочешь, чтобы каждый крестьянин таргетился на куст, до которого сможет убежать, тебе нужно знать скорость юнита, его текущее здоровье и его убыль.
Если [Расстояние/Скорость] меньше или равно [Текущее здоровье/Убыль здоровья], то можно таргетиться на куст. Это один из примеров реализации разбиения отрядов на группы или даже на одиночек.
DemonoiD, сейчас проверю.
Тут две версии:
Ред. Naadir
Оставлю первую.
Ред. DemonoiD
Ред. Naadir
С массивом у меня всё работает. Редактор версии 1.29. Сейчас попробую на ранней открыть.
У меня всё работает. Проблема на твоей стороне.
1.26а, 1.27 и 1.29 версии варкрафта с моей последней версией работали дольше 5 минут.
Вот ещё более оптимизированный вариант.
Но стоило мне ввести табличку для рандомного генома, все поломалось. У Вас так же?
Я уходил на тренировку и оставлял ту прогу.
Вот лог. Численность держится на ~30 юнитах.
Ред. Naadir
Агрессивный рождается при поднятии предмета Работником с шансом 10%
Агрессивный рождается при поднятии предмета Агрессивным с шансом 50%
Работник рождается при поднятии предмета Агрессивным с шансом 50%
Работник рождается при поднятии предмета Работником с шансом 90%
Агрессивный рождается при атаке Работником с шансом 20%
Работник не рождается при атаке Работником
Агрессивный рождается при атаке Агрессивным с шансом 40%
Работник рождается при атаке Агрессивным с шансом 60%
Работники восстанавливают здоровье, когда поднимают предмет
Агрессивный имеет 95% шанс атаковать кого-то и 5% шанс брать предмет
Ред. MpW
чтобы такого не было, я короче ставил на итем метку, что за ним уже идут. Когда циклом будешь перебирать, надо смотреть если ли на итеме метка, если нет, то бегом за ним.
Ред. Naadir
Ред. MpW
Ред. DemonoiD
Дополнительные модели поведения - ожидание (ждать пока появится предмет рядом или работник которого можно убить),;
Поведение при защите - сражаться или убегать или звать на помощь?
Возможно, засунуть при появлении работника в яйцо на 3 секунды, чтоб снизить кучность.
Возможно, записывать в БД для каждого работника радиус смены цели в зависимости от гена. У тебя сейчас константа в 500. Что выгоднее, бежать напрямик или сворачивать с дороги с каким-то радиусом?
Модель поведения крафтера - выгоднее бегать с другими или потратить время на получение предмета +к атаке/защите/скорости?
Модель поведения запаса ресурсов - хавать итем только когда он нужен. (Нужно снизить отхил от итема до 50%)
А так же, можно ввести шанс на получение одного из используемых поисков пути :) коих тут уже штуки 3.