RetroArch

RetroArch

评价数不足
CRT пресети. Робимо зображення теплим, ламповим та рідним.
由 RivaL 制作
Тут ви знайдете один із варіантів, як покращити ваш досвід із емуляцією старих ігор. Спосіб дає цілком об'єктивні переваги, покращуючи картинку. Ви зможете побачити ігри такими, якими вони створювалися, без викривлень сучасних моніторів та плазмових телевізорів. Повертаємось в минуле, де було краще.
   
奖励
收藏
已收藏
取消收藏
Вступ
Якщо бажаєте приступити одразу до налаштувань, то переходьте до глави: «Кілька налаштувань RetroArch перед початком». Та все ж, раджу ознайомитися із коротенькою теорією.
В даному посібнику я хочу розповісти про CRT шейдери: що воно таке, як це поставити та чому це важливо, якщо ви емулюєте старі ігри із метою відтворити досвід з минулого. Якщо ви цікавитесь даною темою, то я припускаю, що ваш RetroArch уже налаштований: маєте встановлені всі необхідні ядра, можете запускати на ньому образи ігор і, можливо, вже бавилися із всілякими налаштуваннями для зміни якості картинки. Тому, ми не говоритимемо про налаштування RetroArch в цілому, але зробимо кілька змін, щоб набір шейдерів працював коректно.
Також, даний посібник не слід сприймати як заклик чи інструкцію із «правильної» гри. Ви можете ставити згладжування 16х, масштабування зображення чи будь-які інші фішки, які дозволяє робити емулятор та грати в своє задоволення. Тут же ми поговоримо саме про спосіб емуляції, який дасть вам картинку, фактично, як у минулому, та наблизить її до оригінальної
Я тестував це на stand alone версії RetroArch. Але маю певність, що принцип установки шейдерів та їх робота буде ідентична і в Steam версії. Якщо це не так – обов’язково напишіть в коментарях.
Коротка теорія
В епоху 8, 16 та 32 бітних приставок, більшість телевізорів працювали на електронно-променевих трубках, англійською – cathode ray tube (CRT). Ті сучасні монітори й телевізори, до яких ми вже звикли, лише зароджувалися, не маючи широкого вжитку. Логічно, що розробники ігор працювали із тим залізом, яке було актуальним на момент створення чергової забавки. І так, як композитори на NES мусили працювати із дуже обмеженою кількістю каналів синтезатора, творячи легендарні мелодії, дизайнери також розуміли принцип роботи екранів телевізорів, творячи полігональні світи та зважаючи на особливості тогочасних приладів. Вони витягали максимум, використовуючи скромні ресурси тогочасної консолі та особливості кольорової передачі стареньких телевізорів із круглим екраном.

Що це нам дає? Встановивши RetroArch, налаштувавши все на базовому рівні і запустивши гру «з коробки», ви можете, трохи, розчаруватися. Гра виглядатиме дуже плоско, а ви бачитимете, ледь, не кожний полігон окремо. «Зістарілася» – подумаєте ви і будете праві значною мірою. Але тут варто згадати про описаний вище момент: ви запустили її на сучасному моніторі із іншим принципом передачі зображення. І якщо б ви мали старенький CRT телевізор, то побачили б, що там гра виглядає краще, плавніше, особливо – в динаміці. Але ж відтворити те задоволення при проходженні хочеться? Якщо ви не колекціонер-ентузіаст, із окремим сетапом під ретро ґеймінг із консолями, стареньким телевізором і купою дисків, то час спробувати CRT шейдери. Для цього, нам потрібно зробити три кроки і витратити п’ятнадцять хвилин часу. 1. Налаштувати сам RetroArch. 2. Встановити пак шейдерів від Mega Bezel. 3. Встановити пак пресетів від CyberLab. Кроки робимо по-порядку. Справитися може будь-хто, якщо просто слідувати інструкції.
Приклади із застосуванням на восьмибітних іграх NES.
Ось комбіновані приклади трьох ігор, де зліва - зображення із застосованими шейдерами, а праворуч - звичайний запуск без пресетів. Яскравість шейдерів регулюється окремо, тому на це не зважайте. Відкривайте зображення, щоб краще бачити різницю.



А тут ще наглядніше:





Давайте розберемо кадри на прикладі Tiny Toon. Перший скріншот: кролик складається із драбинки пікселів, а деревина під ним являється набором мазків різного кольору. Після застосування пресету, драбинка зникає, зображення стає м'якшим, а деревина під ним виглядає як і задумано: із різними відтінками та затіненнями.

Ті ж ефекти ми бачимо із Бетменом, факелом вогню, атлетами. В динаміці, ця різниця працює ще краще в бік CRT пресетів, які я пропоную вам налаштувати. Актуально для всіх ігор, що розроблялися під старі типи екранів телевізорів чи моніторів.
Кілька налаштувань RetroArch перед початком.
Якщо ви часто змінюєте налаштування в емуляторі, або не впевнені, чи вам сподобається, то можете зробити резервну копію налаштувань програми. Для цього знайдіть файлик retroarch.cfg в папці RetroArch на вашому ПК чи ноутбуці та скопіююйте його де-інде, наприклад, на робочий стіл. Також, можете скопіювати папку Config. В разі, якщо ви забудете старі налаштування, ви зможете відновити їх, повернувши оригінальні файли до папки програми. Ми ж не "ламатимемо" програму. Ви зможете і далі запускати ігри без скачаних шейдерів. Просто, у вас з'явиться додаткова опція при запуску.

Тепер, можна безпечно змінити чи перевірити налаштування. Робимо все крок-за-кроком. В моїй програмі використовується англійська, тому, бажано, щоб у вас також стояла англійська як мова програми.

1. В головному меню програми, заходимо в Settings, -> User interface -> Show advance settings і переконуємось, що там стоїть: «ON».
2. Знову заходимо в Settings, -> Drivers, -> Video і ставимо галочку навпроти: vulcan», натиснувши «Enter». Якщо опція «vulcan» недоступна, обираємо glcore. Проте, «vulcan» - бажаніший і протестований. Після цього, закриваємо та знову запускаємо RetroArch.
3. Повертаємось в Settings -> Scaling -> Aspect Ratio -> і ставимо галочку навпроти «Full». Даний пункт робимо для того, щоб зображення емулятора підганялося під параметри вашого монітору.
4. Також, в Settings -> Scaling -> Integer Scale повинно стояти як «OFF».
5. Settings -> Output -> Video rotation ставимо як «Normal».
6. Settings -> Core - > Allow rotation ставимо як «OFF».

Знову закриваємо RetroArch та запускаємо наново. Тепер ми підготували програму для запуску ігор із майбутніми шейдерами. Час їх встановити.
Ставимо набір «Mega Bezel» в самій програмі RetroArch
Виявляється, що RetroArch вже має різні шейдери. З ними теж можна працювати, але там немає необхідного нам. В інтернеті можна знайти чимало наборів шейдерів: як окремо, під конкретні девайси, так і цілі паки. На даний момент, я знайшов варіант, який сподобався мені найбільше. Це набір Mega Bezel, який виглядає одним з найякісніших, підходить для емуляцій різних консолей та імітує різні варіанти екрану. Встановити його дуже просто.

Перший і головний спосіб. Для цього, заходимо на стартовий екран RetroArch, Main Menu -> Online Updater -> Update Slang Shaders, тиснемо Enter. Чекаємо кілька секунд, поки воно завантажиться. Все, шейдери повинні бути завантажені в папку з емулятором і готові до використання. Зовсім скоро ми їх випробуємо.

Додатковий спосіб. Якщо перший варіант вам не підходить, або, по якимось причинам, не спрацював, то набір, також, можна завантажити окремо з однойменного сайту або ж з github. Але оскільки в Steam сторонні посилання – штука специфічна, тому я їх не залишатиму (шукайте Mega Bezel через пошуковик, знаходьте сайт і тему на github із архівом). Принцип установки простий: ви качаєте архів, до якого прикріплена інструкція. Звідти копіюєте папку Mega_Bezel у Retroarch/shaders/shaers_sland/bezel (якщо там уже існує папка «Mega_Bezel» - видаліть її перед копіюванням).
Тестовий запуск
Настав час помацати нову фічу для ретроґеймінгу. Запускаємо улюблену гру на NES, SNES чи PSone за допомогою улюбленого ядра. Якщо в налаштуваннях самого ядра (Core Options -> Video) ви ставили усілякі згладжування, масштабування тощо, то раджу повимикати їх і виставити всі налаштування максимально близькі до «Native». Це прискорить завантаження шейдеру і зменшить шанси на зависання чи виліт.

Як тільки ми запустили гру, раджу дочекатися меню, або й дочекатися перших секунд ґеймплею. Ще раз дивимось на знайому криву картинку. Тиснемо F1, прокручуємо меню до самого низу до Shaders -> Load -> shaders_slang -> bezel -> Mega_Bezel -> Presets та обираємо, для початку, MBZ__0__SMOOTH-ADV.slangp. Програма, може, зависнути на кілька секунд, а тоді ви побачите зміну гри на фоні. Виходимо з меню, повертаємося до гри і бачимо зовсім нове зображення: воно, автоматично, стає «квадратнішим», будучи в оригінальному масштабі, і самі текстури тепер виглядають по-іншому. Ми, наче, дивимось на екран старого телевізора із великими «пікселями». Але зображення стає кращим. Спробуйте пробігтися персонажем чи проїхатися машиною, щоб побачити цю різницю.

У папці Presets, де ми обрали такий пресет, є й інші. Можете запускати їх почергово, обравши улюблений. Чим вище в списку він знаходиться, тим вимогливіший він йде до заліза, але дає кращу картинку. З досвіду: ті варіанти, де є ефект віддзеркалення рамок, може мати легенькі підвисання в процесі гри. NO-REFLECT та опції без GLASS працюють стабільно.
Коли ви знайдете улюблений пресет, яким користуватиметесь постійно, можете зберегти його через: F1 в грі -> Shaders -> Save та обравши бажану опцію, як то Save Shader Preset As, Save Core Preset чи Save Global Preset.

Цього етапу може бути достатньо для більшості гравців. Нижче ж, ви знайдете ще один крок із більшою кількістю пресетів та опцій для ретроігор.
Cyberlab Mega Bezel Death to Pixels Shader Preset Pack
Щоб використовувати дані пресети, потрібно ОБОВ’ЯЗКОВО виконати попередні кроки. Лише тоді можна продовжувати із даним паком.

В даному випадку, ми не можемо скачати все необхідне через сам RetroArch. Нам потрібно знайти цей пак в інтернеті. Вбивайте в пошуковик: "CyberLab Mega Bezel Death To Pixels RetroArch" і на Libretro чи GitHub ви знайдете лінки на завантаження паків із пресетами.

Нас цікавлять два архіви:
-Cyberlab_Mega_Bezel_Death_to_Pixels_Shader_Preset_Pack із актуальною версією в .zip форматі;
-CyberLab Custom Blargg NTSC Video Filter Presets із актуальною версією в .zip форматі.

Качаємо обидва архіви. Спершу, відкриваємо: Cyberlab Mega Bezel Death to Pixels Shader Preset Pack/RetroArch, там знаходимо папку Filters. Копіюємо її у папку із встановленим на ПК RetroArch.

Тепер відкриваємо Cyberlab_Mega_Bezel_Death_to_Pixels_Shader_Preset_Pack, копіюємо папку CyberLab. Паралельно, заходимо в папку із встановленою програмою: RetroArch/ Shaders/Mega_Bezel_Packs, в яку і копіюємо папку Cyberlab.

Все готово. Запускаємо RetroArch. Запускаємо бажану гру. Заходимо по вже знайомому шляху: F1 в запущеній грі -> Shaders -> Load -> Mega_Bezel_Packs -> CyberLab і бачимо великий список із папок, де можна обрати цікавий пресет. Папки зі списку вище, як от MBZ__0__Smooth-Advance_Full-Refrelctions, дають кращу картинку, але вимогливіші до заліза. Папка: «MBZ__5__Potato_No_Reflections» буде найменш вимогливою до параметрів комп’ютера.

Давайте запустимо пробний пресет для гри на Playstation. F1 в запущеній грі -> Shaders -> Load -> Mega_Bezel_Packs -> CyberLab -> MBZ__0__Smooth-Advance_Full-Refrelctions, оберемо розширення під наш монітор. Якщо це 2K, тоді 1440p_Optimized_Presets -> Console Specific Presets (тут можна побачити пресети під різні консолі) -> CyberLab_PSX_Composite__ADV.slangp. Кілька секунд чекаємо, доки пресет завантажується, і ми бачимо зміну в картинці гри на фоні. Вона, автоматично, змінює масштаб. Навколо – рамка, що імітує старий телевізор. І найголовніше: саме зображення, яке максимально наближене до CRT.

Як і раніше: коли ви знайдете улюблений пресет, яким користуватиметесь постійно, можете зберегти його через: F1 в грі -> Shaders -> Save та обравши бажану опцію, як то Save Shader Preset As», Save Core Preset чи Save Global Preset.
Рекомендую запускати різні файли .slang із набору, щоб знайти той, який буде найбільш приємним оку і працюватиме стабільно. Для мене, це CyberLab_PSX_Composite__ADV.slangp, але ви можете знайти кращу опцію для себе.

Дуже рекомендую спробувати тим, хто не зміг грати у ретро ігри, бо вони «різали око» при перших спробах емуляції. Або ж якщо для вас цінна оригінальна естетика, передача кольорів, блимання текстур старих ігор із досвідом, максимально наближеним до класичного В будь-якому разі, я сподіваюсь, що комусь даний посібник буде корисним, а інструкції в ньому – не надто заплутаними.
Приклад гри із вимкненим та увімкненим пресетом.
Нижче ви можете побачити два відео однією з моїх найулюбленіших ігор на PSone – Need For Speed: High Stakes. На першому ролику бачимо, як виглядає ігровий процес із звичайними, базовими налаштуваннями RetroArch. На іншому вже застосований CRT пресет. Відкривайте відео на повний екран, щоб побачити різницю в зображенні.
11 条留言
Grinch 5 月 8 日 下午 2:46 
Пресети пресетами, але коли телевізор 2к/4к, а зображення гри 640х480, то звісно апскейлінг рятує все і бачити гарну картинку старої ретро гри в 4к роздільній здатності, це кайфік
RivaL  [作者] 5 月 8 日 下午 2:16 
Як буде натхнення - зроблю. Бавився таким, коли починав з емуляцією, але прийшов до теми із максимально натуральним зображенням через пресети
Grinch 5 月 8 日 下午 1:38 
Гоу тепер налаштуванн по апскейлінгу популярних ядер та платформ)
ꑭgafigaferꑭ 2024 年 11 月 2 日 上午 2:58 
Дякую, супер! 👍
RivaL  [作者] 2024 年 11 月 2 日 上午 2:09 
Додав розділ із демонстрацією різниці в сирому зображенні та із застосуванням пресетів на прикладі восьмибітних ігор.
ꑭgafigaferꑭ 2024 年 10 月 28 日 下午 2:42 
Дякую, я з Луганська, отже не можу бути впевнений на 💯 відсотків, сам можу помилятися, просто зараз тригерить буквально все, раніше б і не звернув увагу на таку дрібницю 😂
RivaL  [作者] 2024 年 10 月 28 日 下午 2:26 
А, зрозумів. В цьому значенні. Для цікавості перевірив і знайшов лише одну згадку в тлумачному словнику в інтернеті, де одне зі значень: "8. перен., рідко. Мати який-небудь вигляд, виглядати як-небудь. Такий робітник, що невесело дивиться, може собі робити й найліпше, але для господаря його робота не має ціни (Фр., III, 1950, 127)." . Але щоб не "різало" око - виправив на "виглядає", дякую.
ꑭgafigaferꑭ 2024 年 10 月 28 日 下午 1:10 
Може "гра виглядає краще" ? 😅
RivaL  [作者] 2024 年 10 月 28 日 下午 12:48 
>meds, дякую за оцінку.
>ꑭgafigaferꑭ, так, якщо брати за критерій задуману розробниками картинку. Суб'єктивно – також. Відколи відкрив для себе цей фільтр, без нього подібні ігри не запускаю.
ꑭgafigaferꑭ 2024 年 10 月 28 日 下午 12:35 
"гра дивиться краще" ?