главная турниры статьи wiki карта сайта логин
 

EffectWML и... вообще WML :)

Автор FallenPhoenix, января 04, 2013, 13:34:08

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

FallenPhoenix

Пытаюсь как следует разобраться в EffectWML - как для правки косяков в некоторых аддоных, так и для нормального перевода соответствующей статьи справочника (тыц).

Что неясно:

  • Описания тегов [object] и [effect] в офф вики явно противоречат друг другу: в первом значится, что бойцу выделяется какой-то специальный объект (вместо прямой правки, как я понимаю?) и дополняется сие дело атрибутом duration, но в самом начале статьи об эффктах пишут прямо противоположное: "Modifications are permanent changes to a unit; currently there is no way of removing a modification."
  • В чем смысл наличия тега [filter] сразу в двух экземплярах: и в [object], и в [effect]? Чем они отличаются?
  • Не пойму, почему в оглавлении EffectWML не поместили под DirectActionsWML. Оно может еще где-то использоваться?
  • Модификация бойцов через эффекты и через переменные ([story unit] - [unstore unit]), по сути, лишь альтернативы друг другу. Как по оптимизации, и вообще что для чего в целом лучше подходит?

Кстати, касательно оптимизации очень волнует еще другой вопрос. Аддоны прилично увеличивают время загрузки мультиплеера, а некоторые и сами по себе тормозят нехило (как вона SXRPG, особенно под виндой). При этом часть данных движок явно обрабатывает сразу, а часть - уже во время загрузки карты и собственно игры. Ну и собственно непомешало бы этот момент понять поподробней: когда точно вызывается препроцессор, сколько это времени занимает, что насчет скриптов на Lua, есть ли какие-то встроенные средства отладки производительности (чтоб в файл например писало, сколько миллисекунд ушло на какую операцию) и т.п. Заморачиваться ради каждой миллисекунды, конечно, не буду, но узкие места кое-где хотелось бы проработать.


ShuricK

1 - имели в виду что перманентно в пределах карты или уровня.
2 - effect - одно изменение, а object может нести не одно, так что в effect просто уточнение. Ветвление в духе switch case также.
3 - не критично
4 - store гораздо тяжелее, полезно если
    а - нехило перелопачиваем юнит
    b - применяем изменения не сразу, накапливаем до определенного момента
    с - дебажим

про луа - качаи дев версию, спрашиваи на форуме, смотри src. Время выполнения скорее всего через профаилер


FallenPhoenix

#2
Цитата: ShuricK от января 04, 2013, 14:44:223 - не критично
Но любопытно, в большей степени для справочника, исключительно ли это подтег [object], или отдельная стуктура, используемая в нескольких местах.

Цитата: ShuricK от января 04, 2013, 14:44:224 - store гораздо тяжелее
Хм, а от эффектов юниты распухают однако, ибо кроме изменения базовых переменных, появляются эти самые объекты наподобие лога (см. :debug - :inspect); сами чистятся, походу, исключительно через duration, а вручную - только через все то же store. Видать, это и имели в виду под перманентностью... извращенцы =\
Этак добавил атаку, потом удалил - и у юнита 2 новых объекта в modifications. А в РПГшках с возможностью смены оружия так вообще герои могут "растолстеть" что трындец... Т.е. store - простые изменения, за которыми и следить нужно самостоятельно при всяких там левелапах, а object - патчи, за которыми автоматически следит сам движок, этакая встроенная система контроля версий ;D. Так получается? Однако, разницу в производительности все ж непомешало бы как-нить потестить...