Преимущественно хотелось бы на ГУИ, конечно.
Что подразумевается в виду? Если кто-нибудь играл в Донт Старв, то механика ускорений по дороге сразу будет понятна. Грубо говоря, у юнита просто МС повышается, когда он передвигается по определённому типу ландшафта. Но здесь есть одно НО, - тут речь идёт уже о мили-карте 420x420 с огромным количеством одновременно находящихся юнитов и разных сложных, динамически-работающих механик, поэтому вариант в стиле "каждый раз спавнить каст-даммика и удалять бафф через время, притом ещё и отслеживая это время" выглядит малёха кукожно. И ещё один момент - допустим, в игре есть условный юнит-архитектор, который может строить эти самые дорожки (менять тип ланда). Эта холобуда должна работать в том числе на все дорожки, которые построит он, поэтому схема с областями крайне усложняется из-за этого. Я понимаю, что если учесть все вышеописанные пожелания, то задача становится довольно сложной для решения, но мне бы хотелось чисто узнать о сферических конях в вакууме, - какие вообще, даже лютейше отдалённые по оптимизированной реализации, варики существуют для осуществления всего этого.

TechnoViking, тю, ну если хочешь без периодика то ставь области где они должны бегать ускоренно, когда входят выдаёшь абилку, когда выходят - отбираешь
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
30
Проверяешь тип почвы под юнитом и меняешь его скорость, в чём проблема-то?
Нативки есть и для того и для того
9
Clamp:
Проверяешь тип почвы под юнитом и меняешь его скорость, в чём проблема-то?
А если дело происходит в боёвке, где масло опрокидывают\хастят юнитов? Перемешиваться ж цифры будут.
+ триггер-периодик в 1 сек, который будет чекать ВСЕХ юнитов на мили-карте, - такое себе, ибо их в лейте будет под несколько тысяч на карте.
[ну ок, тут можно оптимизировать группой-массивом со всеми типами именно БЕГАЮЩИХ юнитов, но это лишь часть проблемы решит, а местами и добавит, ибо мне придётся в напёрстки с 9999 колпачками играть постоянно относительно юнитов, которые на триггерные замены\тёмного подвязаны]
Нативки есть и для того и для того
Что такое нативка?
30
их в лейте будет под несколько тысяч на карте
Предлагаю потестировать карту с таким количеством юнитов заведомо, узнаешь очень много об оптимизации игрового процесса. Спойлер: даже несколько сотен окажутся малоиграбельным количеством.
Проверять нужно юнитов с приказом отличным от "стоп", а не ВСЕХ юнитов на мили-карте.
Помимо функции установки скорости есть функция её сброса в дефолт.
А вообще советую сначала проверить как оно работает, прежде чем говорить о перемешивании чисел.
9
Clamp:
их в лейте будет под несколько тысяч на карте
Предлагаю потестировать карту с таким количеством юнитов заведомо, узнаешь очень много об оптимизации игрового процесса. Спойлер: даже несколько сотен окажутся малоиграбельным количеством.
Проверять нужно юнитов с приказом отличным от "стоп", а не ВСЕХ юнитов на мили-карте.
А вообще советую сначала проверить как оно работает, прежде чем говорить о перемешивании чисел.
Хорошо. Возможно, я не прав. Я протесчу всё, что ты сказал.
Помимо функции установки скорости есть функция её сброса в дефолт.
А где вот это найти в редакторе?
30
А где вот это найти в редакторе?
native          SetUnitMoveSpeed    takes unit whichUnit, real newSpeed returns nothing
constant native GetUnitMoveSpeed    takes unit whichUnit returns real
constant native GetUnitDefaultMoveSpeed takes unit whichUnit returns real

Сейчас нативок больше чем есть по ссылке, но у меня нет установленного варкрафта, чтобы вытянуть common.j актуальный.

Немного ошибся, не метод сброса в дефолт, а метод узнать её дефолтное значение.

Что такое нативка?
Предопределённый в API игры метод, "нативная функция".
28
Я уже делал подобное, тоже играл в донт старв, вариковскими функциями изменять скорость передвижения попросту нельзя, оно такое кривое шо жуть, надо выдавать абилку ботинок. Периодическим таймером выбираем всех юнитов в группу при условии что они находятся на почве и не имеют абилку ускорения, выдаём им ускорение. Другим действием выбираем всех юнитов в этой группе при условии что они находятся не на почве и удаляем абилку
9
Clamp:
А где вот это найти в редакторе?
native          SetUnitMoveSpeed    takes unit whichUnit, real newSpeed returns nothing
constant native GetUnitMoveSpeed    takes unit whichUnit returns real
constant native GetUnitDefaultMoveSpeed takes unit whichUnit returns real

Сейчас нативок больше чем есть по ссылке, но у меня нет установленного варкрафта, чтобы вытянуть common.j актуальный.

Немного ошибся, не метод сброса в дефолт, а метод узнать её дефолтное значение.
А можно как-то всё это на ГУИ переделать? [я полный 0 в джассе]

rsfghd:
Я уже делал подобное, тоже играл в донт старв, вариковскими функциями изменять скорость передвижения попросту нельзя, оно такое кривое шо жуть, надо выдавать абилку ботинок. Периодическим таймером выбираем всех юнитов в группу при условии что они находятся на почве и не имеют абилку ускорения, выдаём им ускорение. Другим действием выбираем всех юнитов в этой группе при условии что они находятся не на почве и удаляем абилку
Ну лол, походу ЗДАРОВА СЕКУНДНЫЕ ПЕРИОДИКИ
Этого я и боялся...
28
TechnoViking, тю, ну если хочешь без периодика то ставь области где они должны бегать ускоренно, когда входят выдаёшь абилку, когда выходят - отбираешь
Принятый ответ
9
rsfghd:
TechnoViking, тю, ну если хочешь без периодика то ставь области где они должны бегать ускоренно, когда входят выдаёшь абилку, когда выходят - отбираешь
Вот терь лишь об этом и подумываю. Типа болота какие-нибудь замутить специально +\- прямоугольной формы с маслом или священную поляну с массхастом...
30
вариковскими функциями изменять скорость передвижения попросту нельзя, оно такое кривое шо жуть
Жажду подробностей.

[я полный 0 в джассе]
9
Clamp:
вариковскими функциями изменять скорость передвижения попросту нельзя, оно такое кривое шо жуть
Жажду подробностей.

[я полный 0 в джассе]
А вот и не основа основ, у меня почти все баги фиксятся, и карта не лагает. Особых напрягов не чувствую.
Вон Создай деревню сделал чел на чистом ГУИ, и прекрасный проект, можно сказать, вышел. Выстрелил и ничего.
Для хорошей карты нужна не тонна кода и какие-то оверсложные системы, новые герои, фанфары с мишурой...
Нужна просто Идея и любовь к варику.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.