stranger
|
|
![Не в сети Не в сети](./styles/subsilver2/imageset/ru/icon_user_offline.gif) |
---Elite--- |
![Аватар пользователя](./download/file.php?avatar=110_1386400902.png) |
Зарегистрирован: 15.05.11 Сообщений: 1531
|
Господа пилоты, особенность любой работы состоит в том, что хорошо сделанную работу никто не видит и не ценит, а вот недоделки всем мозолят глаза и вызывают резкую критику. Вот под этим углом хочу попытаться еще раз обратить ваше внимание на ту часть проекта Oolite, которая на мой взгляд сделана великолепно. И на которую именно поэтому никто не обращает внимания, считая, что так оно и должно быть по умолчанию. И возьмем для сопоставления такую интереснейшую игру, как RimWorld.
В конце августа 2018 года к радости фанатов вышла RimWorld версия 0.19 – крайняя бета перед релизом игровой версии 1.0 на Steam. В бете 0.19 реализованы интересные доработки игровой механики, делающие игру местами более харкорной, но и местами более удобной и гибкой. Я уж не говорю о том, что обновленная игровая механика закрывает ряд вполне естественных вопросов вроде “а что, для секса обязательно нужна двухместная кровать?” или “а почему бы колонисту попутно не прихватить вон те бревна, раз уж он все равно идет с пустыми руками в сторону поселения?”. И в общем есть та же тенденция, что в Оолите, да и в других достойных играх есть тому примеры: ряд разумных идей, реализованных в обновлении игровой механики, были предварительно опробованы в модах. Но вот в чем засада с бетами: чтобы опробовать эти новые вкусные плюшки беты 0.19, надо начинать игру с нуля. Сэйвы из беты 0.18, в которй вы наиграли десятки, а кто-то и сотни часов, с версией 0.19 несовместимы. Я не спорю, бета и есть бета, и то что бета 0.18 внезапно еще и стабильная годная игра, за это искреннее спасибо Тайнану сказать надо, а не пинать мужика за то, что бета 0.19 с ее доработанной процедурой генерации игрового мира не поддерживает совместимость сверху вниз с сэйвами из версии 0.18. Но хочу таки напомнить, что в Оолите архивные сэйвы черт те какой давности, аж из версии 1.65, без проблем захватываются обновлением 1.86 несмотря на то, что механика игры с тех пор была радикально улучшена. Так что получая раз в год очередное обновление игры, геймеру не обязательно начинать все заново.
Ну ладно, это бы еще полбеды. Ради новой интересной игровой механики можно бы и заново начать, не вопрос. Но та же фигня с модами. Моды в RimWorld привязаны к версии игры. Мод для беты 0.18 несовместим ни с альфой 0.17 (что в общем вопросов не вызывает), ни с бетой 0.19. Что вынуждает авторов модов оперативно обновлять их для каждой новой версии игры. Конечно, выход беты 0.19 для авторов модов не был внезапным событием и на данный момент где-то треть модов на сайте RimWorld Base обновлены для версии бета 0.19. Но вот что делать мне как геймеру, если мастхэвный мод Combat Extended, без которого новую игру несмотря на все ее вкусные плюшки начинать как-то нет смысла, до версии 0.19 так и не обновили и неизвестно, обновят ли? Мне как геймеру по большому счету неважно, что там за несчастье стряслось у автора мода: заболел, запил, женился, потерял работу, дача сгорела, кошка родила. Мне как геймеру важно лишь то, что альтернатив этому пакету нет от слова совсем.
Опять же смотрим на Оолит. Там такой фигни нет. Аддон в формате OXZ, написанный для Oolite 1.80, без проблем загружается через менеджер и работает в Oolite 1.86, так что скачав и установив обновление игры раз в год, мне не нужно каждый раз ждать обновления сотни пакетов и заново их скачивать и устанавливать. И более того, есть простенькие полезные пакеты в формате OXP, которые работают хоть в Oolite 1.75, хоть в Oolite 1.86. Вашим мастхэвным пакетам грозит лишь разве что моральное устарение. Ну и конфликты с прочим интересным аддоном с перекрывающимся функционалом, но это если гребете все подряд без разбора. Вот как хотите, мне как геймеру такая архитектура Оолита представляется неизмеримо более ценной, чем необходимость помнить наизусть аж 26 английских букв, из-за которой на русскоязычное коммьюнити регулярно нобигают посторонние прохожие с воплями “как у вас тут все херово с локализацией”. Приятно все же, когда любимая игра живет и развивается, обогащаясь новыми интересными идеями, и ради их реализации не надо каждый раз бросать старые сэйвы, собирать игру заново и начинать ее с нуля.
Теперь несколько слов любви и обожания с точки зрения моддера. И начнем с сэйвов. Размер типичного сэйва в Оолите – это порядка сотни килобайт, а если вы не увлекаетесь аддонами, которые пишут в Оолит свои килобайты цифрового мусора, то запросто уложитесь и в десятки килобайт. Размер сэйва в RimWorld – это уже под десяток мегабайт. Это цена, которую приходится платить за детальное описание игрового мира, в котором надо запоминать состояние каждого растения и каждого бревна, брошенного гнить под открытым небом. В Оолите за редким исключением помимо статистики геймера и его корабля пишется лишь состояние конкретно данной системы, и то не все. В основном огромный игровой мир каждый раз при рестарте или входе в другую систему генерируется заново. Но дело даже не в размере. Сэйв Оолита – это список сохраненных параметров, в котором я без труда могу разобраться. Это огромный плюс для опытного геймера. Собственно, любой прыщавый недоносок может тоже разобраться, куда пишется наличный банковский счет и количество побед. И потом такой недоносок начинает выносить мозги ветеранам своим умением читить сэйвы. Это огромный минус, но плюс все же перевешивает. Недоноски на форуме появляются лишь изредка, а возможность понимать, что именно и куда именно пишется в сэйвы, все же порой полезна. Не для того, чтобы их читить, а для полноты картины. А сэйвы, созданные что RimWorld, что Morrowind, что Xenonauts, что (вставьте свое любимое) – это огромные простыни цифровых данных не для чтива человеческим глазом.
Теперь касательно модов. Моддер-любитель, которому читить сэйвы уже как-то стремно, в Оолите начинает с того, что лезет в чужие моды, чтобы понять, как оно там внутри устроено. И довольно быстро выясняет, что ничего сложного в принципе нет: есть файлы с ресурсами для игры (картинки, звуки, текстуры, модели, шейдеры), есть списки с описаниями свойств объектов игрового мира (property lists) и есть скрипты, управляющие поведением игровых объектов и заапускающие игровые события. В принципе так же устроены и моды для RimWorld да и для других игр. Ну, в RimWorld свойства игровых объектов описаны в формате .xml, а не .plist, разница невелика. И вот видя такую простоту архитектуры, моддер-любитель поначалу развлекается тем, что заменяет чужие картинки и звуки на свои (ну то есть обычно откуда-то сворованные). Потом понемногу наглеет и начинает править ТТХ кораблей и вооружения. Потом уже основательно наглеет и мастерит свой юбершип, стащив из чужого пакета приглянувшуюся модель. Собственно, моддер-самоучка по большей части на этом уровне и остается, потому что программировать динамические события и тем самым создавать новые сценарии игры или изменять ее ванильную механику он не умеет. Моддер-самоучка обычно это прекрасно понимает и в отличие от недоноска-кулхацкера, умеющего читить сэйвы, крутым кодером себя не считает. Вот так я ощущаю себя в других играх – всего лишь опытным геймером, который не боится лезть в игру, чтобы перенастроить ее под свой вкус, но не более. В Xenonauts я отредактировал ТТХ оружия и правила боя (а также глобальные настройки игры), чтобы приблизить игру к тому, к чему я привык в UFO: AI. В Morrowind я с помощью встроенного редактора TES Construction Set весьма основательно подправил ванильные настройки игры в сторону большей реалистичности и хардкора. Но что там, что там создавать новые интересные игровые события, то есть писать свои полноценные моды, а не допиливать чужие под свой вкус, я не умею.
И вот тут внезапно выясняется, что динамика игрового мира в аддонах Oolite реализована через JavaScript. Язык интерпретирующий, а стало быть, тормозной, и довольно неряшливый. С точки зрения быстродействия кода далеко не лучший выбор. Но у JavaScript при всех его недостатках есть очень серьезное преимущество: это язык кроссплатформенный, распространенный, довольно легкий в освоении и мануалов по нему куча. Если осознавать отчетливо ограничения JavaScript и умело их обходить, сваливая всю трудоемкую работу на игровой движок, наглеть можно весьма основательно. Вплоть до интеграции своих пакетов в сбалансированную экосистему и даже до создания радикально нового игрового мира на движке Оолита. И опять же интерпретирующий JavaScript удобен тем, что каждый желающий может разобраться в чужом пакете и модифицировать его под свои нужды.
А что мы имеем в других играх? Вот инструкция в четырех шагах, как редактировать моды для RimWorld. Шаг 1. Скачать локальную копию мода. Шаг 2. Найти эту копию на компьютере. Шаг 3. Скопировать мод в папку Mods игры. Шаг 4. Открыть директорию мода и отредактировать нужные файлы. Вот спасибо за простое и внятное объяснение. А это ничего, что самая мякотка в Combat Extended, из-за чего версия под бету 0.18 в бете 0.19 не работает – это библиотеки в формате .dll, написанные на C++? Чем-то напоминает известный мем “как нарисовать сову” в двух шагах. 1. Рисуем кружочки. 2. Рисуем остаток совы.
То же и далее как бы не везде. Хотите сделать в Орбитере настоящий полет шаттла в атмосфере, с нормальной аэродинамикой, с механическими и тепловыми нагрузками и с краш-тестом на посадку вне коридора допустимых параметров – без скилла кодинга в C++ даже не заикайтесь. Хотите запилить для Morrowind не очередной плагин с бронелифчиком, а новый квест или переработку игровой механики – разбирайтесь с самобытным языком создания скриптов в TES Construction Set. Я уж не говорю о совершенно жуткой организации внутренней архитектуры игры что в Орбитере, что в Морроувинде, где ресурсные файлы из разных аддонов сваливаются в кучу в директории игры вроде салата оливье. Ставили когда-нибудь Oscuro Oblivion Overhaul на ванильный Обливион вручную? Тот еще тест на аккуратность на каждом шаге. Четкое разделение файлов дистрибутива и аддонов в Оолите – третья причина, по которой я восхищен этой игрой.
Ну и лаконичное наполнение ванильного игрового мира Оолита – тоже, если разобраться, скорее плюс. Вот представьте себе, что вместо единственной планеты в каждой системе их где три, а где и целых шесть. Обычному геймеру и правда так лучше – игровой мир больше и разнообразнее. Но все эти планеты зафиксированы в статичных конфигурациях. А если и есть какое-то подобие динамики, то имеющее весьма отдаленное отношение к реальной астрономии. И все это с целью оптимизации кода реализовано на таком уровне, что хрен я смогу что-то изменить без перекомпиляции исходного кода. Сразу вопрос: так не лучше ли и правда дать мне возможность добавлять контент самостоятельно? Оолит – игра со специфичной аудиторией: это мир-конструктор. И мне опять же интереснее именно мир-конструктор, а не интерактивная иллюстрация от создателей игры “вот смотрите, в какую Игру я играю”.
|
|
|
![](images/spacer.gif) |
tomcat
|
|
![Не в сети Не в сети](./styles/subsilver2/imageset/ru/icon_user_offline.gif) |
Deadly |
![Аватар пользователя](./download/file.php?avatar=126_1472982452.png) |
Зарегистрирован: 09.10.11 Сообщений: 254 Откуда: Qitroomax, Qutiri
|
stranger: Но та же фигня с модами. Моды в RimWorld привязаны к версии игры. То же самое в Stellaris, который я полюбил не только за атмосферность и возможность исследовать галактику (как стратегия он так себе, никакой сложности не представляет даже на выкрученных на максимум опциях этой самой сложности), но и за возможности моддинга: под каждую новую версию приходится править код, а поскольку часть моддеров забивают на свои интересные проекты, приходится разбираться самостоятельно, что там нужно поправить, чтобы заработало под очередным обновлением (к счастью, остановился на версии 2.1 и правлю только более старые, а с 2.2+ с уходом их директора и по совместительству вдохновителя команда стала пилить какую-то дичь и увела игру совершенно не туда, куда многим старым поклонникам хотелось бы). stranger: И более того, есть простенькие полезные пакеты в формате OXP, которые работают хоть в Oolite 1.75, хоть в Oolite 1.86. Да, и вот это в Оолите прекрасно! stranger: Ну и конфликты с прочим интересным аддоном с перекрывающимся функционалом, но это если гребете все подряд без разбора. Это происходит от желания поставить всё крутое и блестящее, но нежелания разбираться, насколько это всё между собой совместимо. Чаще всего люди даже не удосуживаются заметить, что разные моды изменяют одни и те же файлы игры, не говоря уже о том, чтобы попытаться как-то их совместить путём правки этих файлов. Когда-то я был таким же максималистом, желающим поставить всё, а потом начал думать и... ковыряться в этих самых файлах ![Smile :)](./images/smilies/icon_e_smile.gif) stranger: на русскоязычное коммьюнити регулярно нобигают посторонние прохожие с воплями “как у вас тут все херово с локализацией”. Единственное, что в Oolite может нуждаться в переводе - художественные описания миссий. Однако даже непонимание этих описаний, в принципе, не особо усложняет жизнь тем, кто знает английский на базовом уровне (около тысячи наиболее употребительных слов), поскольку ничего важного для выполнения миссий они, как правило, не несут. stranger: Вот так я ощущаю себя в других играх – всего лишь опытным геймером, который не боится лезть в игру, чтобы перенастроить ее под свой вкус, но не более. Да, и обычно этого достаточно. Вот чем я занимаюсь в том же Стелларисе сейчас на досуге? По сути, компиляцией модов и изменением конфигурационных файлов там, где можно обойтись без копирования кода. Например, мне хотелось начинать игру в неизученной системе с не открытым FTL, добавить определённые расы, улучшить генерацию систем, добавить планетные модификаторы и много чего ещё, настроив игру под свои предпочтения - в общем, как сейчас говорят, кастомизировать. Так всё это легко делается прописыванием нужных значений в соответствующих файлах и вставкой в нужные файлы нужных кусков кода из подходящих модов, вот и всё. Если что-то где-то местами не работает так, как нужно - так исключительно от недостатка опыта, поскольку многие конфиг. файлы взаимозависимы, и что-то прописывать нужно не в одном месте (ну, это практически в любой игре так), а с опытом ошибки выявляются уже легче. stranger: Ставили когда-нибудь Oscuro Oblivion Overhaul на ванильный Обливион вручную? Ставить моды на Обливион было ещё то веселье ![Smile :)](./images/smilies/icon_e_smile.gif) Детали уже подзабыл, но некоторым модам требовались дополнительные программы типа Баша, плюс нужно было строго соблюдать иерархию, ставить патчи совместимости и прочее-прочее. stranger: Оолит – игра со специфичной аудиторией: это мир-конструктор. И мне опять же интереснее именно мир-конструктор Особенно мир-конструктор с практически полной свободой действий без связывающего по рукам и ногам сюжета. Сочетание этих качеств в Оолите делает её волшебной игрой.
|
|
|
![](images/spacer.gif) |
stranger
|
|
![Не в сети Не в сети](./styles/subsilver2/imageset/ru/icon_user_offline.gif) |
---Elite--- |
![Аватар пользователя](./download/file.php?avatar=110_1386400902.png) |
Зарегистрирован: 15.05.11 Сообщений: 1531
|
tomcat: тем, кто знает английский на базовом уровне (около тысячи наиболее употребительных слов) tomcat, да о чем Вы? Гражданам сотню употребительных слов запомнить невыносимо больно, а Вы про базовый уровень stranger: Ставили когда-нибудь Oscuro Oblivion Overhaul на ванильный Обливион вручную? tomcat: Ставить моды на Обливион было ещё то веселье ![Smile :)](./images/smilies/icon_e_smile.gif) Детали уже подзабыл, но некоторым модам требовались дополнительные программы типа Баша, плюс нужно было строго соблюдать иерархию, ставить патчи совместимости и прочее-прочее. О да, причем самое веселое то, что под Wine значительная часть этих мастхэвных утилит у меня не запускается, так что приходится ставить моды вручную. OOO для Обливиона, кстати, в декабре 2017 года выпустили в виде архива, отчего инсталляция упростилась неимоверно - вместо сотен файлов всего четыре (.esp, .esm, .bsa и .ini). Вообще решение Bethesda не портировать серию Elder Scrolls под Linux и OS X как-то непонятно. Такое отношение можно было бы ожидать от русской Акеллы - там граждане в натуре не подозревают, что кроме Винды есть другие платформы. И кстати, tomcat, спасибо за давнишний отзыв про Обливион - игра действительно очень интересная.
|
|
|
![](images/spacer.gif) |
tomcat
|
|
![Не в сети Не в сети](./styles/subsilver2/imageset/ru/icon_user_offline.gif) |
Deadly |
![Аватар пользователя](./download/file.php?avatar=126_1472982452.png) |
Зарегистрирован: 09.10.11 Сообщений: 254 Откуда: Qitroomax, Qutiri
|
stranger: Вообще решение Bethesda не портировать серию Elder Scrolls под Linux и OS X как-то непонятно.
Видимо, они решили, что нет смысла заморачиваться из-за десяти (а может, и меньше) процентов игроков, у которых не Винда. Кстати, в том числе и по этой причине выбрал для изучения такой универсальный язык, как Python, программы на котором в портировании практически не нуждаются и спокойно работают под любой системой. И даже привлекательность игровых движков типа Юнити и Анрил Энджин, написанных под сишные языки (C# и C++ соответственно), меня не останавливает, тем более, что для Python тоже кое-что есть. stranger: Такое отношение можно было бы ожидать от русской Акеллы - там граждане в натуре не подозревают, что кроме Винды есть другие платформы. В Акелле вообще весёлые люди работают, хотя локализация Pro Cycling Manager 2005 (до сих пор одна из моих любимых частей серии) мне понравилась, они даже пригласили одного из наших комментаторов для озвучки. stranger: И кстати, tomcat, спасибо за давнишний отзыв про Обливион - игра действительно очень интересная. Не за что! Мы тут на то и сидим, чтобы делиться интересным ![Smile :)](./images/smilies/icon_e_smile.gif) Я тоже много чего почерпнул из Ваших сообщений, в том числе и по Оолите.
|
|
|
![](images/spacer.gif) |
stranger
|
|
![Не в сети Не в сети](./styles/subsilver2/imageset/ru/icon_user_offline.gif) |
---Elite--- |
![Аватар пользователя](./download/file.php?avatar=110_1386400902.png) |
Зарегистрирован: 15.05.11 Сообщений: 1531
|
tomcat: Видимо, они решили, что нет смысла заморачиваться из-за десяти (а может, и меньше) процентов игроков, у которых не Винда. На декабрь 2017 среди десктопных OS доля Windows 82.75%, Mac OS X 13.25%, Linux 1.5%. То есть "не Винды" ощутимо больше 10%, но это суть дела не сильно меняет. Если считать именно по геймерам, которые выбирают OS для игры, а не для работы, то вероятно и правда свыше 90% целевой аудитории, которая приносит доход игроделам, это Винда. При таком раскладе окучивать неохваченный остаток аудитории не сильно выгодно, если более актуально бросить силы на следующий горячий проект. Но вот Ubisoft, к примеру, так не считает и легендарную серию Myst делали под обе платформы параллельно. Современные технологии позволяют упростить последующее портирование еще на стадии выбора архитектуры игры и игрового движка, дело в желании.
|
|
|
![](images/spacer.gif) |
tomcat
|
|
![Не в сети Не в сети](./styles/subsilver2/imageset/ru/icon_user_offline.gif) |
Deadly |
![Аватар пользователя](./download/file.php?avatar=126_1472982452.png) |
Зарегистрирован: 09.10.11 Сообщений: 254 Откуда: Qitroomax, Qutiri
|
stranger: Если считать именно по геймерам, которые выбирают OS для игры, а не для работы, то вероятно и правда свыше 90% целевой аудитории, которая приносит доход игроделам, это Винда. Да-да, не уточнил - это именно по геймерам, ведь до сих пор считается, что если тебе нужен компьютер для игр, ставь Винду. stranger: Современные технологии позволяют упростить последующее портирование еще на стадии выбора архитектуры игры и игрового движка, дело в желании. Безусловно основная причина - лень разработчиков. Да что говорить - они даже вменяемый ИИ часто не могут сделать, хотя вот уж с чем у профессионалов не должно быть проблем. Однако в той же Paradox Interactive по некоторым стратегиям политика очень простая: "ИИ не в приоритете, игрокам он не нужен". Подразумевается, что большинству не нужен, и получается, что интерес в разработке чисто коммерческий. Понятно, что доходность нужно учитывать, но не до такой же степени.
|
|
|
![](images/spacer.gif) |
|
|