18

» WarCraft 3 / Siege Strategy

8gabriel8, не понял тебя)
Потестил SquareRoot и без, разницу вообще не увидел
Там сама нагрузка именно от того что кол-во вызовов условий для поиска юнитов равно квадрату кол-ва юнитов
т.к каждому юниту отдельно проверяются все юниты

Я наверное повышу интервал с 0.15 до 0.25 и повышу так же интервал автоматического применения способностей героев (там стоит 0.10 сек)
Чую что результат будет ощутимо получше, к вечеру возможно перезалью
18

» WarCraft 3 / Siege Strategy

8gabriel8, под картой я имел в виду игровую арену)
А у нее очень маленькие размеры, и даже обычный поиск 550 может дотянуться до всех юнитов
вот строчка
GroupEnumUnitsInRange(find, find_x, find_y, find_d+250., function FindUnit)
find_d это радиус атаки и 250 это максимальные физические размеры на карте, т.е замок 170 и голем 30 и +-50

Т.к GroupEnumUnitsInRange ищет не учитывая физические размеры, а просто сравнивает расстояния по координатам

А как известно: дистанция атаки по координатам - это радиус атаки плюс физ.размер цели и плюс физ.размер атакующего

Появилась идея как обойтись без SquareRoot и констант с физическими размерами:
через IsUnitInRange, там как раз учитываются физические размеры юнитов, надо лишь задать радиус атаки
18

» WarCraft 3 / Siege Strategy

пока что надо как то решить вопрос с ИИ, именно оттуда больше всего производительности уходит
Коротко как ИИ работает:
если юнит никого в данный момент не бьет - то он ищет новую-ближайшую цель с интервалом 0.15 сек (если выше поднять, то юниты будут тормознутыми, или мб мне так кажется), если он уже начал кого то атаковать - то уже не сможет "переагриться", исключение тут это если юнит будет оглушен - то он опять начнет искать новую ближайшую цель (это не баг, так и было задумано)

Так вот: сама нагрузка заключается в поиске ближайшей цели, там для одного юнита перебираются все юниты на карте и идет сравнение расстояний через SquareRoot(dx*dx+dy*dy), ну и плюс массив с константами дальности атаки и физического размера
+ на самом деле замки являются союзниками, это чтобы управление было строго под моим ИИ
+ RemoveGuardPosition каждому юниту

Я хотел конечно сделать через стандартный ИИ от "Компьютер(Средний)", но там все очень ужасно: юниты "переагриваются" постоянно и никакими костылями в JASS это не лечится (точнее "лечится", но выглядит это очень и очень убого)
Т.е юнит1 бил юнита2, далее юнит3 ударил юнита1 и юнит1 уже начал бить юнита3

Была даже идея сделать через "Цепь молний" вместо поисков на карте ближайшего юнита, но у меня тогда не было времени экспериментировать

Если с ИИ все решится - то смело можно будет хп-бары, не опасаясь что фпс упадет ниже плинтуса
18

» WarCraft 3 / Какой патч лучше?

Wadimiru:
Пока на 1.30 нет ничего стоящего. Все его стоящие "нововведения" на 1.26 успешно реализуются мемхаком. Единственное, где может быть полезен последний патч - это если с лицензией катать ладдер.
ну так бы и сидели на "1.00" патче)
главное что 1.30 хуже не сделал из того что имеется, это уже плюс не помню че там по широкоформату, но я на 16:9 в одно время играл с черными полосками по бокам (на 1.26)
а про мемхак тут наверное отдельная тема, не все понимают что это такое и как им пользоваться (хотя по сути там нету ничего сложного)

Самое главное чтобы близзарды не сделали из варкрафта машину для срубания денег, особенно из reforge (хотя уже сделали, с такой то ценой можно взять какую нибудь тяжелую ААА)

Здоровая цена за варкрафт с дополнением (по сути это уже одно целое) - максимум 300 рублей
Для Reforge от силы 500-700, но никак не 1300 (за эти же деньги 3 месяца подписки на WoW)

Я конечно понимаю что за любимую игру можно отдать такие деньги, но любой кто будет негативно критиковать меня - пусть сравнит цены на современные игры и цену на игру 2002/3 года

Но я уже отошел от темы)
Коротко говоря: основной минус того что сейчас делают близзарды это цена
В постах под анонсом Reforge как раз и говорили о неплатежеспособности и о том какие мы бомжи, если откинуть это и адекватно сравнить цены на игры - то неадекватными уже будут близзарды
18

» WarCraft 3 / Какой патч лучше?

Bergi_Bear:
UrsaBoss, на 130 вроде ирина получилась но до 12 игроков только
там близзарды в 1.30.4 меняли структуру пакета для локальной сети
Грубо говоря взяли обычный пакет, наполнили инфой о игре, а в самый конец засунули кучу байтов в base64 кодировке
В этой куче байтов лежит одна стат строка, несколько флагов и имя игры

мб будет время, я возьму опять буду парсить пакеты локальной сети от 1.30
в тот раз я запутался и толком у меня не было инфы о самой созданной игры
по сути там осталось отгадать несколько флагов и констант
18

» WarCraft 3 / Какой патч лучше?

Любая версия крута, надо только чтобы было желание играть/делать мапы
Но имхо - 1.21 устарел, а 1.30 в данный момент только для англоязычного комьюнити (русскоязычных там очень мало)

А вот на 1.26 айкапе есть всё ещё кое какая движуха, видно дофига проектов-хостботов, в том числе карт
Но когда начинается новый сезон, то буквально весь лист с играми несколько дней забит дотой

Если ты тянешься к ру-комьюнити - то качай 1.26 патч

Но конечно лучше 1.30
Там хотя бы развивается всё на официальном уровне
И нативок для мапмейкинга побольше

NazarPunk, я слышал там сделали поддержку vJass
и там
//! import "scriptfile"
в теории можно как то парсер прицепить, а далее тупо в стороннем редакторе делать код

и ещё, по сути 1.30 бесплатен, его можно скачать через левые ключи
А далее уже через коннектор ирины, но вот я не помню, собрал ли он конструктор пакета для локальной сети или нет
я как то тоже пытался собрать конструктор, но некоторые байты там и не смог разобрать
18

» WarCraft 3 / Проблема с переводом карты

PT153, всё это проходили уже, кодировка в UTF8, насчет переноса строк хз, но когда он вводит английские символы - то всё норм.
Редактирует он .txt в Units
И у него русская версия варика

Карта в ладике имеет режим только для чтения и нету листфайла
Но он юзает MPQ Master, который каким то чудом и листфайл создал и смог редактить мапу через битую хештаблицу (хотя мб там просто VxOpt в заголовке написано)
18

» WarCraft 3 / Проблема с переводом карты

Сергей19:
пустая строка
именно сама строка описания или место где должны быть русские символы?

Появилась идея:
попробуйте из редактируемой строки убрать все "не русские" буквы и просто написать там что нибудь русскими буквами

Если проблема не в кодировке, то могу предположить что русские символы конфликтуют как то с вьетнамскими
18

» WarCraft 3 / Проблема с переводом карты

у меня складывается такое ощущение что ваш блокнот не умеет работать с этими символами
попробуйте вместо "Манакост" написать вот это "Манакост"
это "Манакост" в UTF8

Символы отсюда xgm.guru/p/100/223668
Вставляю в гугл переводчик, мне выдает какие то непонятные слова и туча исправлений
Если я этот же текст беру и вставляю напрямую в hex редакторе и потом открываю txt в блокноте, то уже текст из блокнота нормально переводится в переводчике
18

» WarCraft 3 / Перевод карты(другой вопрос)

не знаю, может быть ещё кто нибудь поможет
Это уже в раздел фантастики можно)
По сути всё должно было работать ещё с первого изменения в .txt, т.к блокнот сохраняет файл в той кодировке, в которой файл был изначально
18

» WarCraft 3 / Перевод карты(другой вопрос)

не надо, я нашел похожую тему

Но если с кодировкой вопрос решили, то я не могу понять что не так
18

» WarCraft 3 / Перевод карты(другой вопрос)

Сергей19, на всякий случай переспрошу ещё раз:
изменения которые вы вносите на английском языке, видны в самом варкрафте?
18

» WarCraft 3 / Перевод карты(другой вопрос)

Сергей19:
ещё и папку unit не видит
на карте какая то "защита" заголовка стоит, как вы вообще смогли её отредактировать?)
18

» WarCraft 3 / Перевод карты(другой вопрос)

Сергей19:
MPQMaster я использую
поищите там что то похожее
либо ID языка на 00 (если он там будет)

UPD:
ID на 0000
18

» WarCraft 3 / Перевод карты(другой вопрос)

Сергей19, попробуйте в MPQ редакторе установить язык для .txt файлов на нейтральный
18

» WarCraft 3 / Перевод карты(другой вопрос)

Сергей19, какой язык используется в варкрафте?
и сам варкрафт имеет поддержку русских символов?
18

» WarCraft 3 / Перевод карты(другой вопрос)

Сергей19:
Сохраняю в блокноте в utf-8 кодировке все равно не работает
дайте скриншот из окна блокнота (alt+prtsc в блокноте)
скриншот в png
18

» WarCraft 3 / Перевод карты(другой вопрос)

Сергей19, прямо в варкрафте? Или где?
Это по сути и есть UTF8, но в блокноте должно отображаться человеческими буквами

Просто саму перекодировку делает блокнот, в него нужно вводить обыкновенные буквы
Главное при сохранении указать UTF8

Сергей19:
не могу перекодировать. Посоветуйте сайт
вам не надо ничего перекодировать, просто вводите в блокноте текст как обычно
но при сохранении укажите кодировку UTF8
18

» WarCraft 3 / Перевод карты(другой вопрос)

Сергей19:
А кирилица разве не utf 8
В Windows по умолчанию в блокноте используется кодировка windows-1251
Поэтому все текстовые файлы из папки Units нужно сохранять в UTF8

Если это не помогает - значит вы что то делаете неправильно, редактируя описания

windows-1251 - это ANSI (в русских версиях Windows)
18

» WarCraft 3 / Перевод карты

Все эти "каракули" это символы в UTF8 кодировке
Грубо говоря - все "не английские символы" идут как два символа