Oolite
Имя
Пароль
 Запомнить
  Re: Презентация наших ОХР
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
stranger:
Вопрос такой: есть ли интерес подумать о плагинах, закрывающих озвученные проблемы? На мой взгляд, оно были бы востребованы.

Я посмотрю, что можно сделать. Если проблема решается через API, то плагин должен получиться достаточно простым.


  Re: Презентация наших ОХР
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
stranger:
1. Фиксация в сэйве информации об астероидах системы.

Сделал сохранение оставшихся астероидов в Save-файле. Но нет возможности однозначно идентифицировать астероид.
Сейчас использую координаты астероида и имя модели из shipdata.plist. Соответственно плагин может не сработать с движущимися астероидами (если координаты на момент сохранения / загрузки будут разными). Впрочем, на сколько я понимаю, стандартные астероиды не двигаются.

Может кто подскажет более корректный способ идентификации астероидов?

P.S. астероиды ищу по основной роли "asteroid". И если не использовать плагины, то их всего 29 на Lave.


  Re: Презентация наших ОХР
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
AsteroidRemover 0.1

Данный плагин позволяет сохранить ранее уничтоженные астероиды в текущей системе в save-файл, чтобы после загрузки можно было продолжить их планомерное уничтожение. При переходе между системами уничтоженные астероиды сбрасываются.

stranger:
Внимательный геймер обратил внимание, что паттерн засева астероидов в системах, по крайней мере на линии входной маяк-планета, воспроизводится детерминированно. Входишь, к примеру, в систему, Leesti, по пути к станции чистишь астероиды, сохраняешься на станции, стартуешь - а они все там же и все те же. Было бы неплохо повторный засев уничтоженных астероидов блокировать, пока геймер не покинет систему.


Скачать: В личной рубрике.

P.S. Возможны проблемы совместимости с дополнительными плагинами, которые добавляют астероиды. Надо тестировать.


Последний раз редактировалось Max 12.08.16, всего редактировалось 2 раз(а).

  Re: Презентация наших ОХР
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 01.10.12
Сообщений: 747
Откуда: Novosibirsk
01.jpg


02.jpg


Max:
Впрочем, на сколько я понимаю, стандартные астероиды не двигаются.

Стандартные может и нет, но вот очень реалистичные астероиды из пакетов AsteroidStorm и ZygoUgoAsteroids двигаются и даже очень быстро.


  Re: Презентация наших ОХР
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
To vasig

Коммандер vasig, мне очень жаль, что я поневоле ввел Вас в заблуждение неточной информацией.
К сожалению, я не проверил в игре свои замеры, сделанные на карте. Расстояние Verebeti-Estebiin на скриншоте короче, чем вышло по моим замерам: 11.6 LY вместо 12.1 LY (не зная точный масштаб, я основывался на известных мне отрезках). Но даже при этом островные системы Estebiin и Qutius находятся в пределах 10 LY от ближайшей материковой системы Edmainer. Вопрос снят, на стандартных картах 10 LY надежно хватает для обнаружения изолированных регионов.

To Max

Спасибо, вечером проверю плагин.

P.S. С нестандартными астероидами как раз проблемы нет: вполне можно допустить, что ни приходят откуда-то из астероидного пояса и все равно после перезагрузки и старта со станции окажутся где-то в другом месте. Но вот повторяющийся из раза в раз паттерн неподвижных астероидов, который воспроизводится после каждого старта со станции - это достает изрядно.


  Re: Презентация наших ОХР
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
To vasig

Согласно моему тестированию, 10LY достаточно для того, чтобы увидеть как минимум одну систему из любой изолированной группы с какой-либо системы основной группы.

To stranger

Хм... Я тут подумал и понял, что проблемы как раз возможны. Технически, я храню не взорванные астероиды, а оставшиеся в системе. И при старте удаляю все, что не в списке оставшихся. Так что если будет конфликт, то сторонние астероиды могут сразу и удаляться при старте...

Или переделывать - хранить перечень астероидов после засева и сравнивать с перечнем при сохранении. Все, что удалилось - попадает в сохранение. Но тогда мы автоматом удалим движущиеся астероиды...

В общем, надо тестировать. На сколько я видел, сторонние плагины могут засев делать в неуроченный момент (AsteroidStorm). Или основную роль свою дают (ZygoUgoAsteroids). Или астероиды создают неподвижные (Asteroid_tweaks). Так что не факт, что есть проблемы. Но как вариант, могу дополнительно фильтровать обрабатываемые астероиды по нулевым maxSpeed, speed и прочим полям... И надо искать способ однозначной идентификации астероидов без привязки к их координатам.

P.S. похоже, придумал:
1. Астероиды фильтруем по его AI (интересует "dumbAI.plist").
2.1. После засева в ship.savedCoordinates сохраняем текущие координаты (savedCoordinates используется только в AI и в dumbAI не используется).
2.2. Как альтернатива - каждый астероид после засева помещать в группу с уникальным именем (с указанием его координат после засева).
3. Переделываем на сохранение уничтоженных астероидов - чтобы исключить случайности (лучше лишний астероид останется, чем лишний удалится).


  Re: Презентация наших ОХР
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
AsteroidRemover 0.3
Выпустил новую версию:
1. Новый механизм запоминания и удаления астероидов.
2. Улучшена совместимость с другими плагинами.

Скачать: В личной рубрике.


  Re: Презентация наших ОХР
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
PlanetFallMarketSaver 0.1
Сохраняет в Save-файл состояние рынка временных станций из пакета PlanetFall (PlanetLand).
stranger:
Порт в PlanetFall/PlanetLand создается непосредственно перед посадкой и уничтожается после взлета. Рынок порта соответственно никак не запоминается и можно циркулировать между ними до бесконечности, вообще не покидая систему.

Скачать: В личной рубрике.

P.S. в основном тестировал с PlanetFall. С PlanetLand на первый взгляд проблем не обнаружил.


  Re: Презентация наших ОХР
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 25.01.16
Сообщений: 110
ZeroMap 0.5
Выпустил новую версию: добавил уровни сложности:
  • Easy - показывается вся карта без имен систем. Доступна вся информация о соседних системах.
  • Normal - скрывается карта, доступно немного информации о соседних системах. Изолированные области могут быть найдены.
  • Hard - скрывается карта, доступен минимум информации о соседних системах.
  • Disable - используется стандартная карта галактики.

Скачать: В личной рубрике.


  Re: Презентация наших ОХР
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Orbital Stations 2.1

В пакет интегрирован механизм запоминания рынка орбитеров. В качестве прототипа такого механизма я использовал скрипт из пакета PlanetFallMarketSaver автора SMax. Посколько адаптированный скрипт запоминает именно рынки моих орбитеров и только их, я счел целесообразным интегрировать его в состав моего пакета, а не выпускать как отдельный пакет.
Пользуясь случаем, напоминаю: пакет PlanetFallMarketSaver сохраняет рынки не только канонического пакета PlanetFall, но и моего пакета PlanetLand.
Таким образом, проблема неисчерпаемого рынка временно возникающих станций решена.


  Re: Презентация наших ОХР
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
CB HUD ST 182 WS 0.8.8

Добавлена строка индикации состояния активируемого оборудования (Primed Equipment).
Уменьшен минимальный размер бокса вокруг цели, захваченной системой Scanner Targeting Enhancement. Этот же параметр уменьшил размер текстовой строки, прикрепленной к боксу (собственно, я добивался в первую очередь именно этого эффекта).
Немножко подробней об этом моменте. Я настроил размер бокса исходя из 24" монитора с разрешением 1920x1080 и своих субъективных ощущений комфортного размера шрифта. Вы можете самостоятельно поэкспериментировать с размером бокса (файл hud.plist):
Код:
reticle_scale = 0.01; // масштаб 1:100 к ширине экрана
reticle_scale = 0.0125; // масштаб 1:80 к ширине экрана
reticle_scale = 0.015625; // дефолтный масштаб 1:64 к ширине экрана

Аналогично можно перенастроить размер шрифта строки статуса активируемого оборудования:
Код:
selector   = "drawPrimedEquipment:";
...
width      = 9; // ширина шрифта (дефолтное значение 10)
height      = 9; // высота шрифта (дефолтное значение 10)


Вложения:
oolite-050.png

  Re: Презентация наших ОХР
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Here Be Dragons 0.6

Дополнение к функционалу пакета - на мой пристрастный взгляд, вполне в русле легенды, положенной в его основу.
Напоминаю, легенда такова.
1. Астрономические карты с координатами систем общедоступны, любое частное лицо может получить доступ к ним с информационного терминала станции.
2. Местные системы предоставляют полную информацию о всех соседних системах (паспорта систем) любому частному лицу в пределах 7 LY.
3. Любое частное лицо имеет право на самостоятельный сбор и хранение информации.

Теперь обновленный пакет работает так.
Находясь в любом порту, вы видите генеральную карту сектора со всеми системами, но подробную информацию вы можете получить только о тех системах, в которых уже побывали + о системах в пределах 7 LY.
В полете вы не имеете доступа к генеральной базе данных и видите только системы, занесенные в лог вашей корабельной базы данных + все системы в пределах 7 LY. Все неисследованные системы за пределами 7 LY на карте спрятаны.

Такое решение позволяет наглядно показать прогресс в раскрытии карты сектора и в то же время, как я надеюсь, не создает проблемы при генерации миссий и прокладке маршрутов - вся предварительная картографическая работа производится на станции, когда все системы видны на карте. Целевые системы миссий всегда можно просмотреть в любом порту. Разумеется, я буду признателен за любые указания на возможные проблемы с отображением на карте целей миссий.

Должен предупредить, однако, что в пакете осталась небольшая неувязка, некритичная в игровом плане.

Navigation MFD, как обратил мое внимание коммандер vasig, показывает в виде пиктограмм данные о любой системе, на которую замкнута система дальней навигации - вне зависимости от ее параметра concealment. То есть технически в предыдущей версии пакета, где все системы были видны на карте, вы могли в полете получить информацию о любой системе в секторе вполне законным путем. Собственно, осознание этого момента и навело меня на идею скрыть необследованные системы в полетном режиме.
Однако информацию об одной непосещенной системе получить по прежнему можно:
Находясь на станции, открываем карту сектора и замыкаем курсор на далекую непосещенную систему.
Стартуем.
На Navigation MFD отображается инфо этой системы с пиктограммами.
Как только геймер вызовет экран F6 (лететь-то куда-то надо!), курсор сбросится на ближайшую известную систему и инфо на Navigation MFD сбросится тоже.
И все же, согласитесь, так гораздо лучше.

Напоминаю: Here Be Dragons исползует базу данных Explorer's Club и без этого пакета не работает.

P.S. Обнаружил дефект в скрипте: забыл объявить переустановку параметра concealment после стыковки со станцией.
Тестирую исправленный скрипт.


Вложения:
docked.png

in_flight.png

  Re: Презентация наших ОХР
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Here Be Dragons 0.7

Скрипт исправлен. После стыковки со станцией карта корректно устанавливается на отображение координат всех систем сектора.


  Re: Презентация наших ОХР
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Вы уж простите, но опять начну с длинного предисловия.

Не берусь судить, чем именно руководствовался Таргоид, создавая свою линейку планетных и лунных портов в PlanetFall, но идея оказалась заразной. Уж на что Tch привык делать все по своему без оглядки на каноны, но идею множества портов на одной планете он подхватил и развил в своем пакете Tch_Landing_Module_002, добавив к набору портов Таргоида множество своих локаций. Что характерно, и у меня при всей моей лени даже не шевельнулся в мозгу простой вопрос: а нужно ли это? Несколько портов - это выглядело интересно, особенно если стимулировать геймера делать осознанный выбор между ними при визите на дно атмосферы. Между тем решение Таргоида не вполне типично для жанра: в массе космосимов действует правило "одна планета - один порт" и оно вполне работает. Покинуть порт и отправиться исследовать планетные локации геймер все равно не может: не тот жанр.
В конце октября 2016 года моему пакету PlanetLand исполняется три года. Пакет, который изначально был задуман как модификация пакета Таргоида с выбором портов и с моей экономикой, фактически вырос в самостоятельный продукт. Да, в нем есть критически важные куски кода из пакета Таргоида, контролирующие процесс посадки и взлета, работы диспетческих служб, определения класса планеты (главная планета, внешняя планета, луна), создания и уничтожения порта. Но все же PlanetLand -  это не просто PlanetFall с гигабайтом красивых картинок в нагрузку. PlanetLand - это сеть функциональных портов с рынками, адаптированными к новому формату Oolite 1.82. Не сочтите за наглость - PlanetFall создал новую игровую нишу, PlanetLand превратил ее в живую экосистему.
И все же.
Несмотря на три года развития проекта PlanetLand, в игровом плане пакет имеет весьма досадные для меня как разработчика недостатки. И что хуже всего, эти хронические болячки сопровождают пакет с самого рождения.
1. Емкость рынков временно возникающих портов в потенциале неограниченна, так как ни дистрибутив игры, ни адаптированный под мою экономику скрипт пакета In-System Marker Restore рынки этих портов не запоминает.
К счастью, пакет PlanetFallMarketSaver (автор SMax) раз и навсегда закрыл эту проблему.
2. Несмотря на все мои усилия, главную цель амбициозного проекта - сделать все планетные и лунные порты в чем-то привлекательными для геймера и предоставить ему возможность выбора сообразно обстановке - достичь в полной мере не удалось. Навестив несколько портов в ходе начального знакомства с пакетом, геймер быстро просекает, что интереснее всего таскать электронику в научные центры и ширпотреб в курортные зоны. Другие порты ему становятся неинтересны, так что все эти красивые картинки столичных городов он вряд ли когда увидит и оценит.
3. Паразитные петли. Вот это самая лютая головная боль, которая может свести смысл пакета на нет. Грузимся мехами и алкоголем на ферме, взлетаем, садимся в курортной зоне, сдаем товар с нехилым профитом, возвращаемся на ферму, повторяем. И так до износа PLC. Ремонтируем PLC в ближайшей системе высокого технологичного уровня, повторяем цикл.
Решение проблемы номер 1 это короткое замыкание ликвидировало: пара таких халявных рейсов - и рынок вычерпан, надо лететь дальше. Но осадочек остался. По хорошему, халявных рейсов быть вообще не должно.
Сами понимаете, на фоне таких недетских проблем бурчание геймера о чересчур заумном механизме выбора порта можно слушать вполуха. Ну шо вы пристали со своим "сделай интерфейс попроще", тут с тем, что имеем, по хорошему надо бы разобраться.
Как сделать неинтересные порты привлекательными и заблокировать паразитные петли?
Ну, во первых, продуманной таможенной политикой. Прибыл в систему - хрен тебе полеты в курортную зону, пока не отработаешь там, где тебе укажут. Или как минимум сперва будьте любезны в столичный порт за лицензией с ограниченным сроком действия. Конечно, проще пакет от этого не станет и недовольный геймер вряд ли придет в восторг от новых ограничений.
Во вторых, стимулировать визиты в неинтересные порты пряником. Есть позитивный пример с портами внешних планет: внутрисистемные контракты In-System Cargo Delivery оживили интерес к полетам на дальние окраины системы, куда летать чисто из любопытства быстро наскучит. Пакет, правда, указывает в качестве пункта назначения определенную планету в целом, но в принципе его можно дополнить и допилить так, чтобы он проверял прибытие не просто на планету, а в определенный порт (по правде говоря, именно так я и задумал изначально, но потом лень пересилила).
Можно если не исключить паразитные петли, то по крайней мере растянуть их так, чтобы затраты игрового времени на грузоперевозки между портами на одной планете стали соизмеримыми с затратами игрового времени на полеты между системами. Tch в своем Посадочном Модуле 002 так и сделал: повторная посадка возможна только после стыковки с орбитальной станцией или удаления на 3 радиуса планеты. Проблему это на самом деле не решило: короткий и ничем не примечательный прыжок сменился на долгое и скучное перемещение туда-обратно. Боюсь, что привлекательности пакету такое принудительное решение тоже явно не добавляет. Ну вот как объяснить геймеру "да нельзя теперь вот так сходу плюхаться, ты сперва отлети подальше!"?
Вот если бы уникальные порты были привязаны к уникальным и достаточно разнесенным планетным локациям, если бы в Оолите можно было полноценно симулировать орбитальную механику и аэродинамику, если бы каждая посадка была шлифовкой техники пилотирования - тогда возможно. А так - спасибо, нет интереса.
И наконец, можно поступить лениво и перенастроить экономику так, чтобы изъять все паразитные петли. Позакрывать гламурные бутики в курортных зонах. Установить сухой закон в промзоне. Регламентировать закупки и продажи сырья, промтоваров и сельхозпродукции. Сделать так, чтобы ничего на этой планете нельзя было закупить и тут же продать с маржой. И на самом деле это вполне логичное решение. Грузоперевозки между планетными портами на межзвездном корабле не могут конкурировать по рентабельности с логистикой, основанной на планетной транспортной сети. Ниша геймера - это перевозки грузов между планетами, между планетой и орбитальной станцией, не в пределах одной планеты.
А если рынок внутрипланетных перевозок отсутствует - то не проще ли свести все портовые рынки в единый узел?

Одна планета - один порт
Специализированные рынки не нужны: все, что что производит планета и все, в чем она нуждается, можно купить и продать в столичном порту. Там же можно получить весь набор доступных услуг и апгрейдов. Интерфейс такого единого хаба уже есть: это стандартные экраны F3...F8.
Выбор порта упрощается до предела. Не нужно экранных меню, не нужно выбирать PLC как активируемое оборудование (primed equipment) и листать ее настройки, не нужно специальной панели MFD с индикацией выбранного порта. Достаточно замкнуть астрокомпас с расширенным набором опций (Advanced Space Compass) на планете назначения. И не нужно гадать, есть ли вообще на планете выбранный порт и не лучше ли выбрать другой. Единственный порт есть всегда, других нет.
Паразитные петли исчезли. Нет других портов, нет других рынков. Нет ни необходимости, ни возможности сновать туда-сюда. Только лететь в открытом космосе со всеми его опасностями на другие небесные тела в системе и на станции.

Вот те на. - почешет за ухом вконец озадаченный геймер. - Три года тренировались решать эту викторину, и на тебе - получили наконец всего один порт, где все то же, что на главной станции, только на дне атмосферы.
А вот и нет.
Как это ни странно, хотя количество портов уменьшилось до одного на каждом небесном теле, разнообразие рынков увеличилось.
В Stranger's Economy четыре градации технологического макроуровня (архаичный, низкий, средний, высокий) и три базовых типа экономики - аграрная, сбалансированная, индустриальная. Итого теоретически получается 12 вариантов рынков, каждый из которых в принципе можно настроить индивидуально. Три клетки матрицы дают пустое множество, остается девять - богатое пространство!
И не забудьте еще рынки внешних планет и лун - каждый из них тоже существует в нескольких вариантах.
Пожалуй, я и так уже на грани спойлера. Лучше будет, если вы исследуете эти порты и рынки самостоятельно.
Добро пожаловать в PlanetLand нового поколения!


  Re: Презентация наших ОХР
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
PlanetLand 2.1

А теперь собственно техническая информация.

Часть графики из пакета ушла, содержание прежних ресурсных пакетов E (порты главной планеты) и F (порты внешних планет и лун) уместилось в один новый ресурсный пакет E. Поэтому если у вас стоял PlanetLand 2.0, обновление ставим так:

Скачиваем и разархивируем:
PlanetLand 2.1.zip
PlanetLand Image Pack E.oxp.zip

Удаляем старый PlanetLand 2.0.oxp и обязательно старые ресурсные пакеты PlanetLand Image Pack E.oxp и PlanetLand Image Pack F.oxp. Ресурсные пакеты A/B/C/D оставить!
Помещаем обновления в директорию AddOns или в поддиректорию, в которой были установлены прежние компоненты пакета.

Проверяем. Получилось 6 компонентов:

PlanetLand 2.1.oxp
PlanetLand Image Pack A.oxp - версия 2.0.0 от 17.07.2016
PlanetLand Image Pack B.oxp - версия 2.0.0 от 17.07.2016
PlanetLand Image Pack C.oxp - версия 2.0.0 от 17.07.2016
PlanetLand Image Pack D.oxp - версия 2.0.0 от 17.07.2016
PlanetLand Image Pack E.oxp - версия 2.1.1 от 22.09.2016

Теперь игровые особенности обновленного пакета.

Так как необходимость в выборе порта отпала, панели MFD с индикацией выбранного порта больше нет. Для посадки в порту необходимо и достаточно замкнуть астрокомпас (Advanced Space Compass) на планету назначения. Если астрокомпас замкнут на любой другой объект, PlanetLand передает управление внешнему пакету и вы совершаете посадку, к примеру, в порту Королевский Двор (Royal Court) пакета The Feudal States. Если такого внешнего пакета нет, PlanetLand сажает корабль в полях.
Посадка в полях также происходит в следующих случаях:
Скорость корабля в момент посадки выше 0.25 максимальной (за пределами зеленой зоны сектора тяги).
Сбой авионики корабля (вероятность растет по мере износа PLC) или срыв захвата сигнала приводного маяка (вероятность выше в нестабильных системах низкого технологического уровня).
Заброшенных портов, в которые геймер может попасть по ошибке, больше нет, однако в период военных действий геймер может оказаться в разрушенном столичном порту или в порту на внешней планете/луне, который был заброшен из-за трудностей снабжения в период военных конфликтов. Предсказать наперед такую ситуацию невозможно, можно лишь субъективно оценить ее вероятность исходя из анализа паспорта системы. Пока что военный конфликт на планете отражается на всех планетных портах системы. Я намерен поработать над этим алгоритмом в следующем обновлении пакета.

Теперь немножко гламура.
Часть картинок портов ушла, но вариантов видов добавилось. Раньше после посадки геймер видел сразу столичный город, портовые сооружения или космическую станцию (первая картинка) и еще мог увидеть ландшафт планеты (вторая картинка). Сейчас вариантов четыре.

F3->F7 Вид порта. Эту же картинку геймер видит сразу после посадки. // Это порт. Здесь мы ремонтируем и дооснащаем корабль.
F4->F7 Грузопассажирский терминал - вид снаружи или интерьер. // Это офисы и бары. Здесь мы заполняем полетные листы, заключаем контракты, ищем информацию и отдыхаем.
F5->F7 Ландшафт планеты/луны // А это нас повезли на экскурсию.
F8->F7 Столичный город, космическая колония или станция. // Шопинг на главном рынке планеты.

На маленьких станциях два вида (к примеру, порт и терминал) могут быть с одной картинкой. Это не баг алгоритма, а нехватка хороших картинок на все случаи. :(
А вот если вместо обещанного ландшафта Ио вы увидели голых баб в сауне - это и правда баг. Или троян. :mrgreen:

Ну и F6->F7 - сюрприз! паспорт системы :) // Куда летим дальше, коммандер?

И в завершение напоминаю еще раз: для сохранения состояния рынка портов PlanetLand рекомендую поставить пакет PlanetFallMarketSaver (автор SMax).


Новая тема  Ответить  
Показать сообщения за:  Сортировать по:  









Список форумов / Обсуждение игры и OXP