Если вопросы остались-читаем ниже и в комментах

Сегодня (22 февраля) состоялся официальные релиз игры crysis 3 для платформы PC. Владельцы консолей получили шутер немного раньше, с чем их и поздравляем. И пока обладатели xbox и PS 3 наслаждаются новой стрелялкой, владельцы компов с сегодняшнего дня усиленно засыпают гугл и яндекс запросами «crysis 3 скачать» — почти 15 тысяч запросов согласно яндекса, и «торрент crysis 3» — 10 тысяч запросов, опять же если верить яндексу.

Как и любому другому шутеру с нешуточными системными требованиями — crysis 3 свойственно наличие кучи багов и глюков, чего не скажешь про xbox и playstation 3, там все немного лучше.
Но обо всем по порядку…

Прежде чем разобрать отдельные баги в crysis 3 И проблемы с запуском — внимательно изучите к игре.
Забегая вперед отмечу — на Windows XP Crysis 3 не запускается.

Также рекомендую прочесть небольшой гайд по самым распространенным . Если советы в статье не помогают — обращайтесь в компьютерную помощь .

Если вопросы остались-читаем ниже и в комментах.

Не нашли ответа? — спрашивайте!

1# Crysis 3 не подходит по системным требованиям, что можно сделать?

Смотря насколько не подходит — если у вас Windows XP — игра не запустится. Если ваша видеокарта не дотягивает до рекомендуемых требований, или дотягивает до минимальных, но игра все равно глючит — уменьшайте качество теней и убирайте вертикальную синхронизацию.

2#dxgi.dll не был найден

Не установлен компонент directX, или установлена неподдерживаемая версия directX. Установить правильный DX можно из интернета-задав в поиске directX web installer.

3# Для игры в crysis 3 необходима видеокарта с поддержкой DX11 / You need DX11 capable GPU to play Crysis 3

Установите DirectX 11. Посмотреть версию directX можно выполнив команду (Win+R) dxdiag.

Также необходимо убедиться, что dx11 поддерживает ваша видеокарта. Узнать эту информацию можно с сайта производителя видеокарты или просто задав соответствующий запрос в гугле. Иногда dxdiag показывает, что в системе установлен directX 11, но это означает лишь то, что он установлен в системе и не означает, что ваша видеокарта его поддерживает

4# Crysis 3 Runtime error

Установите библиотеки Microsoft vcredist C++

5# Crysis 3 тормозит, лагает

Смотрите на игру и пункт 1.

6# Crysis 3 не запускается

Если игра не стартует — проверьте установлен ли DirectX, последние драйвера на видеокарту, nvidia physx, microsoft vcredist c++. ВОзможно, необходимо обновить origin, и запустить игру от имени администратора.

Если у вас стоит Crysis 3 repack (взломанная версия) и ничего из вышеперечисленного не помогло попробуйте скачать другой репак.

7# Crysis 3 вылетает на второй миссии (выкидывает из игры сразу после 1 миссии)

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

После того как вас выкинет перед второй миссией, зайдите в игровую консоль (клавиша ~) и выполните команду: map canyon

Сранивать унифицированную платформу (где все API заточены под 1 конфигурацию и все движки тыщу раз вылизаны и оптимизированы под набор железа ФИКСИРОВАННЫЙ) и ПК бред, еще раз повторю.
То, что бокс имеет железо 8 лет давности не показатель того, что на всех картах выше GF 7x00, все должно летать из твоих размышлений.

Андроиды тоже все круче по железу чем аифоны и все лагает почему-то. Может потомучто при дефрагментации такой всем тупо влом оптимизировать? И это понятно в целом. Пытаться делать под 5 деваисов и под 100500 тыщ разные вещи.

Вот как писи унифицируют и будет 2-3 конфигурации и раз в 5 лет будут меняться, тогда понял бы твои батхерд, но не в текущем положении. Следуя твоеи логике купив комп с 8 ядрами 8 гигами и 7770, его должно хватит ровно на столько же, насколько и хватит новых консолей, но вот правда загвоздка, развитие на ПК идет быстреи, разрешения растут и окажется так, что 7770 та же даже уже сеичас не выдаст такой картинки как выдаст тотже пс4 или x1, потому что разработчикам вломы делать игру заточенную под 1 карту, тем более когда маячит фишечка впиндюрить поддержку какого-нить эффекта нового, 3D или разрешения 4k или новомодного сглаживания прожирающего мощностя. И 7770 не хватит для макс настроек для этого.

Ты судишь со стороны жмотского потребителя который хочет все и сразу и не апгредится по 10 лет.

Надо объективно размышлять, а не со стороны мне все должны. Еще раз повторюсь если бы цель была наживаться на картах, то щас везде бы вводили принудительно волосы как в ларе крофт новои или физикс неотключаемый. Так такого не происходит, и даже ссаная 7750 за 3 тыщи тянет все игры новые. Напиши еще опус, что Q6600 рулит и все процы новеи покупает лошня. По-моему у тебя просто батхерд, что твоя топ карта 7 лет давности уже не жжот напалмом, в боксе стоит хуже и тянет все и это причина обидчевости.

ГТА5 когда выидет на ПК тоже будет тормозить на железе не свежем, когда как на пс3 игра после гта4 графически стала лучше и шустреи работать. А все почему?? Потому-что железо там не меняется, оптимизировать можно все до тютельки. И сидеть подкручивать движок ради не топового железа никто не станет. Есть дефакто титан и 8 гигов и проц какой нить свежий под них и разруливается нормальная работа. Это ПК рак. Не хотите рака берите приставку.

Дальше смысла не вижу это обсуждать, эт еще не касался плюсов аппаратного рендеринга в 3д пакетах, где старым картам точно ловить нефига, из-за их кол-ва потоковых процессоров. Спасибо, что таких мало, и у нас развитие не стоит не месте, уменьшается техпроцесс/жор новых карт и железа и растет производительность, а то так и играли бы в тетрис. Спасибо нам лохам)

Я кстати и не отрицаю бизнес фактора никак, но... консоли имеют деньги с игр и с подписок и вендоры клепают железо по откатам MS и Sony с такои бизнес модели, а на пк вендорам ничего не капает, да и пиратства в разы выше, стимы всякие нвидии и амд с игр не башляют, было бы так, может вектор насыщения новые карточками и спал бы на нет. Но тогда и ПК был бы практически приставкой. И тот же стимбокс был бы актуальным. К этому мне кажется когда нить да придет. Или все уидет в облака типа Onlive, где вообще не нужна мощная карточка.

Проблема отстутсвия локализации кроется в следующем: в Crysis 2 имеется лишь один архив gamecrysis2\Localized\Russian.pak , в Crysis 3 их уже два - Localization\Russian.pak и Localization\Russian_xml.pak

Работаем по "жесткой" схеме

Качаем программу PAK Manager (Pak Manager Tool) , она нужна для распаковки шифрованных *.PAK файлов игры, с официального сайта CryTek , поставляемую в комплекте с Crysis 2 Mod SDK

Crysis 3 DX9 Project

Обновлено 22.03.2013 !
После изнурительного копания в CryEngine 2 и CryEngine 3 было установлено, что в последнем (из игры), присутствуют важные настройки.
Среди них нужно отметить - r_Driver (CE3) принимает значения: DX11, AUTO и NULL.
Цитата из crysis3.exe "Sets the renderer driver (DX11/AUTO/NULL) ". А также очень помогла строчка: Specify in system.cfg like this: r_Driver = "DX11". Specifies index of the preferred video adapter to be used for rendering (-1=off, loops until first suitable adapter is found). Выставление r_Driver="DX9" привело к исчезновению части объектов на картах и отсутвием прорисовки персонажей (видна была только голова и оружие).

Проверяем r_ShadersExport (0 off, 1 allow shader export during shader cache generation - Currently 360 only. ), то есть экспортируем обработанные эффекты в файлы (Crysis3\USER\Shaders\Cache).
И опять неудача, как было выявлено научными изысканиями, большинство команд, которые были доступны в C2, здесь либо зафиксированы, либо движок не реагирует никак на их изменение, хотя в коде часто просматриваются настройки для PS3 и Xbox 360, в частности: r_ShadersPS3 и r_ShadersXenon . Вообще говоря, сам файл crysis3.exe содержит много мусора и ненужной информации, например, можно найти вызовы и параметры компилятора, но то что нужно отыскать так и не удалось, на этой ноте изучение CryEngine 3 было остановлено. Стоит отметить что в коде C3, проскакивает выражение D3D9 , так что возможно, изначально, CE3 создавался и под DX9 также, видимо разработчики столкнулись с какой-то необъяснимой проблемой и решили не напрягатся, сварганив по быстрому "новый" движок.

Чего удалось добиться

Опытным путем было выявлено, что C3, откликается на комманду в system.cfg , sys_spec (0-6), причем значение 5 для Xbox 360, а значение 6 для PS3! (sys_spec=5). Должен заметить что в этом случае, игра начинает использовать весь ваш N-ядерный процессор без остановки, нагружая его на 99%! Видео ниже демонстрирует основную проблему, в движке CE3 нет текстур низкого разрешения, по крайней мере для персонажей. Кроме того обнаружили возможность перекомпиляции текстур. Смотрите скриншоты ниже и смотрите ролик.


В данный момент команда энтузиастов HardWare Masters работает над этим, как закончим и протестируем - выложим!

Crysis 2 MOD SDK

Для установки пакета разработчика от немцев, требуется C2 версии 1.9, если у Вас установлена пиратка и SDK не устанавливается вываливаясь с ошибкой: "requires a full installation of the game Crysis 2, updated to Patch 1.9" , то нужно сделать следующее:
- проверить ключ реестра (для 32-битных систем) HKEY_LOCAL_MACHINE\SOFTWARE\Crytek\Crysis 2 ключ строкового типа Install Dir , если такой записи нет в реестре или путь указан не верно, то создать и прописать нужный!
- для x64 систем, ключ реестра лежит по адресу: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crytek\Crysis 2 , действия аналогичны предыдушему пункту.

Полезные ссылки

DirectX 11 Hook/Hack/Patch

После массы проведенного времени в изучении движка от игры Crysis 2, на ум пришла идея эмуляции/обхода API вызовов DirectX 11. Собственно идея не новая, если вспомнить старую утилиту от немецкого автора, под названием 3D Analyze , которая позволяла эмулировать версию шейдеров и настраивать каждое приложение практически под любую видео карту, то этот метод решения является более быстрым и надежным. Мы отправили Thomas "у сообщение, но и сами уже начали работать по этому направлению. Патч/Хак/Утилита будет представлять себя либо прямой патч (.dll) либо универсальный (модифицировать память процесса).

В итоге исследований EXE-файла было решено сделать "свою" библиотеку d3d11.dll, чтобы функции в библиотеке возвращали нужные параметры без участия драйверов. Также в процессе исследования технологии DirectX был найден очень интересный ряд деталей, например то, что любую модель с эффектами DX11, можно отрендерить практически на любой видеокарте. Собственно возникло подозрение, что все "плюшки" DX10/11 и т.д., это надстройки над DX9, и поддержка соотв API, кроется только в драйверах. Ведь какая разница что отправлять на чип? В конце концов всё равно машинный код отправляется на чип, для примера, Тесселяция - по факту, добавляет ещё несколько каркасов к уже имеющейся модели. В итоге мы видим воочую весь современный маркетинг, то есть, для продажи новых чипов придумали новые фишки, которые и на более ранних моделях (8600GT / Radeon 4000 серия...) можно также воссоздать. Например если в DX9 выпуклость можно построить 9 командами, то в DX11 лишь 3мя, это просто для примера, на выходе всё равно графический чип будет нагружаться одинаково). Ещё один момент, даже если Вы сделаете модель только для 11 версии шейдеров, Вам всё равно придется устанавливать "выпуклости и освещение" руками. Именно по этому в Crysis 3 шейдеры для моделей уже лежат в самой игре). По факту все блоки стоят в драйверах и в библиотеках (спасибо MS, NV и AMD - все монополисты). Ниже видео, демонстрирует в какую сторону нужно копать, а также наглядно показывает верность моего утверждения.
Что Мы хотим сделать? Заменить библиотеки DX11, аналогами, то есть каждый вызов фунции API 11.0/11.1, будет всегда успешным;).
Немного вспомнив историю... Например как долго народ сидел на XP, и всех всё устраивало, а также провал Vista (основная фишка псевдо DX10), а потом медленный переход на Seven (вылезанная виста и псевдо-новый DX11), ещё раз доказывает верность утверждения.

Подготовка к хаку

Альтернативная библиотека DirectX 11 - концепт

После поверхностного исследования игры на предмет вызова функций DirectX, до загрузки меню, были найдены две: D3D11CreateDevice и . Открыв базу знаний микрософта (MSDN) было обнаружено, что расхождений не так уж и много, за исключением кол-ва аргументов.

Объявление функции D3D11CreateDevice

HRESULT D3D11CreateDevice(_In_ IDXGIAdapter *pAdapter, _In_ D3D_DRIVER_TYPE DriverType, _In_ HMODULE Software, _In_ UINT Flags, _In_ const D3D_FEATURE_LEVEL *pFeatureLevels, _In_ UINT FeatureLevels, _In_ UINT SDKVersion, _Out_ ID3D11Device **ppDevice, _Out_ D3D_FEATURE_LEVEL *pFeatureLevel, _Out_ ID3D11DeviceContext **ppImmediateContext);

Объявление функции D3D10CreateDevice

HRESULT D3D10CreateDevice(_In_ IDXGIAdapter *pAdapter, _In_ D3D10_DRIVER_TYPE DriverType, _In_ HMODULE Software, _In_ UINT Flags, _In_ UINT SDKVersion, _Out_ ID3D10Device **ppDevice);

Объявление функции D3D11CreateDeviceAndSwapChain

HRESULT D3D11CreateDeviceAndSwapChain(_In_ IDXGIAdapter *pAdapter, _In_ D3D_DRIVER_TYPE DriverType, _In_ HMODULE Software, _In_ UINT Flags, _In_ const D3D_FEATURE_LEVEL *pFeatureLevels, _In_ UINT FeatureLevels, _In_ UINT SDKVersion, _In_ const DXGI_SWAP_CHAIN_DESC *pSwapChainDesc, _Out_ IDXGISwapChain **ppSwapChain, _Out_ ID3D11Device **ppDevice, _Out_ D3D_FEATURE_LEVEL *pFeatureLevel, _Out_ ID3D11DeviceContext **ppImmediateContext);

Объявление функции D3D10CreateDeviceAndSwapChain

HRESULT D3D10CreateDeviceAndSwapChain(_In_ IDXGIAdapter *pAdapter, _In_ D3D10_DRIVER_TYPE DriverType, _In_ HMODULE Software, _In_ UINT Flags, _In_ UINT SDKVersion, _In_ DXGI_SWAP_CHAIN_DESC *pSwapChainDesc, _Out_ IDXGISwapChain **ppSwapChain, _Out_ ID3D10Device **ppDevice);

Этот код лежит на сайте MSDN , так что любой может проверить. В частности функция D3D11CreateDeviceAndSwapChain вызывается лишь два раза в игре до загрузки главного меню, собственно скорее всего тест на проверку фишек 11-ой версии DirectX на этом и основан, было решено подменить библиотеку d3d11.dll (поместил в папку с crysis3.exe), написав её "клон" который в первую очередь будет перехватывать все вызовы функций из игры и записывать в ЛОГ-файл, во вторых всегда можно будет вернуть нужные Нам значения!

Скриншот ниже, не показывает различий между DX9 и DX11 (Dragon Age 2), DX это просто программный API для видео драйвера, драйвер в свою очередь создает набор команд (инструкций) для графического процессора. Фишки DirectX 11 это просто дополнительные эффекты для DX9, DX10/DX11 - просто маркетинг чтобы продавать Windows Vista и другие операционки от Microsoft, а также чтобы менять видеокарту чаще из-за "новых" фишек, которые по сути ни что иное как просто программа. Если бы у Вас была документация по видео адаптеру (мы пытались её получить, но нам ответили отказом), например GeForce 6600, Вы бы могли легко сделать нужный драйвер под любой API, который умел бы создавать поток комманд для наложения тех же эффектов DX11 на простенькой 6600 или на любом другом чипе и адаптере!

Файлы

Важно : для распаковки архива, Вам нужно использовать архиватор с поддержкой формата 7z, например, 7-zip (7-zip.org) или WinRAR (rarlab.com).

Понравилась статья? Поделиться с друзьями: