Настройка и оптимизация Bioshock
Игра Bioshock, созданная на движке Unreal Engine 3.0, имеет множество параметров графики, звука и др., которых нет на странице настроек графики в меню игры. Чтобы получить доступ к этим настройкам, нужно найти 2 файла — Bioshock.ini и User.ini, которые находятся по адресу: Documents and Settings [Имя пользователя] Application Data Bioshock в Windows XP или Users [ Имя пользователя] AppData Roaming Bioshock в Windows Vista. Чтобы найти эти файлы, нужно включить режим отображения скрытых папок. Рекомендую сделать их резервные копии перед изменением.
В папке с игрой есть файлы Default.ini и DefUser.ini, которые содержат настройки, выставляемые игрой по-умолчанию. Не рекомендую трогать эти файлы.
Многие параметры в конфиг-файлах не будут работать в игре – они предназначены для BioShock’а на других платформах, либо просто «достались в наследство» от движка Unreal Engine 3.0 и в данной игре не используются. Здесь будут рассмотрены самые важные команды, которые недоступны через меню.
Bioshock.ini
Здесь хранятся все настройки графики и звука.
[Engine.GameEngine]
CacheSizeMegs=32 — Эта величина определяет кол-во памяти, отводимой для кэширования игровых данных. Если у вас игра идёт с небольшими рывками, и при этом объём вашей ОЗУ немаленький, увеличьте этот параметр до 64 или128.
[WinDrv.WindowsClient]
WindowedViewportX=1024 WindowedViewportY=768 — Эти параметры определяют разрешение экрана при игре в оконном режиме.
FullscreenViewportX=1280 FullscreenViewportY=1024 — С помощью этих настроек можно указать нужное вам разрешение при полноэкранном режиме, если такого нет в меню.
MouseYMultiplier=0.000000 MouseXMultiplier=0.000000 — Это настройка скорости перемещения курсора по осям У и Х соответственно.
[FMODAudio.FMODAudioSubsystem]
MaxChannels=128 — Эта опция регулирует максимальное количество аудио-каналов. Уменьшением значения этой опции можно добиться увеличения производительности, особенно если у вас встроенная звуковая карта.
MaxStreams=8 — BioShock использует одновременно несколько звуковых потоков («потоковая аудио система»). Эта опция указывает число одновременно используемых потоков. Её изменение не влияет на качество или производительность, однако, если у вас наблюдаются глюки со звуком, можно попробовать значение 4.
StreamBufferSize=256 — Эта опция определяет размер буфера (в КБ) для каждого аудио потока. Если у вас мало памяти (1 ГБ и меньше), и при этом наблюдаются задержки звука, можно уменьшить это значение до 128.
[D3DDrv.D3DRenderDevice]
UsePrecaching=True — Возможные значения здесь и далее – True (вкл.) или False (выкл.). Если установлено в True (по-умолчанию) то будет происходить предварительное кэширование данных. Это помогает уменьшать время подгрузки, однако увеличивается загрузка уровня в целом. Если у вас мало памяти, можете попробовать отключить предварительное кэширование.
UseTrilinear=True — Возможные значения – True или False. Использование трилинейной фильтрации. Если у вас очень слабая видюха, можете отключить этот параметр, чтобы получить прирост FPS в обмен на ухудшение графики.
ReduceMouseLag=True — Эта опция предназначена для того, чтобы уменьшать задержку мыши, но к несчастью это может уменьшить и FPS. Я рекомендую устанавливать эту опцию в False (вместе со следующей).
DoubleBufferMouseLag=True — Ещё одна опция для уменьшения задержки мыши, вероятно, при использовании вертикальной синхронизации. Рекомендую отключить эту опцию.
DesiredRefreshRate=60 — Эта опция определяет частоту обновления монитора при включенной вертикальной синхронизации. Устанавливайте здесь максимально возможное для вашего монитора значение. Эта опция не работает при выключенной VSync.
LevelOfAnisotropy=4 — Эта установка регулирует уровень анизотропной фильтрации. Минимальная величина — 1, которая выключает AF полностью. Величина 2 обеспечивает 2x AF, 4 — 4x AF и так далее.
OverrideDesktopRefreshRate=False — Если поставить True, то можно будет в игре установить частоту обновления монитора больше, чем на рабочем столе.
AvoidHitches=False — «Hitches» — это небольшие паузы, во время которых будет происходить подгрузка данных. Если у вас игра идёт плавно, оставьте значение False, но если у вас слишком мало памяти, попробуйте поставить True.
Use8bitBackBuffer=False — При включении этой опции будет использоваться 8-битный буфер для передачи графических данных. Это поднимет FPS, но качество графики снизится – станет более заметна цветовая градация, исчезнут некоторые эффекты. Используйте эту опцию на слабых видюхах.
[D3DDrv10.D3DRenderDevice10] — Опции из этой секции работают только в Windows Vista при наличии DirectX 10-видеокарты
UseHighDetailShadowMaps=True — Эта настройка – включение высококачественных теней, при использовании режима DX10 используется по-умолчанию. Вы можете выключить эту опцию для прибавки FPS.
[Havok]
HavokNumThreads=2 — В BioShock используется физический движок Havok, который хорошо оптимизирован под многопоточность. Эта опция как раз указывает число потоков (читай – ядер процессора) для обработки физики. Если у вас четырёхъядерный проц, поставьте здесь число 4, на одноядерном проце, соответственно, 1.
[Engine.RenderConfig]
UseRippleSystem=True — При задействии режима DX10, эта опция регулирует дополнительные физические эффекты на воде. Вы можете выключить это, устанавливая значение False для улучшения FPS на картах с водой.
UseHighDetailSoftParticles=True — Этот параметр регулирует одну из дополнительных опций DX10 — мягкие частицы. Вы можете выключить это, устанавливая значение False для улучшения FPS там, где мягкие частицы используются – а это, например, огонь.
UseMultithreading=True — Если у вас многоядерная система (Pentium 4 c HyperThreading не в счёт ), то эта опция должна быть включена. В противном случае – отключена.
Если вам надоело каждый раз смотреть логотипы разработчиков-с-издателями, в свойствах запускающего игру ярлыка допишите -nointro. Например, так:
«C:Program Files2K GamesBioShockBuildsReleaseBioshock.exe» -nointro
Источник.
Сложности при создании сложных материалов
При создании текстур самая большая проблема для меня — достичь нужной финишной обработки (в случае Bioshock, например, это смешение «реалистичного и стилизованного»), и сделать так, чтобы текстуры сочетались с остальными текстурами среды.
Нужно понимать, что видимое вами — не отдельная текстура, а один из элементов окружения, который должен давать ощущение целостности всего уровня. При работе на фрилансе этого сложнее достичь, потому что вы не в курсе того, чем занята остальная часть команды. Но когда вы вовлечены в команду, такая интеграция проходит намного проще. Так было со мной при работе над серией Castlevania. Отдельная команда, рисующая текстуры — это огромное преимущество. Она позволяет работать так, как будто вы все вместе — один мозг. Если дополнить работу чётким художественным видением, все текстуры в результате будут выглядеть созданными одним человеком. Такой рабочий процесс обеспечивает бóльшую убедительность окружения и целостность художественного стиля.
Не забывайте, что я говорю о глянцевых/отражающих (gloss/specular) материалах текстур. В случае PBR интеграция теперь должна быть проще, потому что материал следует своим настройкам (отражение света материалом, процент шероховатости и т.д.). Он реагирует на освещение «физическим» образом, поэтому его легче вписать в любую среду и он ведёт себя правильно (если всё сделано согласно требуемым параметрам).
С точки зрения эффективности материала важно начать с наиболее простых форм и закончить самыми сложными. Например, в случае текстуры каменных блоков надо начать с блоков, а закончить добавлением мха и плесени. Всегда идите от общего к частному. Думаю, этот совет применим вне зависимости от способа создания текстур (Photoshop, Quixel, Substance и т.д.). Проанализируйте, что нужно сделать грубо (большая кирпичная стена), а потом переходите к отдельным и характерным деталям (потёртости, разломы, мох, пятна и т.д.). Если вы хотите смешать текстуру с другой или в той же текстуре с другим элементом (например, в случае Bioshock, с полосой декоративного металла), надо учитывать, что элемент является частью самой стены, он старел вместе с ней и подвергался тем же погодным условиям: дождю, влажности, пыли и т.д. Поэтому чтобы текстура была естественной и целостной, нужно понимать это и воспринимать их не по отдельности, а как одно целое.
Игровой процесс
Внешность Элизабет в BioShock Infinite: Burial at Sea во многом основана на образе актрисы Вероники Лейк.[1]
Как и оригинальный BioShock Infinite
«Морская могила» является шутером от первого лица с элементами RPG. Дополнение включает в себя новое оружие, новые плазмиды (заменив Энергетики) и одежду. Первая половина Episode One фокусируется в основном на исследовании города Восторг и его истории, в то время, как вторая половина сосредоточена на боевой механике, близкой к первой игре
BioShock
и к
BioShock Infinite
, с ограниченными ресурсами и менее людными боями. Игрок может передвигаться по Восторгу как пешком, так и верхом на пневмо-линии (аналог аэротрассы из Колумбии). Элизабет всё так же помогает герою во время боя, бросая ему боеприпасы и аптечки, а также создает разрывы, в которых игрок может найти оружие и помощь, в виде механических «Патриотов» или воинов-самураев.
Второй эпизод дополнения также является шутером от первого лица, близким по механике к BioShock Infinite, однако с элементами стелса — игра ведется от лица самой Элизабет, которая уже не так крепко выдерживает удары и выстрелы, поэтому есть необходимость прятаться за разными объектами, чтобы потом оглушать врагов. В ресурсах и боеприпасах игрок ограничен ещё сильнее, разрывы создавать уже не получится, что заставит игрока прибегнуть к некоторым хитростям. К таковым относится применение специального плазмида, который позволит видеть врагов через стены, а также на время сделает игрока невидимым.