These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Информационный портал

 
  • Topic is locked indefinitely.
 

Что такое Brain in a Box и с чем его едят?

First post
Author
ISD Rontea
ISD STAR
ISD Alliance
#1 - 2015-10-22 17:24:48 UTC  |  Edited by: ISD Rontea
Возможно, вы уже встречали загадочное название «Brain in a Box». Это не самая привлекательная вещь для рядового игрока с точки зрения маркетинга. Она не произведёт такого эффекта, как введение скинов, новая система суверенитета или даже как предполагаемое введение обмена СП между игроками посредством приобретаемого у ССР предмета. Поэтому игроков, которые с нетерпением ждут окончания этого проекта и возлагают на него большие надежды, не так уж и много. Тем не менее, эта штука, Мозги в коробке, касается абсолютно каждого персонажа в игре. Более того, если вы хотите регулярно участвовать в эпических сражениях 1000 на 1000 (на самом деле, эффект будет заметен уже при наличии более сотни пилотов в одной системе), вам надо пристально следить за разработкой «BiaB» и по-возможности участвовать в тестах на «Сингьюлэрити».

[img]http://i.imgur.com/iVCNLok.png[/img]

Предпосылки

«Brain in a Box» — достаточно скрытный проект, который вот уже четыре года то появляется, то исчезает из поля зрения игроков. Несмотря на кажущуюся простоту и узкую специализацию, этот проект стал одним из основных для команды Gridlock (отвечающей за оптимизацию игрового кода) и потребовал коренной переработки кода одной из самых старых базовых систем «Евы». Идея этого проекта появилась ещё в 2011 году, но впервые игроки услышали о нем на «Фанфесте-2012». «Отцом» проекта «Brain in a Box» можно считать CCP Veritas. Этот человек сделал очень много для Евы (замедление времени, к примеру, или оптимизация ракет — и ещё много чего) , с его уходом в другую компанию Ева потеряла много хорошего.

Автор статьи, послужившей основой для этого поста, SET’S CHAOS, упоминает битву при 6VDT-H, установившую рекорд по максимальному числу участников. Эта битва по этому показателю оставила далеко позади такие известные сражения, как BR-5 и Асакай, несмотря на значительно меньшую сумму уничтоженных во время битвы исков. В этой битве замедление времени работало на полной мощности, битва обсчитывалась на самом мощном узле(ноде) кластера. Несмотря на это, создавалось такое впечатление, что есть какой-то жёсткий лимит на число игроков в системе. Слухи о наличии лимита развеял CCP Explorer, рассказавший о самопроизвольно возникшем ограничении числа игроков из-за аппаратных ограничений имеющегося в распоряжении разработчиков оборудования. CCP Veritas, в свою очередь, в виду отсутствия у ССР централизованной политики, направленной на оптимизацию производительности сервера, предложил создать «Brain in a Box». Этот проект должен стать следующим шагом в оптимизации обсчёта больших флотов в духе уже реализованного замедления времени.

Как на самом деле работают навыки в игре или просто о сложном

Сегодня, когда вы выходите в космос из дока, садитесь в корабль, прыгаете из системы в систему, умираете, оснащаете новый корабль и т. п., движок «Евы» пересчитывает каждый навык и применяет полученные результаты к вашему состоянию. Это хорошо иллюстрируется навыками на дронов. При выходе из дока, движок пересчитает навык Drones, чтобы узнать, сколько дронов вы сможете запустить; навык Advanced Drone Avionics для определения дистанции контроля дронов, то же самое и с навыками Drone Interfacing, Drone Navigation, Drone Durability, Light Drones и проч. и проч. и т. д. и т. п. Сложно? Это ещё не всё. Система не знает, что вы можете контролировать пять дронов, поскольку у вас Drones V. Нода берёт сумму накопленных СП в этом навыке и проверяет ранг навыка, чтобы рассчитать множитель. Например, если у вас в Advanced Drone Avionics влито 226275 СП, то движок уточнит ранг навыка — V и рассчитает, что он выкачан у вас в 4. Затем берётся прибавка к навыку за один уровень, множит его на 4 и получает +12000 дополнительных метров к параметру «Дистанция контроля дронов». Далее, система проверит остальные навыки по списку и применит их модификаторы к некоему объекту (вашему кораблю или, например, к дрону). Расчеты могут стать очень запутанными и сложными. Так происходит с каждым навыком, который вы изучили — каждый раз при смене сессии, установке модуля, и т. п., для каждого пилота в системе, в каждой из систем кластера. Обработать таким образом три-четыре десятка пилотов для сервера совсем несложно, однако вспомните выход из дока полностью укомплектованного флота: двести кораблей не появятся в космосе мгновенно, также как флот не пройдёт в гиперврата за считанные секунды, в Жите не так просто выйти из дока, а удачная атака ударно-диверсионных бомбардировщиков может серьёзно озадачить сервер расчётами.

Что такое «Brain in a Box»

Грубо говоря, это более простой способ, позволяющий главному движку «Евы» пересчитывать навыки. Он не виден, его эффект скрыт от игроков, но этот проект — колоссальная переделка способа обработки навыков движком «Евы». Навыки (которые, к слову, являются предметами с определенными атрибутами, хранящиеся в контейнере — голове вашего персонажа. Фактически — это и есть мозги) не будут обсчитываться на основном сервере игры, а будут перенесены на отдельный, специальный сервер (как бы коробочку). Таким образом нода, обсчитывающая звездную систему, вместо сложных и заумных пересчётов, запрашивает сервер с «мозгами», получает конечные множители и сразу их применяет в нужном месте. По словам CCP Veritas, теперь у нас «одно действие вместо сотен»

Жаль, конечно, что CCP Veritas ушёл из ССР, но дело его живёт. «BiaB» не умер и находится в активной разработке. В этом году уже проводились несколько массовых тестов на «Сингьюлэрити». Надеюсь, будут ещё тесты и систему доведут до ума. Кроме этого, на отдельный сервер может переехать вообще все расчеты, связанные с навыками: это и обучение, и очередь, имлпантаты, атрибуты и всё остальное, что потребует переписывания того самого легаси кода. Возможно, есть ещё надежда, что вместо того, чтобы помахать рукой старому коду и сделать вид, что про это можно забыть (как часто необоснованно предсказывают несознательные игроки), ССР таки перепишет его на новый, оптимизированный лад.

ISD Rontea

ISD STAR Executive

Волонтёр группы по взаимодействию с игроками

Interstellar Services Department

ISD Rontea
ISD STAR
ISD Alliance
#2 - 2015-10-22 17:25:18 UTC
Что дальше?

Несмотря на оптимизм и уже состоявшиеся массовые тесты, «Brain in a Box» далёк от завершения. CCP Habakuk говорил о впечатляющем списке ошибок, созданных новой системой, которые надо исправить перед окончательным выпуском проекта, не говоря уже об улучшении нагрузки на сервер. Релиз проекта скорее всего состоится уже в следующем году. Кроме того, проект не считается волшебной палочкой, удаляющей лаги. К примеру, предварительные тесты показали повышение производительности при выходе из дока и смене сессии, однако ракеты наоборот, производительность сильно ухудшили.

Но главное в этом всём то, что ССР работает над одной из самых старых базовых систем в игре, которая делает «Еву» «Евой». Переписывание легаси кода — не самая наглядная вещь, однако это абсолютно точно сделает «Еву» более привлекательной. Есть мнение, что битвы, подобные 6VDT, B-R5RB и Асакаю, в эпоху нового суверенитета будут очень и очень редкими. Однако, если вдруг что-то похожее случится, сервер и клиент «Евы» смогут обработать невиданное доселе число участников. Так что теоретически, это одно из самых важных дел, определяющих будущее Eve Online.

Для тех, кто пропустил презентацию на «Фанфесте-2015», вот ссылка на презентацию новой Догмы и более точного рассказа о BiaB (на английском языке).

Оригинал статьи на английском, перевод на русском.

ISD Rontea

ISD STAR Executive

Волонтёр группы по взаимодействию с игроками

Interstellar Services Department

DivineHero
University of Caille
Gallente Federation
#3 - 2015-10-26 10:41:58 UTC
Эх, ну хоть кто-то знал о подпрограммах.

Окей,дело вот в чём.Один из вас,все вы или,может,никто из вас не,точно знает,что тут происходит.

Nikki Issier
Property of Blummi
#4 - 2015-12-23 18:55:28 UTC
Хорошая статья,было познавательно :)