happy_horror
2 + 2 = 22 :-D
offline
Опыт:
7,818Активность: |
Universal Creep AI for RPG/ORPG maps (Aggro System)
Всё по порядку: (вопрос - ответ)
(юнит-моб, это юнит контролируемый компьютером или нейтрально-враждебным игроком) Для кого и почему была сделана данная система? - была сделана по просьбам форумчан, в основном для карт типа РПГ/ОРПГ - представьте себе ситуацию, когда мобы в игре управляются человеком в момент сражения и человек, в отличие от ненастроенного компьютера (стандартный спевдо AI в варе), будет совершать логические поступки и данная система позволяет иммитировать хоть какую-то логику в битви Что за система, что она делает и как работает в теории? - Агро система, на подобии тех, что стоят в современных ОРПГ - Заставляет моба (моб - юнит контролируемый не игроком) выбирать цель по некоему показателю, что создаёт иллюзию адекватности моба на силу противника - когда юнит-моб атакован, то он запоминается нанесённый ему урон от юнита, принадлежащего игроку, затем кажые N секунд каждый моб составляет себе список опаснейших целей, сортируя его от опасного (того, кто нанёс больше всего урона) до самого дохлого противника и выбирает из списка первую жертву, если она находится в радиусе r, не мертва и видна мобу, то он будет атаковать её, если одно из условий не удовлетворяет требованиям, то на проверку пойдёт второй по списку противник и т.д. Учитывает ли систему магический/физический урон, заклинания без урона? - любой урон, даже нанесённый триггером - для этого есть настраиваемая встройка Чем это изменит вашу карту? - для наглядности предлагаю скачать карту, отключить все триггеры и замочить мобов на ней, для этого в вашем распоряжении 1 герой со способностью лечения и 2 рыцаря-защитника с переделанным оскорблением и сетью, немного магии и способностей и всего 6 врагов...после просмотра карты без системы предлагаю включить обратно все триггеры и попробовать снова просто убить всех противников, думаю разница будет заметна, если же нет, то пишите, попробую объяснить по другому Имеет ли система настройки? - разумеется да
Есть ли у системы недостатки? - пока, к сожалению, тоже имеются: если количество юнитов игрока и количество мобов одновременно находящихся на карте будет очень большим, percent будет 100.00 и period очень маленькими (примерно 1.00), то в карте могут наблюдаться торможения, в момент выборки целей (тестил на футман варс с ботами) Как импортировать к себе в карту? - просто скопируйте все триггеры и переменные (если у вас стоит в настройках WE автоматическое создание переменных, то они создадутся сами, несмотря на наличие джаза в системе) ВАЖНО не забыть скопировать из глобал кода 2 константных функции вот собственно и всё, прошу "заказавших" эту систему форумчан тестить и сообщать о багах, ошибках в работе, включая совместимость с другими системами/картами, ну а так же ваши пожелания и вопросы изменения на 5.12.08: проведена полная оптимизация кода, устранены утечки (ппц, сколько я их там нашёл...но зато в борьбе с ними научился бороться с ними сразу, т.к. раньше не умел). единственный код, который не подвергся оптимизации - это мультиборд и функции связанные с ним, потому-что мультиборд тестовая возможность в системе и в нормельной карте не участвует, а значит и не вызывает утечек... в триггере, отвечающем за выборку целей, заменил константу, на переменную (TargetRange) изменение которой раньше не изменяло ничего + расставил крипов немного по другому Перезалил обновлённый вариант --- Наработка добавлена на сайт как Universal Creep AI (Aggro System) Награда: +320 очков опыта Оценка: 8/10. Отредактировано ScorpioT1000, 12.05.2008 в 22:50. |
08.05.2008, 04:44 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Сделал-таки) Зачет, всем советую!
ScorpioT1000 добавил: Не agro а aggro ScorpioT1000 добавил: Цитата:
p.s. эо зависит от кол-ва мобов и производительности машины(если кто спросит) ScorpioT1000 добавил: омг, код не оптимизирован Код:
это утечка Отредактировано ScorpioT1000, 10.05.2008 в 08:09. |
|
08.05.2008, 06:04 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
happy_horror
2 + 2 = 22 :-D
offline
Опыт:
7,818Активность: |
да, про утечки гляну ещё, там ещё есть одна, но не значительная, как и вес системы в 30 кб :) ... |
08.05.2008, 06:29 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sweet Candy
offline
Опыт:
444Активность: |
Интересная вещь. Надо попробовать. |
08.05.2008, 09:52 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
CyxapuK
<bdc>
offline
Опыт:
15,459Активность: |
happy_horror, наконецто, я давно такого ждал. ниче, если я использую ее у себя в Gard Quest'е?
|
08.05.2008, 10:25 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dartwizard
v zapoe :(
offline
Опыт:
4,762Активность: |
гуд система!, с такой мона создать очень хорошуб РПГешку |
08.05.2008, 10:53 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Finfal
offline
Опыт:
3,413Активность: |
Ура - мобы перестали быть тупыми, жду какой-нить рпг с данной системой, автору зачёт |
08.05.2008, 13:09 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FrancK
???
offline
Опыт:
20,086Активность: |
happy_horror, хе, круто, можно заюзать в своей РПГ?
|
08.05.2008, 13:23 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
happy_horror
2 + 2 = 22 :-D
offline
Опыт:
7,818Активность: |
конешно используйте в своих картах, я собствено почему её стал делать - как-то раз в РПГ у героя танка увидел скил оскорбление и понял что КПД у него 0% ... тогда и задумался об ИИ мобов, хотя бы элементарном
да кстати в системке есть небольшие, совсем небольшие утечки, в скором времени пофикшу их и обновление выложу |
08.05.2008, 14:28 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
Хорошая система, автор молодец)) |
08.05.2008, 14:39 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DeaDoK
offline
Опыт:
5,783Активность: |
Ужасно, противно, тупо... happy_horror, сорри, ваапче зачет. Ну просто все пишу типа Клёво типа Круто. Идеальны тока боги.
|
08.05.2008, 16:39 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
happy_horror
2 + 2 = 22 :-D
offline
Опыт:
7,818Активность: |
DeaDoK , я с тобой даже не спорил на этот счёт и не буду, но попрой элементарное, действительно получается удобным и приятным :) |
08.05.2008, 17:23 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Joltd
offline
Опыт:
1,090Активность: |
Теперь по настоящему сложо стало играть. Простой отвести героя не работает уже :) Система класс, автор моодец. |
08.05.2008, 19:23 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
happy_horror
2 + 2 = 22 :-D
offline
Опыт:
7,818Активность: |
Joltd , относительно сложно, т.к. в моём примере percent стоит на 100%, т.е. моб начинает соображать сразу, а можно поставить и меньше, к примеру 30% ... картина: били маги боса, били, танк тупо стоял и тут у боса хп упали ниже 30% ... :D:
да кстати потом в инфу обязательно допишу - TargetRange можно поставить и больше 700.00 вот тогда реально сложно от моба будет убежать, особенно если сделать скорость бега у героев маленькую, относительно мобов :) |
08.05.2008, 19:26 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZLOBICH
Kicked by XimikS
offline
Опыт:
4,727Активность: |
код на оптимизацию и фикс утечек.. вообще очень узкий круг применения системы.. для меня не зачет =\ но для большинства очень подходит, доработать код, сделать заполняемую БД и изменить формулу с учетом армора, макс хп и тд.. а, имхо лучше не регать всех юнитов входящих в мапу, а сделать отдельной ф-ей |
08.05.2008, 21:51 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
happy_horror
2 + 2 = 22 :-D
offline
Опыт:
7,818Активность: |
Цитата:
ZLOBICH БД и так есть, она заполняется абилами типа лечений, бафов и т.д...единственное ауры не учитывает, код действительно будет доработан на предмет утечек по поводу брони, макс хп и прочего: ситуация, за 20 секунд паладин нанёс скорпиону 100 урона, а некий маг 1000, вопрос: кого выгодней прибить первым? Это первая причина, по которой индикатором является урон, причина вторая: в варе не предусмотренны прямые функции получения брони цели + существует константа...из-за которой 10 брони ~ могут стать равны 20, вывод - гемороя мама не горюй....в третьих: какая разница сколько макс хп у юнита? (ну могу понять ещё куррент хп, к примеру у юнита игрока 10% и хорошё бы его добить) ссылаю макс хп на первый пример и кстати система Universal...поэтому учитывает только главное, хотя на счёт доработки подумаю, но нагрузка системы слишком большим количеством формул, ни к чему хорошему не приведёт про очень узкий круг приминения: если говорить об ограничении количества юнитов одновременно находящихся на карте, то даже на картах XL используется система подзагрузки мобов - входиш в зону, появляются мобы, выходиш, исчезают...но а если говорить о битвах CREEP vs PLAYER то я считаю что в каждой мапе у мобов должен быть хотя бы такой ИИ, ведь мобы, это не только 3 кило мяса и редкий дроп :) |
|
08.05.2008, 22:13 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
House MD
I'm not all guys
offline
Опыт:
14,862Активность: |
Попробую в своей использовать, посмотрим, что из этого выйдет :): |
08.05.2008, 22:26 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
happy_horror, пофиксишь утечки - сообщи мне, зальем ^S^
Отредактировано ScorpioT1000, 09.05.2008 в 19:49. |
09.05.2008, 18:46 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Lolo_87
offline
Опыт:
1,810Активность: |
happy_horror системка тру, очень понравилось Молодец, но на производительность компа очень давит, кста я для своей мапы твою систему оптемизровал если хочешь посмореть пиши в Приват.
|
11.05.2008, 09:40 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FoK_KruGer
<3 Vocal Trance
offline
Опыт:
19,940Активность: |
happy_horror зачет я только 2х убил :D
FoK_KruGer добавил: сейчас убрал эту толпу, попробовал гарисона убить - интересно было, но все таки убил ^^ FoK_KruGer добавил: имо это прорыв в картостроении) |
11.05.2008, 13:44 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|