Ещё где-то год назад я начал делать записи для себя про редактор карт Starcraft 2. Записывал туда всякие мелочи, ограничения, чтобы их не забыть. В итоге получился очень внушительный список, он должен помочь любому картостроителю в Starcraft 2, чтобы избежать недопонимания и различных багов:
  • Действительное число находится в пределах от -524287 до 524287, причём это касается как триггеров, так и модуля данных. Это самое главное ограничение про которое надо помнить. И оно порождает кучу геморроя в редакторе карт Starcraft 2. Обо всем по порядку.
  • В связи с тем, что здоровье, щиты и энергия - это действительные числа, то они ограничены сверху 524287. Что будет если вы попытаетесь установить это значение больше 524287? Будет перегрузка, сначала здоровье юнита сбросится на 1 и его можно будет убить с одного удара, а если еще поднажать, то он сам себя убьет. Весело, да, и это спустя почти четыре года ... Близзард до сих пор не сделали валидацию перегрузки этих значений автоматически. Поэтому если у вас планируется использование большого количества здоровья у юнитов, помните, что оно не может быть больше 524287. Но с помощью баффов и поля damage response это число можно сильно увеличить. Минимальное число, которое можно вбить в поле modify fraction 0,0002. По формуле вычисляем максимальное эффективное здоровье юнита 1/0,0002*524287=2 621 435 000. Также здоровье юнита можно увеличить за счет регенерации, но тут уже не понятно как считать EHP.
  • В модуле данных в свойствах юнита нельзя установить здоровье, щиты и энергию больше 100 000, не смотря на то, что максимально возможно число 524287. Спустя почти четыре года близзарды так и не исправили это... Пользуйтесь баффами или триггерами для того чтобы установить эти параметры вплоть до 524287.
  • В связи с тем, что действительное число в редакторе карт Starcraft 2 ограничено 524287, то оно касается абсолютно любого значения, и самого главного - урона юнита. Более того начиная где-то с патча 2,1, близзарды угробили возможность поставить в эффект урона значение 524287. Вместо этого они сократили его вдвое 524287/2=262143. Т.е. если вы поставите значение в поле эффекта урона большее 262143, урон в игре будет сброшен до 0,5, весело не правда ли? Для того чтобы обойти это глупое ограничение, вам потребуется использовать бафф с увеличением доли наносимого урона Damage Dealt Fraction, подчеркиваю еще раз, что именно доли, если будете использовать что-то другое это не будет работать. Также заметил, что бонус к урону работает в veterancy behaviorе вплоть до 524287. Так что можно и его еще использовать.
  • Минимальное действительное число в модуле данных 0,0002, хотя я в этом не уверен, но для баффов это так.
  • Текст нельзя конвертировать в строку. Т.е. по сути вы не можете сравнить текст в триггерах. Печально.
  • У юнита не может быть больше 32 способностей. Как это обойти смотрите в видео www.youtube.com/watch?v=UuV9XBxfkKI&list=PLnUf3EaBFl2LBFxnEm...
  • Юнит не может иметь больше 64 баффов. Баффы можно динамически удалять и добавлять, поэтому нахимичить тут можно.
  • Максимальный радиус обзора юнита равен 16, хотя максимальное значение в модуле данных равно 32. Не важно что туда вы вобьете в игре это не будет работать.
  • Миникарта не может рендерить более 2000 юнитов. Они начинают исчезать и появляться на миникарте.
  • Близзардкая сигнатура для защиты банков может быть легко взломана, поэтому не рекомендуется ее использовать.
  • Можно использовать только 8 текстур рельефа одновременно.
  • Может быть только два уровня склонов. Как это обойти смотрим здесь www.youtube.com/watch?v=nDrorYFR8lc&list=PLnUf3EaBFl2LBFxnEm...
  • Размер карты ограничен 256x256.
  • Размер инвентаря ограничен 6 слотами. Тут имеется в виду открытый инвентарь. Близзары так и не добавили поддержку большего количества. Если хотите большой все время открытый инвентарь, пишите свою систему на диалогах...
  • Эффект Set не может содержать больше 8 эффектов.
  • Нельзя динамически изменять атрибуты юнитов. Обходится упорно и геморойно через баффы...
Наверняка я еще кучу всего забыл, пишите в коментах, добавлю. Всем спасибо за внимание. Надеюсь ваш пукан после этого безобразия в порядке :)
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
24
10 лет назад
0
Размер инвентаря ограничен 6 слотами. Тут имеется в виду открытый инвентарь. Близзары так и не добавили поддержку большего количества. Если хотите большой все время открытый инвентарь, пишите свою систему на диалогах...
есть решение, позволяющее держать одну из "сумок" постоянно открытой.
Может быть только два уровня склонов. Как это обойти смотрим здесь
использование высот вместо клифов всегда было предпочтительнее, так что двух уровней клифов хватает в 90% случаев
Действительное число находится в пределах от -524287 до 524287, причём это касается как триггеров, так и модуля данных. Это самое главное ограничение про которое надо помнить. И оно порождает кучу геморроя в редакторе карт Starcraft 2.
числа - да, это может быть проблемой, но я разделяю мнение близов что слишком большие числа выглядят не красиво и их лучше избегать. Увеличение ehp юнита в старкрафте принято делать за счет брони.
Текст нельзя конвертировать в строку. Т.е. по сути вы не можете сравнить текст в триггерах.
а это действительно нужно?
Размер карты ограничен 256x256.
Оправдано соображениями производительности. Одиночные кампании лучше разбивать на несколько карт, а для сети карты-гиганты, напичканные декорациями и юнитами были бы неиграбельны.
Эффект Set не может содержать больше 8 эффектов.
а это действительно нужно? впору задуматься о рефакторинге вашей архитектуры эффектов, если восьмерки не хватает - куда логичнее разбить различные действия на несколько групп, чем пытаться выполнить их все сразу, особенно учитывая потенциальное повторное использование таких групп в других составных эффектах.
Можно использовать только 8 текстур рельефа одновременно.
Точно 8? Мне почему-то приходит на ум цифра 16, но это уже завтра проверю.

Меня больше печалит ограничение на кол-во "отметок пути", которые позволяют показать на миникарте и игровом поле путь между двумя точками с учетом проходимости или отсутствие возможности делать эти пути состоящими из нескольких сегментов в рамках одного объекта (или я не разобрался).
Также огорчает отсутствие возможности эмулировать поведение кости TurretZ через настройки актера без дополнительной модели, опять-же, я мог не разобраться.
На самом деле больше всего огорчает отсутствие внятной документации, даже не туториалов, а просто документации.
P.S. все эти ограничения это ничто в сравнении с обилием возможностей.
0
12
10 лет назад
0
Т.е. в 3 варкрафте я могу делать числа хоть до 2 миллиардов, а в 2 старкрафте только до ~500 000 тысяч?
Ну и где тут прогресс?
0
37
10 лет назад
0
в sc2 используются fixed вместо float
это решает ряд проблем, связанных с сетевой синхронизацией и разницей вычислений на разных процессорах
float хранит числа как M * 10^n, а fixed приблизительно как M/1000000 со всеми вытекающими
0
24
10 лет назад
0
Sergarr, в старкрафте я могу делать хреналион разных вещей, которые невозможно сделать в варкрафте. Думаю, за это вполне можно заплатить ограничением на максимальные значения.
Простой пример - система актеров позволяет програмно собирать модель юнита из кусков с привязкой не как-попало, а по костям или координатам, на твой выбор. При этом учитываются анимации и есть куча самых разных возможностей по кастомизации. Например, я пользуюсь этой воможностью в одной карте чтобы крепить к основной модели башни дополнительное оружие(и модель и способ наносить урон), которое может иметь свое собственное наведение на цель и визуально наводится независимо от основного. При этом это по прежнему один юнит, обладающий двумя и более независимыми атаками.
0
28
10 лет назад
0
KorvinGump, знаете, для чего жадные Близзы оставили эти проблемы? Чтоб жарить патчи.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.