|
|
13.03.21
|
|
|
Re: Oolite - вопросы и ответы |
|
|
775 сокет, 2-х ядерн.проц 7400, видюха GT 250 , ось ХР, работает 1.90 даже на русском!
775 сокет, 2-х ядерн.проц 7400, видюха GT 250 , ось ХР, работает 1.90 даже на русском!
|
|
|
|
![](images/spacer.gif) |
13.03.21
|
|
|
Re: Oolite - вопросы и ответы |
|
|
[quote="гость"]попробую ещё раз, вопрос наверное затерялся - какие версии Oolite будут работать на ХР? версия 1.76 работает, а более поздние пойдут?[/quote]
На ХР идут все, до последней версии!
[quote="гость"]попробую ещё раз, вопрос наверное затерялся - какие версии Oolite будут работать на ХР? версия 1.76 работает, а более поздние пойдут?[/quote]
На ХР идут все, до последней версии!
|
|
|
|
![](images/spacer.gif) |
31.12.20
|
|
|
Re: Oolite - вопросы и ответы |
|
|
попробую ещё раз , вопрос наверное затерялся - какие версии Oolite будут работать на ХР ? версия 1.76 работает , а более поздние пойдут ?
попробую ещё раз , вопрос наверное затерялся - какие версии Oolite будут работать на ХР ? версия 1.76 работает , а более поздние пойдут ?
|
|
|
|
![](images/spacer.gif) |
26.12.20
|
|
|
Re: Oolite - вопросы и ответы |
|
|
со Звёздными войнами" я понял , второй вопрос - какие версии игры пойдут на ХР ? скачивал 1.76 вроде бы работает , более поздние версии тоже работать будут ?
со Звёздными войнами" я понял , второй вопрос - какие версии игры пойдут на ХР ? скачивал 1.76 вроде бы работает , более поздние версии тоже работать будут ?
|
|
|
|
![](images/spacer.gif) |
15.12.20
|
|
|
Re: Oolite - вопросы и ответы |
|
|
гость: кто нибудь заморачивался с разработкой ОХР по мотивам Звёздных войн , то есть полная переработка игры - названия планет из ЗВ , корабли из ЗВ и тд ? Насколько я знаю - нет. Теоретически можно сделать совсем другую игру на движке Оолита, но реально это очень трудоемкий проект. Добавить корабли из ЗВ можно, заменить корабли из Оолита на корабли из ЗВ - совсем другой вопрос. Это надо помимо новых моделей популятор переписывать, делать другой AI, потратить массу времени на новый лор. Одиночке такой проект вытянуть сложно. А так как игра не коммерческая, на чистом энтузиазме собрать группу тоже проблемно.
[quote="гость"]кто нибудь заморачивался с разработкой ОХР по мотивам Звёздных войн , то есть полная переработка игры - названия планет из ЗВ , корабли из ЗВ и тд ?[/quote] Насколько я знаю - нет. Теоретически можно сделать совсем другую игру на движке Оолита, но реально это очень трудоемкий проект. Добавить корабли из ЗВ можно, заменить корабли из Оолита на корабли из ЗВ - совсем другой вопрос. Это надо помимо новых моделей популятор переписывать, делать другой AI, потратить массу времени на новый лор. Одиночке такой проект вытянуть сложно. А так как игра не коммерческая, на чистом энтузиазме собрать группу тоже проблемно.
|
|
|
|
![](images/spacer.gif) |
14.12.20
|
|
|
Re: Oolite - вопросы и ответы |
|
|
возможно оффтоп и флуд , но задам вопрос - кто нибудь заморачивался с разработкой ОХР по мотивам Звёздных войн , то есть полная переработка игры - названия планет из ЗВ , корабли из ЗВ и тд ?
возможно оффтоп и флуд , но задам вопрос - кто нибудь заморачивался с разработкой ОХР по мотивам Звёздных войн , то есть полная переработка игры - названия планет из ЗВ , корабли из ЗВ и тд ?
|
|
|
|
![](images/spacer.gif) |
22.04.18
|
|
|
Re: Oolite - вопросы и ответы |
|
|
С вашего позволения, я наведу небольшой порядок в этой теме, чтобы не захламлять ее частными вопросами. Что-то объединю в дополнение к FAQ, что-то перенесу в другую тему. Итак, новые вопросы. Где найти базовый мануал по игре для новичка?В первую очередь, с игрой идет документ Oolite RS.pdf. Находится в папке Documentation, которая ставится при распаковке игры из архива. Документ на английском, но в нем перечислены все управляющие клавиши и расписаны все элементы HUD (интерфейса, который вы будете видеть во время полета). Там же вы найдете информацию по базовому набору оборудования, товарам, основам экономики, политики и правовой системы, а также таблицу боевого рейтинга и ТТХ включенных в игру дефолтных кораблей. На главной страничке http://oolite.ru/ есть линк на Руководство на русском языке. Документ объемистый (84 страницы A4 в формате Word), но местами неактуальный – со времен Oolite 1.76 много чего добавилось и поменялось. Рекомендуется как дополнительный источник, ни в коем случае не заменяющий вышеупомянутый Oolite RS. Справочная система в самой игре: Главное меню, которое появляется при запуске игры, включает два пункта. View Keyboard Settings – позволяет просмотреть (но не отредактировать!) клавиатурные настройки. View Ship Library – информация о включенных в игру кораблях и станциях. Русские онлайн ресурсы: Этот форум в первую очередь ![Smile :-)](./images/smilies/icon_e_smile.gif) Главная страничка сайта, к сожалению, давно не обновлялась и представляет в основном исторический интерес. Коммандер ALEX_M запустил на YouTube ценный для новичков проект Oolite - roolite https://www.youtube.com/channel/UCdbMJv ... fb4hmlXPqwСерия видео, знакомящих новичка с основами игры. Англоязычные онлайн ресурсы: В первую очередь Oolite: an open-world space opera http://oolite.org/Оперативно обновляемый ресурс, как с детальными описаниями изменений в новых версиях игры, так и с массой информации об аддонах. По линку Community с этого сайта можно перейти в список прочих англоязычных ресурсов. Как разобраться в обилии аддонов? Где искать их описания?Опять же в первую очередь Oolite Expansion Packs – раздел уже упомянутой Oolite: an open-world space opera http://oolite.org/oxps/Большая таблица с краткими описаниями пакетов в формате OXZ, которую можно сортировать по названию пакета, категории, автору и дате последнего обновления. Почти все пакеты в таблице снабжены линками на соответствующую страницу подробного описания EliteWiki или если таковой нет, на страницу англоязычного форума Expansion Pack http://aegidian.org/bb/viewforum.php?f=4где презентуются и обсуждаются эти пакеты. Коммандер tomcat на нашем форуме затеял сквозное описание существующих пакетов по категориям. Ветка форума На другие темы / Описания OXP на русском viewtopic.php?f=7&t=455На данный момент работа сделана лишь частично и информация не сведена в единый документ, но это уже лучше, чем ничего. Могу также рекомендовать свой обзор За пределами Stranger’s World – линк в моей личной рубрике viewtopic.php?f=11&t=567Это неполный и субъективный обзор, но думаю, для начала его хватит, чтобы сориентироваться, что ставить в первую очередь. Как грамотно настроить бесконфликтную игровую конфигурацию?Рекомендую таки вдумчиво прочитать тему Грамотная конфигурация Oolite и проблемы с аддонами viewtopic.php?f=3&t=694 Есть ли в игре настройка уровня сложности?В игре как таковой – нет. Уровень сложности вы определяете индивидуально, подбирая на свой личный вкус пакеты, в основном из категории Механика. Как перенастроить дефолтную привязку клавиш (keymap)?Через меню игры – никак. В принципе можно отредактировать файл keyconfig.plist (папка Config в директории самой игры), но не забудьте сделать бэкап файла перед экспериментами! Более правильное решение для опытного геймера – скопировать файл keyconfig.plist в самостоятельный пакет и отредактировать эту копию, а не исходый файл в дистрибутиве. В принципе таким способом вы можете переназначить действия на клавиши, незадействованные в игре по умолчанию – вроде PgUp / PgDown, но для этого вам нужно знать их кодировку (для обычных буквенных и цифровых клавиш достаточно ввести соответствующий символ). То есть примерно так: для обычных клавиш Код: key_galactic_hyperspace = "g"; key_hyperspace = "h"; key_jumpdrive = "j"; и для специальных клавиш Код: key_yaw_left = 253; // left arrow key_yaw_right = 252; // right arrow
С вашего позволения, я наведу небольшой порядок в этой теме, чтобы не захламлять ее частными вопросами. Что-то объединю в дополнение к FAQ, что-то перенесу в другую тему.
Итак, новые вопросы.
:?: [i]Где найти базовый мануал по игре для новичка?[/i]
В первую очередь, с игрой идет документ Oolite RS.pdf. Находится в папке Documentation, которая ставится при распаковке игры из архива. Документ на английском, но в нем перечислены все управляющие клавиши и расписаны все элементы HUD (интерфейса, который вы будете видеть во время полета). Там же вы найдете информацию по базовому набору оборудования, товарам, основам экономики, политики и правовой системы, а также таблицу боевого рейтинга и ТТХ включенных в игру дефолтных кораблей. На главной страничке http://oolite.ru/ есть линк на Руководство на русском языке. Документ объемистый (84 страницы A4 в формате Word), но местами неактуальный – со времен Oolite 1.76 много чего добавилось и поменялось. Рекомендуется как дополнительный источник, ни в коем случае не заменяющий вышеупомянутый Oolite RS.
Справочная система в самой игре:
Главное меню, которое появляется при запуске игры, включает два пункта. View Keyboard Settings – позволяет просмотреть (но не отредактировать!) клавиатурные настройки. View Ship Library – информация о включенных в игру кораблях и станциях.
Русские онлайн ресурсы:
Этот форум в первую очередь :-) Главная страничка сайта, к сожалению, давно не обновлялась и представляет в основном исторический интерес. Коммандер ALEX_M запустил на YouTube ценный для новичков проект Oolite - roolite https://www.youtube.com/channel/UCdbMJvC6LVzH6fb4hmlXPqw Серия видео, знакомящих новичка с основами игры.
Англоязычные онлайн ресурсы:
В первую очередь Oolite: an open-world space opera http://oolite.org/ Оперативно обновляемый ресурс, как с детальными описаниями изменений в новых версиях игры, так и с массой информации об аддонах. По линку Community с этого сайта можно перейти в список прочих англоязычных ресурсов.
:?: [i]Как разобраться в обилии аддонов? Где искать их описания?[/i]
Опять же в первую очередь Oolite Expansion Packs – раздел уже упомянутой Oolite: an open-world space opera http://oolite.org/oxps/ Большая таблица с краткими описаниями пакетов в формате OXZ, которую можно сортировать по названию пакета, категории, автору и дате последнего обновления. Почти все пакеты в таблице снабжены линками на соответствующую страницу подробного описания EliteWiki или если таковой нет, на страницу англоязычного форума Expansion Pack http://aegidian.org/bb/viewforum.php?f=4 где презентуются и обсуждаются эти пакеты.
Коммандер tomcat на нашем форуме затеял сквозное описание существующих пакетов по категориям. Ветка форума На другие темы / Описания OXP на русском http://oolite.ru/coriolis/viewtopic.php?f=7&t=455 На данный момент работа сделана лишь частично и информация не сведена в единый документ, но это уже лучше, чем ничего. Могу также рекомендовать свой обзор За пределами Stranger’s World – линк в моей личной рубрике http://oolite.ru/coriolis/viewtopic.php?f=11&t=567 Это неполный и субъективный обзор, но думаю, для начала его хватит, чтобы сориентироваться, что ставить в первую очередь.
:?: [i]Как грамотно настроить бесконфликтную игровую конфигурацию?[/i]
Рекомендую таки вдумчиво прочитать тему Грамотная конфигурация Oolite и проблемы с аддонами http://oolite.ru/coriolis/viewtopic.php?f=3&t=694
:?: [i]Есть ли в игре настройка уровня сложности?[/i]
В игре как таковой – нет. Уровень сложности вы определяете индивидуально, подбирая на свой личный вкус пакеты, в основном из категории Механика.
:?: [i]Как перенастроить дефолтную привязку клавиш (keymap)?[/i]
Через меню игры – никак. В принципе можно отредактировать файл keyconfig.plist (папка Config в директории самой игры), но не забудьте сделать бэкап файла перед экспериментами! Более правильное решение для опытного геймера – скопировать файл keyconfig.plist в самостоятельный пакет и отредактировать эту копию, а не исходый файл в дистрибутиве. В принципе таким способом вы можете переназначить действия на клавиши, незадействованные в игре по умолчанию – вроде PgUp / PgDown, но для этого вам нужно знать их кодировку (для обычных буквенных и цифровых клавиш достаточно ввести соответствующий символ). То есть примерно так:
для обычных клавиш [code] key_galactic_hyperspace = "g"; key_hyperspace = "h"; key_jumpdrive = "j";[/code] и для специальных клавиш [code] key_yaw_left = 253; // left arrow key_yaw_right = 252; // right arrow[/code]
|
|
|
|
![](images/spacer.gif) |
22.03.17
|
|
|
Re: Oolite - вопросы и ответы |
|
|
vasig: stranger: Во вторых и в главных, системы координат, привязанной к поверхности планеты, как не было, так и нет А вот здесь я не соглашусь с многоуважаемым главой Stranger's World. Все это было реализовано (вероятно так же фантомно, но очень реалистично) Владимиром Петровичем (Tch) в его параллельной вселенной №002, а именно, в его (как мне кажется, незаслуженно названных "атракционом игра в игре") посадках на планету Земля в определенных местах и ее же Луну в места посадок разных космических аппаратов СССР и США. То есть, это возможно. ... Как это сделать знал только многоуважаемый Tch, но он этого секрета не раскрыл. Увы, нет. Tch, мягко говоря, схитрил - он привязал свои порты к небесным координатам. Для этого ему пришлось заморозить свои солнечные системы и только в такой статичной конфигурации он смог определить эти особые точки. На вращающемся небесном теле его метод не работает. При изменении радиуса планеты его метод не работает. При изменении расстояния до луны и ее [псевдо]орбитальном движении его метод не работает. Именно потому, что нет системы координат, привязанной к поверхности планеты/луны.
[quote="vasig"][quote="stranger"]Во вторых и в главных, системы координат, привязанной к поверхности планеты, как не было, так и нет[/quote] А вот здесь я не соглашусь с многоуважаемым главой Stranger's World. Все это было реализовано (вероятно так же фантомно, но очень реалистично) Владимиром Петровичем (Tch) в его параллельной вселенной №002, а именно, в его (как мне кажется, незаслуженно названных "атракционом игра в игре") посадках на планету Земля в определенных местах и ее же Луну в места посадок разных космических аппаратов СССР и США. То есть, это возможно. ... Как это сделать знал только многоуважаемый Tch, но он этого секрета не раскрыл. [/quote] Увы, нет. Tch, мягко говоря, схитрил - он привязал свои порты к небесным координатам. Для этого ему пришлось заморозить свои солнечные системы и только в такой статичной конфигурации он смог определить эти особые точки. На вращающемся небесном теле его метод не работает. При изменении радиуса планеты его метод не работает. При изменении расстояния до луны и ее [псевдо]орбитальном движении его метод не работает. Именно потому, что нет системы координат, привязанной к поверхности планеты/луны.
|
|
|
|
![](images/spacer.gif) |
22.03.17
|
|
|
Re: Oolite - вопросы и ответы |
|
|
stranger: Во вторых и в главных, системы координат, привязанной к поверхности планеты, как не было, так и нет А вот здесь я не соглашусь с многоуважаемым главой Stranger's World. Все это было реализовано (вероятно так же фантомно, но очень реалистично) Владимиром Петровичем (Tch) в его параллельной вселенной №002, а именно, в его (как мне кажется, незаслуженно названных "атракционом игра в игре") посадках на планету Земля в определенных местах и ее же Луну в места посадок разных космических аппаратов СССР и США. То есть, это возможно. Насколько это нужно? Только не тем кто считает Oolite тягомотиной. Тут, конечно, мнения разойдутся, что вполне естественно. Здесь все привыкли "раз и готово". Стыковка с ГОС может вызвать некоторый трепет и повышенное потоотделение только у начинающих пилотов, а к тому времени, когда будут деньги на стыковочный компьютер он в общем-то уже и не нужен. "Посадка" на планету - это тоже очень просто, самое главное вовремя притормозить. Но посадка действительно происходит где угодно, хотя после нее мы наверяка окажемся на ровном месте (в худшем случае совершенно безжизненном и даже заправиться негде), а в лучшем случае на каком-нибудь курорте, где можно поразмять ксточки после столь длительного перелета - 7LY, однако. В моем альтернативном Оониверсуме это происходит несколько иначе. Полет над поверхностью планеты необходим, так как посадка на планету невозможна до обнаружения посадочного буя, которых может быть несколько, или вообще ни одного! Ну не хотят эти маленькие безобидные (но очень хорошо вооруженные) паучки, чтобы я портил им атмосферу своим выхлопом. Они имеют на это право, а на нет и суда нет. К сожалению, места посадок, хотя и обозначены на картах (текстурах планет), но не привязаны к посадочным буям. Как это сделать знал только многоуважаемый Tch, но он этого секрета не раскрыл. P.S. Кстати, об астероидах. В Оониверсуме Stranger's World появилась возможность приобретать и продавать воду, а как известно - "без воды и не туды и не сюды". Кое-кто устанавливает совершенно бесполезный пакет "ледяных астероидов", на котором можно, однако, потренироваться в меткости. (А жаль, что нет баллистического оружия - патроны нужно было бы беречь ![Smile :)](./images/smilies/icon_e_smile.gif) ). Так вот, почему бы не сделать эту стрельбу прибыльной. Разбил ледяную глыбу и в результате, если конечно летишь порожняком, сколько-то там тонн воды. По крайней мере на любой станции KIOTA или орбитере, или отдаленной планете это можно реализовать и хотя бы оправдать транспортные расходы.
[quote="stranger"]Во вторых и в главных, системы координат, привязанной к поверхности планеты, как не было, так и нет[/quote] А вот здесь я не соглашусь с многоуважаемым главой Stranger's World. Все это было реализовано (вероятно так же фантомно, но очень реалистично) Владимиром Петровичем (Tch) в его параллельной вселенной №002, а именно, в его (как мне кажется, незаслуженно названных "атракционом игра в игре") посадках на планету Земля в определенных местах и ее же Луну в места посадок разных космических аппаратов СССР и США. То есть, это возможно. Насколько это нужно? Только не тем кто считает Oolite тягомотиной. Тут, конечно, мнения разойдутся, что вполне естественно. Здесь все привыкли "раз и готово". Стыковка с ГОС может вызвать некоторый трепет и повышенное потоотделение только у начинающих пилотов, а к тому времени, когда будут деньги на стыковочный компьютер он в общем-то уже и не нужен. "Посадка" на планету - это тоже очень просто, самое главное вовремя притормозить. Но посадка действительно происходит где угодно, хотя после нее мы наверяка окажемся на ровном месте (в худшем случае совершенно безжизненном и даже заправиться негде), а в лучшем случае на каком-нибудь курорте, где можно поразмять ксточки после столь длительного перелета - 7LY, однако.
В моем альтернативном Оониверсуме это происходит несколько иначе. Полет над поверхностью планеты необходим, так как посадка на планету невозможна до обнаружения посадочного буя, которых может быть несколько, или вообще ни одного! Ну не хотят эти маленькие безобидные (но очень хорошо вооруженные) паучки, чтобы я портил им атмосферу своим выхлопом. Они имеют на это право, а на нет и суда нет. К сожалению, места посадок, хотя и обозначены на картах (текстурах планет), но не привязаны к посадочным буям. Как это сделать знал только многоуважаемый Tch, но он этого секрета не раскрыл.
P.S. Кстати, об астероидах. В Оониверсуме Stranger's World появилась возможность приобретать и продавать воду, а как известно - "без воды и не туды и не сюды". Кое-кто устанавливает совершенно бесполезный пакет "ледяных астероидов", на котором можно, однако, потренироваться в меткости. (А жаль, что нет баллистического оружия - патроны нужно было бы беречь :) ). Так вот, почему бы не сделать эту стрельбу прибыльной. Разбил ледяную глыбу и в результате, если конечно летишь порожняком, сколько-то там тонн воды. По крайней мере на любой станции KIOTA или орбитере, или отдаленной планете это можно реализовать и хотя бы оправдать транспортные расходы.
|
|
|
|
![](images/spacer.gif) |
21.03.17
|
|
Итак, движок Оолита позволяет создавать просторные уникальные солнечные системы. Можно наконец делать раскрываемые карты. Можно даже делать полноценные альтернативные карты с альтернативной топологией и альтернативными паспортами систем. Но суть Оониверсума остается неизменной: это плотно заселенная игровая вселенная, в которой все 2048 систем – лишь вариации на тему Солнечной системы с солнцем и обитаемой планетой земной группы. То что надо для жанра космической оперы. Но если вы хотя бы минимально интересуетесь астрономией, то не будете спорить: разнообразие астрономических объектов реального мира неизмеримо богаче убогих фантазий тружеников жанра космической оперы. Давайте отважимся выйти за рамки лора и прикинуть, можно ли внести в Оолит хотя бы часть этого разнообразия? Какие астрономические объекты в принципе можно попытаться симулировать в Оолите?
Звездное поле и туманности
Оолит - не планетарий. И на звездном небе Оолита этот факт виден с полной наглядностью. Начнем с того очевидного факта, что все системы на карте лежат в плоскости, а не заполняют объем. Так что головокружительное ощущение космоса, в котором нет привычного верха и низа, реализуется только в пределах локальных систем. Если добавить к этому, что технически каждая система имеет свое изолированное игровое пространство и перемещение между ними происходит через червоточины, симулировать нечто похожее на межзвездный полет, в котором солнце системы назначения понемного проступает на звездном поле, не получится. Рисунок звездного поля формируется псевдорэндомно на основе уникального для каждой системы семечка random_seed в planetinfo.plist. Никакой корреляции между рисунками звездного поля в соседних системах не наблюдается, поэтому навыки астронавигации по приметным звездным конфигурациям работают только применительно к данной системе. Между тем в реальной реальности скелеты созвездий, как правило, сложены из звезд высокой светимости, удаленных от земного наблюдателя на десятки и сотни световых лет. Если переместить наблюдателя из Солнечной системы в систему Альфы Кентавра на расстояние 4.4 LY от Солнца, то очертания ковша Большой Медведицы почти не изменятся. Останется узнаваемым и рисунок зигзага Кассиопеи за исключением того, что к букве W добавится лишняя яркая звезда по имени Солнце. Созвездие Ориона тоже будет легко читаться, если привыкнуть, что яркий Сириус окажется рядом с Бетельгейзе (это будет очень эффектная конфигурация!). В целом навыки ориентации на земном звездном небе после небольшой адаптации будут работать в соседних системах. Увы, руками любителя ситуацию поправить нельзя, так как ничего похожего на редактируемые юзверем карты текстур звездного неба движок Оолита не поддерживает.
Туманности в Оолите - тоже чистой воды голливудские декорации. Туманности, вообще, довольно мусорное историческое понятие, куда сваливают все протяженные объекты, которые не разрешаются на звезды в телескоп. И если туманность Ориона - и в самом деле облако люминесцирующего газа, то туманность Андромеды - это галактика, состоящая из миллиардов звезд. До туманности Ориона примерно полторы тысячи световых лет, до туманности Андромеды - два с половиной миллиона, так что можно не только в соседнюю систему перелететь, но и по всей карте гулять - и их взаимное положение на небе практически не изменится. А тут у нас в каждой системе свои домашние туманности. Единственное, что можно сделать с этой бессмысленной красотой - отключить ее напрочь, ну или оставить одну туманность с хорошей качественной текстурой на весь Оониверсум (увы, определить свою туманность для каждой из 8 карт тоже не получится).
А вот нечто похожее на темные пылевые туманности (угольные мешки) в принципе симулировать можно. Реальный астрономический факт: последние 5...10 миллионов лет Солнце находится в так называемом Местном пузыре размером около 300 световых лет, заполненном разреженным межзвездным газом (что дает, кстати, очень благоприятные возможности для наблюдательной астрономии). При другом раскладе мы бы могли оказаться в сильно запыленном районе Галактики с ограниченной видимостью. Размер Местного пузыря превышает размер типичной карты (примерно 200х100 LY) и можно со спокойной совестью принять, что все 8 карт умещаются в такой обширной зоне, поэтому объявление числа звезд sky_n_stars и уровня фонового освещения ambient_level как глобальных параметров вполне оправдано. Можно, однако, принять и обратное правило - отдельные карты или даже островные регионы вроде миров за Большим Разломом на 7 карте могут находиться в плотных пылевых туманностях, где темно и звезд на небосводе мало. Но тут есть техническая проблема. Число звезд в системе можно избирательно настраивать с помощью коэффициента star_count_multiplier, не трогая глобальный параметр sky_n_stars. Можно избирательно корректировать их цвет, приближая в сильно запыленных регионах к красному. Но вот уровень освещения ambient_level можно задать только напрямую, коэффициенты его избирательной коррекции не предусмотрены. А это значит, что геймер, которому не нравится дефолтный уровень освещения ambient_level = 1, не сможет корректировать уровень освещения в таких системах через глобальную настройку. Это как раз тот момент, котороый я безуспешно пытался объяснить Tch - его концепт Темных и Светлых миров нагибает геймера под авторское видение игры, что лично для меня категорически неприемлемо.
Солнце
Примерно половина звезд в нашей Галактике – двойные или кратные. Технически движок Оолита позволяет определить в системе только одно солнце, поэтому симуляция тесных двойных систем в Оониверсуме исключена. Но в реальной реальности орбиты планет в системе двойной звезды с близкими компонентами нестабильны, поэтому в любом случае встает выбор: или тесная двойная система, но без планет в зоне обитания, или одиночная звезда с планетами. В Оониверсуме встречаются системы, разделенные расстоянием порядка 0.1...0.2 LY. На карте Первого сектора, к примеру, это системы Legees и Laeden (координаты 4 253 и 4 254). В реальной реальности звезды, разделенные таким расстоянием, часто физически связаны. Технически системы Legees и Laeden – самостоятельные и равноправные игровые локации, но в альтернативном Оониверсуме их можно было бы трактовать как широкую гравитационо связанную пару Laeden A и Laeden B с очень большим орбитальным периодом. В принципе можно также симулировать систему с обычной звездой и бурым карликом, если добавить в систему большую планету с подходящей текстурой. Именно таким образом был добавлен пульсар в систему Tianve – технически он является планетой.
Раз в системе только одно солнце, то и затменных переменных звезд быть не может. А что с физической переменностью, когда звезда меняет свою светимость? Радиус солнца системы зафиксирован в planetinfo.plist и через JavaScript изменить его нельзя, поэтому пульсирующие переменные вроде дельты Цефея или Миры в Оониверсуме симулировать не получится. Единственный вид космических фейерверков, которым можно управлять через скрипт – это эффектный взрыв Новой. Нечто похожее на солнечную активность симулировать можно, изменяя размер солнечной короны через скрипт и даже добавляя пятна на солнечный диск.
Солнца в Оониверсуме имеют цвет. Линейку светил главной последовательности от звезд-двойников Солнца (желтая звезда спектрального класса G2V) до красных карликов спектрального класса M в принципе можно симулировать с аккуратным соблюдением относительных размеров, как это сделано в пакете Sun Gear. В принципе можно выйти и за пределы этой линейки и симулировать красные гиганты – но такую систему нужно делать очень просторной, так как радиус красного гиганта в десятки и сотни раз превышает радиус Солнца. Я не уверен, что такая огромная система будет интересной в игровом плане. А вот с горячими бело-голубыми звездами есть сложность технического плана – трудно добиться их естественного оттенка цвета. То же касается и тусклых почти угасших красных карликов, которые светят в основном в инфракрасном диапазоне. Пожалуй, это ограничение можно обойти, взяв за основу пакет System features: Sunspots и закрыв диск красного карлика множеством больших пятен. Но к сожалению, модель освещения в Оолите примитивная: за источник света принимается точка в центре солнечного диска, поэтому освещение меняется по дискретному принципу “включено-выключено”. Поэтому рассчитывать на правдоподобное освещение в таких экзотических случаях не стоит.
А как насчет увлекательных космических чудес из популярных статей по астрофизике? Пульсар в системе Тианве, как я уже говорил – это просто быстро вращающаяся планета. Единственная опасность, которой он угрожает геймеру – это прямое столкновение. Пульсары в реальной реальности – это быстро вращающиеся нейтронные звезды с колоссальной гравитацией и очень мощным магнитным полем. Экскурсия живого наблюдателя в ближние окрестности таких объектов, вообще говоря, исключена хотя бы по причине интенсивной ионизирующей радиации. Но если уж вам так хочется непременно космических чудес, тем же способом можно симулировать и черную дыру – и в принципе даже проходимую червоточину, которая перенесет геймера в одну из систем в пределах 7 LY радиус-окрестности без затрат топлива (я думаю, вы сами сообразите, как это можно сделать, прокурив документацию на EliteWiki). Но если вам хочется непременно черную дыру с визуальными эффектами гравитационной линзы и с релятивистскими эффектами замедления времени, как в фильме Интерстеллар – то извините. Можно сделать нечто похожее на аккреционный диск вокруг черной дыры или пульсара, взяв за основу пакет System Features: Rings, но опять же в реальной реальности живой наблюдатель сможет посмотреть на это космическое чудо только издали и очень недолго, так как аккреционный диск разогрет до десятков миллионов градусов и очень сильно светит в рентгене.
Замечу в утешение: космические чудеса попадаются далеко не на каждом шагу. Расстояние до знаменитого рентгеновского источника SS 433 – двойной системы с черной дырой – составляет 18 тысяч световых лет. Звездное население в ближних окрестностях Солнца – это по большей части красные и оранжевые карлики, эти же звезды преобладают в населении Галактики в целом. Впрочем, у красных карликов вроде Проксимы Кентавра характер тоже не сахар: эти звезды дают частые солнечные вспышки с интенсивым излучением в ультрафиолетовом и рентгеновском диапазоне. Поток ионизирующей радиации, связанной с солнечной активностью, в зоне обитания Проксимы Кентавра в десятки раз выше, чем у Солнца на уровне орбиты Земли, что чревато полной потерей воды и атмосферы недавно открытой экзопланеты в этой системе.
Надо сказать, что при расчете равновесной температуры в окрестностях солнца движок Оолита на цвет звезды внимания не обращает. В дефолтном Оониверсуме все светила имеют одинаковую температуру и критический перегрев тел в их ближних окрестностях определяется лишь расстоянием до солнца, выраженным в его радиусах. Так же и дозаправка топливом по дефолтным правилам начинается на расстоянии от поверхности солнца менее 0.15 его радиуса независимо от его цвета. Так что если хотите симулировать зоны обитания вокруг светил, где вода на планете может существовать в жидком виде – надо писать скрипт, как это сделано в Sun Gear. То же и с массой солнца: в дефолтном Оолите солнце массы не имеет и если вы хотите симулировать что-то похожее на небесную механику, это надо делать через скрипт.
Планеты и луны
Паспорт системы, который видит геймер на экране F7 – что там есть из реальной астрономии? Да ничего кроме радиуса планеты, и этот радиус в дефолтном Оониверсуме – откровенно фантазийный параметр. Планета радиусом меньше трех тысяч километров запросто может иметь не то чтобы даже плотную атмосферу, пригодную для дыхания (все 2048 главных планет Оониверсума имеют плотную атмосферу, пригодную для дыхания!), но и вполне себе развитую аграрную экономику. В реальной реальности такая планетка может быть лишенным атмосферы сухим миром, как Меркурий, или промороженным миром с крайне разреженной атмосферой вроде Марса, или лишенным атмосферы ледяным миром вроде Ганимеда с водно-аммиачным океаном под ледяной корой, или опять же ледяным миром с океаном в недрах, но с плотной холодной атмосферой, как Титан. Но маленькая копия Земли, с маленькими океанами, континентами, озерами, реками, лесами, лугами, полями, садами, пастбищами – простите, такое исключено. Маленькая планета не может сохранить умеренно плотную и достаточно теплую атмосферу, необходимую для существования жидкой воды на поверхности. Маленькая планета к тому же быстро теряет внутреннее тепло и становится геологически мертвой, что приводит к серьезным последствиям. Во первых, при затвердении расплавленного ядра выключается планетарное динамо и планета лишается магнитного поля, защищающего атмосферу от солнечного ветра. Во вторых, и возможно, в главных, с выключением конвекции в мантии прекращается тектоническая и вулканическая активность. Утечка летучих веществ, формирующих атмосферу и океаны, в космос не восполняется дегазацией недр и кроме того геохимический цикл углерода размыкается – углерод выводится из цикла и безвозвратно погребается в осадочных породах.
Если же взять планету – двойник Земли по радиусу, то здесь пространство вариантов намного богаче и часть из них попросту не имеет аналогов в Солнечной системе. Планета-сад в системе классификации Elite Dangerous, планета класса M во вселенной Стар Трек – это про нашу Землю. Конечно, на Земле есть обширные территории, которые садом никак не назовешь, но если посмотреть со стороны, откуда-нибудь с Луны – таки да, нам повезло с домом: планета голубая и зеленая, с подходящей температурой и с богатой биотой. А мог быть и экстремально горячий мир с чудовищно плотной атмосферой вроде Венеры. Или Земля-снежок, полностью скованная льдами от полюсов до экватора, с оазисами простейшей жизни в районах выходов геотермальных источников. Или пустынный суперконтинент. Или планета-океан, полностью покрытая водой. Или вулканический мир, залитый обширными бассейнами лавы. Или криовулканический мир с очень холодной и очень плотной атмосферой и с озерами жидкого этана на поверхности – большая версия Титана. А как вам версия планеты-океана, разогретого до состояния сверхкритической жидкости? Или планеты на экстремально вытянутой орбите, когда на максимальном удалении от солнца в афелии температура падает настолько, что атмосфера полностью вымерзает? Или планеты, ось вращения которой завалена на девяноста градусов и сезон экстремальной жары на полюсах чередуется с сезоном экстремального холода, а ледники откладываются кольцом в районе экватора, а не образуют полярные шапки? Вариантов множество, потому что все эти двойники Земли возникли и существовали в разных условиях. Как давно сформировалась планета? Каков был состав протосолнечной туманности в этом районе космоса? Из каких источников формировался запас летучих веществ на планете, хватило ли его для образования атмосферы и океанов? Насколько интенсивной была астероидная бомбардировка? Были ли катастрофические столкновения с крупными небесными телами? Как эволюционировала орбита планеты? Как изменялась светимость солнца?
Я думаю, вы уловили, что я хочу сказать. Если принять во внимание это обширное пространство вариантов, то получается совершенно другой Оониверсум, в котором редкие пригодные для колонизации миры разделены мирами, пригодными в лучшем случае для добычи сырья вахтовым методом и размещения роботизированных производственных комплексов. Большинство непригодных для жизни систем в этом Оониверсуме будут слишком удалены от обитаемых систем, чтобы иметь какое-либо промышленное или сырьевое значение. В альтернативном Оониверсуме будут другие сюжеты. Вместо дальних пассажирских и грузовых перевозок – дальние рискованные экспедиции через галактические пустоши в поисках других обитаемых миров. А может быть, необитаемых, но пригодных для терраформинга. Может быть и так – отдельные колонии будут вести между собой ожесточенные схватки за контроль над стратегически важными системами или же заключать соглашения об их совместной эксплуатации или даже объединяться в кластеры, контролирующие значительную часть карты. В любом случае Галактического содружества в нынешнем виде не будет.
Какие есть технические возможности реализовать такой альтернативный Оониверсум? Как минимум можно развить потенциал умной косметички System Makeup, которая умеет подбирать текстуру главной планеты исходя из ее инсоляции. К сожалению, при отсутствии поддержки многослойных карт текстур планеты по прежнему будут раскрашенными матовыми шарами, но что есть, то есть. Такие вкусные опции, как плотность атмосферы, ее эффективную высоту, а тем более температуру и химический состав движок Оолита не поддерживает - все атмосферы генерируются по одному шаблону. Так что температуру и давление атмосферы за бортом придется симулировать через JavaScript и мириться с диссонансом между симулированными приборными показаниями и визуально наблюдаемым голубым цветом неба. Вплоть до последнего времени при классификации больших небесных тел Оолит использовал простенькое правило: все планеты имеют атмосферу, все луны ее не имеют. При таком подходе такие реальные небесные тела нашей Солнечной системы, как Меркурий (планета, атмосферы нет) и Титан (луна, есть плотная атмосфера) в Оониверсуме корректно не симулируешь. Сейчас у дополнительных планет можно задавать отсутствие атмосферы, но главная планета по прежнему обязательно имеет атмосферу, поэтому совсем безвоздушные миры корректно не симулируешь. Но в принципе можно ослабить требования к модели и заложить в нее, что самые маленькие главные планеты таки имеют атмосферу, но экстремально разреженную, как у Марса. А вот с разнообразием рельефа, геологией, погодой и климатом дело обстоит значительно хуже. Во первых, как уже было отмечено, технически посадки на поверхность планеты как таковой нет - вместо этого создается фантомный порт над поверхностью. Во вторых и в главных, системы координат, привязанной к поверхности планеты, как не было, так и нет. А значит, привязать эти фантомные порты к определенным районам на карте текстуры планеты тоже нельзя. Корректно симулировать местный метеопрогноз, увы, тоже: максимум, что можно сделать без хардкорного кодирования - это определить, сел ли корабль на дневной или на ночной стороне планеты. Так что проработка локаций получается на уровне ленивого воображения творцов космоопер: это планета-океан, это планета-пустыня, это планета-джунгли, а это ледяной мир. Ничего похожего на Землю с ее разнообразием климатов и биомов в рамках этой модели симулировать нельзя, так что при имитации научной экспедиции на поверхность придется ограничиться заранее сфабрикованным отчетом.
Малые тела
В реальном мире это астероиды и кометы, в Оониверсуме - только астероиды. Но вот как раз астероидам в Оониверсуме при желании можно придать вполне убедительное с научной точки зрения разнообразие. В реальной Солнечной системе астероидное вещество прошло частичную сепарацию по химическому составу. По химическому составу популяция астероидного пояса делится на группы: C-астероиды, обогащенные углеродом (углистые хондриты). Типичны для внешних окраин астероидного пояса и наиболее близки по химическому составу к первичному протопланетному веществу после потери летучих льдов. Составляют порядка 75% количества наблюдаемых астероидов. S-астероиды, обогащенные силикатами. Отсутствие заметного количества углерода в их составе говорит о том, что эти астероиды испытали нагрев и переплавку. Составляют около 15% популяции. M-астероиды, обогащенные металлами - источники железо-никелевых метеоритов, составляют примерно 10% популяции астероидного пояса. Предположительно фрагменты планетезималей, которые частично прошли химическую дифференцировку и были разбиты последующим столкновениями. Наконец, редкие загадочные V-астероиды, обогащенные базальтом. Базальт - вулканическая порода, астероиды этого класса похожи по своим спектральным характеристикам на крупный астероид Весту (отсюда и название класса), но в последнее время вроде есть подозрения, что этот класс астероидов связан с несколькими источниками.
К сожалению, по правилам дефолтного Оониверсума убедительно симулировать можно лишь силикатные астероиды S-класса (материал Minerals) и обогащенные металлами астероиды M-класса (материал Alloys), но в принципе и этого хватит, чтобы симулировать вариации химического состава астероидов в зависимости от их расстояния до солнца системы. Инструмент для космического геолога в принципе уже есть: можно взять за основу пакет Ore Processor и переписать участок кода, задающий содержание минералов и сплавов во фрагментах астероидов, разбитых горным лазером.
Итак, движок Оолита позволяет создавать просторные уникальные солнечные системы. Можно наконец делать раскрываемые карты. Можно даже делать полноценные альтернативные карты с альтернативной топологией и альтернативными паспортами систем. Но суть Оониверсума остается неизменной: это плотно заселенная игровая вселенная, в которой все 2048 систем – лишь вариации на тему Солнечной системы с солнцем и обитаемой планетой земной группы. То что надо для жанра космической оперы. Но если вы хотя бы минимально интересуетесь астрономией, то не будете спорить: разнообразие астрономических объектов реального мира неизмеримо богаче убогих фантазий тружеников жанра космической оперы. Давайте отважимся выйти за рамки лора и прикинуть, можно ли внести в Оолит хотя бы часть этого разнообразия? Какие астрономические объекты в принципе можно попытаться симулировать в Оолите?
Звездное поле и туманности
Оолит - не планетарий. И на звездном небе Оолита этот факт виден с полной наглядностью. Начнем с того очевидного факта, что все системы на карте лежат в плоскости, а не заполняют объем. Так что головокружительное ощущение космоса, в котором нет привычного верха и низа, реализуется только в пределах локальных систем. Если добавить к этому, что технически каждая система имеет свое изолированное игровое пространство и перемещение между ними происходит через червоточины, симулировать нечто похожее на межзвездный полет, в котором солнце системы назначения понемного проступает на звездном поле, не получится. Рисунок звездного поля формируется псевдорэндомно на основе уникального для каждой системы семечка random_seed в planetinfo.plist. Никакой корреляции между рисунками звездного поля в соседних системах не наблюдается, поэтому навыки астронавигации по приметным звездным конфигурациям работают только применительно к данной системе. Между тем в реальной реальности скелеты созвездий, как правило, сложены из звезд высокой светимости, удаленных от земного наблюдателя на десятки и сотни световых лет. Если переместить наблюдателя из Солнечной системы в систему Альфы Кентавра на расстояние 4.4 LY от Солнца, то очертания ковша Большой Медведицы почти не изменятся. Останется узнаваемым и рисунок зигзага Кассиопеи за исключением того, что к букве W добавится лишняя яркая звезда по имени Солнце. Созвездие Ориона тоже будет легко читаться, если привыкнуть, что яркий Сириус окажется рядом с Бетельгейзе (это будет очень эффектная конфигурация!). В целом навыки ориентации на земном звездном небе после небольшой адаптации будут работать в соседних системах. Увы, руками любителя ситуацию поправить нельзя, так как ничего похожего на редактируемые юзверем карты текстур звездного неба движок Оолита не поддерживает.
Туманности в Оолите - тоже чистой воды голливудские декорации. Туманности, вообще, довольно мусорное историческое понятие, куда сваливают все протяженные объекты, которые не разрешаются на звезды в телескоп. И если туманность Ориона - и в самом деле облако люминесцирующего газа, то туманность Андромеды - это галактика, состоящая из миллиардов звезд. До туманности Ориона примерно полторы тысячи световых лет, до туманности Андромеды - два с половиной миллиона, так что можно не только в соседнюю систему перелететь, но и по всей карте гулять - и их взаимное положение на небе практически не изменится. А тут у нас в каждой системе свои домашние туманности. Единственное, что можно сделать с этой бессмысленной красотой - отключить ее напрочь, ну или оставить одну туманность с хорошей качественной текстурой на весь Оониверсум (увы, определить свою туманность для каждой из 8 карт тоже не получится).
А вот нечто похожее на темные пылевые туманности (угольные мешки) в принципе симулировать можно. Реальный астрономический факт: последние 5...10 миллионов лет Солнце находится в так называемом Местном пузыре размером около 300 световых лет, заполненном разреженным межзвездным газом (что дает, кстати, очень благоприятные возможности для наблюдательной астрономии). При другом раскладе мы бы могли оказаться в сильно запыленном районе Галактики с ограниченной видимостью. Размер Местного пузыря превышает размер типичной карты (примерно 200х100 LY) и можно со спокойной совестью принять, что все 8 карт умещаются в такой обширной зоне, поэтому объявление числа звезд sky_n_stars и уровня фонового освещения ambient_level как глобальных параметров вполне оправдано. Можно, однако, принять и обратное правило - отдельные карты или даже островные регионы вроде миров за Большим Разломом на 7 карте могут находиться в плотных пылевых туманностях, где темно и звезд на небосводе мало. Но тут есть техническая проблема. Число звезд в системе можно избирательно настраивать с помощью коэффициента star_count_multiplier, не трогая глобальный параметр sky_n_stars. Можно избирательно корректировать их цвет, приближая в сильно запыленных регионах к красному. Но вот уровень освещения ambient_level можно задать только напрямую, коэффициенты его избирательной коррекции не предусмотрены. А это значит, что геймер, которому не нравится дефолтный уровень освещения ambient_level = 1, не сможет корректировать уровень освещения в таких системах через глобальную настройку. Это как раз тот момент, котороый я безуспешно пытался объяснить Tch - его концепт Темных и Светлых миров нагибает геймера под авторское видение игры, что лично для меня категорически неприемлемо.
Солнце
Примерно половина звезд в нашей Галактике – двойные или кратные. Технически движок Оолита позволяет определить в системе только одно солнце, поэтому симуляция тесных двойных систем в Оониверсуме исключена. Но в реальной реальности орбиты планет в системе двойной звезды с близкими компонентами нестабильны, поэтому в любом случае встает выбор: или тесная двойная система, но без планет в зоне обитания, или одиночная звезда с планетами. В Оониверсуме встречаются системы, разделенные расстоянием порядка 0.1...0.2 LY. На карте Первого сектора, к примеру, это системы Legees и Laeden (координаты 4 253 и 4 254). В реальной реальности звезды, разделенные таким расстоянием, часто физически связаны. Технически системы Legees и Laeden – самостоятельные и равноправные игровые локации, но в альтернативном Оониверсуме их можно было бы трактовать как широкую гравитационо связанную пару Laeden A и Laeden B с очень большим орбитальным периодом. В принципе можно также симулировать систему с обычной звездой и бурым карликом, если добавить в систему большую планету с подходящей текстурой. Именно таким образом был добавлен пульсар в систему Tianve – технически он является планетой.
Раз в системе только одно солнце, то и затменных переменных звезд быть не может. А что с физической переменностью, когда звезда меняет свою светимость? Радиус солнца системы зафиксирован в planetinfo.plist и через JavaScript изменить его нельзя, поэтому пульсирующие переменные вроде дельты Цефея или Миры в Оониверсуме симулировать не получится. Единственный вид космических фейерверков, которым можно управлять через скрипт – это эффектный взрыв Новой. Нечто похожее на солнечную активность симулировать можно, изменяя размер солнечной короны через скрипт и даже добавляя пятна на солнечный диск.
Солнца в Оониверсуме имеют цвет. Линейку светил главной последовательности от звезд-двойников Солнца (желтая звезда спектрального класса G2V) до красных карликов спектрального класса M в принципе можно симулировать с аккуратным соблюдением относительных размеров, как это сделано в пакете Sun Gear. В принципе можно выйти и за пределы этой линейки и симулировать красные гиганты – но такую систему нужно делать очень просторной, так как радиус красного гиганта в десятки и сотни раз превышает радиус Солнца. Я не уверен, что такая огромная система будет интересной в игровом плане. А вот с горячими бело-голубыми звездами есть сложность технического плана – трудно добиться их естественного оттенка цвета. То же касается и тусклых почти угасших красных карликов, которые светят в основном в инфракрасном диапазоне. Пожалуй, это ограничение можно обойти, взяв за основу пакет System features: Sunspots и закрыв диск красного карлика множеством больших пятен. Но к сожалению, модель освещения в Оолите примитивная: за источник света принимается точка в центре солнечного диска, поэтому освещение меняется по дискретному принципу “включено-выключено”. Поэтому рассчитывать на правдоподобное освещение в таких экзотических случаях не стоит.
А как насчет увлекательных космических чудес из популярных статей по астрофизике? Пульсар в системе Тианве, как я уже говорил – это просто быстро вращающаяся планета. Единственная опасность, которой он угрожает геймеру – это прямое столкновение. Пульсары в реальной реальности – это быстро вращающиеся нейтронные звезды с колоссальной гравитацией и очень мощным магнитным полем. Экскурсия живого наблюдателя в ближние окрестности таких объектов, вообще говоря, исключена хотя бы по причине интенсивной ионизирующей радиации. Но если уж вам так хочется непременно космических чудес, тем же способом можно симулировать и черную дыру – и в принципе даже проходимую червоточину, которая перенесет геймера в одну из систем в пределах 7 LY радиус-окрестности без затрат топлива (я думаю, вы сами сообразите, как это можно сделать, прокурив документацию на EliteWiki). Но если вам хочется непременно черную дыру с визуальными эффектами гравитационной линзы и с релятивистскими эффектами замедления времени, как в фильме Интерстеллар – то извините. Можно сделать нечто похожее на аккреционный диск вокруг черной дыры или пульсара, взяв за основу пакет System Features: Rings, но опять же в реальной реальности живой наблюдатель сможет посмотреть на это космическое чудо только издали и очень недолго, так как аккреционный диск разогрет до десятков миллионов градусов и очень сильно светит в рентгене.
Замечу в утешение: космические чудеса попадаются далеко не на каждом шагу. Расстояние до знаменитого рентгеновского источника SS 433 – двойной системы с черной дырой – составляет 18 тысяч световых лет. Звездное население в ближних окрестностях Солнца – это по большей части красные и оранжевые карлики, эти же звезды преобладают в населении Галактики в целом. Впрочем, у красных карликов вроде Проксимы Кентавра характер тоже не сахар: эти звезды дают частые солнечные вспышки с интенсивым излучением в ультрафиолетовом и рентгеновском диапазоне. Поток ионизирующей радиации, связанной с солнечной активностью, в зоне обитания Проксимы Кентавра в десятки раз выше, чем у Солнца на уровне орбиты Земли, что чревато полной потерей воды и атмосферы недавно открытой экзопланеты в этой системе.
Надо сказать, что при расчете равновесной температуры в окрестностях солнца движок Оолита на цвет звезды внимания не обращает. В дефолтном Оониверсуме все светила имеют одинаковую температуру и критический перегрев тел в их ближних окрестностях определяется лишь расстоянием до солнца, выраженным в его радиусах. Так же и дозаправка топливом по дефолтным правилам начинается на расстоянии от поверхности солнца менее 0.15 его радиуса независимо от его цвета. Так что если хотите симулировать зоны обитания вокруг светил, где вода на планете может существовать в жидком виде – надо писать скрипт, как это сделано в Sun Gear. То же и с массой солнца: в дефолтном Оолите солнце массы не имеет и если вы хотите симулировать что-то похожее на небесную механику, это надо делать через скрипт.
Планеты и луны
Паспорт системы, который видит геймер на экране F7 – что там есть из реальной астрономии? Да ничего кроме радиуса планеты, и этот радиус в дефолтном Оониверсуме – откровенно фантазийный параметр. Планета радиусом меньше трех тысяч километров запросто может иметь не то чтобы даже плотную атмосферу, пригодную для дыхания (все 2048 главных планет Оониверсума имеют плотную атмосферу, пригодную для дыхания!), но и вполне себе развитую аграрную экономику. В реальной реальности такая планетка может быть лишенным атмосферы сухим миром, как Меркурий, или промороженным миром с крайне разреженной атмосферой вроде Марса, или лишенным атмосферы ледяным миром вроде Ганимеда с водно-аммиачным океаном под ледяной корой, или опять же ледяным миром с океаном в недрах, но с плотной холодной атмосферой, как Титан. Но маленькая копия Земли, с маленькими океанами, континентами, озерами, реками, лесами, лугами, полями, садами, пастбищами – простите, такое исключено. Маленькая планета не может сохранить умеренно плотную и достаточно теплую атмосферу, необходимую для существования жидкой воды на поверхности. Маленькая планета к тому же быстро теряет внутреннее тепло и становится геологически мертвой, что приводит к серьезным последствиям. Во первых, при затвердении расплавленного ядра выключается планетарное динамо и планета лишается магнитного поля, защищающего атмосферу от солнечного ветра. Во вторых, и возможно, в главных, с выключением конвекции в мантии прекращается тектоническая и вулканическая активность. Утечка летучих веществ, формирующих атмосферу и океаны, в космос не восполняется дегазацией недр и кроме того геохимический цикл углерода размыкается – углерод выводится из цикла и безвозвратно погребается в осадочных породах.
Если же взять планету – двойник Земли по радиусу, то здесь пространство вариантов намного богаче и часть из них попросту не имеет аналогов в Солнечной системе. Планета-сад в системе классификации Elite Dangerous, планета класса M во вселенной Стар Трек – это про нашу Землю. Конечно, на Земле есть обширные территории, которые садом никак не назовешь, но если посмотреть со стороны, откуда-нибудь с Луны – таки да, нам повезло с домом: планета голубая и зеленая, с подходящей температурой и с богатой биотой. А мог быть и экстремально горячий мир с чудовищно плотной атмосферой вроде Венеры. Или Земля-снежок, полностью скованная льдами от полюсов до экватора, с оазисами простейшей жизни в районах выходов геотермальных источников. Или пустынный суперконтинент. Или планета-океан, полностью покрытая водой. Или вулканический мир, залитый обширными бассейнами лавы. Или криовулканический мир с очень холодной и очень плотной атмосферой и с озерами жидкого этана на поверхности – большая версия Титана. А как вам версия планеты-океана, разогретого до состояния сверхкритической жидкости? Или планеты на экстремально вытянутой орбите, когда на максимальном удалении от солнца в афелии температура падает настолько, что атмосфера полностью вымерзает? Или планеты, ось вращения которой завалена на девяноста градусов и сезон экстремальной жары на полюсах чередуется с сезоном экстремального холода, а ледники откладываются кольцом в районе экватора, а не образуют полярные шапки? Вариантов множество, потому что все эти двойники Земли возникли и существовали в разных условиях. Как давно сформировалась планета? Каков был состав протосолнечной туманности в этом районе космоса? Из каких источников формировался запас летучих веществ на планете, хватило ли его для образования атмосферы и океанов? Насколько интенсивной была астероидная бомбардировка? Были ли катастрофические столкновения с крупными небесными телами? Как эволюционировала орбита планеты? Как изменялась светимость солнца?
Я думаю, вы уловили, что я хочу сказать. Если принять во внимание это обширное пространство вариантов, то получается совершенно другой Оониверсум, в котором редкие пригодные для колонизации миры разделены мирами, пригодными в лучшем случае для добычи сырья вахтовым методом и размещения роботизированных производственных комплексов. Большинство непригодных для жизни систем в этом Оониверсуме будут слишком удалены от обитаемых систем, чтобы иметь какое-либо промышленное или сырьевое значение. В альтернативном Оониверсуме будут другие сюжеты. Вместо дальних пассажирских и грузовых перевозок – дальние рискованные экспедиции через галактические пустоши в поисках других обитаемых миров. А может быть, необитаемых, но пригодных для терраформинга. Может быть и так – отдельные колонии будут вести между собой ожесточенные схватки за контроль над стратегически важными системами или же заключать соглашения об их совместной эксплуатации или даже объединяться в кластеры, контролирующие значительную часть карты. В любом случае Галактического содружества в нынешнем виде не будет.
Какие есть технические возможности реализовать такой альтернативный Оониверсум? Как минимум можно развить потенциал умной косметички System Makeup, которая умеет подбирать текстуру главной планеты исходя из ее инсоляции. К сожалению, при отсутствии поддержки многослойных карт текстур планеты по прежнему будут раскрашенными матовыми шарами, но что есть, то есть. Такие вкусные опции, как плотность атмосферы, ее эффективную высоту, а тем более температуру и химический состав движок Оолита не поддерживает - все атмосферы генерируются по одному шаблону. Так что температуру и давление атмосферы за бортом придется симулировать через JavaScript и мириться с диссонансом между симулированными приборными показаниями и визуально наблюдаемым голубым цветом неба. Вплоть до последнего времени при классификации больших небесных тел Оолит использовал простенькое правило: все планеты имеют атмосферу, все луны ее не имеют. При таком подходе такие реальные небесные тела нашей Солнечной системы, как Меркурий (планета, атмосферы нет) и Титан (луна, есть плотная атмосфера) в Оониверсуме корректно не симулируешь. Сейчас у дополнительных планет можно задавать отсутствие атмосферы, но главная планета по прежнему обязательно имеет атмосферу, поэтому совсем безвоздушные миры корректно не симулируешь. Но в принципе можно ослабить требования к модели и заложить в нее, что самые маленькие главные планеты таки имеют атмосферу, но экстремально разреженную, как у Марса. А вот с разнообразием рельефа, геологией, погодой и климатом дело обстоит значительно хуже. Во первых, как уже было отмечено, технически посадки на поверхность планеты как таковой нет - вместо этого создается фантомный порт над поверхностью. Во вторых и в главных, системы координат, привязанной к поверхности планеты, как не было, так и нет. А значит, привязать эти фантомные порты к определенным районам на карте текстуры планеты тоже нельзя. Корректно симулировать местный метеопрогноз, увы, тоже: максимум, что можно сделать без хардкорного кодирования - это определить, сел ли корабль на дневной или на ночной стороне планеты. Так что проработка локаций получается на уровне ленивого воображения творцов космоопер: это планета-океан, это планета-пустыня, это планета-джунгли, а это ледяной мир. Ничего похожего на Землю с ее разнообразием климатов и биомов в рамках этой модели симулировать нельзя, так что при имитации научной экспедиции на поверхность придется ограничиться заранее сфабрикованным отчетом.
Малые тела
В реальном мире это астероиды и кометы, в Оониверсуме - только астероиды. Но вот как раз астероидам в Оониверсуме при желании можно придать вполне убедительное с научной точки зрения разнообразие. В реальной Солнечной системе астероидное вещество прошло частичную сепарацию по химическому составу. По химическому составу популяция астероидного пояса делится на группы: C-астероиды, обогащенные углеродом (углистые хондриты). Типичны для внешних окраин астероидного пояса и наиболее близки по химическому составу к первичному протопланетному веществу после потери летучих льдов. Составляют порядка 75% количества наблюдаемых астероидов. S-астероиды, обогащенные силикатами. Отсутствие заметного количества углерода в их составе говорит о том, что эти астероиды испытали нагрев и переплавку. Составляют около 15% популяции. M-астероиды, обогащенные металлами - источники железо-никелевых метеоритов, составляют примерно 10% популяции астероидного пояса. Предположительно фрагменты планетезималей, которые частично прошли химическую дифференцировку и были разбиты последующим столкновениями. Наконец, редкие загадочные V-астероиды, обогащенные базальтом. Базальт - вулканическая порода, астероиды этого класса похожи по своим спектральным характеристикам на крупный астероид Весту (отсюда и название класса), но в последнее время вроде есть подозрения, что этот класс астероидов связан с несколькими источниками.
К сожалению, по правилам дефолтного Оониверсума убедительно симулировать можно лишь силикатные астероиды S-класса (материал Minerals) и обогащенные металлами астероиды M-класса (материал Alloys), но в принципе и этого хватит, чтобы симулировать вариации химического состава астероидов в зависимости от их расстояния до солнца системы. Инструмент для космического геолога в принципе уже есть: можно взять за основу пакет Ore Processor и переписать участок кода, задающий содержание минералов и сплавов во фрагментах астероидов, разбитых горным лазером.
|
|
|
|
![](images/spacer.gif) |
20.02.17
|
|
Безбрежный игровой мир, в котором геймер волен в выборе пути - звучит здорово, но в наше время уже слегка затерто. А началось это путешествие в безбрежном космосе - да, вы угадали, именно с легендарной Элиты. Пусть проволочная графика - но 3D мир без барьеров, лети куда хочешь. А лететь было куда, 8 карт по 256 систем, каждая из которых могла стать ярким приключением вечера. Пусть описания этих систем были собраны по шаблону, но тогдашний геймер, заставший еще времена текстовых адвентюр, имел яркое живое воображение и умел развлекать себя самостоятельно. Как вспоминал один из олдскульных геймеров на форуме ветеранов Элиты - прилетел, разгрузился на станции, сохранился и лег спать. А в паспорте системы упомянут тропический дождевой лес - и вот человек, засыпая, представляет, как этот лес выглядит, звучит и пахнет и как было бы здорово слетать туда на челноке. Когда процессоры были восьмибитными, программеры бережно относились к каждому байту памяти. Столкнувшись впервые с Элитой, я был потрясен и очарован: как черт возьми, они сумели это сделать? Прикиньте хотя бы, сколько килобайт должен занять только полный каталог всех 2048 систем? Возьмем навскидку хотя бы Diso с ее This planet is mildly noted for its ancient Ouza tulip plantations but ravaged by frequent earthquakes. Не буду утомлять вас выкладками, но по прикидкам получается что-то около 128 байт на систему и 256 KB на весь каталог. Непосильно огромный для крошечной 42 К памяти Спектрума массив информации. Процедурная генерация - вот в чем секрет. Весь огромный мир Элиты по сути дела выращен из крошечного шестибайтного семечка, а то, что выглядит как база данных игры - это оболочка, преобразующая биты семечка во множество уникальных игровых локаций по определенным правилам. 6 байт - это на самом деле дохрена, это 2^48 уникальных ключей, каждый из которых создает на выходе уникальную карту. Итого в потенциале не просто 8 карт по 256 систем в каждой, а 281 474 976 710 656 уникальных карт, среди которых есть и карта с планетой ASSHOLE (в моих рабочих архивах есть такая!). А вот легендарной планеты RAXXLA в этом безбрежном океане вероятных миров нет и не может быть - алгоритм генерации имени системы такую комбинацию исключает. Сейчас процедурно сгенерированным космосом никого не удивишь, но ситуация вывернулась наизнанку. Три десятилетия назад процедурный генератор использовался для того, чтобы динамически заполнять контентом объем памяти, слишком тесный для игровых миров, созданных и настроенных вручную. Сейчас игровые вселенные, созданные на стороне сервера, могут занимать уже терабайты памяти. Заполнение таких колоссальных объемов памяти осмысленным контентом вручную - занятие заведомо безнадежное. Нынешние алгоритмы процедурной генерации уже не просто создают неповторимые конфигурации солнечных систем в общих чертах. Они применяются для генерации неповторимых планет со своим рельефом, климатом и уникальной биотой. Потрясающий прогресс... и по большей части бессмысленный. В самом прямом смысле этого слова. No Man's Sky. Космос, в котором человеку по большому счету нечего делать. Не хочу сказать, что процедурная генерация сама по себе пустая затея. Она создает основу мира, освобождая демиурга от непосильных объемов монотонной технической работы. Но процедурная генерация только готовит почву для осмысленного контента. Сюжет, история, культурный слой, лор - называйте как хотите, без этого игры нет. И именно упорное непонимание этого факта - причина фиаско проекта Параллельной Реальности 002. Нужна какая-то мотивация, стимулирующая геймера странствовать не просто наобум все равно куда. Чем был мотивирован геймер в канонической Элите помимо набора киллов, приближающих его к заветному легендарному рейтингу? Ну, поначалу геймеру было попросту не до глобальных размышлений насчет смысла жизни, Вселенной и всего остального. Ухватив базовое правило "берем электронику в индустриальном мире, продаем в аграрном, набираем алкоголь или меха, летим в индустриальный мир, профит!" геймер был занят поиском лучшего маршрута с оптимальным балансом профита и риска. В принципе эта часть игры методом проб и ошибок постигалась быстро. Прокачав корабль до “железной задницы”, геймер отправлялся в вольное странствие. Ну а дальше в волнительном ожидании миссий, о которых ходили легенды (мало кто знал хотя бы приблизительно, сколько их в игре, в чем они будут заключаться, где и когда их дают!) заполняли время кто как умел. Например, отчего бы не пересечь всю карту по диагонали из угла в угол, прежде чем прыгнуть на следующую? Или даже связать крест-накрест все четыре угла. Есть цель, есть выбор маршрута к ней, каждый игровой сеанс продвигает тебя к ее достижению. Никаких открытий, конечно, на пути геймера не ожидало: какую систему ни возьми, по сути они мало чем отличались. Единственное солнце с единственной планетой, да и та была интересна лишь постольку, поскольку рядом с ней надо было искать единственную станцию системы. Что не мешало геймеру наполнять этот мир осмысленным контентом самостоятельно: искали легендарную планету RAXXLA и даже аналог Земли, обсуждали смутные слухи о встречах с кораблями поколений в дальнем космосе и гадали, где находится гнездовье таргоидов, предпринимали сверхдальние экспедиции, пытаясь проверить, можно ли добраться из одной системы в другую через обычное пространство, а не через червоточину. А что в Оолите? Чем может занять игра исследователя? Оолит больше не нуждается в старом процедурном генераторе создания игровой вселенной из шестибайтного семени. Информация о системах хранится в огромном planetinfo.plist, который можно дополнять и редактировать в меру фантазии. Но в дефолтной игре по первому впечатлению то же самое, что в старой Элите: солнце с единственной планетой и единственная станция. Такой аскетизм новичка, заглянувшего в Оолит со стороны, обескураживает. Базовая игра дает лишь каркас, который геймер достраивает подгружаемыми модулями и настраивает по своему вкусу. Концепт мира-конструктора рассчитан на геймера, который любит и умеет сам себе придумывать задачи. Не каждый готов понять и принять этот подход. И вот если посмотреть на эту экосистему в целом, игра плюс полтысячи аддонов, то потенциально получается богатый мир. Каждая из 2048 систем Оониверсума - уже не просто солнце с единственной планетой и единственной станцией, а вполне себе полноценная модель солнечной системы с планетами, лунами и станциями, открывающая геймеру дополнительное измерение – межпланетные полеты. Движок игры технически позволяет делать эти системы сколь угодно просторными, а процедурный генератор – уникальными. Вопрос по прежнему в том, чтобы заполнить этот процедурно сгенерированный калейдоскоп локаций интересной осмысленной активностью. Процедурный генератор сам по себе, как мы уже отметили выше, этого делать не умеет. Спроектировать все эти 2048 систем вручную, индивидуально настроить, насытить смыслом и сюжетом – ну, знаете, это черезчур амбициозно не только для любителя-одиночки, но и для коллектива игроделов. Но есть хорошая новость: дотошно проектировать все 2048 систем и не нужно. Космические чудеса вовсе не обязаны попадаться на каждом шагу. Интересные локации ручной лепки, разделенные рутинными процедурно сгенерированными промежуточными пунктами – почему бы и нет? Прибросим навскидку. 16 индивидуально настроенных систем на карте, может быть даже всего 8 систем – этого уже хватит, чтобы стимулировать дальние полеты в пределах сектора. И это будет вполне осмысленная игровая цель в в противовес бессмысленной бесконечности No Man’s Sky, где все равно куда лететь. Скажем откровенно, потенциал этого открытого мира реализован скудно. И здесь претензии не к разработчикам игры, а к сообществу разработчиков аддонов. На первых порах разработчики аддонов черпали вдохновение в лоре, который нарос на основе “Темного колеса” Голдстока. В Оониверсуме помимо астероидов отшельников, которые есть в дефолтной игре, появились драги, корабли поколений, авиаматки таргоидов – все эти легенды старой Элиты обрели жизнь. Если что, теперь и легендарную планету RAXXLA технически можно сделать – конечно, увязав ее поиск с нетривиальным сюжетом. Есть легендарное космическое кладбище в системе Тионисла, есть еще три системы с индивидуальными настройками, есть, наконец, многообещающий, но увы, заброшенный проект The Famous Planets. Есть, наконец, несколько эпичных миссий вроде Trident Down. Увы, это практически все, и почти все это успело устареть настолько, что настоятельно нуждается хотя бы в косметическом обновлении. На мир-исследование Оониверсум не тянет. Первая встреча с колоссальным кораблем поколений, конечно, впечатляет, но и только – увидел, сделал скриншот на память, выгрузил в галерею и забыл. Ни отгадок старых тайн, ни завязок новых сюжетов эта встреча не дает. Пульсар в системе Тианве, орбитальное кладбище в системе Тионисла – та же беда. Первый раз глянуть любопытно, но и не более того. Никаких сюжетных линий на эти локации не завязано. Коммандер vasig мог бы напомнить: ну раз уж речь зашла о Тионисле, то с этой системой связана миссия Tionisla Reporter. Верно. Есть и другие миссии, которые стартуют, когда геймер попадает в определенную систему. Но дело в том, что в самой Тионисле нет ровным счетом ничего уникального, что делает возможным получение миссии только в ней – кроме того, что это система номер 124 в Первом секторе. А теперь представьте себе, что миссию возможно получить и пройти, не просто оказавшись в нужной локации – а собрав и проанализировав кучу информации, чтобы уловить закономерность и вычислить эту локацию. Дефолтный Оониверсум – интересный мир для бойца или для путешественника-спортсмена. Отметиться на всех Знаменитых Планетах или даже на всех 2048 системах – вполне себе цель. Но исследователю в этом мире по большому счету почти нечем заняться. В Оониверсуме есть загадки, но в нем нет тайны. О какой тайне может быть речь, если Оониверсум – плотно заселенный мир, в котором все знают о всех? Геймеру не нужно отправляться в дальние экспедиции в неисследованные районы карты, чтобы найти высокотехнологичные миры, в которых можно проапгрейдиться или приобрести новый корабль. В Оониверсуме нет неисследованных областей карты – карта открыта сразу вся. Все высокотехнологичные системы 13+ игрового уровня, все аграрные системы, нуждающиеся в электронике, все анархические системы-ловушки – все это геймер может отыскать сразу, не покидая Лэйв, и безо всяких апгрейдов навигационной базы данных. Я не хочу сказать, что Оониверсум скучен и не дает пищи для ума. Благодаря стохастическому поведению популятора даже рутинный торговый рейс в хорошо знакомой системе может обернуться ярким приключением, а при случае и внеплановым профитом – или убытками, это как повезет. Но стычки с пиратами и рейды таргоидов со временем тоже становятся рутиной. Могут ли быть какие-то терра инкогнита в этом плотно заселенном мире? А почему бы и нет? Как минимум – есть просторная солнечная система за пределами наезженной трассы входной маяк - планета, и в этой просторной солнечной системе можно много чего разместить, даже оставаясь в рамках канона. Корабли и станции чужих где-нибудь на дальних окраинах (иных чужих, не таргоидов), планеты и луны, потенциально пригодные к промышленному освоению и даже к терраформингу, а может быть даже, со своей ксенобиотой. Определенная движуха в этом направлении наметилась было. Интересных для исследователя планет и лун, правда, так и не появилось, но Smivs с помощью других разработчиков отметился интересными пакетами Aliens и Star-jelly, в которых и правда есть загадочные корабли чужих (возможно, органической природы) и огромные организмы – обитатели открытого космоса. Увы, потенциал этих пакетов не получил развития. Что не так с этими пакетами? Да в принципе то же самое, что и с драгами и с кораблями поколений: встреча с этими по идее уникальными созданиями никак не завязана на определенные локации, которые геймеру необходимо вычислить, разыскать и обследовать. Никакой тайны встреча с ними не предвещает, чистая прихоть рулетки. Думаю, настала пора от брюзжания “это все не то” перейти наконец к конкретному разговору: а как хотя бы примерно я представляю себе мир-исследование? А хотя бы примерно как во вселенной Стар Трек. Что-то о системе назначения известно, но лишь в общих чертах. Есть информация о спектральном классе звезды и возможно, о наличии у ней планет. Может быть, известно, что в этой системе есть станция или колония на планете, но контакт с ней надо будет устанавливать по прибытию. Геймер прибывает в систему, сканирует ее в общих чертах, приближается к планете и сканирует ее дистанционными методами. Запускает на планету дроны для доразведки и наконец высаживается сам (да, я знаю, в Стар Треке на дроны и планетные челноки бюджет был выделен скудно и пришлось изобретать квантовую телепортацию, но ход мысли понятен). И вот тут размах фантазии упирается в грубую реальность. Проблема не в том даже, что такой сценарий далеко за рамками лора. Гораздо хуже то, что полноценная движуха в Оолите происходит только в космосе. Посадку на поверхность планеты как таковую или выход в открытый космос движок Оолита обрабатывать не усмеет – вместо этого создается временный порт и корабль геймера с ним стыкуется. Так что увы, никаких поездок на вездеходе и пеших прогулок с геологическим молотком или трикодером, никакого обследования заброшенных объектов чужих, никаких контактов с местной флорой и фауной. Все, что можно сделать – схематично проиллюстировать ход высадки пакетом заранее заготовленных картинок. С генерацией красивых загадочных графиков, диаграмм и чего-то похожего на компьютерные интерфейсы, которые так пленяют голливудских сценаристов, тоже полная засада. Но научные отчеты в виде текстов и даже в виде таблиц создавать можно вполне. Конечно, они будут выглядеть архаичными, но почему бы не дать геймеру расширенный паспорт планеты, который он увидит после ее изучения? Не просто радиус планеты, а ее равновесную температуру, силу тяжести на поверхности, плотность и состав атмосферы, состав грунта, наличие воды, индекс жизнепригодности. Пока все на этом, а в следующий раз я хочу поговорить, можно ли вписать в Оолит реальную астрономию.
Безбрежный игровой мир, в котором геймер волен в выборе пути - звучит здорово, но в наше время уже слегка затерто. А началось это путешествие в безбрежном космосе - да, вы угадали, именно с легендарной Элиты. Пусть проволочная графика - но 3D мир без барьеров, лети куда хочешь. А лететь было куда, 8 карт по 256 систем, каждая из которых могла стать ярким приключением вечера. Пусть описания этих систем были собраны по шаблону, но тогдашний геймер, заставший еще времена текстовых адвентюр, имел яркое живое воображение и умел развлекать себя самостоятельно. Как вспоминал один из олдскульных геймеров на форуме ветеранов Элиты - прилетел, разгрузился на станции, сохранился и лег спать. А в паспорте системы упомянут тропический дождевой лес - и вот человек, засыпая, представляет, как этот лес выглядит, звучит и пахнет и как было бы здорово слетать туда на челноке. Когда процессоры были восьмибитными, программеры бережно относились к каждому байту памяти. Столкнувшись впервые с Элитой, я был потрясен и очарован: как черт возьми, они сумели это сделать? Прикиньте хотя бы, сколько килобайт должен занять только полный каталог всех 2048 систем? Возьмем навскидку хотя бы Diso с ее
[quote]This planet is mildly noted for its ancient Ouza tulip plantations but ravaged by frequent earthquakes.[/quote] Не буду утомлять вас выкладками, но по прикидкам получается что-то около 128 байт на систему и 256 KB на весь каталог. Непосильно огромный для крошечной 42 К памяти Спектрума массив информации. Процедурная генерация - вот в чем секрет. Весь огромный мир Элиты по сути дела выращен из крошечного шестибайтного семечка, а то, что выглядит как база данных игры - это оболочка, преобразующая биты семечка во множество уникальных игровых локаций по определенным правилам. 6 байт - это на самом деле дохрена, это 2^48 уникальных ключей, каждый из которых создает на выходе уникальную карту. Итого в потенциале не просто 8 карт по 256 систем в каждой, а 281 474 976 710 656 уникальных карт, среди которых есть и карта с планетой ASSHOLE (в моих рабочих архивах есть такая!). А вот легендарной планеты RAXXLA в этом безбрежном океане вероятных миров нет и не может быть - алгоритм генерации имени системы такую комбинацию исключает.
Сейчас процедурно сгенерированным космосом никого не удивишь, но ситуация вывернулась наизнанку. Три десятилетия назад процедурный генератор использовался для того, чтобы динамически заполнять контентом объем памяти, слишком тесный для игровых миров, созданных и настроенных вручную. Сейчас игровые вселенные, созданные на стороне сервера, могут занимать уже терабайты памяти. Заполнение таких колоссальных объемов памяти осмысленным контентом вручную - занятие заведомо безнадежное. Нынешние алгоритмы процедурной генерации уже не просто создают неповторимые конфигурации солнечных систем в общих чертах. Они применяются для генерации неповторимых планет со своим рельефом, климатом и уникальной биотой. Потрясающий прогресс... и по большей части бессмысленный. В самом прямом смысле этого слова. No Man's Sky. Космос, в котором человеку по большому счету нечего делать. Не хочу сказать, что процедурная генерация сама по себе пустая затея. Она создает основу мира, освобождая демиурга от непосильных объемов монотонной технической работы. Но процедурная генерация только готовит почву для осмысленного контента. Сюжет, история, культурный слой, лор - называйте как хотите, без этого игры нет. И именно упорное непонимание этого факта - причина фиаско проекта Параллельной Реальности 002. Нужна какая-то мотивация, стимулирующая геймера странствовать не просто наобум все равно куда.
Чем был мотивирован геймер в канонической Элите помимо набора киллов, приближающих его к заветному легендарному рейтингу? Ну, поначалу геймеру было попросту не до глобальных размышлений насчет смысла жизни, Вселенной и всего остального. Ухватив базовое правило "берем электронику в индустриальном мире, продаем в аграрном, набираем алкоголь или меха, летим в индустриальный мир, профит!" геймер был занят поиском лучшего маршрута с оптимальным балансом профита и риска. В принципе эта часть игры методом проб и ошибок постигалась быстро. Прокачав корабль до “железной задницы”, геймер отправлялся в вольное странствие. Ну а дальше в волнительном ожидании миссий, о которых ходили легенды (мало кто знал хотя бы приблизительно, сколько их в игре, в чем они будут заключаться, где и когда их дают!) заполняли время кто как умел. Например, отчего бы не пересечь всю карту по диагонали из угла в угол, прежде чем прыгнуть на следующую? Или даже связать крест-накрест все четыре угла. Есть цель, есть выбор маршрута к ней, каждый игровой сеанс продвигает тебя к ее достижению. Никаких открытий, конечно, на пути геймера не ожидало: какую систему ни возьми, по сути они мало чем отличались. Единственное солнце с единственной планетой, да и та была интересна лишь постольку, поскольку рядом с ней надо было искать единственную станцию системы. Что не мешало геймеру наполнять этот мир осмысленным контентом самостоятельно: искали легендарную планету RAXXLA и даже аналог Земли, обсуждали смутные слухи о встречах с кораблями поколений в дальнем космосе и гадали, где находится гнездовье таргоидов, предпринимали сверхдальние экспедиции, пытаясь проверить, можно ли добраться из одной системы в другую через обычное пространство, а не через червоточину.
А что в Оолите? Чем может занять игра исследователя? Оолит больше не нуждается в старом процедурном генераторе создания игровой вселенной из шестибайтного семени. Информация о системах хранится в огромном planetinfo.plist, который можно дополнять и редактировать в меру фантазии. Но в дефолтной игре по первому впечатлению то же самое, что в старой Элите: солнце с единственной планетой и единственная станция. Такой аскетизм новичка, заглянувшего в Оолит со стороны, обескураживает. Базовая игра дает лишь каркас, который геймер достраивает подгружаемыми модулями и настраивает по своему вкусу. Концепт мира-конструктора рассчитан на геймера, который любит и умеет сам себе придумывать задачи. Не каждый готов понять и принять этот подход. И вот если посмотреть на эту экосистему в целом, игра плюс полтысячи аддонов, то потенциально получается богатый мир. Каждая из 2048 систем Оониверсума - уже не просто солнце с единственной планетой и единственной станцией, а вполне себе полноценная модель солнечной системы с планетами, лунами и станциями, открывающая геймеру дополнительное измерение – межпланетные полеты. Движок игры технически позволяет делать эти системы сколь угодно просторными, а процедурный генератор – уникальными. Вопрос по прежнему в том, чтобы заполнить этот процедурно сгенерированный калейдоскоп локаций интересной осмысленной активностью. Процедурный генератор сам по себе, как мы уже отметили выше, этого делать не умеет. Спроектировать все эти 2048 систем вручную, индивидуально настроить, насытить смыслом и сюжетом – ну, знаете, это черезчур амбициозно не только для любителя-одиночки, но и для коллектива игроделов. Но есть хорошая новость: дотошно проектировать все 2048 систем и не нужно. Космические чудеса вовсе не обязаны попадаться на каждом шагу. Интересные локации ручной лепки, разделенные рутинными процедурно сгенерированными промежуточными пунктами – почему бы и нет? Прибросим навскидку. 16 индивидуально настроенных систем на карте, может быть даже всего 8 систем – этого уже хватит, чтобы стимулировать дальние полеты в пределах сектора. И это будет вполне осмысленная игровая цель в в противовес бессмысленной бесконечности No Man’s Sky, где все равно куда лететь.
Скажем откровенно, потенциал этого открытого мира реализован скудно. И здесь претензии не к разработчикам игры, а к сообществу разработчиков аддонов. На первых порах разработчики аддонов черпали вдохновение в лоре, который нарос на основе “Темного колеса” Голдстока. В Оониверсуме помимо астероидов отшельников, которые есть в дефолтной игре, появились драги, корабли поколений, авиаматки таргоидов – все эти легенды старой Элиты обрели жизнь. Если что, теперь и легендарную планету RAXXLA технически можно сделать – конечно, увязав ее поиск с нетривиальным сюжетом. Есть легендарное космическое кладбище в системе Тионисла, есть еще три системы с индивидуальными настройками, есть, наконец, многообещающий, но увы, заброшенный проект The Famous Planets. Есть, наконец, несколько эпичных миссий вроде Trident Down. Увы, это практически все, и почти все это успело устареть настолько, что настоятельно нуждается хотя бы в косметическом обновлении. На мир-исследование Оониверсум не тянет. Первая встреча с колоссальным кораблем поколений, конечно, впечатляет, но и только – увидел, сделал скриншот на память, выгрузил в галерею и забыл. Ни отгадок старых тайн, ни завязок новых сюжетов эта встреча не дает. Пульсар в системе Тианве, орбитальное кладбище в системе Тионисла – та же беда. Первый раз глянуть любопытно, но и не более того. Никаких сюжетных линий на эти локации не завязано. Коммандер vasig мог бы напомнить: ну раз уж речь зашла о Тионисле, то с этой системой связана миссия Tionisla Reporter. Верно. Есть и другие миссии, которые стартуют, когда геймер попадает в определенную систему. Но дело в том, что в самой Тионисле нет ровным счетом ничего уникального, что делает возможным получение миссии только в ней – кроме того, что это система номер 124 в Первом секторе. А теперь представьте себе, что миссию возможно получить и пройти, не просто оказавшись в нужной локации – а собрав и проанализировав кучу информации, чтобы уловить закономерность и вычислить эту локацию. Дефолтный Оониверсум – интересный мир для бойца или для путешественника-спортсмена. Отметиться на всех Знаменитых Планетах или даже на всех 2048 системах – вполне себе цель. Но исследователю в этом мире по большому счету почти нечем заняться. В Оониверсуме есть загадки, но в нем нет тайны. О какой тайне может быть речь, если Оониверсум – плотно заселенный мир, в котором все знают о всех? Геймеру не нужно отправляться в дальние экспедиции в неисследованные районы карты, чтобы найти высокотехнологичные миры, в которых можно проапгрейдиться или приобрести новый корабль. В Оониверсуме нет неисследованных областей карты – карта открыта сразу вся. Все высокотехнологичные системы 13+ игрового уровня, все аграрные системы, нуждающиеся в электронике, все анархические системы-ловушки – все это геймер может отыскать сразу, не покидая Лэйв, и безо всяких апгрейдов навигационной базы данных. Я не хочу сказать, что Оониверсум скучен и не дает пищи для ума. Благодаря стохастическому поведению популятора даже рутинный торговый рейс в хорошо знакомой системе может обернуться ярким приключением, а при случае и внеплановым профитом – или убытками, это как повезет. Но стычки с пиратами и рейды таргоидов со временем тоже становятся рутиной.
Могут ли быть какие-то терра инкогнита в этом плотно заселенном мире? А почему бы и нет? Как минимум – есть просторная солнечная система за пределами наезженной трассы входной маяк - планета, и в этой просторной солнечной системе можно много чего разместить, даже оставаясь в рамках канона. Корабли и станции чужих где-нибудь на дальних окраинах (иных чужих, не таргоидов), планеты и луны, потенциально пригодные к промышленному освоению и даже к терраформингу, а может быть даже, со своей ксенобиотой. Определенная движуха в этом направлении наметилась было. Интересных для исследователя планет и лун, правда, так и не появилось, но Smivs с помощью других разработчиков отметился интересными пакетами Aliens и Star-jelly, в которых и правда есть загадочные корабли чужих (возможно, органической природы) и огромные организмы – обитатели открытого космоса. Увы, потенциал этих пакетов не получил развития. Что не так с этими пакетами? Да в принципе то же самое, что и с драгами и с кораблями поколений: встреча с этими по идее уникальными созданиями никак не завязана на определенные локации, которые геймеру необходимо вычислить, разыскать и обследовать. Никакой тайны встреча с ними не предвещает, чистая прихоть рулетки.
Думаю, настала пора от брюзжания “это все не то” перейти наконец к конкретному разговору: а как хотя бы примерно я представляю себе мир-исследование? А хотя бы примерно как во вселенной Стар Трек. Что-то о системе назначения известно, но лишь в общих чертах. Есть информация о спектральном классе звезды и возможно, о наличии у ней планет. Может быть, известно, что в этой системе есть станция или колония на планете, но контакт с ней надо будет устанавливать по прибытию. Геймер прибывает в систему, сканирует ее в общих чертах, приближается к планете и сканирует ее дистанционными методами. Запускает на планету дроны для доразведки и наконец высаживается сам (да, я знаю, в Стар Треке на дроны и планетные челноки бюджет был выделен скудно и пришлось изобретать квантовую телепортацию, но ход мысли понятен).
И вот тут размах фантазии упирается в грубую реальность. Проблема не в том даже, что такой сценарий далеко за рамками лора. Гораздо хуже то, что полноценная движуха в Оолите происходит только в космосе. Посадку на поверхность планеты как таковую или выход в открытый космос движок Оолита обрабатывать не усмеет – вместо этого создается временный порт и корабль геймера с ним стыкуется. Так что увы, никаких поездок на вездеходе и пеших прогулок с геологическим молотком или трикодером, никакого обследования заброшенных объектов чужих, никаких контактов с местной флорой и фауной. Все, что можно сделать – схематично проиллюстировать ход высадки пакетом заранее заготовленных картинок. С генерацией красивых загадочных графиков, диаграмм и чего-то похожего на компьютерные интерфейсы, которые так пленяют голливудских сценаристов, тоже полная засада. Но научные отчеты в виде текстов и даже в виде таблиц создавать можно вполне. Конечно, они будут выглядеть архаичными, но почему бы не дать геймеру расширенный паспорт планеты, который он увидит после ее изучения? Не просто радиус планеты, а ее равновесную температуру, силу тяжести на поверхности, плотность и состав атмосферы, состав грунта, наличие воды, индекс жизнепригодности.
Пока все на этом, а в следующий раз я хочу поговорить, можно ли вписать в Оолит реальную астрономию.
|
|
|
|
![](images/spacer.gif) |
16.01.17
|
|
В предыдущем посте я кратко обрисовал игровой мир Оолита в целом. Сейчас я хочу рассказать об особенностях игровой механики.
Популятор
Начнем с того, что Оониверсум - 3D мир. Сейчас этим никого не удивишь, но в эпоху аркадных платформеров Элита даже с ее проволочной графикой смотрелась неимоверно круто. Такая степень свободы, когда геймер не следует заранее спроектированным единственным путем, на самом деле ставит перед разработчиком игры непростую задачу: как заполнить этот обширный мир объектами? В Элите задача заполнения игрового мира объектами была решена просто: корабли возникали рандомно в пределах окружающего геймера пузыря и исчезали, оказавшись за его пределами. Радиус этого пузыря был равен радиусу поля сканера. Отсюда, кстати, и такой странный механизм обнаружения объектов, перекочевавший из Элиты: сканер видит все объекты, включая самые мелкие, в пределах определенного радиуса - и не видит ничего за его пределами. Все события в игре были завязаны на геймера и происходили вокруг геймера, за пределами пузыря абсолютно ничего не происходило. Я уже говорил, что Оолит с дефолтными настройками выглядит как Элита и ведет себя как Элита. Но вот как раз популятор в Оолите работает по другому: система засевается кораблями в момент старта со станции после загрузки игры или в момент выхода из червоточины. И эти корабли живут самостоятельной жизнью: они взаимодействуют между собой независимо от геймера и переключают на него внимание лишь тогда, когда геймер оказался в пределах радиуса сканирования и классифицирован AI как приоритетная цель. Но поскольку размер популяции ограничен сверху, корабли засеваются не как попало по всему космосу, а в пределах определенных зон - это в первую очередь окрестности главной станции и входного маяка, а также окрестности линии, соединяющей входной маяк и планету. Небольшая популяция кораблей также подсевается в окрестностях солнца системы и вдоль остальных сторон треугольника планета-маяк-солнце. Эта особенность работы популятора открывает геймеру кардинально новую тактику выживания: если в Элите шанс влипнуть в мясорубку был чистой лотереей и от действий геймера никак не зависел, то в Оолите наблюдательный геймер может как минимум загодя обнаружить возможную опасность, а то и вообще обойти ее и быстро и безопасно добраться до станции не в общем потоке трафика, а окружным путем. Такие аддоны, как Deep Space Pirats и Deep Space Dredgers, эту читерскую лазейку закрывают, вот в них корабли, а заодно мелкие скопления астероидов, и правда подсеваются по курсу геймера, но не в пределах радиуса сканирования, а на расстоянии нескольких радиусов, что гарантирует интересные встречи даже на большом удалении от главной планеты и магистральной линии, по которой движется основной трафик в игре.
Физика Оониверсума
Раз уж речь зашла об интересных встречах, то стоит заметить: открытый мир-путешествие - это, конечно, здорово, но обычный геймер ожидает от игры этого жанра в первую очередь динамичные бои в космосе на расстоянии прямой видимости. Есть мнение, что ньютоновская физика как таковая в игре отсутствует напрочь. Есть также мнение, что честная ньютоновская физика в боевом космосиме нафиг не нужна, потому что реальная физика с канонами жанра несовместима. И нечестно предъявлять претензии в этом плане исключительно к Оолиту: лукавые отношения с реальной физикой - родовая травма жанра космосима в целом. Требовать от космосима реальной физики (а заодно основанных на реальной физике технологий) - это все равно что требовать, чтобы в фэнтэзи боевка была по честному, на железяках и без всякой магии. На самом деле, вы будете удивлены, разработчики игры на физику полностью не положили и сделали что смогли без ущерба для геймплея. Основы ньютоновской динамике в игре есть и они симулированы вполне адекватно. Контейнеры и обломки астероидов в открытом пространстве разлетаются по прямой, а корабли разгоняются до установившейся скорости и тормозят не мгновенно, а за определенное вполне заметное время, причем строго соблюдая формулу равноускоренного движения. Сам феномен установившейся скорости, конечно, сбивает с толку геймера, не позабывшего напрочь школьный курс физики - казалось бы, что мешает кораблю разгоняться до какой угодно скорости в отсутствие сил сопротивления среды? Но и этот парадокс легко закрывается простым допущением, что корабли в Оониверсуме используют для движения не реактивную тягу (для создания которой нужен расход рабочего тела, что в Оолите не наблюдается!), а серфинг по волне возмущения пространства. И аркадная модель полета "куда повернул, туда и полетел" объясняется тем же серфингом: корабль скользит по волне туда, куда направлен его нос. А вот гравитации в Оолите и правда нет в помине. Зоны влияния массивных небесных тел есть - полет на джамп-драйве в ближних окрестностях планет и лун невозможен - а гравитации нет. Для мира-исследования это скорее плохо, для боевого космосима скорее хорошо. Так что тут уж что-то одно: или Оолит с его динамикой космических боев, или Орбитер с его честной механикой космического полета. Повторяюсь: по мне так уж лучше честное отсутствие реальной физики, чем нечто, местами похожее на физику (а то ведь так школота, которая учебники читать не приучена, и правда поверит в существование страшных гравитационных ловушек, которые засасывают насмерть). Гравитации в Оолите нет, а вот инертная масса у кораблей и станций есть. Правда, она не является базовым параметром, а вычисляется весьма приближенно через габариты корабля и его плотность (да, именно так, вычисляется не объем корпуса корабля, а объем охватывающего его бокса). Масса взятого на борт груза и установленного на корабле оборудования и вооружения в этой формуле не учитывается. Расход топлива на динамику корабля тоже никак не влияет, так что масса корабля или станции проявляется только в косвенных эффектах, на которых геймер внимание редко фиксирует. Технически движок игры начиная с версии 1.82 позволяет симулировать влияние переменной массы корабля на его динамические характеристики (тяговооруженность, максимальную скорость, скорость разворота по осям), но реализация такой модели упирается в проблемы игрового баланса. Стандартное оборудование никак не привязано к габаритам корабля, весь базовый набор можно ставить хоть на крошку Аддер, хоть на тяжелую Анаконду. При таком раскладе гандикап на массу оборудования, едва заметный для тяжелой Анаконды, будет непомерно велик для крошки Аддера. Аркадная модель полета в Оолите, конечно, выглядит архаичной, если не сказать примитивной, в свете более продвинутых космосимов вроде той же пафосной Elite Dangerous, но тут уж многое зависит от субъективных предпочтений. Для бойца, годами оттачивающего искусство топтания клавиш в мясорубках, и правда пичалька, для авиасиммера, привыкшего к джойстику - наименьшее зло. Что толку от продвинутой модели полета в шести степенях свободы aka 6DOF, если игровая индустрия как-то не радует игровыми контроллерами с интуитивной реализацией этой самой 6DOF? В реальной реальности как раз наблюдается обратный тренд: авионика разгружает пилота от механической работы по пилотированию, освобождая его внимание для принятия критически важных решений. Куда повернул, туда и полетел - как раз вполне ожидаемый концепт пилотирования кораблей далекого будущего. Если есть возражения против этого тезиса, попробуйте полетать в Орбитере, где как раз симулирована реальная динамика космического корабля, включая аэродинамические силы на атмосферном участке полета, тогда уж сами решите, нужна ли реальная динамика в боевом космосиме. В мире-исследовании - да, реальная динамика была бы интересной фичей, но тогда уж об эпичных битвах с пиратами забудьте.
Вооружение и боевая механика
Космические бои в Оолите происходят на расстоянии видимости. Это канон жанра. Основное вооружение геймера - лазерная пушка, это тоже канон. Ракеты - оружие вспомогательное, скорее на крайний случай для самообороны. Для авиасиммера-реактивщика, который обычно воздушный бой начинает с ракетной дуэли, конечно, дикость. Но так уж в космосимах сложилось: обмен ракетными ударами за пределами прямой видимости для геймера малоинтересен. Есть еще плазменные турели на космических станциях и больших кораблях, но толку от них почти никакого. Опять же, в сравнении с продвинутыми космосимами выбор оружия весьма аскетичен. Ветераны космосимов, пришедших на смену Элите, привыкли к тому, что корабль имеет бронированный корпус и активную защиту (силовое поле). Оружие прямого переноса энергии (лазерное и пучковое) эффективно прожигает защитные поля, но менее эффективно против брони. Кинетическое оружие (электромагнитные пушки и ракеты) наоборот - малоэффективно против силового поля, но наносит большой урон корпусу. Порой можно встретить и оружие избирательного действия - к примеру, сжигающее электронные цепи корабля-мишени, оставляя его корпус и груз неповрежденным. Ничего этого в дефолтном Оолите нет прежде всего потому что повреждения корпуса как такового в дефолтной игровой механике никак не обрабатываются. Единственный критерий эффективности оружия, который принимается игровым движком во внимание - энергетический урон. Выбор оружия при таком раскладе сводится к апгрейду стартовой импульсной пукалки до военного лазера, способного закачать в мишень максимум энергии за минимум времени. Любые пожелания геймера-новичка "дайте побольше разного оружия" встречают вполне резонный флегматичный встречный вопрос: а зачем? Что есть в Оониверсуме такого помимо станций, что нельзя при должном терпении уничтожить военным лазером? Модель боевых повреждений корабля геймера фактически сводится к случайному уничтожению груза или к случайному повреждению оборудования. После прожига силовых щитов идет расход энергии из энергостека и при его полном исчерпании корабль считается уничтоженным. Стоит, однако, разорвать огневой контакт и выйти из боя, как уровни энергостека и щитов регенерируют до исходного уровня, даже если корабль был на грани гибели, так что ремонт после боя сводится к ремонту поврежденного оборудования. Боты так вообще симулируются как цельнолитые болванки с заданным уровнем энергии и темпом ее регенерации. Особенно доставляет эта особенность игровой механики, когда недобитый бот, пару минут назад истекавший плазмой, отдышавшись в стороне, вновь принимается за геймера с прежним пылом и по всем признакам с прежним хорошим самочувствием. Добавим к этому неисчерпаемый запас энергии для восполнения ее потерь в бою и неисчерпаемый боеприпас пушки - очевидное наследие аркадных стрелялок. Ничего тут не поделаешь, на 42 KB восьмибитной Элиты особо не разгуляешься. И лазерное оружие со мгновенной передачей энергии тоже из этого восьмибитного прошлого: упреждение при стрельбе считать не надо, достаточно проверить, была ли цель в центре прицельной сетки в момент выстрела. В обновленном мануале Oolite Reference Sheet, который идет в комплекте с дистрибутивом игры, кстати, скорость кораблей приведена в световых махах (LM) - "максимальная скорость, которую корабль способен достичь, не подвергаясь воздействию релятивистских эффектов" (в игре это, только не смейтесь, 1 км/с). Забудьте. Луч из военного лазера достигает цели на краю поля сканера не спустя 25 секунд, а мгновенно.
Оборудование
Отсека оборудования как такового нет. Оборудование не имеет габаритов и не потребляет энергии. Можно запросто взять крошку Аддер и превратить его в юбершип с флотскими щитами и военным лазером. Можно этим не ограничиться и навесить на корабль еще кучу оборудования из аддонов - если, конечно, их авторы не предусмотрели проверку класса корабля (обычно они не считают нужным это делать, предполагая по умолчанию, что геймер будет летать на дефолтной Кобре Марк Три). Суть проблемы в ряде случаев именно в этом: предполагается по умолчанию, что геймер начнет свою карьеру на дефолтной Кобре Марк Три. В Элите так оно и было: дефолтный корабль без вариантов и набор дефолтного оборудования. Предполагалось по умолчанию, что весь этот набор оборудования так или иначе будет востребован, а другого все равно не будет, поэтому усложнять код симуляцией отсека оборудования ограниченной емкости смысла не имело. В Оолите возможность приобретения другого корабля тоже появилась далеко не сразу, но когда она была наконец реализована, стало ясно задним числом, что благое намерение бережно сохранить дух легендарной Элиты в новом Оониверсуме открыло логическую дыру. Космосимы последующего за Элитой поколения, где возможность кастомизации конфигурации корабля геймера была заложена изначально, этой ловушки избежали. Еще один пример игровой несуразности - история с топливным инжектором (Witchfuel Injector, WFI). В Элите этого устройства не было, а штука реально полезная. Ветераны прекрасно помнят, что анархические системы в старой Элите проходились как повезет - если уж выбрать более безопасный обходный путь никак нельзя было, геймер запасался энергобомбой, но порой и она помогала лишь на время. Тогда оставалось лишь одно: катапультироваться, потеряв весь груз. Топливный инжектор полной гарантии безопасности не дает, так как плохие парни его часто тоже имеют (и это правильно!) и порой цепко преследуют геймера до полной выработки топлива. Но все же возможность трезво оценить вероятный исход схватки с десятком пиратов и свалить подальше можно только приветствовать. Плохо лишь одно: с приобретением топливного инжектора даже тихоходный Питон легко уходит от любой ракеты (скорость Питона с инжектором 200*7 = 1400, скорость ракеты 750, почти вдвое меньше!), что, согласитесь, как-то странно. Ну то есть вы сами преследовать пиратский Питон на форсаже можете, а пущенная вами ракета - никак нет. Пруфлинк за давностью привести не могу, но помнится, сам Джайлс Уильямс на их форуме сетовал задним числом, что с семикратным множителем скорости он перемудрил. И опять же, проблема нереально завышенного множителя скорости полета на форсаже на нынешнем этапе вполне решаема.
Игровой интерфейс
Самая серьезная проблема Оолита как боевого космосима на мой пристрастный взгляд - это не упрощенная игровая механика сама по себе (которую вполне можно допилить через аддоны до реально хардкорного уровня, было бы желание), а удручающе примитивный интерфейс. Да, кастомизированный корабль с отсеком оборудования ограниченной емкости симулировать при должном терпении можно, но пока у геймера нет возможности полноценно взаимодействовать с оборудованием через кликабельный кокпит или хотя бы через назначаемые горячие клавиши, толку от этого оборудования немного.
Итак, учитывая все перечисленные претензии, можно ли сказать, что любительский Оолит как боевой космосим безнадежно сливает в соревновании с более продвинутыми играми этого жанра? На мой пристрастный взгляд, нет. Здесь важен такой вопрос: как ведут себя боты? Боты в нынешнем Оолите даже в дефолтной конфигурации ведут себя при боевом контакте достаточно интересно: они меткие, верткие, проявляют способности к кооперации и порой вполне адекватно оценивают степень угрозы, а не тупо прут в лобовую атаку. На этом фоне на примитивности модели полета внимание как-то не акцентируется, интуитивно простое управление воспринимается скорее как плюс игры. Скудный набор вооружения? Вопрос спорный. Ну вот в космострелялке Descent было пять видов пушек и пять видов ракет. Кому-то из фанатов игры этого было мало и в сиквеле Descent 2 разработчики добавили еще столько же. Авиасиммеры пожимают плечами: двух видов ракет (с радарным наведением и с тепловым) вполне достаточно, чтобы убить любую воздушную цель. Вот правда радар в режиме воздушного боя может работать в четырех различных режимах, каждый из которых требует обстоятельного изучения и регулярной практики. Нужно ли стремиться к чему-то подобному в боевом космосиме? По правде говоря, система захвата и распознавания целей в Элите - самое то, если вам нравится ощущать себя бойцом, а не оператором высокотехнологичных систем вооружения, для освоения которых надо вдумчиво прокурить мануал в 500+ страниц формата A4. Есть, конечно, куча читерских аддонов, автоматически сортирующих цели по степени угрозы и любезно сообщающих не только их статус, но и текущий уровень защиты (и это до первого выстрела!), но по счастью, их установка - дело сугубо добровольное. И да, говорил уже, но повторюсь: аскетичный интерфейс HUD из старой восьмибитной Элиты - прекрасный пример, как должен выглядеть функциональный HUD: все нужное и ничего лишнего, без этих голливудских дизайнерских изысков, которые прижились в современных космосимах.
Пока на этом все, а в следующий раз я попробую рассказать, чем Оониверсум может быть интересен для исследователя.
В предыдущем посте я кратко обрисовал игровой мир Оолита в целом. Сейчас я хочу рассказать об особенностях игровой механики.
Популятор
Начнем с того, что Оониверсум - 3D мир. Сейчас этим никого не удивишь, но в эпоху аркадных платформеров Элита даже с ее проволочной графикой смотрелась неимоверно круто. Такая степень свободы, когда геймер не следует заранее спроектированным единственным путем, на самом деле ставит перед разработчиком игры непростую задачу: как заполнить этот обширный мир объектами? В Элите задача заполнения игрового мира объектами была решена просто: корабли возникали рандомно в пределах окружающего геймера пузыря и исчезали, оказавшись за его пределами. Радиус этого пузыря был равен радиусу поля сканера. Отсюда, кстати, и такой странный механизм обнаружения объектов, перекочевавший из Элиты: сканер видит все объекты, включая самые мелкие, в пределах определенного радиуса - и не видит ничего за его пределами. Все события в игре были завязаны на геймера и происходили вокруг геймера, за пределами пузыря абсолютно ничего не происходило. Я уже говорил, что Оолит с дефолтными настройками выглядит как Элита и ведет себя как Элита. Но вот как раз популятор в Оолите работает по другому: система засевается кораблями в момент старта со станции после загрузки игры или в момент выхода из червоточины. И эти корабли живут самостоятельной жизнью: они взаимодействуют между собой независимо от геймера и переключают на него внимание лишь тогда, когда геймер оказался в пределах радиуса сканирования и классифицирован AI как приоритетная цель. Но поскольку размер популяции ограничен сверху, корабли засеваются не как попало по всему космосу, а в пределах определенных зон - это в первую очередь окрестности главной станции и входного маяка, а также окрестности линии, соединяющей входной маяк и планету. Небольшая популяция кораблей также подсевается в окрестностях солнца системы и вдоль остальных сторон треугольника планета-маяк-солнце. Эта особенность работы популятора открывает геймеру кардинально новую тактику выживания: если в Элите шанс влипнуть в мясорубку был чистой лотереей и от действий геймера никак не зависел, то в Оолите наблюдательный геймер может как минимум загодя обнаружить возможную опасность, а то и вообще обойти ее и быстро и безопасно добраться до станции не в общем потоке трафика, а окружным путем. Такие аддоны, как Deep Space Pirats и Deep Space Dredgers, эту читерскую лазейку закрывают, вот в них корабли, а заодно мелкие скопления астероидов, и правда подсеваются по курсу геймера, но не в пределах радиуса сканирования, а на расстоянии нескольких радиусов, что гарантирует интересные встречи даже на большом удалении от главной планеты и магистральной линии, по которой движется основной трафик в игре.
Физика Оониверсума
Раз уж речь зашла об интересных встречах, то стоит заметить: открытый мир-путешествие - это, конечно, здорово, но обычный геймер ожидает от игры этого жанра в первую очередь динамичные бои в космосе на расстоянии прямой видимости. Есть мнение, что ньютоновская физика как таковая в игре отсутствует напрочь. Есть также мнение, что честная ньютоновская физика в боевом космосиме нафиг не нужна, потому что реальная физика с канонами жанра несовместима. И нечестно предъявлять претензии в этом плане исключительно к Оолиту: лукавые отношения с реальной физикой - родовая травма жанра космосима в целом. Требовать от космосима реальной физики (а заодно основанных на реальной физике технологий) - это все равно что требовать, чтобы в фэнтэзи боевка была по честному, на железяках и без всякой магии. На самом деле, вы будете удивлены, разработчики игры на физику полностью не положили и сделали что смогли без ущерба для геймплея. Основы ньютоновской динамике в игре есть и они симулированы вполне адекватно. Контейнеры и обломки астероидов в открытом пространстве разлетаются по прямой, а корабли разгоняются до установившейся скорости и тормозят не мгновенно, а за определенное вполне заметное время, причем строго соблюдая формулу равноускоренного движения. Сам феномен установившейся скорости, конечно, сбивает с толку геймера, не позабывшего напрочь школьный курс физики - казалось бы, что мешает кораблю разгоняться до какой угодно скорости в отсутствие сил сопротивления среды? Но и этот парадокс легко закрывается простым допущением, что корабли в Оониверсуме используют для движения не реактивную тягу (для создания которой нужен расход рабочего тела, что в Оолите не наблюдается!), а серфинг по волне возмущения пространства. И аркадная модель полета "куда повернул, туда и полетел" объясняется тем же серфингом: корабль скользит по волне туда, куда направлен его нос. А вот гравитации в Оолите и правда нет в помине. Зоны влияния массивных небесных тел есть - полет на джамп-драйве в ближних окрестностях планет и лун невозможен - а гравитации нет. Для мира-исследования это скорее плохо, для боевого космосима скорее хорошо. Так что тут уж что-то одно: или Оолит с его динамикой космических боев, или Орбитер с его честной механикой космического полета. Повторяюсь: по мне так уж лучше честное отсутствие реальной физики, чем нечто, местами похожее на физику (а то ведь так школота, которая учебники читать не приучена, и правда поверит в существование страшных гравитационных ловушек, которые засасывают насмерть). Гравитации в Оолите нет, а вот инертная масса у кораблей и станций есть. Правда, она не является базовым параметром, а вычисляется весьма приближенно через габариты корабля и его плотность (да, именно так, вычисляется не объем корпуса корабля, а объем охватывающего его бокса). Масса взятого на борт груза и установленного на корабле оборудования и вооружения в этой формуле не учитывается. Расход топлива на динамику корабля тоже никак не влияет, так что масса корабля или станции проявляется только в косвенных эффектах, на которых геймер внимание редко фиксирует. Технически движок игры начиная с версии 1.82 позволяет симулировать влияние переменной массы корабля на его динамические характеристики (тяговооруженность, максимальную скорость, скорость разворота по осям), но реализация такой модели упирается в проблемы игрового баланса. Стандартное оборудование никак не привязано к габаритам корабля, весь базовый набор можно ставить хоть на крошку Аддер, хоть на тяжелую Анаконду. При таком раскладе гандикап на массу оборудования, едва заметный для тяжелой Анаконды, будет непомерно велик для крошки Аддера. Аркадная модель полета в Оолите, конечно, выглядит архаичной, если не сказать примитивной, в свете более продвинутых космосимов вроде той же пафосной Elite Dangerous, но тут уж многое зависит от субъективных предпочтений. Для бойца, годами оттачивающего искусство топтания клавиш в мясорубках, и правда пичалька, для авиасиммера, привыкшего к джойстику - наименьшее зло. Что толку от продвинутой модели полета в шести степенях свободы aka 6DOF, если игровая индустрия как-то не радует игровыми контроллерами с интуитивной реализацией этой самой 6DOF? В реальной реальности как раз наблюдается обратный тренд: авионика разгружает пилота от механической работы по пилотированию, освобождая его внимание для принятия критически важных решений. Куда повернул, туда и полетел - как раз вполне ожидаемый концепт пилотирования кораблей далекого будущего. Если есть возражения против этого тезиса, попробуйте полетать в Орбитере, где как раз симулирована реальная динамика космического корабля, включая аэродинамические силы на атмосферном участке полета, тогда уж сами решите, нужна ли реальная динамика в боевом космосиме. В мире-исследовании - да, реальная динамика была бы интересной фичей, но тогда уж об эпичных битвах с пиратами забудьте.
Вооружение и боевая механика
Космические бои в Оолите происходят на расстоянии видимости. Это канон жанра. Основное вооружение геймера - лазерная пушка, это тоже канон. Ракеты - оружие вспомогательное, скорее на крайний случай для самообороны. Для авиасиммера-реактивщика, который обычно воздушный бой начинает с ракетной дуэли, конечно, дикость. Но так уж в космосимах сложилось: обмен ракетными ударами за пределами прямой видимости для геймера малоинтересен. Есть еще плазменные турели на космических станциях и больших кораблях, но толку от них почти никакого. Опять же, в сравнении с продвинутыми космосимами выбор оружия весьма аскетичен. Ветераны космосимов, пришедших на смену Элите, привыкли к тому, что корабль имеет бронированный корпус и активную защиту (силовое поле). Оружие прямого переноса энергии (лазерное и пучковое) эффективно прожигает защитные поля, но менее эффективно против брони. Кинетическое оружие (электромагнитные пушки и ракеты) наоборот - малоэффективно против силового поля, но наносит большой урон корпусу. Порой можно встретить и оружие избирательного действия - к примеру, сжигающее электронные цепи корабля-мишени, оставляя его корпус и груз неповрежденным. Ничего этого в дефолтном Оолите нет прежде всего потому что повреждения корпуса как такового в дефолтной игровой механике никак не обрабатываются. Единственный критерий эффективности оружия, который принимается игровым движком во внимание - энергетический урон. Выбор оружия при таком раскладе сводится к апгрейду стартовой импульсной пукалки до военного лазера, способного закачать в мишень максимум энергии за минимум времени. Любые пожелания геймера-новичка "дайте побольше разного оружия" встречают вполне резонный флегматичный встречный вопрос: а зачем? Что есть в Оониверсуме такого помимо станций, что нельзя при должном терпении уничтожить военным лазером? Модель боевых повреждений корабля геймера фактически сводится к случайному уничтожению груза или к случайному повреждению оборудования. После прожига силовых щитов идет расход энергии из энергостека и при его полном исчерпании корабль считается уничтоженным. Стоит, однако, разорвать огневой контакт и выйти из боя, как уровни энергостека и щитов регенерируют до исходного уровня, даже если корабль был на грани гибели, так что ремонт после боя сводится к ремонту поврежденного оборудования. Боты так вообще симулируются как цельнолитые болванки с заданным уровнем энергии и темпом ее регенерации. Особенно доставляет эта особенность игровой механики, когда недобитый бот, пару минут назад истекавший плазмой, отдышавшись в стороне, вновь принимается за геймера с прежним пылом и по всем признакам с прежним хорошим самочувствием. Добавим к этому неисчерпаемый запас энергии для восполнения ее потерь в бою и неисчерпаемый боеприпас пушки - очевидное наследие аркадных стрелялок. Ничего тут не поделаешь, на 42 KB восьмибитной Элиты особо не разгуляешься. И лазерное оружие со мгновенной передачей энергии тоже из этого восьмибитного прошлого: упреждение при стрельбе считать не надо, достаточно проверить, была ли цель в центре прицельной сетки в момент выстрела. В обновленном мануале Oolite Reference Sheet, который идет в комплекте с дистрибутивом игры, кстати, скорость кораблей приведена в световых махах (LM) - "максимальная скорость, которую корабль способен достичь, не подвергаясь воздействию релятивистских эффектов" (в игре это, только не смейтесь, 1 км/с). Забудьте. Луч из военного лазера достигает цели на краю поля сканера не спустя 25 секунд, а мгновенно.
Оборудование
Отсека оборудования как такового нет. Оборудование не имеет габаритов и не потребляет энергии. Можно запросто взять крошку Аддер и превратить его в юбершип с флотскими щитами и военным лазером. Можно этим не ограничиться и навесить на корабль еще кучу оборудования из аддонов - если, конечно, их авторы не предусмотрели проверку класса корабля (обычно они не считают нужным это делать, предполагая по умолчанию, что геймер будет летать на дефолтной Кобре Марк Три). Суть проблемы в ряде случаев именно в этом: предполагается по умолчанию, что геймер начнет свою карьеру на дефолтной Кобре Марк Три. В Элите так оно и было: дефолтный корабль без вариантов и набор дефолтного оборудования. Предполагалось по умолчанию, что весь этот набор оборудования так или иначе будет востребован, а другого все равно не будет, поэтому усложнять код симуляцией отсека оборудования ограниченной емкости смысла не имело. В Оолите возможность приобретения другого корабля тоже появилась далеко не сразу, но когда она была наконец реализована, стало ясно задним числом, что благое намерение бережно сохранить дух легендарной Элиты в новом Оониверсуме открыло логическую дыру. Космосимы последующего за Элитой поколения, где возможность кастомизации конфигурации корабля геймера была заложена изначально, этой ловушки избежали. Еще один пример игровой несуразности - история с топливным инжектором (Witchfuel Injector, WFI). В Элите этого устройства не было, а штука реально полезная. Ветераны прекрасно помнят, что анархические системы в старой Элите проходились как повезет - если уж выбрать более безопасный обходный путь никак нельзя было, геймер запасался энергобомбой, но порой и она помогала лишь на время. Тогда оставалось лишь одно: катапультироваться, потеряв весь груз. Топливный инжектор полной гарантии безопасности не дает, так как плохие парни его часто тоже имеют (и это правильно!) и порой цепко преследуют геймера до полной выработки топлива. Но все же возможность трезво оценить вероятный исход схватки с десятком пиратов и свалить подальше можно только приветствовать. Плохо лишь одно: с приобретением топливного инжектора даже тихоходный Питон легко уходит от любой ракеты (скорость Питона с инжектором 200*7 = 1400, скорость ракеты 750, почти вдвое меньше!), что, согласитесь, как-то странно. Ну то есть вы сами преследовать пиратский Питон на форсаже можете, а пущенная вами ракета - никак нет. Пруфлинк за давностью привести не могу, но помнится, сам Джайлс Уильямс на их форуме сетовал задним числом, что с семикратным множителем скорости он перемудрил. И опять же, проблема нереально завышенного множителя скорости полета на форсаже на нынешнем этапе вполне решаема.
Игровой интерфейс
Самая серьезная проблема Оолита как боевого космосима на мой пристрастный взгляд - это не упрощенная игровая механика сама по себе (которую вполне можно допилить через аддоны до реально хардкорного уровня, было бы желание), а удручающе примитивный интерфейс. Да, кастомизированный корабль с отсеком оборудования ограниченной емкости симулировать при должном терпении можно, но пока у геймера нет возможности полноценно взаимодействовать с оборудованием через кликабельный кокпит или хотя бы через назначаемые горячие клавиши, толку от этого оборудования немного.
Итак, учитывая все перечисленные претензии, можно ли сказать, что любительский Оолит как боевой космосим безнадежно сливает в соревновании с более продвинутыми играми этого жанра? На мой пристрастный взгляд, нет. Здесь важен такой вопрос: как ведут себя боты? Боты в нынешнем Оолите даже в дефолтной конфигурации ведут себя при боевом контакте достаточно интересно: они меткие, верткие, проявляют способности к кооперации и порой вполне адекватно оценивают степень угрозы, а не тупо прут в лобовую атаку. На этом фоне на примитивности модели полета внимание как-то не акцентируется, интуитивно простое управление воспринимается скорее как плюс игры. Скудный набор вооружения? Вопрос спорный. Ну вот в космострелялке Descent было пять видов пушек и пять видов ракет. Кому-то из фанатов игры этого было мало и в сиквеле Descent 2 разработчики добавили еще столько же. Авиасиммеры пожимают плечами: двух видов ракет (с радарным наведением и с тепловым) вполне достаточно, чтобы убить любую воздушную цель. Вот правда радар в режиме воздушного боя может работать в четырех различных режимах, каждый из которых требует обстоятельного изучения и регулярной практики. Нужно ли стремиться к чему-то подобному в боевом космосиме? По правде говоря, система захвата и распознавания целей в Элите - самое то, если вам нравится ощущать себя бойцом, а не оператором высокотехнологичных систем вооружения, для освоения которых надо вдумчиво прокурить мануал в 500+ страниц формата A4. Есть, конечно, куча читерских аддонов, автоматически сортирующих цели по степени угрозы и любезно сообщающих не только их статус, но и текущий уровень защиты (и это до первого выстрела!), но по счастью, их установка - дело сугубо добровольное. И да, говорил уже, но повторюсь: аскетичный интерфейс HUD из старой восьмибитной Элиты - прекрасный пример, как должен выглядеть функциональный HUD: все нужное и ничего лишнего, без этих голливудских дизайнерских изысков, которые прижились в современных космосимах.
Пока на этом все, а в следующий раз я попробую рассказать, чем Оониверсум может быть интересен для исследователя.
|
|
|
|
![](images/spacer.gif) |
11.12.16
|
|
В первом посте темы я попытался собрать типичные технические вопросы новичка. Сейчас я кратко расскажу об игровом мире - в основном для того, чтобы помочь определиться, чего можно ждать от игры и чего от нее ожидать не стоит. Прежде всего еще раз напомню, что Оолит - игра, сделанная ветеранами Элиты для ветеранов Элиты. Это сознательное решение разработчиков игры: Оолит - это в первую речь игровой мир Элиты, а не просто еще один любительский космосим. В Оолите детально воссоздан игровой мир Элиты - ее карты, экономика, технологии, политика, система боевого рейтинга геймера, базовый набор кораблей и оборудования и даже пакет встроенных игровых миссий (к оборудованию, впрочем, добавлены несколько позиций, которых в оригинальной Элите не было). У новичков, с Элитой незнакомых, этот простой факт при первом знакомстве вызывает спектр эмоций от очарования через вежливое недоумение до яростного неприятия. Пожалуйста, просто примите этот факт или если что - ищите другую игру по своему вкусу, делов-то. Игровой мир Оолита - это 8 карт по 256 систем на каждой карте. В старом каноне Элиты речь шла о 8 "галактиках", сейчас утвердился термин "сектор". Каждый сектор имеет размер примерно 100 х 50 световых лет. Транспортной системы стабильных гиперпространственных туннелей, соединяющих системы, нет. Корабль геймера совершает прыжок между системами, самостоятельно открывая короткоживущую червоточину, и может достигнуть любой системы в пределах радиус-окрестности 7 световых лет. Максимальная дальность прыжка определяется запасом специального топлива (witchfuel) и в любом случае принудительно ограничена сверху все теми же 7 LY. Путешествовать между системами можно и через червоточину, открытую другим кораблем, в этом случае топливо не расходуется. Навигация между секторами осуществляется с помощью одноразового "межгалактического" драйва, который топливо не расходует. Сектора как бы склеены в кольцо с односторонним движением: попав, к примеру, из первого сектора во второй, вы не сможете вернуться обратно, пока не допрыгаете до восьмого сектора - и только оттуда попадете снова в первый. В пределах системы по умолчанию есть только солнце, одна главная планета и главная станция на ее орбите. Собственно, основным игровым объектом является именно станция, а не планета - сохраняться можно только на станции. Еще также есть астероиды и базы астероидных отшельников (rock hermit, начиная с Oolite 1.82 сохраняться можно и на них), но их еще надо найти. Поэтому основная деятельность игрока в начале игры по умолчанию - это челночные рейсы между главными станциями в соседних системах с получением профита за счет разности цен на товары на рынках главных станций. Помимо свободной торговли можно также прирабатывать контрактами на грузопассажирские перевозки в конкретный порт назначения, но такие контракты требуют определенной стартовой прокачки корабля. По мере дооснащения корабля и роста боевого рейтинга геймеру открываются и другие виды активности. События в игровой вселенной Оолита происходят несколько позже, чем в канонической Элите, но до распада единого Галактического Содружества Миров (Galactic Co-Operative of Worlds), оно же Галкоп, на три противостоящих крупных блока - Галактическую Федерацию, Империю и Союз Независимых Миров, как это произошло в сиквелах Элиты. Соответственно Галкоп в игре - главная и по сути единственная сила. Восемь типов политических систем перемешаны на картах без видимой закономерности и связаны в единое правовое поле. Масштабной геополитики как таковой в Оолите нет. Нет никаких политических блоков, фракций и гильдий. Масштабных войн, открытого военного противостояния, рискованных рейдов по глубоким тылам противника, диверсий, интриг, шпионажа - ничего этого в игре тоже нет. Две главные проблемы Оониверсума - это пираты и таргоиды. Системы кармы, репутации у разных блоков и гильдий в игре также нет. Точнее, репутацию на определенных видах деятельности заработать можно - к примеру, регулярные успешные выполнения грузовых контрактов открывают возможность получения более интересных и прибыльных контрактов. Но обычно эти системы репутации действуют локально в пределах своей зоны компетенции и на репутацию геймера за ее пределами никак не влияют. Базовая система репутации геймера принимает в учет только боевой рейтинг и правовой статус "clean - offender - fugitive". Критерии правовой оценки просты. Нельзя торговать запрещенными товарами, грабить и убивать мирных торгашей с чистым правовым статусом (clean) и нападать на представителей закона. Можно убивать любые цели с испорченным правовым статусом и применять оружие для самообороны. Любой груз, подобранный геймером в открытом космосе, считается его законной собственностью (геймер не имеет, однако, права стартовать со станции с запрещенным товаром на борту, даже если он был подобран в космосе). Эти простые правила действуют глобально в любой системе независимо от ее политического устройства. Технологического развития в игре нет ни в каком виде. Ни в виде дерева технологий, ни в виде артефактов. Вам изначально доступно что угодно - любой корабль и почти любое оборудование - если вы добрались до нужного места с нужной суммой денег на счету. Есть технологические бонусы за выполнение специальных заданий, которые иными путями заполучить невозможно, но это скорее как исключение. Менеджмента ресурсов в игре тоже нет: строить и развивать в игре нечего. Развернутых эпичных миссий в игре по сути дела тоже нет. Встроенные в игру миссии, унаследованные из старой Элиты, на эпик не тянут и занимают геймера осмысленной активностью лишь на время. Более того, Оониверсум - статичный мир. Активность геймера в нем ровным счетом ничего не меняет. Несмотря на декларированную еще со времен Элиты открытость игрового мира незаконный бизнес в нем попросту нерентабелен, играть на темной стороне можно исключительно из спортивного интереса. Ах да, самую-то досаду я чуть не упустил из виду. Мультиплеера нет и не планируется. Главный вопрос, который не на шутку напрягает новичка - ну, вылетел Джеймсон с Лэйв со ста "крэдо" в кармане, а дальше-то что делать? Да что хочешь. Песочница в чистом виде. Никто тебе задач не ставит, развлекайся сам как умеешь. Думаю, после перечисления того, чего в игре нет, есть смысл обозначить то, что в ней есть. Ну, прежде всего, Оолит - это мир-конструктор. Да, дефолтная игра довольно аскетична в сравнении с другими играми этого жанра. Этот недостаток более чем компенсируется множеством аддонов, добавляющих новые объекты, с которыми геймер может взаимодействовать, новые корабли и оборудование и новые виды активности (включая масштабные миссии!). Есть также аддоны, добавляющие в систему новые планеты, луны и станции и самое главное - новые порты на них со своими рынками. Движок игры позволяет создавать интересный игровой мир с локациями, в которых есть стимул задержаться на игровой вечер, а то и на пару, вместо того чтобы просквозить транзитом по пути в порт назначения, притормозив лишь для заправки. Геймер имеет возможность настроить по своему вкусу свой Оониверсум, в котором есть все нужное и ничего лишнего. Геймеру-потребителю, который привык к фастфуду, конечно, такой подход не вкатит, но для геймера, который любит и умеет экспериментировать, мир-конструктор придется по вкусу. Для моддера с амбициями открытая архитектура Оолита дает возможность смелых экспериментов с выходами далеко за рамки канона. Игровой движок позволяет не только добавлять в игру новые объекты и новые виды активности или изменять визуальное оформление уже существующих, но и редактировать игровую механику и экономику. В пределе можно и правда реализовать на движке Оолита совершенно иную игру с другими правилами и на других картах. Выход за пределы дефолтных правил игры, однако, исключительно зона компетенции разработчиков аддонов: забота разработчиков игры - заложить в движок игры степень свободы для реализации этих возможностей за рамками канона, и эта степень свободы с каждым обновлением версии игры растет. Возможности движка, конечно, небеспредельны. Впрочем, это отдельная тема.
В первом посте темы я попытался собрать типичные технические вопросы новичка. Сейчас я кратко расскажу об игровом мире - в основном для того, чтобы помочь определиться, чего можно ждать от игры и чего от нее ожидать не стоит. Прежде всего еще раз напомню, что Оолит - игра, сделанная ветеранами Элиты для ветеранов Элиты. Это сознательное решение разработчиков игры: Оолит - это в первую речь игровой мир Элиты, а не просто еще один любительский космосим. В Оолите детально воссоздан игровой мир Элиты - ее карты, экономика, технологии, политика, система боевого рейтинга геймера, базовый набор кораблей и оборудования и даже пакет встроенных игровых миссий (к оборудованию, впрочем, добавлены несколько позиций, которых в оригинальной Элите не было). У новичков, с Элитой незнакомых, этот простой факт при первом знакомстве вызывает спектр эмоций от очарования через вежливое недоумение до яростного неприятия. Пожалуйста, просто примите этот факт или если что - ищите другую игру по своему вкусу, делов-то. Игровой мир Оолита - это 8 карт по 256 систем на каждой карте. В старом каноне Элиты речь шла о 8 "галактиках", сейчас утвердился термин "сектор". Каждый сектор имеет размер примерно 100 х 50 световых лет. Транспортной системы стабильных гиперпространственных туннелей, соединяющих системы, нет. Корабль геймера совершает прыжок между системами, самостоятельно открывая короткоживущую червоточину, и может достигнуть любой системы в пределах радиус-окрестности 7 световых лет. Максимальная дальность прыжка определяется запасом специального топлива (witchfuel) и в любом случае принудительно ограничена сверху все теми же 7 LY. Путешествовать между системами можно и через червоточину, открытую другим кораблем, в этом случае топливо не расходуется. Навигация между секторами осуществляется с помощью одноразового "межгалактического" драйва, который топливо не расходует. Сектора как бы склеены в кольцо с односторонним движением: попав, к примеру, из первого сектора во второй, вы не сможете вернуться обратно, пока не допрыгаете до восьмого сектора - и только оттуда попадете снова в первый. В пределах системы по умолчанию есть только солнце, одна главная планета и главная станция на ее орбите. Собственно, основным игровым объектом является именно станция, а не планета - сохраняться можно только на станции. Еще также есть астероиды и базы астероидных отшельников (rock hermit, начиная с Oolite 1.82 сохраняться можно и на них), но их еще надо найти. Поэтому основная деятельность игрока в начале игры по умолчанию - это челночные рейсы между главными станциями в соседних системах с получением профита за счет разности цен на товары на рынках главных станций. Помимо свободной торговли можно также прирабатывать контрактами на грузопассажирские перевозки в конкретный порт назначения, но такие контракты требуют определенной стартовой прокачки корабля. По мере дооснащения корабля и роста боевого рейтинга геймеру открываются и другие виды активности. События в игровой вселенной Оолита происходят несколько позже, чем в канонической Элите, но до распада единого Галактического Содружества Миров (Galactic Co-Operative of Worlds), оно же Галкоп, на три противостоящих крупных блока - Галактическую Федерацию, Империю и Союз Независимых Миров, как это произошло в сиквелах Элиты. Соответственно Галкоп в игре - главная и по сути единственная сила. Восемь типов политических систем перемешаны на картах без видимой закономерности и связаны в единое правовое поле. Масштабной геополитики как таковой в Оолите нет. Нет никаких политических блоков, фракций и гильдий. Масштабных войн, открытого военного противостояния, рискованных рейдов по глубоким тылам противника, диверсий, интриг, шпионажа - ничего этого в игре тоже нет. Две главные проблемы Оониверсума - это пираты и таргоиды. Системы кармы, репутации у разных блоков и гильдий в игре также нет. Точнее, репутацию на определенных видах деятельности заработать можно - к примеру, регулярные успешные выполнения грузовых контрактов открывают возможность получения более интересных и прибыльных контрактов. Но обычно эти системы репутации действуют локально в пределах своей зоны компетенции и на репутацию геймера за ее пределами никак не влияют. Базовая система репутации геймера принимает в учет только боевой рейтинг и правовой статус "clean - offender - fugitive". Критерии правовой оценки просты. Нельзя торговать запрещенными товарами, грабить и убивать мирных торгашей с чистым правовым статусом (clean) и нападать на представителей закона. Можно убивать любые цели с испорченным правовым статусом и применять оружие для самообороны. Любой груз, подобранный геймером в открытом космосе, считается его законной собственностью (геймер не имеет, однако, права стартовать со станции с запрещенным товаром на борту, даже если он был подобран в космосе). Эти простые правила действуют глобально в любой системе независимо от ее политического устройства. Технологического развития в игре нет ни в каком виде. Ни в виде дерева технологий, ни в виде артефактов. Вам изначально доступно что угодно - любой корабль и почти любое оборудование - если вы добрались до нужного места с нужной суммой денег на счету. Есть технологические бонусы за выполнение специальных заданий, которые иными путями заполучить невозможно, но это скорее как исключение. Менеджмента ресурсов в игре тоже нет: строить и развивать в игре нечего. Развернутых эпичных миссий в игре по сути дела тоже нет. Встроенные в игру миссии, унаследованные из старой Элиты, на эпик не тянут и занимают геймера осмысленной активностью лишь на время. Более того, Оониверсум - статичный мир. Активность геймера в нем ровным счетом ничего не меняет. Несмотря на декларированную еще со времен Элиты открытость игрового мира незаконный бизнес в нем попросту нерентабелен, играть на темной стороне можно исключительно из спортивного интереса. Ах да, самую-то досаду я чуть не упустил из виду. Мультиплеера нет и не планируется. Главный вопрос, который не на шутку напрягает новичка - ну, вылетел Джеймсон с Лэйв со ста "крэдо" в кармане, а дальше-то что делать? Да что хочешь. Песочница в чистом виде. Никто тебе задач не ставит, развлекайся сам как умеешь. Думаю, после перечисления того, чего в игре нет, есть смысл обозначить то, что в ней есть. Ну, прежде всего, Оолит - это мир-конструктор. Да, дефолтная игра довольно аскетична в сравнении с другими играми этого жанра. Этот недостаток более чем компенсируется множеством аддонов, добавляющих новые объекты, с которыми геймер может взаимодействовать, новые корабли и оборудование и новые виды активности (включая масштабные миссии!). Есть также аддоны, добавляющие в систему новые планеты, луны и станции и самое главное - новые порты на них со своими рынками. Движок игры позволяет создавать интересный игровой мир с локациями, в которых есть стимул задержаться на игровой вечер, а то и на пару, вместо того чтобы просквозить транзитом по пути в порт назначения, притормозив лишь для заправки. Геймер имеет возможность настроить по своему вкусу свой Оониверсум, в котором есть все нужное и ничего лишнего. Геймеру-потребителю, который привык к фастфуду, конечно, такой подход не вкатит, но для геймера, который любит и умеет экспериментировать, мир-конструктор придется по вкусу. Для моддера с амбициями открытая архитектура Оолита дает возможность смелых экспериментов с выходами далеко за рамки канона. Игровой движок позволяет не только добавлять в игру новые объекты и новые виды активности или изменять визуальное оформление уже существующих, но и редактировать игровую механику и экономику. В пределе можно и правда реализовать на движке Оолита совершенно иную игру с другими правилами и на других картах. Выход за пределы дефолтных правил игры, однако, исключительно зона компетенции разработчиков аддонов: забота разработчиков игры - заложить в движок игры степень свободы для реализации этих возможностей за рамками канона, и эта степень свободы с каждым обновлением версии игры растет. Возможности движка, конечно, небеспредельны. Впрочем, это отдельная тема.
|
|
|
|
![](images/spacer.gif) |
03.01.16
|
|
|
Oolite - вопросы и ответы |
|
|
В Оолит приходит новое поколение геймеров, которые Элиту в глаза не видели. В связи с этим отсылки к лору и канонам - не выход, нужна развитая справочная система. Эта страничка таковую не заменит, но с чего-то начинать нужно. Новичкам просьба ознакомиться с этой темой, прежде чем задавать вопросы. Хорошие вопросы будут добавляться к теме (возможно, по мере развития она будет разбита на рубрики). А от ветеранов жду помощи в ее пополнении. Частные вопросы будут по прежнему обсуждаться и комментироватться в соответствующих темах. Ну а теперь - то, что вы хотели бы знать об Оолите, но стесняетесь спросить. Что такое Oolite? Почему в этой игре такие странные правила?Oolite - это Object Oriented Elite, объектно-ориентированная Elite. Целью проекта Джайлса Уильямса было воссоздание знаменитой классической игры Elite на объектно-ориентированном языке Objective-C. Elite была написана для машин с 8-битным процессором и 48 KB оперативной память, поэтому огромный для того времени мир из 2048 систем был в игре процедурно сгенерирован. Просто держите в голове это обстоятельство и если исторически установленные правила игры кажутся вам примитивными, ищите другой космосим. Пожалуйста, примите к сведению: основная цель проекта не в том, чтобы дать геймеру еще один бесплатный космосим круче коммерческой Elite Dangerous, а в том, чтобы вернуть старую любимую Элиту геймеру-ветерану. Поэтому и костяк контингента на форуме соответствующий. Точно так же проект Aleph One, к примеру, не обязан быть шутером на продвинутом движке круче Quake, если цель проекта - вернуть геймеру-ветерану легендарный Marathon. А как правильно по русски? Оолит или Оолита?Да как угодно. В английском языке у этого слова нет половых признаков. С одной стороны, Объектно Ориентированная Элита - Оолита. С другой, oolite - это еще геологический термин: отложения осадочных пород в виде мелких шариков. Русский термин - оолит, дословно "яйцевидный камень". В принципе в официальной документации на русском все равно никто ведь не пишет Дума или Квака, а на форуме вас никто не засмеет, даже если скажете Оля. А вот если, к примеру, на форуме задаете вопрос про корабль Гадюка, будьте любезны уточнить, о чем конкретно речь - Вайпер или Аддер. То же самое с оборудованием. Человек задает вопрос про "посадочный автопилот". В трезвом виде порой с ходу и не сообразишь, что речь идет о стыковочном компьютере. Так что просьба для ясности использовать язык оригинала. Корабль Adder. Оборудование Docking Computer. Система Xeer. Пакет Military Fuel Injector. Кстати уж о русском языке. Почему так все запущено с локализацией игры?Локализация самой игры несложна и вполне доступна любому любителю, который захочет этим заняться. Но как подумаешь, что основная работа - это локализация не самой игры, а десятков регулярно обновляемых дополнений - так проще полсотни английских слов выучить. Считаете такую работу необходимой и осмысленной - берите и делайте. Есть, правда, одна серьезная проблема. Многие пакеты динамически генерируют нужные тексты по ситуации. Английский язык для такой процедурной генерации грамматически правильных текстов хорошо приспособлен. Русский - нет. Хочу обратить ваше внимание на важный момент. Локализация реализуется на двух уровнях. На базовом уровне в игру добавляется поддержка русского шрифта, на верхнем уровне англоязычный текст игрового меню и/или тексты сообщений, элементы интерфейса и прочее замещается на русский текст. Так вот, проблема с русификацией самой игры, как правило, именно на верхнем уровне - при каждом обновлении версии игры эту работу надо делать заново. Лучший на данный момент и актуальный базовый пакет для русификации - Tch_Cyrillic_for_English_1.0.1_2013-10-21.oxp (ссылка в личной рубрике Tch). Еще раз: сам по себе этот пакет не делает игру русскоязычной, а только обеспечивает поддержку кириллицы. О дополнениях. Что такое OXP и OXZ?Гляньте тему "OXP vs OXZ - в чем разница?". А если предельно кратко: OXP - папка со вложенными папками ресурсов (Config, Images, Models, Scripts, Textures etc). OXZ - единый архив, то есть один файл. Но если его разархивировать или просмотреть специальной утилитой, в первом приближении ресурсы имеют ту же структуру. Отличие в том, что в папке OXP на корневом уровне находится файл requires.plist (не обязателен), а в архиве OXZ - также на корневом уровне файл метаданных manifest.plist (строго обязателен). То есть можно разархивировать OXZ, прописать расширение .oxp, поместить полученный пакет в папку AddOns и он будет работать как обычно! OXP и OXZ размещаются в разных директориях. OXP находятся на привычном месте в директории Oolite/AddOns, OXZ в Mac OS X - в директории юзверь/Library/Application Support/Oolite/Managed AddOns. OXP ставятся и сносятся вручную. OXZ - через встроенный в игровое меню менеджер дополнений, который заодно отслеживает конфликты и зависимости пакетов. Для обычного геймера формат OXZ в целом удобнее, так как менеджер дополнений позволяет регулярно обновлять пакеты через встроенное игровое меню. Зачем нужен устаревший формат OXP при наличии огромного списка OXZ, которые ставятся через менеджер?По двум очевидным и двум неочевидным причинам. 1. Немалая часть сообщества геймеров играет на маломощных машинах, на которых Oolite версии 1.80...84 с его встроенной библиотекой шейдерных текстур кораблей и станций заметно тормозит. А версия Oolite 1.77.1 с форматом OXZ работать не умеет. 2. Есть хорошие, годные OXP, которые по ряду причин так и не переписаны в формат OXZ. 3. Пакеты запускаются при старте игры в таком порядке: Сперва все пакеты в формате OXZ из директории юзверь/Library/Application Support/Oolite/Managed AddOns в алфавитном порядке. Затем все пакеты в формате OXP из директории Oolite/AddOns. Этот момент позволяет опытному геймеру управлять конфликтующими пакетами. Менеджер OXZ ручную работу геймеру не доверяет. 4. Разработчику пакетов тоже проще отлаживать свои бредовые идеи в пробных пакетах OXP. Менеджер OXZ не позволяет временно отключить, переместить или переименовать опытный пакет. Только поставить и полностью снести, что для обычного геймера вполне достаточно. Что означает цветовая кодировка в списке пакетов менеджера OXZ?Белый - у вас установлен пакет актуальной версии. Циановый - доступна более новая версия пакета (обратите внимание на номер версии!). Желтый - этот пакет у вас не установлен. Оранжевый - пакет требует установки других пакетов и без них работать не будет. Красный - обновление пакета и проверка его совместимости с другими пакетами невозможны. Серый - пакет с вашей версией Оолита несовместим. Красное состояние - это сплошь и рядом результат установки OXZ не понять откуда не через менеджер, а вручную. Довольно часто эти пакеты, помещенные в папку AddOns, нормально работают, но чтобы отключить сигнал тревоги, пакет лучше разархивировать и собрать вручную как OXP. Совместимость, да. Я скачал все, что мне понравилось, через менеджер. И теперь не могу понять, куда исчезло привычное небо и почему карта выглядит так странно.Даже если разработчик пакета тщательно протестировал его работу, он делал это в своей среде. Нельзя требовать от разработчика, чтобы он тестировал разработку на совместимость со всеми существующими пакетами, даже если они успешно прошли зооветконтроль. Тем более порой разработчики пакетов A и B решают диаметрально противоположные задачи. Поэтому взаимодействие десятков и сотен пакетов не всегда предсказуемо и бесконфликтно. Так уж устроены сложные системы. Так что делать, чтобы по возможности избежать конфликтов пакетов? Совет попроще. А вот не надо скачивать все подряд. Скачал пакет, покатался, работает. Понравилось - оставил, не понравилось - снес. Скачал следующий. И так шаг за шагом. Совет поумнее, для опытного геймера. Иерархия словарей (файлов с расширением .plist) работает по простому армейскому принципу: исполняется последний отданный приказ. То есть у вас может быть куча пакетов с разноцветным люминесцирующим голливудским космосом, но если в словаре последнего по списку пакета стоит "убрать все туманности", вы получите черное небо. Почитайте, кстати, мой документ Ambience OXPs.pdf - там я описал иерархию пакетов и конфликт их настроек как раз на примере "косметичек", определяющих внешний вид космоса. В случае со скриптами (файлы с расширением .js) ситуация сложнее - скрипты часто обрабатывают по разному одно и то же событие (к примеру, вход корабля в червоточину), и какой из них успеет перехватить управление, сказать порой сложно. Какие пакеты посоветуете новичку в первую очередь для знакомства с игрой? Какое самое полезное оборудование? Какой корабль лучше?Скажи мне, как женщина женщине, тебе нравится моя новая шляпка? А если серьезно, почитайте мои обзоры Stranger's World.pdf и Beyond Stranger's World.pdf. Не пугайтесь, там почти все написано русскими буквами. А можно сделать пакет, который даст возможность побродить по станции или по планетным локациям? Или пакет, в котором звездная карта будет раскрываться по мере исследования шаг за шагом?Каждая новая версия Oolite дает разработчику пакетов новые возможности и кое-что из "категорически нет" в Oolite 1.77.1 стало "да легко" в Oolite 1.82. Так что кое-что можно. Но далеко не всё. Кое-что зашито хардкорно и через пакеты не обходится. Сделать пакет с возможностью побродить по станции и планетным портам, к примеру, технически можно, если вас устроит адвентура со статичными картинками и текстами в духе начала девяностых. И вовсе не факт, что это будет ублюдочная поделка. Потрясающая квестовая игра Myst, к примеру - это по большей части статичные экраны с активными зонами. Сделать раскрываемую карту - да, начиная с Oolite 1.84 можно, и два пакета (ZeroMap от SMax и мой Here Be Dragons) такую возможность реализуют. У меня проблема! Что делать?Как минимум - ясно сформулировать суть проблемы. А по хорошему - выгрузить на форум файл latest.log, в котором пишется конфигурация вашей игры и выводятся сообщения об ошибках. Опытный геймер, конечно, быстро сообразит, "почему мой военный лазер вышел из строя", но не все проблемы решаются так же легко. Файл latest.log - вообще мощный инструмент диагностики проблемы. Порой с его помощью удается отследить проблему, которая в игре никак не обнаруживала себя годами. А где еще можно почитать про игру? Только не посылайте на ихний сайт, я в английском не силен.А куда же еще посылать, если практически вся информация об игре именно там? К сожалению, сайт oolite.ru и наш форум на нем - как бы не единственный источник информации об игре для русского геймера. Оолит и этот сайт - проект не коммерческий, каждый делает что может в меру сил и интереса. Да, сайт настоятельно требует обновления. seventh, который вложил уйму сил в этот проект, физически не располагает нужным для этого временем. Реально активно действующих модераторов на форуме сейчас двое - я и коммандер vasig, но мы двое имеем полномочия только как модераторы форума. Мне в реальной реальности тоже не за Оолит деньги платят, делаю что могу и к чему душа лежит. Мне, к примеру, интереснее развивать свои пакеты, чем перерабатывать устаревший мануал для русского геймера, не обессудьте. А что я могу сделать для сообщества?Как минимум, не будь потребителем. Задавай вопросы, предлагай идеи, сообщай об ошибках в пакетах.
В Оолит приходит новое поколение геймеров, которые Элиту в глаза не видели. В связи с этим отсылки к лору и канонам - не выход, нужна развитая справочная система. Эта страничка таковую не заменит, но с чего-то начинать нужно. Новичкам просьба ознакомиться с этой темой, прежде чем задавать вопросы. Хорошие вопросы будут добавляться к теме (возможно, по мере развития она будет разбита на рубрики). А от ветеранов жду помощи в ее пополнении. Частные вопросы будут по прежнему обсуждаться и комментироватться в соответствующих темах. Ну а теперь - то, что вы хотели бы знать об Оолите, но стесняетесь спросить.
:?: [i]Что такое Oolite? Почему в этой игре такие странные правила?[/i]
Oolite - это Object Oriented Elite, объектно-ориентированная Elite. Целью проекта Джайлса Уильямса было воссоздание знаменитой классической игры Elite на объектно-ориентированном языке Objective-C. Elite была написана для машин с 8-битным процессором и 48 KB оперативной память, поэтому огромный для того времени мир из 2048 систем был в игре процедурно сгенерирован. Просто держите в голове это обстоятельство и если исторически установленные правила игры кажутся вам примитивными, ищите другой космосим. Пожалуйста, примите к сведению: основная цель проекта не в том, чтобы дать геймеру еще один бесплатный космосим круче коммерческой Elite Dangerous, а в том, чтобы вернуть старую любимую Элиту геймеру-ветерану. Поэтому и костяк контингента на форуме соответствующий. Точно так же проект Aleph One, к примеру, не обязан быть шутером на продвинутом движке круче Quake, если цель проекта - вернуть геймеру-ветерану легендарный Marathon.
:?: [i]А как правильно по русски? Оолит или Оолита?[/i]
Да как угодно. В английском языке у этого слова нет половых признаков. С одной стороны, Объектно Ориентированная Элита - Оолита. С другой, oolite - это еще геологический термин: отложения осадочных пород в виде мелких шариков. Русский термин - оолит, дословно "яйцевидный камень". В принципе в официальной документации на русском все равно никто ведь не пишет Дума или Квака, а на форуме вас никто не засмеет, даже если скажете Оля. А вот если, к примеру, на форуме задаете вопрос про корабль Гадюка, будьте любезны уточнить, о чем конкретно речь - Вайпер или Аддер. То же самое с оборудованием. Человек задает вопрос про "посадочный автопилот". В трезвом виде порой с ходу и не сообразишь, что речь идет о стыковочном компьютере. Так что просьба для ясности использовать язык оригинала. Корабль Adder. Оборудование Docking Computer. Система Xeer. Пакет Military Fuel Injector.
:?: [i]Кстати уж о русском языке. Почему так все запущено с локализацией игры?[/i]
Локализация самой игры несложна и вполне доступна любому любителю, который захочет этим заняться. Но как подумаешь, что основная работа - это локализация не самой игры, а десятков регулярно обновляемых дополнений - так проще полсотни английских слов выучить. Считаете такую работу необходимой и осмысленной - берите и делайте. Есть, правда, одна серьезная проблема. Многие пакеты динамически генерируют нужные тексты по ситуации. Английский язык для такой процедурной генерации грамматически правильных текстов хорошо приспособлен. Русский - нет. Хочу обратить ваше внимание на важный момент. Локализация реализуется на двух уровнях. На базовом уровне в игру добавляется поддержка русского шрифта, на верхнем уровне англоязычный текст игрового меню и/или тексты сообщений, элементы интерфейса и прочее замещается на русский текст. Так вот, проблема с русификацией самой игры, как правило, именно на верхнем уровне - при каждом обновлении версии игры эту работу надо делать заново. Лучший на данный момент и актуальный базовый пакет для русификации - Tch_Cyrillic_for_English_1.0.1_2013-10-21.oxp (ссылка в личной рубрике Tch). Еще раз: сам по себе этот пакет не делает игру русскоязычной, а только обеспечивает поддержку кириллицы.
:?: [i]О дополнениях. Что такое OXP и OXZ?[/i]
Гляньте тему "OXP vs OXZ - в чем разница?". А если предельно кратко: OXP - папка со вложенными папками ресурсов (Config, Images, Models, Scripts, Textures etc). OXZ - единый архив, то есть один файл. Но если его разархивировать или просмотреть специальной утилитой, в первом приближении ресурсы имеют ту же структуру. Отличие в том, что в папке OXP на корневом уровне находится файл requires.plist (не обязателен), а в архиве OXZ - также на корневом уровне файл метаданных manifest.plist (строго обязателен). То есть можно разархивировать OXZ, прописать расширение .oxp, поместить полученный пакет в папку AddOns и он будет работать как обычно! OXP и OXZ размещаются в разных директориях. OXP находятся на привычном месте в директории Oolite/AddOns, OXZ в Mac OS X - в директории юзверь/Library/Application Support/Oolite/Managed AddOns. OXP ставятся и сносятся вручную. OXZ - через встроенный в игровое меню менеджер дополнений, который заодно отслеживает конфликты и зависимости пакетов. Для обычного геймера формат OXZ в целом удобнее, так как менеджер дополнений позволяет регулярно обновлять пакеты через встроенное игровое меню.
:?: [i]Зачем нужен устаревший формат OXP при наличии огромного списка OXZ, которые ставятся через менеджер?[/i]
По двум очевидным и двум неочевидным причинам. 1. Немалая часть сообщества геймеров играет на маломощных машинах, на которых Oolite версии 1.80...84 с его встроенной библиотекой шейдерных текстур кораблей и станций заметно тормозит. А версия Oolite 1.77.1 с форматом OXZ работать не умеет. 2. Есть хорошие, годные OXP, которые по ряду причин так и не переписаны в формат OXZ. 3. Пакеты запускаются при старте игры в таком порядке: Сперва все пакеты в формате OXZ из директории юзверь/Library/Application Support/Oolite/Managed AddOns в алфавитном порядке. Затем все пакеты в формате OXP из директории Oolite/AddOns. Этот момент позволяет опытному геймеру управлять конфликтующими пакетами. Менеджер OXZ ручную работу геймеру не доверяет. 4. Разработчику пакетов тоже проще отлаживать свои бредовые идеи в пробных пакетах OXP. Менеджер OXZ не позволяет временно отключить, переместить или переименовать опытный пакет. Только поставить и полностью снести, что для обычного геймера вполне достаточно.
:?: [i]Что означает цветовая кодировка в списке пакетов менеджера OXZ?[/i]
Белый - у вас установлен пакет актуальной версии. [color=#40FFFF]Циановый[/color] - доступна более новая версия пакета (обратите внимание на номер версии!). [color=#FFFF00]Желтый[/color] - этот пакет у вас не установлен. [color=#FF8000]Оранжевый[/color] - пакет требует установки других пакетов и без них работать не будет. [color=#FF0000]Красный[/color] - обновление пакета и проверка его совместимости с другими пакетами невозможны. Серый - пакет с вашей версией Оолита несовместим.
Красное состояние - это сплошь и рядом результат установки OXZ не понять откуда не через менеджер, а вручную. Довольно часто эти пакеты, помещенные в папку AddOns, нормально работают, но чтобы отключить сигнал тревоги, пакет лучше разархивировать и собрать вручную как OXP.
:?: [i]Совместимость, да. Я скачал все, что мне понравилось, через менеджер. И теперь не могу понять, куда исчезло привычное небо и почему карта выглядит так странно.[/i]
Даже если разработчик пакета тщательно протестировал его работу, он делал это в своей среде. Нельзя требовать от разработчика, чтобы он тестировал разработку на совместимость со всеми существующими пакетами, даже если они успешно прошли зооветконтроль. Тем более порой разработчики пакетов A и B решают диаметрально противоположные задачи. Поэтому взаимодействие десятков и сотен пакетов не всегда предсказуемо и бесконфликтно. Так уж устроены сложные системы. Так что делать, чтобы по возможности избежать конфликтов пакетов? Совет попроще. А вот не надо скачивать все подряд. Скачал пакет, покатался, работает. Понравилось - оставил, не понравилось - снес. Скачал следующий. И так шаг за шагом. Совет поумнее, для опытного геймера. Иерархия словарей (файлов с расширением .plist) работает по простому армейскому принципу: исполняется последний отданный приказ. То есть у вас может быть куча пакетов с разноцветным люминесцирующим голливудским космосом, но если в словаре последнего по списку пакета стоит "убрать все туманности", вы получите черное небо. Почитайте, кстати, мой документ Ambience OXPs.pdf - там я описал иерархию пакетов и конфликт их настроек как раз на примере "косметичек", определяющих внешний вид космоса. В случае со скриптами (файлы с расширением .js) ситуация сложнее - скрипты часто обрабатывают по разному одно и то же событие (к примеру, вход корабля в червоточину), и какой из них успеет перехватить управление, сказать порой сложно.
:?: [i]Какие пакеты посоветуете новичку в первую очередь для знакомства с игрой? Какое самое полезное оборудование? Какой корабль лучше?[/i]
Скажи мне, как женщина женщине, тебе нравится моя новая шляпка? А если серьезно, почитайте мои обзоры Stranger's World.pdf и Beyond Stranger's World.pdf. Не пугайтесь, там почти все написано русскими буквами.
:?: [i]А можно сделать пакет, который даст возможность побродить по станции или по планетным локациям? Или пакет, в котором звездная карта будет раскрываться по мере исследования шаг за шагом?[/i]
Каждая новая версия Oolite дает разработчику пакетов новые возможности и кое-что из "категорически нет" в Oolite 1.77.1 стало "да легко" в Oolite 1.82. Так что кое-что можно. Но далеко не всё. Кое-что зашито хардкорно и через пакеты не обходится. Сделать пакет с возможностью побродить по станции и планетным портам, к примеру, технически можно, если вас устроит адвентура со статичными картинками и текстами в духе начала девяностых. И вовсе не факт, что это будет ублюдочная поделка. Потрясающая квестовая игра Myst, к примеру - это по большей части статичные экраны с активными зонами. Сделать раскрываемую карту - да, начиная с Oolite 1.84 можно, и два пакета (ZeroMap от SMax и мой Here Be Dragons) такую возможность реализуют.
:?: [i]У меня проблема! Что делать?[/i]
Как минимум - ясно сформулировать суть проблемы. А по хорошему - выгрузить на форум файл latest.log, в котором пишется конфигурация вашей игры и выводятся сообщения об ошибках. Опытный геймер, конечно, быстро сообразит, "почему мой военный лазер вышел из строя", но не все проблемы решаются так же легко. Файл latest.log - вообще мощный инструмент диагностики проблемы. Порой с его помощью удается отследить проблему, которая в игре никак не обнаруживала себя годами.
:?: [i]А где еще можно почитать про игру? Только не посылайте на ихний сайт, я в английском не силен.[/i]
А куда же еще посылать, если практически вся информация об игре именно там? К сожалению, сайт oolite.ru и наш форум на нем - как бы не единственный источник информации об игре для русского геймера. Оолит и этот сайт - проект не коммерческий, каждый делает что может в меру сил и интереса. Да, сайт настоятельно требует обновления. seventh, который вложил уйму сил в этот проект, физически не располагает нужным для этого временем. Реально активно действующих модераторов на форуме сейчас двое - я и коммандер vasig, но мы двое имеем полномочия только как модераторы форума. Мне в реальной реальности тоже не за Оолит деньги платят, делаю что могу и к чему душа лежит. Мне, к примеру, интереснее развивать свои пакеты, чем перерабатывать устаревший мануал для русского геймера, не обессудьте.
:?: [i]А что я могу сделать для сообщества?[/i]
Как минимум, не будь потребителем. Задавай вопросы, предлагай идеи, сообщай об ошибках в пакетах.
|
|
|
|
![](images/spacer.gif) |
|