Конференция по Oolite http://oolite.ru/coriolis/ |
|
Oolite 1.84: новый скрытый параметр concealment http://oolite.ru/coriolis/viewtopic.php?f=3&t=687 |
Страница 1 из 1 |
Автор: | stranger [ 29.07.16 ] |
Заголовок сообщения: | Oolite 1.84: новый скрытый параметр concealment |
В Oolite кроме хорошо документированных и хорошо известных продвинутому геймеру параметров есть "скрытые" параметры. Опытные разработчики пакетов о них знают и в своих пакетах их используют. Не входящим в узкий круг посвященных информацию об этих эзотерических штучках приходится добывать по крупицам. Новый параметр concealment - как раз одна из таких "скрытых" штучек. Тонкая игра слов - concealment как раз означает 1. скрывание, утаивание, маскировка 2. тайна, секрет 3. сокрытие, укрывательство 4. тайное убежище Информации о новом параметре в официальном извещении What's New in Oolite 1.84 на сайте http://oolite.org/ нет, да и в более подробном извещении для разработчиков он вскользь упомянут в единственной строке без каких-либо деталей. Позволяет избирательно показывать информацию о системе, и все тут. Никакой технической документации на EliteWiki о новом параметре я не обнаружил. Вся доступная мне информация содержалась в сообщении на форуме от коммандера cim (один из ведущих разработчиков проекта, если чё), которое было датировано 9 августа 2015 года. Тема Progress огромная, на 124 страницы и сейчас я уже не помню, как именно обнаружил это сообщение. Вот дословное описание: There's a new "concealment" parameter to planetinfo.plist and JS equivalents. This determines how much information about the system is unknown. It's a number, and the following values are recognised 0 (default): all information visible 100 or more: F7 screen shows no information, economy/gov/TL/star colour not visible on chart either 200 or more: system name is not shown 300 or more: system vanishes entirely from chart, will not be used in route plotting, cannot be targeted by player (NPCs can still jump to it, though) [Введен] новый параметр "concealment" в planetinfo.plist и в соответствующий JS. Он определяет, какая часть информации о системе неизвестна. Это число, которое может иметь следующие значения: 0 (по умолчанию): видна вся информация 100 и более: экран F7 не дает информацию о системе, [пиктограммы] типа экономики, правительства, технологического уровня системы, цвет звезды не видны на карте 200 и более: имя системы не показано [на карте] 300 и более: система полностью исчезает с карты, не может быть использована для прокладки маршрута, не может использоваться игроком как цель (боты, однако, по прежнему могут в нее прыгать) Вот эту критически важную информацию я слил Максу, когда он делился своими соображениями, как реализовать раскрываемую карту. Без нее пакет ZeroMap не был бы написан. Теоретически параметр concealment открывает очень вкусные возможности - начиная от сценария миссии в систему, которая спрятана на карте до поры до времени и открывается только по выполнению специального условия и до реализации игры-путешествия с постепенно открываемой картой. На практике, однако параметр concealment в нынешнем виде еще сырой и работает не совсем так, как обещали разработчики. Проведем небольшую лабораторную работу. Открываем скрипт пакета ZeroMap 0.3, находим строку 70 и редактируем Код: c = 300; на Код: c = 200; что позволяет сделать все системы на карте видимыми, но теоретически блокирует вывод любой информации о них. Запускаем игру с модифицированным пакетом и открываем карту F6. Таки да, все непосещенные системы за пределами 7 LY стали белыми немаркированными кружками. Замыкаем курсор дальней навигации на любой из неизвестных систем и открываем паспорт системы. Видим пустой формуляр с сообщением "информация об этой системе недоступна". Радоваться рано. Возвращаемся на карту F6 и снова открываем паспорт этой же системы F7. Теперь, со второй попытки, мы видим все данные о системе. Это не дефект пакета Макса. Параметр concealment не работает как задумано: если вы видите систему на карте, вы можете получить о ней всю информацию. Пока что единственный прок от параметра concealment = 200 - он позволяет быстро и удобно показать на карте системы, в которых вы еще не побывали. concealment = 100 в нынешнем виде вообще не понять к чему. Ну, пиктограммы на карте не выводятся и в паспорте системы при первом вызове экрана F7 нет картинки планеты, и это всё! Повторный вызов экрана F7 и здесь все ставит на место. Между тем одну потенциально интересную опцию разработчики игры не использовали. Параметр concealment, который не убирает систему с карты, как concealment = 300, а делает ее прозрачной. То есть геймер систему не видит, но планировщик маршрута проводит через нее маршрут, все миссии генерируются штатно, метки на систему кладутся. Геймер может даже замкнуть курсор на с виду пустое место на карте и обнаружить: ага, здесь что-то есть. И вот в этом случае Максу не пришлось бы отлаживать скрипт, который отслеживает генерацию миссий на неизвестные невидимые системы со статусом системы concealment = 300 и помечает их статусом concealment = 200. Такие дела. |
Автор: | Max [ 01.08.16 ] |
Заголовок сообщения: | Re: Oolite 1.84: новый скрытый параметр concealment |
Должен сказать, что поведение параметра concealment изменилось относительно версии 1.83 (под которую изначально разрабатывался плагин). Вернее, не поведение параметра изменилось, а особенности перехода между экранами (тут и происходит скрытие карты). И сейчас наблюдаются некоторые проблемы. Попробую разобраться и подправить ZeroMap. |
Автор: | Max [ 01.08.16 ] |
Заголовок сообщения: | Re: Oolite 1.84: новый скрытый параметр concealment |
stranger: Запускаем игру с модифицированным пакетом и открываем карту F6. Таки да, все непосещенные системы за пределами 7 LY стали белыми немаркированными кружками. Замыкаем курсор дальней навигации на любой из неизвестных систем и открываем паспорт системы. Видим пустой формуляр с сообщением "информация об этой системе недоступна". Радоваться рано. Возвращаемся на карту F6 и снова открываем паспорт этой же системы F7. Теперь, со второй попытки, мы видим все данные о системе. Должен сказать, что именно подобная последовательность действий у меня не приводит к проблемам. А вот для проблем было достаточно следующей последовательности действий: F6 (выбираем скрытую планету) -> F7 (нет информации) -> F8 -> F7 (видим все). И ошибка скорее в ZeroMap, чем в Oolite 1.84. Дело в том, что для информирования о том, что сейчас будет переключен экран есть 2 события: guiScreenChanged и guiScreenWillChange. Я использовал одно из этих событий: guiScreenChanged и сумел добиться сокрытия карты. Хотя согласно документации необходимо использовать guiScreenWillChange для изменения информации на экране. Но с guiScreenWillChange везде скрыть не получилось (не для всех переходов вызывается). Теперь же что-то внутри игры переписали, что одного события guiScreenChanged стало недостаточно. Но с помощью комбинирования обработки обоих событий все встало на свои места. Так что скоро на экранах: ZeroMap_0.4.oxz |
Автор: | Max [ 08.08.16 ] |
Заголовок сообщения: | Re: Oolite 1.84: новый скрытый параметр concealment |
Да, с concealment есть проблемы, отправил баг-репорт. Хотя изменения поведения именно в результате перехода между экранами я не заметил - как показывало всю информацию для concealment 200, так и показывает. |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |