ИСТРЕБИТЕЛИ БАГОВ: ТОПЛИВОПРОВОД МЕЧТЫ

Пока Марк Эйбент отсутствует (по-видимому, выполняет какое-то секретное задание), Макс Хун смело вступает в битву с багом, который генерирует бесплатное топливо прямо во время полета. Истребит ли он его к досаде экономных пилотов? Смотрите и узнаете.

Привет, меня зовут Макс Хан. Марка сегодня нет, поэтому вести «Истребителей багов» буду я. Давайте начинать.

Сегодня мы разберемся с небольшим забавным багом, который позволяет вам генерировать топливо за счет теплового излучения и энергопотребления. Это значит, что мы наконец-то преодолели энтропию! Однако команда не хочет этого, так что придется избавляться от бага.

Когда дизайнеры балансировали систему каналов/трубопроводов, они также настраивали генерацию топлива для заборников и потребление топлива для баков и полетного контроллера. В процессе они заметили, что если выключить все системы и просто неподвижно зависнуть, корабль будет генерировать топливо. Потребовалось покопаться в коде какое-то время, чтобы установить причину. Вот здесь показаны компоненты, которые используются для управления системой каналов. Эта система, в свою очередь, определяет механизм распределения тепла и питания по кораблю. Нам удалось выяснить, что в одной небольшой части кода мы определяем, какой канал следует включить, а какой отключить, и где они будут соединяться. Изначально они все были соединены воедино, а это значит, что когда какой-то канал активировался, он тут же подсоединялся к остальным, и вы могли видеть то, что я сейчас продемонстрирую.

На тестовом уровне создадим особый Gladius, у которого нет топливозаборников. Если мы израсходуем немного топлива и переведем корабль в режим бездействия, вы увидите, как в правом верхнем углу экрана числа начинают медленно расти: по одной единице каждые пару секунд. Этот особый Gladius без заборников не должен генерировать топливо вообще, но его запас все же медленно пополняется.

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

Если мы теперь объединим все, внесем изменения в компонент сущности и перекомпилируем код, то тепло будет передаваться только по тепловым каналам, энергия – по с электрическим, а топливо – по топливопроводам. Теперь присоединенные к этим каналам компоненты не будут повсеместно генерировать какие-то произвольные значения и нарушать законы физики.

После компиляции снова запустим тестовый уровень и загрузим Gladius. Помним, что он особенный – у него нет топливозаборников. Включим каналы и полетаем по уровню. Теперь мы можем заметить, как показатель уровня топлива уверенно идет вниз. Даже если зависнуть в бездействии, корабль продолжит сжигать топливо. Что же касается энергии и тепла, то они больше не влияют на топливозаборники.

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

Марк может быть вернется в следующий раз, а может и нет. Увидим. С вами был Макс Хан, спасибо что присоединились к «Истребителям багов».

Истоснтк: https://star-citizen.ru

logo

ПОХОЖИЕ СТАТЬИ

ОТКРЫТОЕ ПРОТИВОБОРСТВО: «ИСТОРИЧЕСКАЯ ОБСТАНОВКА»

ОТКРЫТОЕ ПРОТИВОБОРСТВО: «ИСТОРИЧЕСКАЯ ОБСТАНОВКА»

Автоматическая стенограмма передачи S&P и NFSC ЭП:61:12: «Историческая обстановка» ЭРИЯ КВИНТ: Добро пожаловать на «Открытое противоборство» – программу, где мы рассматриваем наиболее важные проблемы Империи под разными углами. Я Эрия Квинт. Сегодняшняя тема перенесет нас на Джату...

Star Citizen: бесплатная неделя, первая обитаемая планета и почти $200 млн пожертвований

Star Citizen: бесплатная неделя, первая обитаемая планета и почти $200 млн пожертвований

Студия Cloud Imperium Games в очередной раз сделает свой космический симулятор Star Citizen временно бесплатным. Акция Free Fly, которая пройдёт с 23 по 30 ноября, приурочена к запуску первой обитаемой планеты — Хёрстона (Hurston).   Все пользователи смогут бесплатно скачать пока...

Предварительный обзор Aegis Eclipse

Предварительный обзор Aegis Eclipse

https://www.youtube.com/watch?v=Pp6D6djAJBc