Oolite
Имя
Пароль
 Запомнить
Форум по OOLITE, современной реализации космического симулятора ELITE



Новая тема  Ответить    ↑↑↑Наверх
  Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1457
Уж не знаю, будет ли толк с разговора, но попробовать стоит. Конечно, если геймер непокобелимо отстаивает свое право наступать на грабли, эта позиция достойна уважения, чё. Пишу для тех, кому на грабли наступать надоело, но просто не хватало веского повода бросить эту привычку.
И вы уж простите, что снова напоминаю очевидные вещи.

Чистая игра и игра с двумя сотнями доставленных аддонов - это немного разные ситуации, согласитесь. И если после миграции с 1.77 на 1.82/1.84 у вас возникло ощущение, что игроделы чего-то там намудрили, проверьте это ощущение - запустите голый дистрибутив без аддонов и немного покатайтесь, чтобы свыкнуться с новым миром. Старт игры в режиме Strict Play именно для этого и предназначен - для запуска игры с отключенными аддонами, а вовсе не для староверов с их ностальгией по старой Элите без этих новомодных штучек. Сэйвы в режиме Strict Play, правда, не запускаются, придется завести нового пробного Джеймсона. Но пары вечеров на маршруте между Листи и Дисо вполне хватит, чтобы уловить, что пираты и правда стали умней, опасней и агрессивней, поэтому старые навыки выживания в новом мире могут быть неадекватны.

Теперь вдумчиво ставим аддоны. Менеджер загрузок прямо таки провоцирует на стиль "нагребай что дают, потом разберемся". Еще раз повторяю: ставим вдумчиво. Step by step. Поставили, покатались, поставили следующий. Не надо ставить незнакомый пакет, пока вы не узнали хотя бы в общих чертах, что он делает. Довольно часто уже на этом этапе знакомства с описанием пакета возникает понимание: спасибо, нет интереса.

Аддоны бывают разные.
А. Облегчающие жизнь геймера.
Б. Усложняющие жизнь геймера.
В. Делающие Оониверсум богаче и разнообразнее (что может как облегчить жизнь, так и затруднить ее).
На странице описания аддона на EliteWiki иногда можно увидеть градусник сложности, откалиброванный от 0 (дефолтный уровень) до 6 (хардкорный уровень). Иногда вместо градусника может быть табличка с цветной кодировкой от фиолетового (значительно упрощает жизнь геймера) через зеленый (не оказывает существенного воздействия на сложность игры) к красному (значительно усложняет жизнь геймера). К сожалению, это не обязательное требование, поэтому обычно приходится разбираться с этим вопросом самостоятельно.
Общие соображения такие.
Косметички и озвучки (категория Ambience) обычно считаются нейтральными пакетами, которые новичок может ставить без опасений. Единственная возможная проблема - это производительность железа, которое может не потянуть эти роскошные шейдерные текстуры.
Замечу от себя, что пакеты категории Ambience все же не вполне нейтральны. К примеру, радиообмен (Communications Pack A) изрядно помогает сориентироваться в ситуации на поле боя, если вы с лету хватаете, о чем речь, но если нет - лента сообщений для вас как минимум бесполезна, а в худшем случае - забивающий внимание мусор.
Оборудование (Equipment) обычно жизнь облегчает - иногда до неприличия. Порой попадаются откровенно читерские пакеты, но есть и пакеты реально нужные, закрывающие прорехи в дефолтном геймплее. Хотя бывает и так, что геймер проапгрейдится высокотехнологичной плюшкой, а потом пытается понять, как она работает и зачем она вообще нужна.
Корабли (Ships) нужно ставить разборчиво. Дело в том, что корабль - это не просто прикольная моделька в красивой ливрее. Некоторые корабли имеют в дополнение ко впечатляющим ТТХ агрессивный AI, что делает их несоразмерно опасными для зеленого Джеймсона.
Оружие (Weapons) - палка о двух концах. Среди хороших разработчиков пакетов негласно принят принцип паритета. Все, что доступно вам, может быть у противника. Приятно, конечно, иметь пушку, которая способна с двух выстрелов вынести флотский Бегемот, но вы точно готовы к тому, что однажды бот, вооруженный такой же пушкой, прикончит вас первым же выстрелом с края поля сканера? Причем вы можете поставить пакет с такой мегапушкой, опробовать ее и решить играть честно. Но вполне достаточно того, что вы дали ботам возможность заполучить этот юбердевайс и рано или поздно вы познакомитесь с его действием в роли мишени.
Миссии (Activity) обычно опциональны. Можно выполнять, можно не выполнять. Если пакет написан грамотно, трудностей не возникает - вернее, они возникают лишь тогда, когда вы сочтете, что к ним готовы.
Игровая механика (Mechanics) - а вот с этой категорией пакетов надо разбираться особенно тщательно. Некоторые пакеты этой категории меняют геймплей весьма радикально и далеко не всегда в ту сторону, в какую вам хотелось бы.

Теперь о "кривых" пакетах.
Было бы заманчиво объяснить ситуацию деятельностью амбициозных, но криворуких погромистов. Но увы, на самом деле все гораздо проще.
97% проблем геймер измышляет сам на пустом месте. Хотя бы тем, что не удосужился внимательно прочитать описание. И обижается, что пакет отчего-то не работает в полном соответствии с его ожиданиями. А ведь автор предупреждал. Хотя бы о том, что любое оборудование, блин, при повреждении корабля в боевой ситуации может выйти из строя! Геймер очень болезненно воспринимает ситуацию, когда в результате стычек он попадает на расходы в тысячи и десятки тысяч (sic!) кредов. Геймер привык к смешным ценам на базовый набор оборудования и к смешным расходам на его ремонт. Рискну предположить: может быть, есть смысл пересмотреть рисунок боя и отработать привычку обрывать огневой контакт, не дожидаясь прожига щитов?
Я вовсе не хочу сказать, что автор пакета непогрешим и во всем всегда виноват жадный и ленивый геймер с его привычкой нагребать все подряд без разбору. Но увы, очень часто так оно и есть. Вероятность встретить откровенно сырой, а то и кривой пакет сейчас гораздо ниже, чем десяток лет назад, когда сообщество моддеров только складывалось. Если вы имеете почти полтысячи пакетов только в формате OXZ, то это уже сложившаяся экосистема, в которой идет жесткая конкуренция и слабые решения в этой среде не выживают. Да, создатели пакетов делают их не ради денег, а в порядке хобби - но поверьте, если человек допилил до ума десяток игровых пакетов, ему неинтересно портить приобретенную репутацию, делая абы как одиннадцатый. Да и приобретенный опыт тоже чего-то стоит.

Раз уж мы перешли на личности, откройте список пакетов на EliteWiki и отсортируйте его по авторам. Вы увидите как раз ту картину, о которой я говорю: относительно небольшой список авторов, стабильно выдающих продукт высокого качества категории must-have. Грифф с его текстурами кораблей у всех на слуху, но вот вам еще навскидку и выборочно:

Capt Murphy - Explorer's Club, Illegal Goods Tweak
cim - New Cargoes
Commander McLain - Anarchies, Random Ship Names
CommonSenceOTB - Custom Shields
Eric Walch - Deep Space Pirates, Random Hits (в соавторстве со Spara)
Norby - Gallery, HardShips, Variable Masslock
phkb - Email System, GalCop Galactic Registry
Ramirez - Feudal States, Trident Down
Spara - Start Choices
Thargoid - PlanetFall, Commodity Markets, Wild Ships

Все перечисленные пакеты - трудоемкие проекты, доведение которых до игрового вида определенно потребовало высокой кодерской квалификации. При таком раскладе я вправе ожидать, что и другие пакеты этих же авторов будут примерно сопоставимого качества. Брэнд "текстуры от Гриффа", к примеру, о чем-то говорит?

Разумеется, технически безупречный пакет может вам просто не подойти. Norby, к примеру, сильный кодер, но он технофетишист. Я не ставлю его пакеты просто потому, что мне нравится тренировать рисунок боя, а не обвешивать корабль разными видами брони и подбирать оптимальную конфигурацию силовой установки. Да, я в свое время довольно резко отозвался о пакетах HardShips и ShipVersion - технофетишизм. Что не отменяет того факта, что Norby - грамотный и опытный кодер, стабильно выпускающий продукты хорошего качества.

Мы там вроде упоминали экосистемы. Сотня, а то и две сотни пакетов, установленных геймером - это уже вполне себе экосистема с зависимостями и конфликтами, и сплошь и рядом проблемы могут возникать из-за конфликта пакетов, которые сами по себе по отдельности работают безупречно. А все потому, что два пакета могут воздействовать на один и тот же параметр, руководствуясь диаметрально противоположной логикой.
Вот вам гипотетический пример.
Разработчик пакета А озабочен тем, как бы стимулировать геймера не засиживаться на накатанной челночной линии Листи-Дисо, а время от времени менять маршрут. Для этого он пишет скрипт, который симулирует насыщение рынка главных станций и размывание градиента цен. При этом разработчику пакета А просто в голову не пришло, что геймер может начать игру на чем-то помимо Кобры Марк Три.
Разработчик пакета Б наоборот хочет дать геймеру возможность отыграть хардкорный старт на корабле, не оборудованном гипердрайвом. Для этого он настраивает внутрисистемные рынки так, чтобы геймер мог прокормиться, не покидая систему, пока не заработает на корабль, оборудованный гипердрайвом.
Сами понимаете, оба сценария по отдельности имеют право на существование, но они несовместимы.
А вот вам реальный пример несовместимости сценариев.
Start Choices предлагает как один из стартовых сценариев Hard Start - Adder без топлива и с нулевым счетом. В Оониверсуме с дефолтными правилами - задача трудная, но при определенном терпении и везении намышковать начальный капитал можно. В моем Оониверсуме с установленным пакетом Hard Way полет с сухим баком - форс-мажорная ситуация, оставляющая пилоту крайне мало времени на попытку добраться до станции. К счастью, конфликт здесь для геймера очевиден и он сам приходит к выводу: или сносить Hard Way или отказаться от этого сценария.
И такие ситуации на самом деле при неразборчивом подходе "ставим все подряд" - вполне обычное дело.

Наивный вопрос: а разве менеджер OXZ не умеет отслеживать зависимости и конфликты пакетов?
Сам по себе - нет. Менеджер OXZ читает содержание файла manifest.plist , в котором прописаны эти зависимости и конфликты. А что там именно прописано - исключительно на совести автора пакета.

До сих пор речь шла в основном о пакетах в формате OXZ. Есть ли грабли, связанные с конкретно со старым форматом OXP?
Технически Оолит прекрасно понимает оба формата. Однако отслеживать зависимости и конфликты пакетов в формате OXP он не умеет. Более того, так как пакеты OXP ставятся в директорию AddOns, они запускаются после пакетов OXZ и перекрывают их настройки. То есть настройки древнего пакета OXP запросто могут перекрыть настройки последнего обновления OXZ, если их зоны компетенции перекрываются.
Поэтому ставить пакет в формате OXP нужно лишь в том случае, когда пакет иметь очень хочется, но по каким-то причинам нет OXZ альтернативы. И не забыть снести его вручную, как только такая алтернатива появится!

И еще один субъективный момент.
К сожалению, обсуждение проблемных пакетов порой живо напоминает то ли конвульсиум в провинциальной больнице, то ли занятия литературного кружка в школе рабочей молодежи.
X: У меня ломается фронтальный лазер!
Y: Могу предположить, что это скорее всего из-за Realistic Damage или Breakable Equipment.
X: Действительно, очень похоже на описание пакета Brakable Equipment.
Господа, ну если вы уж ссылаетесь на описание этой группы пакетов, то будьте любезны хотя бы дочитать его до конца. В описании внятно указано, что эти пакеты симулируют выход из строя "стандартного" оборудования, которым любой корабль комплектуется в базовой конфигурации и которое по умолчанию неубиваемо. И там конкретно указано, какого именно. Ничего другого эти пакеты не делают. Если вы считаете, что это не так - пруфлинк в студию, тогда и продолжим разговор.
А пока это все, что я хотел сказать про Вьетнам.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---

Зарегистрирован: 06.10.11
Сообщений: 565
Откуда: Москва
Не плохо бы добавить сюда FAQ по разукрашкам. Кто кого перекрывает, кто кого заменяет, что морально устарело, что не совместимо.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 09.10.11
Сообщений: 242
Откуда: Qitroomax, Qutiri
ALEX_M:
Не плохо бы добавить сюда FAQ по разукрашкам. Кто кого перекрывает, кто кого заменяет, что морально устарело, что не совместимо.

Разукрашки - это пакеты из категории Ambience? Если так, то очерк Ambience OXP даёт описание всем основным пакетам: небесным, звёздным, планетарным и комбинированным. Я оттуда много полезного и интересного почерпнул. Другое дело, что кое-что могло уже и устареть из описаний: вот на данный момент перевожу как раз эту категорию и стараюсь максимально точно описывать новые (и старые, конечно) пакеты.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---

Зарегистрирован: 06.10.11
Сообщений: 565
Откуда: Москва
Мое пожелание было адресовано stranger-у. Он в свое время уже давал такую информацию, на мой взгляд лучше её здесь повторить, тем более, что она уже могла измениться.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 09.10.11
Сообщений: 242
Откуда: Qitroomax, Qutiri
ALEX_M, не проблема, собирать информацию по совместимости не буду, чтобы не повторяться. Так будет даже проще и быстрей перевод пойдёт.

А, кстати, где он эту информацию давал? Мне тоже любопытно.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---

Зарегистрирован: 06.10.11
Сообщений: 565
Откуда: Москва
tomcat:
А где он эту информацию давал?

Ambience OXPs.pdf
Но поскольку до внимательного читания мануала, который ещё нужно скачать, не все смогут дойти, краткий вывод в данной теме был бы к месту.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 09.10.11
Сообщений: 242
Откуда: Qitroomax, Qutiri
ALEX_M, ну, так а я про что говорил:
tomcat:
Если так, то очерк Ambience OXP даёт описание всем основным пакетам: небесным, звёздным, планетарным и комбинированным... Другое дело, что кое-что могло уже и устареть из описаний


ALEX_M:
Но поскольку до внимательного читания мануала, который ещё нужно скачать, не все смогут дойти, краткий вывод в данной теме был бы к месту.

Это да, на внимательное и вдумчивое чтение желание и, главное, терпение найдётся не у каждого, хотя уж stranger-то описывает всё настолько увлекательно, что не оторваться, сам зачитываюсь.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---

Зарегистрирован: 06.10.11
Сообщений: 565
Откуда: Москва
tomcat:
собирать информацию по совместимости не буду

Речь идет только о разукрашках. И все равно надо собирать любую информацию о совместимости. Раз уж начали планомерно шерстить OXPList, то на совесть, что-бы не возвращаться.
И неплохо бы перевести анонсы 1,80 - 1,82 - 1,84 , где перечислено, что добавлено в гемплей. Тогда после описания какого либо ОХР может появиться строка такого вида:
С версии 1,82 встроена в игру.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
Dangerous
Аватар пользователя

Зарегистрирован: 09.10.11
Сообщений: 242
Откуда: Qitroomax, Qutiri
ALEX_M:
Речь идет только о разукрашках. И все равно надо собирать любую информацию о совместимости. Раз уж начали планомерно шерстить OXPList, то на совесть, что-бы не возвращаться.


Да-да, понял тоже, что не обойтись без этой части работы никак. Но тогда уж проверю и разукрашки тоже. Я так не умею - где-то делать, где-то не делать. Сравню с описаниями stranger'a и, возможно, кое-что удастся добавить. Но он-то может сравнить на уровне скриптов, а не описаний, так как прекрасно знает, где там и что зашито, что неизмеримо ценнее.

ALEX_M:
И неплохо бы перевести анонсы 1,80 - 1,82 - 1,84 , где перечислено, что добавлено в гемплей. Тогда после описания какого либо ОХР может появиться строка такого вида:
С версии 1,82 встроена в игру.

Действительно, будет полезно, потому что встраивать активно стали, если мне не изменяет память, с 1.76, куда вшили Docking Clearance Protocol и ещё что-то. Сделаю после перевода описаний OXP.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---

Зарегистрирован: 06.10.11
Сообщений: 565
Откуда: Москва
tomcat:
Действительно, будет полезно

Здесь поможет формат, если OXZ - то актуальное дополнение, а вот если OXP - то может быть и встроено.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1457
Предложение принято, сделаю здесь мини-обзор текущего состояния дел по Ambience.
Я сейчас занят тестированием апдейта одного из своих пакетов, так что буду выбирать время урывками.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1457
Не скрою, я рад, что эта тема вызвала интерес.
Итак, продолжим.
Но прежде чем перейти к обещанному субъективному обзору состояния дел с пакетами категории Ambience, я бы хотел немного развить вопрос "ставить ли пакеты в формате OXP".
Моя рекомендация, напоминаю, была такая:
Ставить пакет в формате OXP нужно лишь в том случае, когда пакет иметь очень хочется, но по каким-то причинам нет OXZ альтернативы.
Почти любое правило за исключением ПДД и УК можно и нужно нарушать, но лишь при одном условии: вы хорошо понимаете суть правила и безопасные границы его применимости.
И лучше всего проиллюстрировать этот тезис на личном примере.

Oolite в моей конфигурации на данный момент имеет 75 установленных аддонов формата OXZ, 28 пакетов моей разработки (включая четыре модификации чужих пакетов с индексом ST) в формате OXP и 24 пакета сторонних авторов опять же в формате OXP.
Свои пакеты я держу в формате OXP по простой причине: я в них регулярно что-то правлю и отлаживаю и мне этот формат удобнее. OXZ альтернатив у них нет (почему - это отдельный вопрос), а для Oolite технически без разницы, какой формат запускать.
А вот пакеты сторонних авторов в формате OXP - как раз самое то что нужно для нашей темы.

А. OXZ альтернатив и правда нет.
Galactic Navy, GalTech Escape Pod, GalTech Escort Fighter - все перечислять не буду. Мне хотелось иметь эти корабли в моем Оониверсуме, так как они логично дополняют экосистему Оониверсума.
Границы применимости правила: откровенно старые пакеты с кораблями, созданные до выхода Oolite 1.80 (01.07.2014) ставить лишь при крайней необходимости. На то есть две причины.
1. AI этих кораблей плохо адаптированы к новой системе ролей.
2. В старых пакетах используется устаревший механизм засева кораблей, который не использует возможности их динамического засева системным популятором по мере необходимости (подробнее об этом в соответствующем разделе документа Beyond Stranger's World).
А вот такой пакет, как Real Life Dates, вполне безопасен - он лишь переводит загадочное игровое время 2084004:ЧЧ:ММ:СС в привычный формат 21 марта 3142 года, суббота.

Б. OXZ альтернатива есть, но она меня не устраивает.
Auto Eject - полезный пакет из категории must-have, но вот превращать автомат аварийного катапультирования в primed equipment, как сделано в OXZ версии - неудачная идея. Критический уровень безопасности, когда пора сказать своему кораблю "спасибо и прощай", нужно настроить один раз и больше его не трогать. И в этом плане старый пакет в формате OXP с его дефолтными настройками меня более чем устраивает. Он делает в точности то, что мне нужно.
Границы применимости правила: конвертировав пакет в формат OXP, вы лишаетесь возможности автоматически отслеживать конфликты и обновления. С этого момента забота о функциональности пакете лежит исключительно на вас.

В. OXZ альтернатива есть, но по каким-либо причинам использование пакета в формате OXZ создает проблемы.
The Feudal States Рамиреса - отличный рабочий пакет, существующий в формате OXZ. Проблема в том, что менеджер OXZ требует сперва установить PlanetFall Таргоида. Логика синьора Рамиреса понятна: нет ножек - нет мультиков... э-э, простите, нет посадки на планету - нет доступа к тщательно проработанной автором линии карьеры при феодальном дворе.
Однако отношения между PlanetFall Таргоида и моим PlanetLand - как между ревнивой женой и любовницей: или я, или она. Ну и поскольку PlanetFall мне не просто не нужен, а категорически не нужен, а The Feudal States я хочу иметь, выход только один: конвертировать пакет The Feudal States в формат OXP и избавиться от manifest.plist. Ну или продолжать использовать самую последнюю версию старого пакета в формате OXP.
Границы применимости правила: те же, что и в предыдущем случае.

Г. Мне захотелось что-то допилить в пакете исключительно для себя. Модификации не настолько радикальны, чтобы предлагать эту модификацию вниманию почтенной публики: на кардинальное изменение игровой механики они никак не тянут и доказывать кому-либо их необходимость пустая трата времени.
Три примера.
Anarchies.
Астероиды, которые засеваются возле косморазборки - халява, сэр. Нашел эту строку, закомментил. Теперь косморазборка есть, густого поля астероидов вокруг нее нет.
Ore Processor.
Сама по себе идея превратить рудный процессор в активируемое оборудование здравая. Геймер может быстро заполнить трюм дробленой породой и затем переварить ее не спеша по частям в спокойной обстановке, когда вокруг нет потенциальных угроз. Мне понравилось также, что визуально куски породы теперь неотличимы. Но вот сканер содержания ценных компонентов в породе - зачем мне этот технофетиш? Удалил из equipment.plist этот чудо-девайс, а заодно установил нижний порог критического уровня энергии, при котором процессор отключается, на 64 единицы - начало опорожнения нижней ячейки энергостека, как было в старом пакете. Красота!
Navigation MFD.
Пакет полезный, но в нем использовано определение оострономической единицы, которое меня категорически не устраивает - за 1 OU принято расстояние от входного маяка до главной планеы в системе Лэйв. Нет уж, я поступил по своему - добавил короткий кусок кода, который определяет 1 OU как расстояние между солнцем системы и главной планетой. А заодно урезал формат вывода расстояния до 3 знаков после точки. 6 знаков - это цифровой мусор, мне не нужно знать расстояние с такой точностью.
Границы применимости правила: те же, что и в предыдущем случае плюс умение отследить нужный участок кода и модифицировать его так, чтобы не повалить остальной код.

P.S. В первой редакции поста я, к сожалению, допустил непроверенную и хуже того, неверную информацию насчет пакета Docking Fees. Этот пакет снимает со счета геймера небольшую сумму по прибытии на станцию (портовые сборы) и выводит соответствующее сообщение.
А ошибка в том, что я пробовал этот пакет в комбинации с пакетом HDBG, который по прибыию на станцию показывает картинку. И вот эта картинка перебивает вывод экрана Illegal Goods Tweak, где таможня предлагает добровольно сдать подобранный запрещенный товар за небольшие премиальные. То есть проблемный пакет - именно HDBG, а не Docking Fees.
Спасибо за замечание, коммандер vasig!


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 01.10.12
Сообщений: 746
Откуда: Novosibirsk
Да я не нарочно :) Полечу, думаю, посмотрю зачетные картинки! Трижды стыковался, картинок нет, приходит один и тот же стюард и каждый раз на незнакомом мне языке просит 4.5 Cr. Он уже понял, что я его не понимаю, а может у меня другое на уме, но что поделаешь - у него работа такая :)


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1457
Итак, обещанные соображения по Ambience.
Мой старый мануал Ambience OXPs в фактической части и правда устарел, а что вы хотите - три с половиной года прошло. Затевать ревизию этого документа я в обозримом будущем не планирую. Во первых, у меня другие приоритеты, а во вторых, в то время я активно использовал чужие пакеты и следил за их обновлениями. Сейчас у меня есть полноценная альтернатива и такой пакет, к примеру, как Additional Planets SR, мне попросту неинтересен. Поэтому вместо дотошного разбора, кто с кем дружит, а кто с кем не очень, прокомментирую ситуацию в общем, заостряясь на деталях лишь в меру необходимости.
И прежде всего замечу, что нет смысла обсуждать категорию Ambience вообще, потому что это, мягко говоря, очень рыхлая категория. Согласитесь, это немножко разные пакеты - Xenon UI, который просто предлагает альтернативный набор фонов экранов игрового интерфейса, и Custom Shieds - чистейшей воды игровая механика, попавшая в категорию Ambience не понять с какого перепугу. Абсурда ситуации добавляет то обстоятельство, что шкурки кораблей, станций и астероидов (ну чем не Ambience?) рассматриваются в отдельной категории Retextures.
Ладно, оставим Custom Shields. На самом деле любая классификация размыта и порой автор определяет категорию пакета волевым решением. Sun Gear начинался как косметичка, но сейчас это базовый пакет, на котором построена астрономическая картина и игровая механика Stranger's World. А вот вам более простой пример. Пакет, изменяющий цвет лазерного луча, это Ambience? Ну. А тогда что такое Dark Ray, который этот луч делает невидимым? Это серьезное изменение игровой механики, хотя формально это Ambience.
Если уж попытаться выделить нечто общее для пакетов категории Ambience - то это их основная задача: изменение оформления Оониверсума. Перенастройка игровой механики, к примеру, может сопровождаться тонкими неочевидными эффектами, которые проявляются лишь в особых случаях и ускользают от внимания геймера, не склонного к глубокой рефлексии. В случае с Ambience изменения фона экранов игрового интерфейса, вида неба и небесных тел, уровня освещенности, озвучки видны сразу и теоретически с пакетами этой категории определиться проще всего: поставил, попробовал, оценил, оставил или снес. Но и тут ленивый геймер, как обычно, находит способ озадачить себя и других: ставит все подряд пачками, а потом достает людей на форуме - стало очень много звезд и темно, как у негра в... что мне удалить, чтобы вернуть все как было?
Снести все нахрен и ставить шаг за шагом, как положено: поставил, попробовал, оценил, оставил/снес.
Ну или когда надоест каждый раз отжиматься, понять наконец логику работы пакетов категории Ambience. Собственно, с этой целью методичка Ambience OXPs и была написана. И в той части, где излагаются эти общие принципы, она (сюрприз!) все еще актуальна.

Попробую здесь изложить то же самое, только другими словами.


  Re: Грамотная конфигурация Oolite и проблемы с аддонами
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1457
А. Конфликт на уровне ресурсных файлов

Пакеты категории Ambience часто (но не всегда!) используют ресурсные файлы: фоновые картинки и текстуры - файлы с расширением .png, звуки и музыку - файлы с расширением .ogg. Эти ресурсы хранятся не где попало, а в соответствующих папках:

Images - фоновые картинки
Music - музыкальные темы
Textures - текстуры
Sounds - звуки.

Есть и другие типы ресурсов, которые хранятся в соответствующих папках, но пока этого достаточно.
Так вот, при запуске игра выделяет для каждого типа ресурсов область памяти и собирает в нее все ресурсы этого типа. Причем в такой последовательности:
Oolite создает, к примеру, область памяти с меткой Textures и собирает в нее все картинки из папки Textures дистрибутива игры.
Затем игра запускает в алфавитном порядке пакеты в формате OXZ и собирает все картинки из папок Textures в этих пакетах. Если файл с аналогичным именем уже был, картинка замещается на ту, которая была прочитана позже.
Затем опять же в алфавитном порядке игра запускает пакеты в формате OXP и собирает содержимое их папок Textures. И снова при совпадении имен файлов ранее прочитанные картинки замещаются на те, которые были прочитаны позже.
Иначе говоря, действует чисто армейский принцип: если приказы друг другу противоречат, выполняется последний отданный приказ.
Для геймера удобно: поставил пакет, попробовал, оставил/снес и вернулся к конфигурации по умолчанию (собственно, все плагины в играх так и работают).
Для ленивого разработчика тоже удобно. Хочешь, к примеру, заменить стандартный звук удара лазерного луча в щит на леденящий душу скрежет - можно вообще ничего не делать, просто создать пакет с папкой Sounds и закинуть туда новый файл с именем laserhits.ogg. Обработчик игровых событий его подхватит и исполнит вместо дефолтного звука. Замечу сразу, на самом деле такие альтернативные озвучки, как Halsis, работают немножко сложнее - но об этом чуть погодя.
Для разработчика с руками и головой тоже удобно. Большой пакет можно разделить на две части - собственно рабочий пакет и пакет с ресурсами для его работы. Такой подход позволяет выпускать обновления рабочего пакета, не вынуждая геймера каждый раз скачивать по новой десятки и сотни мегабайт ресурсных файлов, которые меняются лишь изредка.

Проблемы начинаются, когда имена ресурсных файлов в разных пакетах совпадают.
Разработчик пакета A потратил, скажем, уйму сил на планетную текстуру ручной сборки под именем, опять же к примеру, moon1.png. Или просто взял высококачественную лунную текстуру с сайта NASA. Радостный геймер скачал пакет с этими текстурами, а заодно для полного щастья решил присунуть в игру древний пакет Z, в котором тоже есть текстура moon1.png. Просто шоб було, чё ему без дела лежать. Картинок много не бывает, ага.
Знаете, Оолиту как-то пофиг, что текстура из пакета Z была сделана аж в июле 2008 года и страшна неимоверно. Он, руководствуясь армейским принципом "при совпадении имен ресурсных файлов берется ресурсный файл из последнего по алфавиту пакета", просто замещает роскошную текстуру из пакета A с размером 4096х2048 на эту крошечную замыленную картинку из последнего по списку пакета Z с размером 512х256.
Кто виноват? Кто?!
Ну, на самом деле, не только геймер.
Опытный разработчик не поленится подобрать для ресурсных файлов имена с уникальными префиксами, которые вряд ли совпадут с именами ресурсных файлов в другом пакете. Поэтому конфликт пакетов на этом уровне - скорее исключение.
Но все же хочу добавить еще вот что.
Оолит не знает, что moon1.png - это именно планетная текстура. И если вдруг разработчик пакета Z решил, к примеру, обогатить Оониверсум межпланетной сетью борделей и развесил возле маяков биллборды с текстурами moon1.png и так далее вплоть до moon4.png, то Оолит вместо высококачественной лунной текстуры с сайта NASA натянет на луну эту рекламу интимных услуг. Чем ввергнет геймера в ступор - ведь вроде эти пакеты по отдельности работали без проблем!
Более того. Оолит не в курсе, что картинка moon1.png - это текстура, а не фоновая картинка. Для него все, что находится в папках Textures - это именно текстуры. Разработчик пакета Z решил сопроводить свой пакет гигабайтом высококачественных иллюстраций процесса оказания этих услуг. Которые, естественно, как фоновые картинки находятся в папке Images. Пока они там и находятся, ситуация относительно безопасна - несмотря на совпадающие имена, эти файлы подгрузились в разные области памяти и обрабатываются по разному. Но не тут-то было. Наш сообразительный геймер найдет таки способ при ручной сборке пакета Z из архивных томов кинуть эти картинки в папку Textures того же пакета Z, а не в папку Images.
Результат немножко предсказуем. Думаю, вы уже можете представить, что за зрелище вы увидите, подлетая к луне.


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









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

cron