Всем привет! Все манипуляции проводились руками, а покупать ничего не требуется, поэтому оставлю пост здесь. Недавно прошла волна постов о NES приставках, при чем было много хороших отзывов и желающих купить себе/детям, дабы они прошли через то же, что и мы в свое время. На самом деле это было прекрасное время, ну да ладно, сейчас не об этом =) И все бы хорошо, но приставки эти стоят от 20$. А ведь еще есть сега, сони, геймбой и прочие достойные внимания платформы, которые вызывают приступы ностальгии у разных людей, видимо в зависимости от того какая первая приставка у них была. Я же предлагаю с помощью проекта RetroArch превратить в мультиконсоль любое устройство на базе Android, Windows и еще 16 операционных систем + браузер. Доступно около 50 ядер для разных консолей, а это тысячи неплохих ретро игр. Проект открытый, развивающийся и полностью бесплатный. Под катом расскажу о первых шагах, возникающих проблемах и путях их решения. Первым делом нам нужно определиться с выбором платформы. Под Windows качаем на официальном сайте, для Android последнюю актуальную версию можно скачать в Play Market’е. Есть еще ночные сборки в гитхабе, но вполне хватит и этих. Я буду производить настройку на планшете. Программа поддерживает русский язык, но переведена не полностью, поэтому я по привычке не переключаюсь с английского — думаю все все поймут, плюс же картинками закидаю. Поехали. Скачали программу и после первого запуска видим окно главного меню. Обратите внимание, внизу еще 2 вкладки — это плейлисты и настройки. Нажимаем на Load Core — Core Updater и видим список ядер, доступных для загрузки. После тапа по названию начинается загрузка. Можно не дожидаться окончания процесса и параллельно подгрузить все необходимые. Всё, можно забыть о них — нет необходимости перед стартом игры выбирать подходящее ядро, система автоматически его подберет, опираясь на тип ROM‘а. Исключение — консоли, которые используют образы дисков, в этом случае приложение обычно спрашивает чем открыть. В списке доступных ядер так же есть эмулятор геймпада — нужен он в основном для калибровки контроллера В фоне показан среднестатистический контроллер, который отображает нажатия кнопок внешнего контроллера/клавиатуры и наэкранного оверлея. Да, кнопки перепутаны. Не совсем понимаю зачем, но геймпадов с такой раскладкой ранее не встречал. Это вызывает путаницу во время привязки если автоматическая настройка прошла не корректно. Мы пока говорим о бесплатной версии мультиконсоли, поэтому будем пользоваться наэкранными кнопками. Тут все не так плохо и даже есть различные скины для каждой платформы. Странно, что не запрятали этот пункт где-то в главном меню, поэтому придется зайти во вкладку Настроек и перейти в Onscreen Display — Onscreen overlay — Overlay Preset — gamepads И выбрать необходимую консоль, например NES(денди).
В итоге получаем вот такой оверлей. После нажатия на кнопки B+A виртуальный джойстик подкрашивает используемые кнопки на физическом. Согласитесь, не самый удобный вариант для XBox подобных геймпадов, но нас это пока не волнует — мы пользуемся тачскрином. Разобрались с ядрами и оверлеем, осталось скачать игры(ROM‘ы) и можно играть. К сожалению распространение ссылок на скачивание вроде как защищенного контента запрещена, но Вы легко найдете кучу сайтов по запросу «Скачать игры денди/сега/PS и т.д.». Далее можно пойти двумя путями: 1. Нажать в главном меню Load Content И войдя в папку с сохраненными ранее файлами выбрать нужный. В большинстве случаев ядро подхватится автоматически, если загружены несколько модификаций для одной и той же консоли, система попросит выбрать необходимое. Игра без проблем запустилась. Ах да, оверлей. Как и писал ранее: Onscreen Display — Onscreen overlay — Overlay Preset — gamepads, выбираем genesis. Так лучше. 2. Войти во вкладку плейлистов, нажать Scan Directory и добавить папку с ROM’ами. Сканирование начинается не сразу, нужно немного подождать. Все найденный файлы будут отсортированы по принадлежности к тому или иному ядру. Для дисковых консолей используются файлы образов и поэтому не всегда определяются автоматически. Так же есть список недавно запущенных игр, если библиотека большая и не хочется долго искать игру, которую вы проходите вечерами вот уже неделю. Да, есть возможность сохранения прогресса, более того, по умолчанию включено автосохранение, поэтому любимые игры можно проходить с перерывами, а не как раньше — пока не успел раскалиться блок питания =) Всё, настройка для одиночной игры окончена. Но если мы хотим играть вдвоем? Для этого так же не обязательно тратить деньги — есть режим сетевой игры, единственным условием работы которого является подключение к одной сети WI-FI. Механизм простой — владелец первого устройства создает хост, владелец второго устройства к нему подключается и вот вы уже играете вдвоем в разных комнатах в одну и ту же игру.Физические геймпады
Хотя во многих играх сейчас используется виртуальный геймпад, я все никак к нем не привыкну. Вроде и пальцы не толстые, и тачскрин адекватный, но вслепую играть сложно, поэтому давно пользовался бюджетным беспроводным джойстиком, который наверное уже видели все — MOCUTE 050. На него есть множество обзоров, но если вкратце — это такой средненький по функционалу манипулятор. Без виброотклика, стики не прорезинены, а триггеры не аналоговые, но он довольно дешевый, отлично работает практически во всех Android играх и подойдет для использования в рассматриваемом эмуляторе. Подхватывается автоматически в любом режиме, вот только триггеры не настроились сами(LT/RT), пришлось добавлять вручную. У жены в детстве не было денди, но была PS1 у двоюродного брата и суд по рассказам они любили играть вдвоем. Предвкушая драки за геймпад, я заказал еще один, но уже с запасом на будущее. Выбор пал на Litestar3 PXN-9603, который обошелся мне в 20$, но уже мог похвастать виброоткликом, прорезиненными грибками стиков, аналоговыми триггерами, поддержкой режима XInput, которая делает его совместимым со всеми современными ПК играми. В целом по дизайну и качеству смахивает на XBox’овский, только с убогим глянцем на лицевой части. Я правда не понимаю зачем вещи, которые 99% рабочего времени будут проводить в руках человека, делать с глянцевым покрытием. Благо хоть нижняя часть в софт тач закатана. Так же у данной модели нет модуля bluetooth и подключение происходит с помощью комплектного ресивера. С одной стороны менее универсально, с другой — уменьшаются время отклика. Подключаем второй джойстик и играем вдвоем и сталкиваемся с проблемой. Заключается она в том, что приложение не знает что мы в нее вставили и по умолчанию называет Android Gamepad, и все нормально когда Android Gamepad один, но когда их становится два, возникает конфликт и работает только последнее подключенное устройство. Чтобы их разделить, пришлось прописать для каждого свой конфигурационный файл. Делается это не сложно, главное правильно определить имя устройства, а значения кнопок зачастую у всех одинаковые. Конфиги закидываются в папку автоконфигурации геймпадов, расположенной в /data/data/com.retroarch/autoconfig/android. Так же можно указать собственный путь через Настройки — Directory — Input Autoconfig Перезапускаем приложение, подключаем геймпады, нажимаем на любую кнопку и внимательно смотрим на всплывающую надпись, повествующую о обнаружении нового устройства, если имя определилось правильно — можно играть. Я выше писал о неправильном обозначении кнопок геймпада, они как будто повернуты против часовой стрелки и поменяли местами «B» с «X». Это нужно учитывать во время настройки раскладки. Возьмем к примеру эмуляцию NES, выше я выкладывал скрин, но продублирую еще раз для наглядности. Такое управление не очень удобно, т.к. палец отлично лежит только на парах «XA» или «YB«(кнопки Xbox). Глобальные настройки менять не советую, т.к. потом придется искать проблему уже в двух местах, поэтому подкорректируем раскладку только для текущего ядра. Для этого запускаем пустое ядро, в главном меню появляется пункт Quick Menu Далее Controls И меняем текущие значения раскладки. Обратите внимание, рядом с буквенным обозначением подписано и расположение, чтобы не путаться советую ориентироваться на него, то есть читать не «B«, а «Нижняя» На более удобные. Чтобы не проделывать это каждый раз, можно сохранить ремап файл для текущего ядра и при следующем использовании данной консоли по умолчанию будет наша раскладка. Так же можно сохранять конфигурации для отдельных игр, если стандартная кажется неудобной или разработчик изначально использовал непривычное управление.
Важный момент
Настройки RetroArch автоматически сохраняются после выхода из приложения, так что после корректировки на свой вкус рекомендую выйти из приложения через соответствующую кнопку, а не сворачивать его или закрывать принудительно, иначе в следующий раз он запустится с последними сохраненными настройками и придется подстраивать его заново. Я перепробовал много эмуляторов и могу с уверенностью сказать, что эта самая удобная, она до сих пор развивается и каждый может принять участие в доработке. Из всех протестированных мной эмуляторов неадекватно ведет себя только PlayStation Portable(PSP) — даже под windows на довольно мощном оборудовании часто есть проблемы со звуком и падением производительности. Зачастую в меню FPS ниже, чем во время игры. Степень зависаний колеблется от игры к игре — например в BurnOut на телефоне я все же немного поиграл, а вот God Of War местами вешал эмулятор на ПК. Вообще PSP и PS2 сложно эмулировать — требуется довольно много ресурсов из за особенности архитектуры этих консолей, так что ничего нового я не открыл. Ну вот и все, можно было конечно много еще написать про «тонкую» настройку(большинству это не надо), объяснить очевидные вещи и поностальгировать по отдельным консольным игрушкам, накидав кучу скриншотов с припиской «А помните…?», но изначально у меня была цель — приоткрыть двери в мир ретро игр, а заходить в нее или нет, выбирать вам. Всем добра и приятных воспоминаний =) P.S. Ах да, чуть не забыл, вот тут конфиги для используемых мной джойстиков, может кому пригодятся. На Хабре, как можно догадаться, достаточно большое количество поклонников видеоигр, которые тратили время на игрушки для Sega, Dendy, PS1, и тратят это время и сейчас, причем с удовольствием. Большая часть любителей старых консолей использует эмуляторы. На Android есть парочка хороших эмуляторов Sega, Dendy и прочих консолей, но вот проблема — все это разные эмуляторы, и ставить 5 разных эмуляторов для того, чтобы играть в 5 разных игр как-то не всегда хочется. Но теперь есть выход — мультиконсольное, если так можно выразиться, приложение-эмулятор RetroArch.О нем уже было упоминание на Хабре в прошлом году, но это было упоминание в связи с Raspberry Pi, плюс тогда речь шла чуть ли не об альфа-версии приложения. Теперь оно уже готово целиком и полностью, загружено в Google Play, причем никаких танцев с бубном для его запуска не требуется. Эмулятор поддерживает целый ряд USb и Bluetooth контроллеров, но можно играть и посредством сенсорного дисплея (что, конечно, не всегда удобно). Вот список консолей, которые эмулируются приложением: — Впечатляет, правда? Кроме того, есть даже поддержка DOOM 1 and DOOM 2, для фанатов, так сказать. Самое хорошее то, что приложение полностью легально, оно не использует BIOS-файлы или любые другие подобные вещи. В частности, для работы в качестве эмулятора PS1 используется эмуляция HLE BIOS. Другими словами, этот софт полностью легален, и вряд ли его удалят из-за конфликта с разработчиками какой-либо консоли. Правда, ROM-ы все же приходится использовать со стороны. Но само по себе приложение тут ни при чем, правильно? RetroArch — это отличный эмулятор для тех, кто не хочет ограничиваться одной консолью, а хочет получить в своё распоряжение сразу много игровых приставок со всеми доступными играми. Среди поддерживаемых платформ — NES, Play Station 1, Sega различных версий, Super Nintendo, Virtual Boy и другие. Эмулируются в том числе игры для ПК, выпущенные в 1990-х годах и позже.Согласно отзывам пользователей, у RetroArch широкий ассортимент платформ — шире, чем у аналогичных эмуляторов. Вместе с поддержкой Bluetooth и USB всё это делает приложение оптимальным выбором. Единственный ощутимый минус по сравнению с аналогами — большой объём памяти, который занимает само приложение.
Почему эмулятор RetroArch удобнее
За последние годы интерес к игровым консолям прежних поколений существенно вырос, а аудитория расширилась. Где есть спрос, есть и предложение, так что NES, Sega и многие другие приставки активно продаются, как и носители (картриджи, диски) к ним.Использовать RetroArch удобнее по нескольким причинам:
- Нет нужды разыскивать каждую консоль по специализированным магазинам и сайтам, покупать или заказывать.
- Игры предоставляются в виде файлов, которые намного проще и получать, и хранить.
- Скачивание приложения избавляет от любых последующих затрат.
- Поддерживается более 40 эмулирующих ядер, причём не нужно вручную скачивать файлы и размещать их в каталоге. Достаточно выбрать нужную консоль в списке.
- Игровой прогресс сохраняется автоматически.
Всё, что остаётся приобрести, чтобы эмулировать любимые игры с помощью ТВ-приставки на Android TV, это само приложение, а для большего реализма (но необязательно) — джойстики к нему.
Скачивание и настройка RetroArch на ТВ-приставке
Основная версия эмулятора доступна в каталоге Google Play. Также можно посетить официальный сайт https://www.retroarch.com/, чтобы получить нужную версию там.Поддержка русского языка в RetroArch есть, но многие пользователи предпочитали раньше его не включать, так как перевод содержал много ошибок. Теперь перевод стал лучше, хотя местами ошибки всё равно могут попадаться.Загружаем ядра (Core) для эмуляции нужных консолей. Для этого:
- открываем меню Load Core;
- выбираем пункт Download Core;
- выбираем нужные;
- ожидаем, пока завершится загрузка.
Удобство данного эмулятора в том, что при выборе контента, то есть конкретной игры, не придётся отдельно запускать ядро: приложение определит его самостоятельно и запустит. В списке ядер есть пункт меню Start Remote Control. Он позволяет проверять нажатия геймпада, который подключён.
Загрузка контента и запуск игр в RetroArch
Скачивать ROM-файлы с любимыми играми можно с любого сайта. Достаточно убедиться, что источник авторитетный, без вирусов, а контент соответствует описанию.Плюс RetroArch перед другими эмуляторами в том, что не нужно подбирать ядра для отдельных игр. Достаточно поступить следующим образом:
- распаковать скачанные файлы в директорию (можно использовать флешку);
- подгрузить интересующую игру;
- если нужного ядра нет — дождаться, пока приложение его подгрузит.
Отдельно можно просканировать папку, чтобы RetroArch нашёл в ней игры и распределил их между ядрами. Для этого предназначен пункт меню Scan Directory.Следует иметь в виду, что при автоматическом распознавании приложение может «спутать» некоторые форматы, которые подходят для нескольких платформ сразу.После этого достаточно зайти в плейлист и запустить нужную игру.Если вдруг игра не распозналась автоматически, в главном меню нужно нажать Load Content и указать путь к требуемому файлу.Таким образом, по сравнению с другими эмуляторами RetroArch открывает больше возможностей. Для тех, кто успел соскучиться по играм из детства и юности, установка приложения на ТВ-приставку откроет широкие возможности. Используемые источники:
- https://mysku.ru/blog/diy/60868.html
- https://habr.com/post/167389/
- https://gadgetpage.ru/instrukcii/3705-zapusk-igrovogo-jemuljatora-retroarch-na-tv-pristavke.html