← Все гайды AI Release
EN Подписаться на @ai_release1

Как запустить The Last of Us Remastered нативно на Windows: установка PC-порта без эмулятора

Обновлено: 07.11.2026 · AI Release · @ai_release1
Как запустить The Last of Us Remastered нативно на Windows: установка PC-порта без эмулятора

TL;DR

Термины: нативный порт — обычная программа под Windows (.exe), которая запускает игру напрямую, без прослойки-эмулятора. Сборка из исходников — вы компилируете .exe сами из кода проекта. Игровые данные (assets) — файлы моделей, текстур и звука; они не входят в репозиторий порта, их нужно взять из вашей копии игры.

Требования и подготовка

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»

Похожий разбор установки нативного порта (без эмулятора, с проверкой контрольных сумм и путей) есть в гайде про The Legend of Zelda: Breath of the Wild нативно на Windows — логика шагов там та же, что ниже.

Шаг 1. Проверка окружения и подготовка инструментов

Что сделать: установить три инструмента (Git, CMake, Visual Studio 2022), затем проверить, что каждый виден из терминала. Терминал запускайте заново после каждой установки — иначе PowerShell не увидит новые записи в PATH.

Зачем: 80% провалов сборки — это отсутствующий компилятор или старый CMake, а не баг порта. Дешевле проверить это сейчас, чем читать лог ошибки на 2000 строк.

Как проверить: откройте PowerShell и выполните:

git --version
cmake --version

Ожидаемый вывод — две строки с номерами версий, например:

git version 2.x
cmake version 3.x

Точные цифры зависят от установленных сборок; важно, чтобы обе команды отработали без ошибки. Если PowerShell отвечает:

git : Имя "git" не распознано как имя командлета, функции, исполняемого файла или сценария.

— перезапустите терминал, а если не помогло, переустановите Git с опцией «Git from the command line and also from 3rd-party software».

Отдельно проверьте компилятор: найдите в меню «Пуск» ярлык x64 Native Tools Command Prompt for VS 2022 (не обычный cmd) и в нём выполните:

cl

Успех — строка вида Microsoft (R) C/C++ Optimizing Compiler Version ... и подсказка по использованию. Если ярлыка нет, значит при установке Visual Studio не выбран workload C++ — запустите Visual Studio Installer и добавьте его.

Проверьте место на диске:

Get-PSDrive C | Select-Object @{n='FreeGB';e={[math]::Round($_.Free/1GB,1)}}

Вывод: таблица со значением FreeGB. Меньше 30 — освободите место, иначе сборка упадёт на середине линковки.

ПроверкаКомандаПризнак успеха
Git`git --version`строка с версией
CMake`cmake --version`строка с версией
Компилятор`cl` в x64 Native Toolsбаннер MSVC
Место`Get-PSDrive C`FreeGB ≥ 30

Шаг 2. Клонирование репозитория и сборка бинарника

Иллюстрация к разделу «Шаг 2. Клонирование репозитория и сборка бинарника»
Иллюстрация к разделу «Шаг 2. Клонирование репозитория и сборка бинарника»

Что сделать: склонировать репозиторий порта вместе со всеми подмодулями, сгенерировать проект сборки и скомпилировать Release-версию.

Зачем: флаг --recursive подтягивает сторонние библиотеки (SDL, glm и т.п.), без которых сборка гарантированно упрётся в «unresolved external symbol». Суффикс Release отключает отладочные проверки и даёт рабочий .exe вместо медленного Debug-варианта.

Как проверить: выполните в PowerShell, заменив плейсхолдеры:

cd $HOME\source
git clone --recursive <URL-репозитория-порта> tlou-pc
cd tlou-pc

<URL-репозитория-порта> — адрес проекта на GitHub/GitLab, который вы нашли. URL намеренно не подставлен: адрес нужно взять из официального README проекта (сверьтесь с документацией). Если разработчики рекомендуют конкретную ветку (stable, release), клонируйте её: git clone --recursive -b <ветка> <URL> tlou-pc.

Затем генерация и сборка:

cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel

Разбор флагов: -S . — где лежат исходники, -B build — куда писать файлы сборки, -G — какой генератор использовать, -A x64 — 64-битная платформа, --parallel — собирать во все ядра.

Успешная генерация заканчивается строкой:

-- Configuring done
-- Generating done
-- Build files have been written to: .../tlou-pc/build

Успешная сборка — строкой Build succeeded. и счётчиком предупреждений. Проверьте, что бинарник появился:

Get-ChildItem build -Recurse -Filter *.exe | Select-Object FullName, Length

Пример: вы видите строку C:\Users\user\source\tlou-pc\build\bin\Release\tlou.exe с ненулевым Length. Путь bin\Release зависит от настроек проекта — если файл в другом каталоге, ориентируйтесь на README (сверьтесь с документацией).

Почему это работает: CMake не собирает игру сам, он генерирует .sln/.vcxproj под ваш Visual Studio, а cmake --build уже вызывает MSVC.

Шаг 3. Подключение игровых данных и проверка запуска

Иллюстрация к разделу «Шаг 3. Подключение игровых данных и проверка запуска»
Иллюстрация к разделу «Шаг 3. Подключение игровых данных и проверка запуска»

Что сделать: указать порту путь к ассетам, извлечённым из вашей копии игры, и запустить .exe. Точное имя файла настроек и флага запуска у каждого проекта своё (сверьтесь с документацией); ниже — типовой вариант, который встречается у нативных портов.

Зачем: .exe содержит код, но не модели и текстуры. Без корректного пути к данным окно игры либо не появится, либо закроется через 1–2 секунды.

Как проверить: сложите ассеты в отдельный каталог, например C:\Games\TLOU\assets, и запустите:

.\build\bin\Release\tlou.exe --game-data "C:\Games\TLOU\assets"

Если проект читает config.ini рядом с .exe, создайте его:

[General]
GameDataPath = C:\Games\TLOU\assets
Fullscreen   = true
VSync        = true

Проверка результата — по экрану, а не по логу:

Быстрая проверка лога, если окно не появилось:

Get-Content .\build\bin\Release\*.log -Tail 40

Ищите строки с Failed to open, not found, invalid path — они прямо называют файл, который не найден. Управление: у большинства портов это XInput-геймпад; поддержку клавиатуры и мыши проверяйте в README (сверьтесь с документацией).

Возможные проблемы и решения

Проблема. Сборка падает на этапе линковки.

git submodule update --init --recursive
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel

Проблема. CMake не находит зависимость.

cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE=<путь-к-vcpkg>\scripts\buildsystems\vcpkg.cmake

Точный список зависимостей — в README проекта (сверьтесь с документацией).

Проблема. Игра запускается и сразу закрывается.

Test-Path "C:\Games\TLOU\assets"

Команда должна вернуть True.

Резюме и следующие шаги

Вы прошли три этапа: проверили toolchain, собрали Release-бинарник из исходников с подмодулями и подключили легально полученные игровые данные. Дальше стоит зафиксировать рабочую конфигурацию (версию коммита и путь к ассетам) в заметке и проверить раздел README с известными ограничениями порта — там обычно перечислены неработающие эффекты и падения на конкретных уровнях. Если интересуют порты не только под Windows, посмотрите разбор запуска Metal Gear Solid 2 HD и других портов NVIDIA SHIELD на Android — там та же логика «данные отдельно от бинарника».

FAQ

Нужен ли эмулятор PS4 или PS3, чтобы это запустить?

Нет. Нативный порт собирается как обычное 64-битное приложение Windows и запускает игру напрямую, без эмулятора и без образа консоли.

Законно ли собирать такой порт?

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

Почему сборка занимает так много времени?

Компилируется не только сама игра, но и все подмодули в Release-режиме. Ускорить можно флагом --parallel и закрытыми тяжёлыми приложениями; время сильно зависит от числа ядер CPU (сверьтесь с документацией проекта насчёт рекомендуемой конфигурации).

Можно ли обойтись без Visual Studio и собрать через MinGW?

Только если это прямо указано в README. По умолчанию проекты ориентированы на MSVC, и при генераторе MinGW вы получите ошибки линковки или отсутствующих пакетов — сверьтесь с документацией проекта.

🤖 Кратко для ИИ