Ещё где-то год назад я начал делать записи для себя про редактор карт Starcraft 2. Записывал туда всякие мелочи, ограничения, чтобы их не забыть. В итоге получился очень внушительный список, он должен помочь любому картостроителю в Starcraft 2, чтобы…
Sergarr, в старкрафте я могу делать хреналион разных вещей, которые невозможно сделать в варкрафте. Думаю, за это вполне можно заплатить ограничением на максимальные значения.
Простой пример - система актеров позволяет програмно собирать модель юнита из кусков с привязкой не как-попало, а по костям или координатам, на твой выбор. При этом учитываются анимации и есть куча самых разных возможностей по кастомизации. Например, я пользуюсь этой воможностью в одной карте чтобы крепить к основной модели башни дополнительное оружие(и модель и способ наносить урон), которое может иметь свое собственное наведение на цель и визуально наводится независимо от основного. При этом это по прежнему один юнит, обладающий двумя и более независимыми атаками.
в sc2 используются fixed вместо float
это решает ряд проблем, связанных с сетевой синхронизацией и разницей вычислений на разных процессорах
float хранит числа как M * 10^n, а fixed приблизительно как M/1000000 со всеми вытекающими
Размер инвентаря ограничен 6 слотами. Тут имеется в виду открытый инвентарь. Близзары так и не добавили поддержку большего количества. Если хотите большой все время открытый инвентарь, пишите свою систему на диалогах...
есть решение, позволяющее держать одну из "сумок" постоянно открытой.
Может быть только два уровня склонов. Как это обойти смотрим здесь
использование высот вместо клифов всегда было предпочтительнее, так что двух уровней клифов хватает в 90% случаев
Действительное число находится в пределах от -524287 до 524287, причём это касается как триггеров, так и модуля данных. Это самое главное ограничение про которое надо помнить. И оно порождает кучу геморроя в редакторе карт Starcraft 2.
числа - да, это может быть проблемой, но я разделяю мнение близов что слишком большие числа выглядят не красиво и их лучше избегать. Увеличение ehp юнита в старкрафте принято делать за счет брони.
Текст нельзя конвертировать в строку. Т.е. по сути вы не можете сравнить текст в триггерах.
а это действительно нужно?
Размер карты ограничен 256x256.
Оправдано соображениями производительности. Одиночные кампании лучше разбивать на несколько карт, а для сети карты-гиганты, напичканные декорациями и юнитами были бы неиграбельны.
Эффект Set не может содержать больше 8 эффектов.
а это действительно нужно? впору задуматься о рефакторинге вашей архитектуры эффектов, если восьмерки не хватает - куда логичнее разбить различные действия на несколько групп, чем пытаться выполнить их все сразу, особенно учитывая потенциальное повторное использование таких групп в других составных эффектах.
Можно использовать только 8 текстур рельефа одновременно.
Точно 8? Мне почему-то приходит на ум цифра 16, но это уже завтра проверю.
Меня больше печалит ограничение на кол-во "отметок пути", которые позволяют показать на миникарте и игровом поле путь между двумя точками с учетом проходимости или отсутствие возможности делать эти пути состоящими из нескольких сегментов в рамках одного объекта (или я не разобрался).
Также огорчает отсутствие возможности эмулировать поведение кости TurretZ через настройки актера без дополнительной модели, опять-же, я мог не разобраться.
На самом деле больше всего огорчает отсутствие внятной документации, даже не туториалов, а просто документации.
P.S. все эти ограничения это ничто в сравнении с обилием возможностей.
Комментарии проекта Блог им. KorvinGump
Выбор редакции
Физический движок в Starcraft 2, основанный на агентах
Список ограничений редактора карт Starcraft 2
это решает ряд проблем, связанных с сетевой синхронизацией и разницей вычислений на разных процессорах
float хранит числа как M * 10^n, а fixed приблизительно как M/1000000 со всеми вытекающими
Ну и где тут прогресс?