Привет, капсулиры!

CCP Mankiller (не судимый) здесь для того, чтобы рассказать вам немного о том, как мы сохраняем данные для наших космических корабликов. Сейчас, под «данными» я подразумеваю визуальное представление, ни какого геймплея, количества хайслотов, дронбея и т.п. Я говорю именно о вещах, которые вы можете увидеть в космосе: материалы, свет и разного рода декали.

Я знаю-знаю! Большинство вас больше беспокоится о скорости Домика и об арморе, чем о цвете или маленьком галлентском значке сзади на движках. Графика хорошая, бесспорно, но Ева — это игра о табличках в космосе, поэтому я постараюсь объяснить покороче! ;-)

Как это было ранее — red-файлы

В Еве множество кораблей. Многие из них отличаются от других (например, Морос и Инкурсус), другие не очень (Скорп и Раттл). Без разницы сколько было отличий между двумя кораблями, мы использовали для каждого корабля один уникальный файл, так же известный как red-файл:

  • Moros: model/ship/gallente/dreadnought/GDn1/GDn1_T1.red
  • Incursus: model/ship/gallente/Frigate/GF4/GF4_T1.red
  • Scorpion: model/ship/caldari/BattleShip/CB2/CB2_T1.red
  • Rattlesnake: model/ship/caldari/BattleShip/CB2/Guristas/CB2_T1_Guristas.red

Проблема в том, содержимое файлов CB2_T1.red и CB2_T1_Guristas.red было практически идентичное! Хотя если вы сравните GDn1_T1.red и GF4_T1.red вы найдете некоторые общие черты: декали, т.к. оба корабля галлентские.

Поддержание такого рода избыточных данных - плохая практика и приводит к противоречиям между нашими кораблями. Плюс это кошмар для работы с ними. Если мы захотим изменить оттенок свечения Sarum-кораблей, к примеру, мы должны открыть, изменить, сохранить и обработать каждый red-файл для каждого Sarum корабля.

На вершине всего этого: как должна работать кастомизация кораблей с этими red-файлами? Ответ простой: она и не будет! И мы знаем, после прошлых Фанфестов и триальных блюпринтов разного рода корабликов (всякие сарум магнате и прочее, — прим. пер.) как наши пилоты хотят кастомизацию кораблей. Будь прокляты эти таблицы, — говорим мы! И таким образом, мы решили, что пора что-то изменить...

The Space Object Factory (далее просто SOF)

SOF — это одиночный программный модуль, хранящий все данные корабля и изготавливающий любой и каждый корабль, идентифицируемый минимальным набором строк. К примеру, SOF описывает все вышеупомянутые корабли следующим образом:

  • Moros: gdn1_t1:gallentebase:gallente
  • Incursus: gf4_t1:gallentebase:gallente
  • Scorpion: cb2_t1:caldaribase:caldari
  • Rattlesnake: cb2_t1:guristas:caldari

Каждый стандартный корабль в Еве мы можем свести к его хуллу (gdn1_t1, gf4_t1 и т.д.), фракции (gallentebase, caldaribase) и расы (gallente, caldari). Каждое имя указывает на уникальный набор данных для хулла, фракции и расы, и на выходе получается корабль, который подгружается в клиент.

В теории, возможна любая комбинация и поддерживается SOF, но какой смысл будет иметь хулл Мороса, с гуристовским материалом и саньша декалями? Это риторический вопрос. Пожалуйста не спрашивайте Sanistoros. Серьезно.

Что это меняет для игроков?

Визуально? Сейчас ничего. Корабли генерируются SOF и визуально ничем не отличаются от тех, что были ранее из red-файлов, редактировавшихся в ручную. Загрузка данных, тем не менее, стала быстрее, за счет более эффективного хранения данных. Из-за этого корабли должны быстрее прорисовываться в космосе при запросе.

Тем не менее, мы воспользовались возможностью переделать red-файлы, которые на протяжение многих лет, постоянно изменялись от ручного редактирования фракций и рас. Мы, наконец-то, переделали Gallente CreoDron корабли, как пример. Сейчас они стали с зеленоватым оттенком, который был во времена более молодого NewEden.

Что это меняет для разработчиков?

В будущем? Дохрена. Если ваша работа упирается в изменение кучи файлов — это проблема. Мы пока будем использовать эти файлы, но следующий шаг будет тотальное избавление от них. Мы можем переделать свои инструменты, чтобы они использовали одну SOF-базу:

  • dx9/model/SpaceObjectFactory/data.red

Надеюсь, это поможет объяснить фундаментальное (надеемся, невидимое для вас) изменение хранения данных о кораблях, которое прямиком направляет нас на кастомизацию кораблей в будущем. И, как всегда, я приглашаю вас задавать вопросы и к обсуждению в следующем топике.

Перевод © Jack Hareka

[#] 26.09.2014 @ 03:47 by SlavaFatal
+ -5 -
И чО !??! ответить
- [#] 26.09.2014 @ 03:59 by .up
+ 5 -
Розовый дрейк стал еще ближе к реальности ответить
[#] 26.09.2014 @ 08:15 by rg45
+ -5 -
вот за что всегда любил еву так за то что не было этого разноцветого петрого ГОВНА ! и на тебе ну за чтооооо !
скокро будут пони и девочки из анимэ ( ответить
[#] 26.09.2014 @ 08:18 by Doberman
+ -1 -
Ну что сказать смысла в этом нет так как физики в игре НЕТ, Старения кораблей нет индивидуальности нет с взаимодействия с объектами нет в космосе. Сквозь текстуры стреляем. Ну да Это табличная Игра ну все же охота ощутить чуть чуть реальности. ответить
[#] 26.09.2014 @ 08:20 by Doberman
+ -1 -
(кастомизацию кораблей в будущем) Это в понимание разрабодчиков EVE просто покрасить шип за ауры )))
И индивидуальности это не придаст. ответить

Написать комментарий
 
EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. CCP hf. has granted permission to EVE-RU to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, EVE-RU. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.