- AI-противники. Введение в игру актеров под управлением компьюетра (Players -> Player Computer) ведет к рассинхронизации игр. Видимо, рассинхронизация вызвана особенностями "сетевого движка" и коррекции не подлежит. Рассинхронизация проявляется в несоответствии состояний и действий как актеров под управлением компьютера, так, в скором времени после, и Актеров под управлением других игроков. Исходя из наблюденией можно предположить, что косвенными причинами рассинхронизации является рандоматизация попаданий, повреждений и подобное, а также поведения актеров компьютера. Тем не менее, исключение из игры критических ударов и приведение повреждений оружия к фиксированному значению результатов не дали ибо различия в действиях компьютерных актеров у разных клиентов приводит к ситуациям с живыми у одного, и убитыми у другого клиента актерами.
Из наблюдений также просматривается нечто вроде повторной синхронизации игры, когда уже "разошедшиеся" патрули резко прибавляли в скорости и вновь двигались синхронно. Однако в случаях с мертвым/живым актером этого не происходит и мертвые остаются мертвыми, а живые живыми.
Что еще хуже, рассинхронизация может повлиять и на актера другого игрока. Различное количество Хит-Поинтов выглядит самым безобидным, потому что возникают более сложные проблемы как различное положение тела, несоответствие режима "скрытности", различные действия актеров игроков у клиентов. Последнее особенно интересно и проявляяется в таком виде, будто игра сама обсчитывает активность актера у каждого клиента в отдельности (например, при Агрессивном режиме поведения, боец игрока у одного клиента будет бездействовать в отсутствие врагов, а другого в том же месте, но уже с живыми «мертвыми» врагами поливать их из автомата). При этом в мультиплеерной игре без компьютерных актеров такого замечено не было и актеры игроков делали в точности те же действия (с поправкой на лаг).
Попытки нейтрализовать эффект рассинхронизации результатов не дал. Пробовалось использовать повторяющийся триггер с 10 секундным таймером и Add XP/Move Uint(даже в случае, если объект Move Unit бойцы обоих игроков, и перемещение в их же позицию) нет эффекта.
Собственно этот момент очень интересен триггеры также работают у каждого клиента отдельно, по крайней мере, в случае рассинхронизации "в одного живого противника" у клиента с убитыми врагами срабатывал триггер 'Player Computer has Alive Less then 1 at Anywhere', в то время, как у клиента с одним противником нет. Но срабатывал когда убивали последнего противника.
А интересно это тем, что в мануале к FT Tools есть фраза: " The more scripting you use, the more data has to be shared between clients. Keep it as simple as possible."
- Click Speach. Не работает функция Click Speach на актерах, хоть укзатель и меняет свой вид на «прицел с облачком». Выдается в логе сообщение о невозможности и на этом все. Force Speach также не работает.
- Тэги. SinglePlayerSpawn, SpawnGeneric, SpawnPlayer и SpawnTeam с тэгом не передают тэг актеру, который на этом спауне появился. А все потому, что тэгаются сами энтити, т.к. в МП есть респаун и ентити спауна остается на своем месте всю игру.
ВОЗМОЖНОСТИ:
- Scenery. Юниты игрока Scenery могут красиво стоять и ничего не делать. А скриптами их можно отдать под управление кому-то из игроков. Еще они могут пользовать RandomSpeach. Т.е. теперь они могут стоять, ничего не делать и периодически отпускать пошлые шуточки в сторону игроков.
TRIGGERS:
Вот список того, что не проверено в работоспособности (чего нет работает).
CODE |
CONDITION section: -Skill Use Occured -All Alive At Exit Grid -SpeachOccured (RandomSpeach) [нету КликСпич/ФорсСпич. Видимо, только с RandomSpeech] -Brain Extraction Complete -Main Actor Alive [не работает] ACTION section: -AI ориентированные команды [скорее всего работают, но из-за невозможности использовать AI-юнитов из списка вычеркиваются] -Force Speach [не работает] -Show Timer [видимо зарезервировано для 'Time Limit' таймера МП игры] -Set Death Text -Goto Mission [не работает] -Toggle Exit Grid -Set Click Speach [наверняка работает, но бессмыслена т.к. нету КликСпича] -Give Item from NPC to Human -Ping Minimap [работает ли оно вообще?] -Play Bink Movie -Modify Recruit... [не работает] -Add items to Quarter... [не работает] -Open Mission [не работает] -Mission Complete -Set Random Encounter Enabled... [не работает] -Brain Extraction |