Необходимо сделать реверс игры Uncharted
Внимание: делайте все по дорожной карте
Ссылка на бинарник: https://disk.yandex.ru/d/2YnJXa_OWrEe7g
Торрент файл прилагается. Вдруг придется докачивать
Что нужно сделать:
- реверс исходников
- Вычищение проприетарных компонентов и замена на Open Source. Должно не отличаться от оригинала
- портирование на линукс
- портирование на платформу Эльбрус (линукс версию)
- портирование на андроид
- Физические симуляции с высокой точностью самописно:
- Симуляция жидкости, океана, дыма и тумана
- Добавление симуляции одежды
- Симуляция огня
- Добавление симуляции волос
- Распараллеливание на 4 - 8 ядер
- SVOGI добавить с BVH. Отражения, тени, затенение, GI сделайте очень точными с высоким разрешением.
- Тесселяция + PBR
- Volumetric Clouds (Объемные облака) + освещение от них
- Поддержка EAX (в полном объеме)
- Поддержка RTX Voice
- RTX SKIN
- Mesh Шейдеры
- FSR 3 добавить + генерация кадров так, чтобы настройку в самой игре не было, но работало на уровне кода. Качественная реализация
- Заменить поведение ИИ (в обоих случаях):
минимум: GOAP на максималках
максимум: система жизни A-Life
Никаких скриптов
Поместить настройку ИИ в "настройки графики"
Каждая ситуация должна быть уникальной
- Применять стандарт С++ 2017
- Подробный отчет
Как получить удаленный доступ к Эльбрус платформе. Можно как под виндой, так и под линукс.
Также я предоставил документы о эффективном программировании на процессорах серии Эльбрус.
Попробуйте собрать линукс версии исходников.
1) Эльбрус 8СВ. Архитектура Эльбрус 5 поколения. Актуальный на сегодня процессор.
50 исполняемых инструкций за такт при частоте 1550 МГц
Особенности ядер elbrus-v5:
64 битная VLIW архитектура elbrus-v5
128 (+ 8 бит на тег) разрядные регистры (были 80 бит + 4 бита на тег) и SIMD расширения
256 регистров (поддержка регистровых окон), 32 регистра из 256 — глобальные
Предикатный файл на 64 бита (32 2 битовых флажков)
6 АЛУ блоков (с разными возможностями):
4 могут в Load
2 могут в Store
6 целых/сдвиговых АЛУ
6 вещественных АЛУ
4 сравнивающих блоков
4 целочисленных умножений
6 вещественных умножений
4 целочисленных векторных блоков
2 вещественных векторных блоков
1 деление и квадратный корень
Блок предпоткачки массивов
Блок аппаратной поддержки циклов (можно зациклить одну Широкую Команду без прыжков)
Явный спекулятивный режим
Кеши
128 КБ L1 кэш команд (4 канальный, ассоциативный, размер линии 256 байт)
64 КБ L1 кэш данных (4 канальный, ассоциативный, размер линии 32 байта)
L2: 512 Кбайт в каждом ядре, 4 Мбайт суммарно (Размер линии: 64 байт, Ассоциативность: 4)
L3: 16 Мбайт в процессоре (Размер линии: 64 байт, Ассоциативность: 16)
Нет предсказателя ветвлений (будет в поколении 7)
Нет переупорядочивания инструкций (Ложится на плечи компилятора)
Методические указания по SVOGI, правда на английском: https://disk.yandex.ru/d/zPjF6Cxy9BVk7g
Ссылка на еще несколько PDF файлов: https://disk.yandex.ru/d/MfRPhGHUwheOkQ
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |