Окей.
Нами декларируется открытость и причастность игроков к развитию сервера. Недавние перестановки в педальном составе позволяют нам обеспечить это.
Люди, часто задающие вопросы и общающиеся с педалями уже знают детали, но нужно еще раз указать все тут.
Предполагаемый формат освещения событий будет такой -
"Отчет об изменениях за последние дни" выходящий раз в три-четыре дня. Скорее всего это будут среда-четверг и воскресенье, согласно распределению свободного времени.
Тут же можно будет узнать обо всех нововведениях, коротких планах, изменениях и прочем. В частности, поговорить о "нужности" тех или иных изменений.
Небольшая остановка перед началом, так как я сейчас несколько отстранился от педальной деятельности, то как игрок, воспользуюсь следующей наглой вещью. Мои отношения с Ящером - не секрет, поэтому, попрошу его лично и людей сочувствующих не появляться тут.
Да, они игроки. Да, имеют право участвовать в развитии. Но, я бы настаивал на использовании других путей реализации этого права, вроде баг репортов, иссуев на гитхабе и прочего. Здесь им не рады.
Что же. Так как это первое сообщение подобного толка, то, осветим мы не только последние дни, но и, в первую очередь, долгосрочные планы из ОП и процесс их исполнения.
С чего и начнем.
Ключевыми точками изменений были РнД, органы, генетика.
В деталях.
РнД.- Разобрать код технологий по разным файлам.Что это дает?
Вместо "Твою, мать, Джонни, чертов файл на две тысячи строк, как с ним работать"?
Мы имеем
ряд файлов, где техника логично разбита на группы..
Это понадобится нам позже, при введении "категорий".
- Переписать код обновления исследований в фабрикаторе и построение списков технологий.- Ввести выбор "категорий" в консоли РнД.Технологии РнД разбиты на категории.Упрощение обнолвение категорий РнД.Эти пункты идут вместе.
Собственно, что мы тут имеем. Согласно распределению по файлам, мы разбили технологии РнД на категории.
Вот пример того, как это выглядит:
Спойлер


В описании сейчас опущен момент с фабрикаторами. На этом надо отдельно заострить внимание.
Изменения описанные выше, во многом были направлены на обновление кода создания техники в фабрикаторах.
До этого, создание предметов в фабрикаторе было как минимум хардкодным и совсем не гибким. Поэтому, в частности, детали для Фазона доступны со старта игры, хотя, планировалось открытие их при достижении определенного уровня технологии.
Пример того, как это выглядело в коде:
Спойлер

Списки типов объектов, которые при старте игры создавались внутри фабрикатора и при печати копировались.
Люди понимающее в коде, особо оценят эти строки:
Цитата
<...>
if(part.vars.Find("construction_time") && part.vars.Find("construction_cost"))
for(var/c in part:construction_cost)
<...>
Текущий код "унифицирован". Для построения списка технологий используется общий с техникой РнД код.
Категории в фабрикаторах это те же категории, что мы видели в примерах техники РнД, время создания и требуемые ресурсы так же общие.
Спойлер

- Описать платы для техники которую сейчас нельзя разобрать.Тут первым делом надо посмотреть на сам принцип описания техники и сборки/разборки.
Возьмем для примера код того же, фабрикатора мехов.
Описание сборки разборки техники на Блу:
Спойлер
1) Описание платы:
Цитата
/obj/item/weapon/circuitboard/mechfab
name = "Circuit board (Exosuit Fabricator)"
build_path = /obj/machinery/mecha_part_fabricator
board_type = "machine"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 2,
/obj/item/weapon/stock_parts/manipulator = 1,
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/weapon/stock_parts/console_screen = 1)
2) Указание платы в коде техники
Цитата
/obj/machinery/mecha_part_fabricator
circuit = /obj/item/weapon/circuitboard/mechfab
3) Готово. Вы прекрасны!
Лаконично.
Оригинальное описание сборки разборки техники используемое дажа на последних версиях бея:
Спойлер
1) Идентичное описание платы, оно используется при сборке в игре:
Цитата
/obj/item/weapon/circuitboard/mechfab
name = "Circuit board (Exosuit Fabricator)"
build_path = /obj/machinery/mecha_part_fabricator
board_type = "machine"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 2,
/obj/item/weapon/stock_parts/manipulator = 1,
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/weapon/stock_parts/console_screen = 1)
2) Описание в технике, оно используется при разборке:
Цитата
/obj/machinery/mecha_part_fabricator/New()
..()
component_parts = list()
component_parts += new /obj/item/weapon/circuitboard/mechfab(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/manipulator(src)
component_parts += new /obj/item/weapon/stock_parts/micro_laser(src)
component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
<...>
3) Готово. Нужно указать все детали и в верном числе, отдельно добавить к деталям плату.
Если наборы деталей различаются, то сборка и разборка будет требовать/давать разные элементы.
Даже в собранной игроком технике. Важно не забыть обнулить список деталей. Иначе наследование подкинет сюрпризы.
К неприятной части. Описанием плат покрыта далеко не вся техника.
Как видите, описать разборку у нас очень легко, но полномасштабный процесс является несколько "муторным".
Что тут сказать. Введение данных для разборки всей техники потребует одного дня. Надо его только выделить.
Однако, перед этим, хочется поднять
вопрос о используемых деталях, возможно расширить их число и после этого провести глобальное обновление разборки.
Список деталей - вопрос обсуждаемый сейчас. Очень хочется увидеть ваши предложения в этом направлении!
Дополнительно.
Новый код техники не хранит детали внутри машинерии. Вероятность такого бага, как "выпадение деталей из техники" исключена.
При этом, заметно упрощается код разборки предметов. В частности, ситуация, когда моб внутри сканера удаляется из-за разборки становится практически невозможной, потому, что удалять предметы лежащие внутри техники больше не нужно, можно выбрасывать все содержимое, при выходе моба из техники, что так же уменьшает вероятность "пропажи" предметов внутри сканеров, слипперов и прочего.
Кроме того, были несколько расширены списки "схем" предметов доступных для печати в РнД. В основном это касается органов, о чем будет сказано позже.
Однако, расширение списков предметов доступных для печати все же оживляет РнД и снова дает повод для различных профессий заглядывать к ним.
- Нераскрытые пунктыОчереди.
Очереди сейчас находятся в работе, код технологий полностью подготовлен к этому.
Это все, что касается непосредственно РнД/техники.
Продолжение в следующих сообщениях.