Сэм отправляется в Россию, чтобы спасти её от орды Ментала.
Забавно, что Россия до вторжения инопланетян почти не отличается от России после вторжения инопланетян.
Забавно, что Россия до вторжения инопланетян почти не отличается от России после вторжения инопланетян.
Солнечная система или Денеб?
Денеб или солнечная система?
Теорема Эскобара.
Прямо скажем, выбор стартовой системы в стелларисе небогат. Можно, конечно, поразвлечься рандомом, но желаемую звезду или размер планеты можно выбивать долго, особенно сочетание оных. И ничего особенного не получишь.
Поэтому меня посетила идея создать несколько новых стартовых систем на различную тематику. Сразу оговорюсь, что навыками программирования я не владею - я просто вскрыл пару модов, нашёл файлы, отвечающие за генерацию так называемых "prescripted_species_systems", нашёл то же самое в файлах игры и принялся разбираться, что там есть, и что за что отвечает. Делается всё в документе txt, никаких дополнительных ухищрений не надо. Так же помогла одна статейка в интернете:
https://steamcommunity.com/groups/stellarismodders/discussions/1/350533172686178369/
- и всё же, многие вопросы остались нерешёнными, и я надеюсь найти их решения совместными усилиями (тем более, что я не знаю английский на достаточном уровне, чтобы сидеть на англофорумах).
Для начала я решил создать максимально простенькую систему, имитирующую старый красный карлик, поглотивший все планеты, кроме двух карликовых бедных "плутона". Вот что получилось:
1. Какие файлы понадобятся:
1.1) В папке со Стелларисом\Stellaris\common\solar_system_initializers
мы должны создать текстовый документ и назвать его, например, так: Meigui_prescripted_species_systems.txt - хотя я подозреваю, что название вообще не играет роли, главное - чтобы файл был в этой папке. Это ваша будущая система.
1.2) Там же вы найдёте много интересного, в том числе файл prescripted_species_systems.txt, где запрограммированы Солнечная система и Денеб - их можно использовать как образец. Также интересен example.txt.
А если дофига разбираетесь в скриптах, в этой папке можно перевернуть с ног на голову генерацию вообще всего в вашей Галактике.
папка с игрой\Stellaris\common\star_classes\00_star_classes.txt
если есть моды и патчи, добавляющие новые классы, то могут появиться ещё текстовые файлы, или измениться этот - разные моды делают это по-разному
1.4) Аналогично с планетами: папка с игрой\Stellaris\common\planet_classes\00_planet_classes.txt
Кстати, если в них что-нибудь переделать, можно много чего интересного получить. Ну, или испортить игру. Я лично расширил максимальных и минимальных границы размеров планет и лун. Можно сделать доступными для колонизации неколонизируемые типы миров, только плитка у них у всех будет как у континентального (см. скриншоты ниже)
1.5) В ...\common\planet_modifiers вы найдёте файлы с планетарными модификаторами, правда, мне не удалось их присвоить планете либо звезде при генерации.
1.6) ...\common\buildings - здания
и т.д., для создания стартовой системы хватит этого
2. Создание стартовой системы на примере (с косяками):
Открываем наш созданный текстовый документ, и вписываем туда код, копируя с СС или хоть с моей (она попроще), на ходу меняя по своему разумению. Самое главное, что нужно запомнить, каждый отдельный компонент системы вписывается так:
NAME_system = { -просто начало. Назовите как-нибудь - это нигде не отображается
class -класс звезды в системе, отображается на галактической карте при наведении, не определяет звезду на самом деле
asteroids_distance -параметр орбиты астероидного кольца. как расположить несколько - пока не ясно
usage = custom_empire -оставьте так, чтобы можно было присвоить стартовую систему любой вашей империи
planet = { -первая планета. ВНИМАНИЕ - звезда в стелларисе - это тоже планета, только класса звезда и с радиусом орбиты 0. Начать нужно с неё, если вы не геоцентрист. Помните: форпост можно строить только над звездой/чд/пульсаром
name = "NAME"
class = "pc_m_star" -её класс. Смотрите список в 00_star_classes.txt или 00_planet_classes.txt, или альтернативных файлах
orbit_distance -дистанция от орбиты предыдущего тела, НЕ ОТ ЦЕНТРА СИСТЕМЫ!
orbit_angle -положение на орбите, как на циферблате. Если сделать одинаковыми - планеты выстроятся в линию
size -размер планеты/звезды. Для колонизируемых определяет ещё и число клеток
has_ring = no/yes -кольца
modifier -модификаторы
init_effect = { -эффекты (СЛОЖНА)
какой-нибудь эффект
}
} -завершающая скобка. следить за фен-шуем скобок! их должно быть каждой по паре: {...}
Вот как выглядит моя система в виде текстового документа:
(кто-нибудь знает, как сделать спойлер?)
Код | Результат | |
Meigui_system = { class = "sc_m" asteroids_distance = 19 asteroids_distance = 80 asteroids_distance = 95 usage = custom_empire planet = { name = "Meigui A" class = "pc_m_star" orbit_angle = 30 size = 16 orbit_distance = 0 has_ring = no modifier = "High_Metallicity" } planet = { class = random_asteroid orbit_distance = 17 size = 3 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } planet = { class = random_asteroid orbit_distance = 1 orbit_angle = 288 size = 2 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } planet = { class = random_asteroid orbit_distance = 0 orbit_angle = 202 size = 2 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } planet = { class = random_asteroid orbit_distance = 0 orbit_angle = 130 size = 1 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } planet = { class = random_asteroid orbit_distance = 1 size = 1 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } planet = { name = "Hua-Xiwang" class = "pc_barren" orbit_distance = 18 orbit_angle = 350 size = 11 starting_planet = yes has_ring = no modifier = "low_gravity_2" modifier = "Thin_Atmospheres" modifier = "weak_magnetic_field" modifier = "mineral_poor" modifier = "mineral_poor" init_effect = { prevent_anomaly = yes } init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } init_effect = { random_tile = { limit = { has_blocker = no has_building = no num_adjacent_tiles > 2 } set_building = "building_capital_1" add_resource = { resource = energy amount = 1 replace = no } } random_tile = { limit = { has_blocker = no has_building = no } set_building = "building_hydroponics_farm_1" add_resource = { resource = food amount = 1 replace = no } } random_tile = { limit = { has_blocker = no has_building = no } set_building = "building_power_plant_4" add_resource = { resource = energy amount = 1 replace = no } } random_tile = { limit = { has_blocker = no has_building = no } set_blocker = "tech_tb_quicksand_basin" } random_tile = { limit = { has_blocker = no has_building = no } set_blocker = "tech_tb_quicksand_basin" } random_tile = { limit = { has_blocker = no has_building = no } set_blocker = "tech_tb_quicksand_basin" } random_tile = { limit = { has_blocker = no has_building = no } set_blocker = "tech_tb_quicksand_basin" } random_tile = { limit = { has_blocker = no has_building = no } set_blocker = "tech_tb_quicksand_basin" } random_tile = { limit = { has_blocker = no has_building = no } set_blocker = "tech_tb_quicksand_basin" } random_tile = { limit = { has_blocker = no has_building = no } set_blocker = "tech_tb_quicksand_basin" add_resource = { resource = physics_research amount = 1 replace = no } } } } planet = { name = "Yi" class = "pc_frozen" orbit_distance = 26 orbit_angle = 6 size = 3 has_ring = no modifier = "mineral_poor" } } planet = { class = random_asteroid orbit_distance = 14 orbit_angle = 288 size = 2 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } planet = { class = random_asteroid orbit_distance = 0 orbit_angle = 330 size = 2 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } planet = { class = random_asteroid orbit_distance = 15 orbit_angle = 24 size = 1 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } planet = { class = random_asteroid orbit_distance = 0 orbit_angle = 97 size = 3 has_ring = no init_effect = { orbital_deposit_tile = { clear_deposits = yes add_deposit = d_mineral_deposit } } } } |
<---успешно сгенерироваловалось только первое, и то была проблема, т.к. в файле example.txt есть минимальная уладённость кольца, пришлось изменить <---с этим проблем нет звезда сгенерировалась успешно, но признаки вместо "высокой металличности" получаются случайные. Возможно, я неверно задаю астероид сгенерировался успешно даёт 1 ед минералов, как регулировать количество - не ясно то же то же то же и последний астероид. Все 5 сгенерировались нормально, все дают по 1 минералу. Единственное, что астероиды размеров 1,2,3 выглядят много больше положенного, в отличии от планет и лун. Стартовая планета. С неё начинаются проблемы. Генерация мира размером ниже минимума проходит ус- пешно, даже лезть в example.txt не надо. Хоть планету с 1 клетой забабахать. Выше 25 диаметр будет расти, но не число клеток. Нельзя задать неколонизируемый тип планеты, даже если сделать его колонизируемым в planet_classes/ 00_planet_classes.txt (colonizable= с "no" на "yes"). То есть можно, но при старте игры он заменится на одну из списка доступных в меню выбора, а с интерфейсом мне пока не совладать. <--никак не удаётся установить модификаторы, хотя вроде бы запись правильная возможная критическая ошибка должна быть в коде, начиная с этой строки <--Здесь задаются стартовые здания, к сожалению, сгенерировалась только планетарная администрация 1 уровня. <--вот она <-а уже начиная отсюда не работает ничего. В теории, так задаются ресурсы клеткам. На деле не работает. <--и далее ни одно здание не построилось, ресурсы на клетках по-прежнему появляются случайно <--здесь я пытался загадить всю планету зыбучими песками (кроме клеток стартовых зданий). Безрезультатно. Дальше ничего не генерируется, в том числе не появляется вторая планета и ещё несколько астероидов. Это принципиальная вещь: если где-то ошибка, система сгенерируется только до того объекта, в котором она есть. Если ошибка будет на стадии создания солнца - в системе останется один лишь пояс астероидов, а название вашей планеты будет висеть в центре, но её самой не будет, как и всего остального. Я задолбался искать, где ошибка, и как её исправить <--вот это должна была быть вторая планета Размером 3 клетки |
3. Итак, подводим итоги:
-Можно без проблем создать систему с определённой звездой (или иным объектом), или несколькими, с определёнными неколонизируемыми планетами, и определить размер стартовой планеты от 1 до 25 в клетках, и до полного безобразия в диаметре.
-Нельзя с помощью текстового документа поселить своих тараканов на необитаемой планете, хотя это не невозможно в принципе, если как-то добавить тип планеты в меню выбора в начале игры.
-С модификаторами ничерта не выходит, но генерацию это не рушит - может, кто поймёт, как исправить?
-Если начать мудрить с ресурсами, квадратами и прочим, велик шанс напортачить и похерить генерацию системы
-Если поставить обитаемую планету со всеми наворотами в конце системы, то в принципе, плевать.
4. Скриншоты:
1 - Как видите, планета размером 11 клеток, хотя в стандарте игре минимум - 12. |
А вот она же, но уже размером 50. Клеток при этим 25. |
Вот колонизируемая не-стартовая планета класса "Холодная безжизненная", размером 7 клеток. Без всяких изменений пригодность сносная. |
А вот так вот интересно выглядят её клетки. Все без ресурсов, на одной - тот же список, что при добыче с орбиты. |
А вот солнышко размером 300 с гаком, созданное не мной, а из мода, который я распотрошил - из него же портреты расы на остальных скриншотах. Мод хороший, только мужской половине портретов нужен мешок на голову. |
5. Моды
Советую:
1) Planetary Diversity - прекрасный мод, который стоит ставить на стелларис по-умолчанию. Без него уныло. К тому же, в нём в интерфейсе выбора типа предпочитаемого мира есть три свободных места.
2) More Star Classes - один из лучших модов. Добавляет объект класса "барицентр" и заставляет генерироваться двойные/тройные/иногда четверные и пятерные системы, белые/коричневые/чёрные карлики, гиганты и сверхгиганты. Прекрасно вписывается, расширяет возможности для нашего дела.
3) Guilli’s Planet Modifiers - планетарные и звёздные модификаторы
4) Hypothetical Stars - тоже довольно интересный мод. Я как-то знатно повоевал в системе белой дыры, на которую мне всё время нападали. Поскольку БД полностью снимала щиты, я построил флот с одной только бронёй, и регулярно выносил флот мародёров, превосходящий меня числом. Только вот, если вы физико-нази, он вам противопоказан. Ибо у БД не может быть системы, а обитаемые планеты у звезды из тёмной материи - это... странно.
6. По поводу установки модов на стелларис:
Погуглите статьи на эту тему... и бросьте их в мусоропровод, так как там написана полная хрень. Не знаю, как на стимовской версии, но в обычной все файлы моды должны быть ни в какой-то папочке в "моих документах", а по канону - в соответствующих папках игры. Замена файлов, и всё прочее.
В ...\Documents\Paradox Interactive\Stellaris\mod должен остаться только управляющий файл .mod
Удачи с моддингом вашей времяпожиралки!
А за сим у меня пока всё - надеюсь, что найду единомышленников, с кем мы решим все проблемы. Я потратил сегодня большую часть дня, экспериментируя с генерацией системы и параллельно записывая эту простынь для вас и для себя. Устал, как собака. В рунете, по результатам моих изысканий, нет статей со сколько-нибудь исчерпывающей информацией по этой теме, да и поиск всё время норовит выдать что-то левое. Если же мы разберёмся со всеми ошибками, систему мечты сможет сделать себе каждый. А я своими ещё и поделюсь. Если будет отклик - продолжу выкладывать результаты своей деятельности, а там - глядишь - и на целый мод наскребу. По крайней мере, я провёл большую работу, и старался так что прошу не делать мне каку
Жду знатоков в комментариях
Для тех, кто не знаком ещё с ним, поясню, что это такое. Вот, например, бегая из казино в казино и выпивая бутылочку Сансет Саспариллы, вы иногда останавливаетесь и задумываетесь, что всё это - хорошо, пустыня, дух настоящего фоллыча, тру-отыгрыш, классчиеский анклавский пауэр армор и олдовое Братсво Стали. Но, порой, нет-нет, да и хочется то ли новых квестов с атмосферой разрушенных городов после ядерной войны в серых тонах, то ли скататься в отпуск в парк развлечений, например, в Поинт Лукат, а то и получить немного новогоднего настроения в Анкоридже. Но это было в другой игре. И в Нью Вегасе такого нема. Иногда, конечно, можно нарваться на парочку конверсий - например, Питт и Поинт Лукаут с Мазершип Зетой, переделанные под Нью Вегас, но они в определённой степени забагованы, хотя и работоспособны (Если что - лежали на Модгеймсе). Но нет, не то это всё.
Но что, если тебе хочется поиграть именно в третий Фоллаут, но с плюшками именно Вегаса? Невозможно? Ну, вроде как бы да, но...
И вот, собралась однажды компания хороших, светлых голов и запустила разработку мода A Requiem for the Capital Wasteland. Были даже работоспособные версии, хотя и с глюками, но сюжет работал. Им удалось объединить на продвинутом движке Нью Вегаса все файлы оригинальной третей части, сделав практически работоспособный, пусть и глючный, гибрид. И оно работало! Но потом пошли конфликты с правообладателями. Те заявли, что нельзя вытаскивать контент из их игр, даже для того, чтобы вставлять в другие их игры, или как-то так - и проект заглох, а на основных своих ресурсах был выпилен.
Шло время, и умные головы поднялись вновь. Они логично решили, что если, например, у тебя в Стиме лежат рядышком две папочки с фоллычами 3 и НВ, то ты ничего не из какой игры не выдираешь, и вообще являешься законопослушным пользователем лицензионных версий. Так почему же тебе нельзя играть в Вегас и в тройку? И свершилось нечто удивительное: мод не просто вышел в практически завершённом состоянии - его даже похвалили в Беседке!
Чисто технически, выглядит это так: ты ставишь обе части на комп + все ДЛС + инсталлятор с архивами мода. Самая свежая версия всегда есть на сайте проекта: https://taleoftwowastelands.com
В ходе установки вас попросят перенести часть файлов из папок тройки в папки Вегаса, но это несложно. Говорят, на торрентах уже могут лежать готовые сборки установленного TTW - качай и распаковывай, но я просто их не искал.
В конечном итоге мы получаем Вегас со всеми ДЛС + Тройку со всеми ДЛС, которые РАБОТАЮТ так, как и должны. Да, можно проходить спокойно все сюжетные ветки обеих игр. Да, в Тройке добавлены предметы и верстаки из Вегаса. Соранён хардкор, система репутации у фракций частично перенесена в локации Тройки. для путешествия между локациями даже есть какая-то железножорожная станция в Вегасе, с которой ходят поезда до Вашингтона.
Все моды на Вегас работают без проблем на это компиляцию. Более того, многие моды, которые были подготовлены на Тройку, были конвертированы фанатами, такие чаще всего идут с добавлением в название аббревиатуры TTW к названию мода. Для извращенцев, использующих Sexout сделали даже конверсию квестов тройки для этого мода при условии использования TTW.
Более того, можно найти даже рабочие билды TTW-адаптированных модов довольно большого размера, как например, Mothership Zeta Crew (Terran Spaceship Command).
В моде без дополнительных костылей встречаются, конечно, проблемы - у меня иногда косячила девочка, ползающая аки МакЛейн по вентиляции в Мазершип Зете и были глюки с Транквилити Лэйн, когда персонаж должен был стать ребёнком и снова повзрослеть (там косяк с пользовательскими расами, чинится доп.модами). И при наличии замены тел на свои, типа Type 3 или Breeze для рейдеров в тройке нужно будет найти свой ретекстур под эти тела, но этого добра полно.
Если озвучка тройки у вас русская, то и в TTW в локациях Тройки говорить будут по-русски, в то время, как в локациях Вегаса речь останется на английском. Хотя некоторые общие фразы и приветствия вне диалогов всё равно русифицируются.
Компаньоны и квесты работают, как и положено. Оружие конаертировано под использование группы боеприпасов (несколько типов патронов одного калибра, как в Вегасе вместо одного типа патронов, как в Тройке).
Параметры Брони подправлены под систему Вегаса.
Перки частично возвращены, частично разблокированы - можно получить сыворотку муравьёв, быть гематофагом, ребёнком в душе, выращивать щенков, написать книгу о выживании на Пустоши...
Более того, приверженцам идеи о том, что Курьер - это тот самый Lone Wanderer из Убежища 101, этот мод придётся по душе, ибо без проблем удаётся начать прохождение игры с рождения в 101-м, а потом перебраться в Вегас. Благо что Таймлайн вселенной Фоллаут в случае с этими двумя играми не нарушается.
Мод получился таким вот добрым, с душой, он заставил меня вернуться в Вегас после неоправдавшихся ожиданий 4-й части. Он в какой-то степени даже позволяет примирить Холивары любителей Тройки с любителями Вегаса. Мы наконец-то получаем ту Игру, которую обе стороны смогут назвать тем самым Фоллаутом 3, который должен был быть...
Отличный комментарий!