- Для начала давайте определимся, что лучше — специальные ретро консоли или телефон, который мы будем переделывать в ретро консоль?
- Что нужно для того, чтобы начать "трансформацию" планшета и смартфона в полноценную ретро консоль?
- Что нужно скачать на телефон, кроме Beacon, чтобы можно было эмулировать ВСЕ консоли?
Запускайте игры с PlayStation 2, Nintendo Swith, PSP, GameCube, PSone, Nintendo 3DS, Dendy (она же NES) и еще десятка других популярных и не очень игровых консолей, которые украшали вашу гостиную в юности. Эта статья из цикла #гайдыотнечестноотехнологиях и это значит, что сегодня мы с вами основательно и без спешки разберем тему ретрогейминга на устройствах, работающих на базе ОС Android. ЭТО ДЛИННАЯ СТАТЬЯ, ПОСЛЕ КОТОРОЙ ВЫ СТАНЕТЕ ЭКСПЕРТОМ В ЭТОМ ВОПРОСЕ.
Мой Telegram-канал: https://t.me/+T73gXJIKxZdk9RNG (новости, софт и видео)
Для начала давайте определимся, что лучше — специальные ретро консоли или телефон, который мы будем переделывать в ретро консоль?
Ответ будет очевиден далеко не для всех, поэтому я поделюсь с вами личным опытом (буду краток): в 90% случаев ваш телефон будет мощнее, чем портативная консоль... Очень многие из вас не захотят тратить 20-30 тысяч рублей на портативную ретро консоль, и поэтому вы ограничитесь бюджетом в 10-15 тысяч рублей. Отсюда и просмотр всевозможных видеороликов на YouTube из категории "Топ PS2 игр, которые можно пройти на приставке Китай_Зажигай" и т.п. Зачем эти издевательства над самим собой? Телефон мощнее! Он будет тянуть все консоли, а если у вас хотя бы Qualcomm Snapdragon 865, то и с играми от Nintendo Switch тоже никаких проблем не будет. Также в смартфонах размер аккумулятора зачастую куда больше, чем у портативных консолей.
Единственный плюс ретро консолей заключается в удобном управлении, а точнее, в элементах управления, которые намертво "пришиты" к экрану. И еще удобная оболочка, но стоит отметить, что она такая красивая и яркая только с теми играми, которые были "зашиты" в базовый комплект приставки — когда вы загружаете в такую консоль свои игры, то они обычно без обложек, скриншотов и видеовставок. Просто серые иконки на экране консоли с названием ромов... Есть конечно специальные программы для ПК, с помощью которых вы можете предварительно подготовить ромы под оболочку своей портативной консоли, но занимаются этим далеко не все владельцы подобных устройств, ибо им лень, или они просто не хотят вникать в тонкости работы с подобными утилитами... А ведь еще для этого нужен компьютер.
Что нужно для того, чтобы начать "трансформацию" планшета и смартфона в полноценную ретро консоль?
Первым делом давайте разберемся с вопросом управления. Я настоятельно советую вам приобрести геймпад а-ля Joy Con'ы для Nintendo Switch (это когда ваш телефон помещается в такое пространство, по бокам которого расположены элементы управления). С такими геймпадами удобно играть как в ретро игры, так и в полноценные проекты, выпущенные на Android (Call of Duty: Mobile, Minecraft, Dead Cells и им подобные). Еще с ними без проблем работают компьютерные игры, запущенные через Moonlight/Steam Link.
Также вы можете использовать уже привычные и полюбившиеся вам геймпады DualShock 3/4 (Sony), а также геймпады от компании Microsoft (любой Xbox Wireless Controller с Bluetooth-модулем совместим с Android смартфонами и планшетами) + вам потребуется соответствующее крепление, чтобы вы имели возможность водрузить сверху свой смартфон. Выглядит это все приблизительно следующим образом 👇
То есть одну проблему мы с вами уже решили. Теперь давайте поговорим об оболочке — в китайских приставках установлены свои фирменные OEM-оболочки с большим количеством ограничений: своя структура хранения файлов, под которую вам придется подстраиваться, если вы захотите перенести на консоль свои ромы, и чтобы у них были обложка, скриншот и коротенький видеофрагмент с геймплеем. Также вам необходимо будет конвертировать файлы под требования вашей оболочки: соотношение сторон обложки для игры должно соответствовать значению (все параметры условны) один к одному, и разрешение скриншота должно составлять ровно 1280 на 720 точек, а видеоролик в свою очередь обязательно должен быть с частотой видеопотока 25 кадров. В противном случае будет ошибка или пустые полки "игровой витрины". Почему так? А черт его знает — просто так решили китайцы. Поэтому я рекомендую вам обратить свое внимание на профессиональные оболочки для handmade-консолей, вроде "LaunchBox", "Pegasus", "Dig", "Console Launcher" или "Beacon". Их на самом деле очень много, но лучшими я считаю только две из них: для смартфонов это Beacon, а для планшетов "LaunchBox". Почему так?
Во-первых, обе оболочки переведены на русский язык. Во-вторых, они полностью поддерживают управление с геймпада (и речь идет не только о фирменных контроллерах от Sony, Microsoft и Nintendo, но и китайских геймпадах, которые определяются в системе Android как клавиатура). В-третьих, в обеих оболочках реализован механизм скраппера — это когда оболочка сама определяет игры в библиотеке и автоматически загружает для них соответствующие скриншоты, обложки и видеоролики с геймплеем. То есть игровая витрина будет выглядеть просто шикарно!
Далее я буду показывать все на примере оболочки Beacon. Она лучше всего подходит под смартфоны и с умом использует доступное на экране место. На планшете же будет казаться, что все элементы интерфейса в разы больше, чем это необходимо, поэтому на планшетах с диагональю экрана 8 дюймов и более, лучше использовать "LaunchBox" (изначально оболочка разрабатывалась под персональные компьютеры, поэтому она куда разумнее использует место, доступное на больших экранах). Про настройку "Launchbox" я расскажу в одной из следующих статей.
Что нужно скачать на телефон, кроме Beacon, чтобы можно было эмулировать ВСЕ консоли?
"RetroArch" возьмет на себя запуск более чем 90% всех игровых систем, но с некоторыми требовательными консолями (а значит и ядрами) у него возникают трудности, из-за того, что сам "RetroArch" отъедет на свою работу довольно немало ресурсов. Поэтому игры из-под требовательных систем мы будем запускать через отдельные эмуляторы. Качаем "RetroArch" по этой ссылке: https://buildbot.libretro.com/stable/1.21.0/android/RetroArch.apk (официальный сайт | версия из Google Play имеет ряд критических ограничений и не обновляется с 2021 года, поэтому я советую вам качать программу именно из официального источника). Далее я буду называть "RetroArch" эмулятором, но на самом деле это не так. Это универсальная оболочка, позволяющая РАЗОМ настроить графику и управление в огромном количестве эмуляторов + эта оболочка имеет различные опции, с помощью которых можно улучшить качество картинки в старых играх, а также запустить сетевую игру, проводить трансляцию в сеть интернет и записывать игровой процесс. То есть своего рода швейцарский нож для фанатов ретро игр.
Внимание! Если какая-то консоль вам неинтересна, то пропускайте ее и не качайте ее эмулятор. Я же просто предлагаю вам гайд "прокачиваем все по максимуму", но лишнее все равно ставить не нужно...
⚠️ еще одно предупреждение! Не все эмуляторы доступны для загрузки из магазина Google Play | часть ссылок ведет на GitHub. GitHub — это сервис, принадлежащий компании Microsoft, где разработчики ПО с открытым исходным кодом совместно работают над своими проектами.
Для эмуляции Nintendo 3DS нам потребуется "Citra" — https://github.com/weihuoya/citra/releases/latest (качайте версию AnTuTu | специальная сборка эмулятора, которая маскируется под бенчмарк AnTuTu — все дело в том, что производители смартфонов очень часто настраивают свои прошивки таким образом, чтобы те выделяли все ресурсы аппарата на работу бенчмарка, чтобы впоследствии занять чуть более высокое место в рейтинге по сравнению с другими моделями смартфонов).
Для эмуляции PlayStation Portable нам потребуется "PPSSPP" — https://play.google.com/store/apps/details?id=org.ppsspp.ppsspp&hl=ru
Для эмуляции PS Vita нам потребуется "Vita3K" — https://github.com/Vita3K/Vita3K-Android/releases/latest
Для эмуляции PS2 нам потребуется "NetherSX2" — https://github.com/Trixarian/NetherSX2-classic/releases/latest
Для эмуляции GameCube нам потребуется "Dolphin" — https://play.google.com/store/apps/details?id=org.dolphinemu.dolphinemu
Для эмуляции Nintendo Wii U нам потребуется "Cemu" — https://github.com/XForYouX/Cemu-Android/releases/latest
Для эмуляции Nintendo Switch нам потребуется "Yuzu" — https://4pda.to/forum/index.php?showtopic=1070467 (4PDA — для того, чтобы иметь возможность загружать файлы с форума 4PDA, вам необходимо завести на нем учетную запись | в противном случае при попытке загрузить что-либо с сайта вам будет выдаваться ошибка 404).
Также вам в обязательном порядке потребуются BIOS консолей — это набор микропрограмм, которые "связывают" железную начинку консоли с ее операционной системой (объясняю все максимально простыми словами). Без BIOS эмулятор неспособен полноценно эмулировать ту или иную консоль. Я использую "FULL-PACK-BIOS-RETROBAT", который является на данный момент самым полным сборником BIOS файлов в мире. То есть с ним будут запускаться абсолютно все игры.
Ссылка на оболочку Beacon будет в конце публикации*
Организация файлов на смартфоне, чтобы в будущем вам было проще работать со своей библиотекой игр
и переносить ее на другие устройства. Я рекомендую вам создать на карте памяти смартфона или в его внутренней памяти папку "ROMs" или "Games" (непринципиально, каким именно будет название материнской папки, поэтому выбирайте то, что вам больше нравится). А внутри нее уже создайте папки под различные игровые системы: "PS" или "PSX" — это PlayStation 1, "MAME" — это аркадные автоматы, "N64" — это Nintendo 64 и т.д. То есть у каждой приставки есть своя аббревиатура.
Это стандартная организация файлов, которая используется во всех китайских ретро консолях. Единственное отличие, которое вы можете заметить, это то, что в некоторых прошивках используются маленькие буквы, например, "n64", а в других большие ("N65"), но для самих эмуляторов нет никакой разницы, каким регистром написаны названия папок с ромами. Если вы хотите, то можете воспользоваться моей "болванкой": https://disk.yandex.ru/d/UbD9iCQG-whSOQ (распакуйте содержимое архива в корень карты памяти, и уже потом закидывайте в соответствующие папки игровые ромы).
Настройка Retroarch для корректного запуска игр через Beacon
Самый частый вопрос, который мне задавали под видеороликами, где я рассказывал о настройке RetroArch под iOS, ПК и Android — это какое ядро, например, под консоль NES, лучше всего работает на мобильном чипе iPhone 4? Или, если у меня ПК, то какое ядро под PSone сможет выжать максимум графики из старых игр для японской консоли? Вот мои рекомендации для работы RetroAtch на Android смартфоне (я ориентируюсь в первую очередь на точность эмуляции, а не на производительность) | здесь и далее я буду называть ядра "эмуляторами":
Консоли семейства Nintendo:
- Nintendo Entertainment System (в нашем детстве она называлась Dendy): "Nestopia UE".
- Super Nintendo: "Snes9x" — хорошо оптимизирован для запуска на мобильных устройствах.
- Nintendo 64: "Mupen64Plus-Next" (к сожалению, эмулятор не может запускать некоторые игры — все из-за сложной архитектуры консоли N64 | тогда можно попробовать ядро "ParaLLEl N64", НО! оно очень требовательное к железу смартфона).
- Game Boy / Game Boy Color: "Gambatte" — эмулятор умеет правильно перекрашивать черно-белые игры классического Game Boy 1989 года.
- Game Boy Advance: mGBA — эмулятор поддерживает обратную связь Game Boy Player (это когда вы запускаете GBA игры через старшую консоль GameCube). Также есть эмуляция датчика света.
- Nintendo DS: DeSmuME — обеспечивает высокую точность эмуляции, но требует куда больше ресурсов, чем melonDS (последний испытывает трудности с запуском некоторыми ресурсоёмкими играми).
- Virtual Boy: "Mednafen" — способен запускать игры в 3D через Google Cardboard.
Я безумно обожаю игры от большой N, и моими первыми консолями были Dandy от Steepler, а уже потом оригинальная Super Nintnedo. Однако домашние консоли от компаний Sega и PlayStation я стал открывать для себя уже будучи студентом, поэтому каких-то особых знаний и требований к эмуляторам не имею, так как никогда не играл на настоящем железе, но все равно вот мой список ядер:
Консоли семейства Sega:
- Master System, Mega Drive и Sega CD я запускаю через ядро "Genesis Plus GX". Если игры из-под Sega CD работают не корректно, то переключайтесь на ядро "PicoDrive".
- Sega 32x: "PicoDrive"
- Sega Saturn: "Yabause"
- Sega Dreamcast: "Flycast". Для слабых устройств можно использовать ядро "Redream".
Для запуска игр из-под PSone я использую ядро "PCSX ReARMed".
Вам может показаться, что у меня в играх довольно плохое качество картинки, но на самом деле это не так. В детстве у меня был пузатый телевизор Funai, а папа подключал консоли через какой-то переходник, к которому подводились антенна и видео кабель от приставки. И получается, что когда я запускал игры — картинка была слегка мыльной и с некоторыми VHS оттенками. Поэтому когда я играю в ретро игры — я хочу получить ту самую картинку, какой я ее запомнил в детстве. Также я не приветствую растягивание изображения и запускаю игры с соотношением сторон 4 к 3. Также и с портативными консолями — с помощью шейдеров я стараюсь передать особенности экрана той или иной консоли.
Настройка Beacon
Запускаем оболочку и первом делом проходим в ее настройки (кнопка "Y" на геймпаде). Меню настроек можно разделить на несколько блоков:
- "Платформы" — самое важное меню настроек. Здесь вы будете работать с ромами, поэтому я расскажу о нем отдельно.
- "Скраппинг" — оболочка Beacon использует базы следующих сервисов: TheGamesDb.net, IGDB.com, Screenscraper.ft и SteamGridDB.com. Последние два (Screenscraper и SteamGridDB) требуют регистрацию. Она бесплатная! Вам просто потребуется учетная запись для авторизации в этих сервисах через оболочку Beacon. Зачем это нужно? У Screenscraper и SteamGridDB самые полные базы скриншотов из игр и обложек как для ретро игр, так и для современных проектов соответственно. То есть, потратив всего пару минут на то, чтобы завести себе учетные записи на этих сервисах — вы можете быть уверены в том, что для всех ваших игр будут найдены красивые обложки (у меня чуть больше 2,5 тысяч ромов, и для каждой игры была найдена правильная обложка). Также SteamGridDB содержит в своей базе обложки для Android игр и приложений.
Зарегистрировать аккаунты можно по следующим адресам:
- Screenscraper — https://screenscraper.fr/membreinscription.php
- SteamGridDB — https://www.steamgriddb.com/login (SteamGridDB использует для авторизации учетную запись Steam)
- "Предпочтения" — в этом блоке настроек вы можете изменить внешний вид оболочки Beacon: поменять задний фон (он динамический как у темы "XMB" под "RetroArch" | вместо волн вы можете выбрать пузырьки, плавающие прямоугольники, светлячки, дождь и т.д.), выбрать тему, цветовую схему оформления и шрифт, который будет использоваться по умолчанию.
По умолчанию на стартовом экране Beacon помимо вкладок с играми под те или иные консоли, есть еще два раздела: "Now" (это журнал, где показаны все игры, которые вы запускали, в хронологическом порядке) и "Favs" (список ваших избранных игр). Через настройки "Предпочтения" их можно отключить.
При желании вы можете включить воспроизведение звуков в меню (нажатия на кнопки геймпада будут сопровождаться звуками) и включить фоновую музыку. Бесплатную фоновую музыку, специально написанную под оболочки ретро консолей вы можете скачать отсюда: https://github.com/RetroBat-Official/retrobat-setup/tree/06fd069a01a164cd5d5e4a27a447c411757e86a0/system/resources/emulationstation/music (GitHub | в подборке имеются следующие треки: "2080 - Nerd To Geek -EP- - Extra Life", "Le Brick - Demolition Theme - Dubstep Rework", "Le Brick - Morning - Extended Mix", "Sawsquarenoise - Boss Theme", "Digital Dream - Azureflux Remix")
Дополнительно можно поменять местами кнопки ABXY, чтобы они соответствовали стандартной раскладке Nintendo (по умолчанию Beacon использует раскладку Xbox и за кнопку действия отвечает кнопка "A") или сменить кнопки под контроллеры PlayStation.
- "Обратная связь", "FAQ" и "О нас" нам неинтересны, так как не влияют на работу оболочки.
Как добавить игры в Beacon
Проходим в настройки, далее раздел "Платформы" и жмем на кнопку "плюсик". Теперь нам необходимо указать "Тип платформы" (игры какой консоли мы будем добавлять в оболочку Beacon), затем выбираем "Приложение", через которое будут запускаться ромы для той или иной консоли. Для всех консолей, кроме ⚠️ Nintendo 3DS, PlayStation Portable, PlayStation 2, PlayStation Vita, GameCube, Nintendo Wii, Wii U и Switch, выбирайте "RetroArch". Далее нам нужно указать папку, где находятся ромы. Если вы использовали мою "болванку", то, например, для игр из-под Nintendo путь будет выглядеть следующим образом:
Адрес, по которому вы переместили на своем смартфоне папку 👉 \ROMs\NES
Ниже можно поменять соотношение сторон обложки, чего я делать вам категорически не советую. Beacon понимает, из-под какой именно консоли вы добавляете игры в библиотеку, и сам выбирает оптимальные размеры обложки (у GameBoy, например, они 1 к 1, потому что картриджи были квадратные, у Super Nintendo 4 к 3 — картриджи были прямоугольные, у PlayStation Portable 3 к 5 — игры были на дисках, но сами коробки с ними были вытянутыми, поэтому и такое соотношение сторон).
Еще ниже есть настройки для опытных пользователей. Здесь можно добавить дополнительные параметры для запуска той или иной игры (они отличаются в зависимости от того, какой используется эмулятор).
После того как вы все настроили, жмите на кнопку "Добавить платформу". Теперь раздел с играми для консоли Nintendo (она же Dendy) появится на стартовом экране Beacon сразу после вкладок "NOW" и "FAVS", если вы их не отключили. Если игр много, то нужно будет подождать еще какое-то время, пока не прогрузятся все обложки. Теперь просто выбираете любую игру из списка и жмете на кнопку "A", и Beacon запустит игру через эмулятор "RetroArch". Если вы хотите, чтобы все работало также, как у меня (под каждую консоль были свои рамки и шейдеры и вообще у вас не было проблем с работой эмулятора), то ознакомьтесь с моим прошлым гайдом, где я также подробно рассказывал, как его настроить.
Почему вылетают игры Nintendo 3DS, когда я запускаю их через Beacon?
Это недоработка самого эмулятора "Citra", которая прослеживается и во многих его форках. Что делает Beacon простыми словами? Позволяет вам создать красивую витрину с вашими играми, и когда вы запускаете какую-либо игру, Beacon "связывает" ROM-файл игры с эмулятором, который вы выбрали в момент, когда добавляли игры в библиотеку. Почти все эмуляторы, кроме "Citra", умеют совершать "холодный" запуск игр — это когда эмулятор без предварительной настройки запускает ROM'ы и для своей работы использует настройки по умолчанию. Поэтому, чтобы игры из-под консоли Nintendo 3DS нормально запускались через Beacon, вам вначале нужно запустить эмулятор "Citra", и уже в его настройках указать путь до папки с играми 3DS. Если вы использовали мою "болванку", то путь будет выглядеть следующим образом:
Адрес по которому вы переместили на своем смартфоне папку 👉 \ROMs\3DS
После чего вам нужно будет сохранить все изменения в настройках и закрыть "Citra". После игры Nintendo 3DS можно будет спокойно запускать через оболочку Beacon — вылетать они больше не будут.
Почему Beacon установил неправильную обложку на игру?
У Beacon есть одна очень неприятная особенность. Ему нужны точные названия игр и программ. Я сейчас объясню на примере приложения "Moonlight", доступное на Android. В настройках телефона приложение "Moonlight" также называется "Moonlight", но его официальное название "Moonlight Game Streaming". То есть, чтобы Beacon скачал правильную обложку — мне нужно пройти в настройки игры и переименовать ее название на "Moonlight Game Streaming". В противном случае Beacon будет загружать обложку для игры "Moonlight", доступную в Steam.
Еще один пример. Платформа GameBoy Color и игра "Герои Меча и Магии". Ром, что я использовал, назывался "Heroes of Might & Magic", и Beacon настойчиво загружал мне обложку из-под игры "Heroes of Might & Magic: Olden Era", которая еще даже не вышла. Оказалось все очень просто и забавно. В базах с обложками старые игры серии, вышедшие до третьей части, называются "Heroes of Might and Magic". То есть вместо амперсанда (&) в названиях старых игр используется союз "and". Поэтому, чтобы Beacon загрузил правильную обложку — мне пришлось переименовать ром в "Heroes of Might and Magic". Если где-то в имени рома пропущены знаки тире или двоеточие, или слова стоят в неправильном порядке, или вообще название игры записано не полностью, например, не "The Legend of Zelda: Link’s Awakening", а просто "Link’s Awakening" или "The Legend of Zelda — Link’s Awakening", то Beacon будет подсовывать вам обложку какой-нибудь современной игры о приключениях Линка, но не ту, которую вам надо.
Правда, у меня моя библиотека ромов находится в идеальном состоянии, поэтому за все время работы с оболочкой Beacon последняя загружала неправильные обложки может быть раз 5-6. Поэтому я не считаю эту "особенность" великой проблемой.
Ну вот, собственно, и всё. Надеюсь, этот материал вам понравился. Поддержать мой канал можно по этой ссылке 🤗 https://dzen.ru/vladiblog?donate=true Рубрика #маленькиеполезныепрограммы Теги для поискового алгоритма: #консоли #ретро #игры #android #телефоны #смартфоны #anbernic
Вы посетили блог (не)Честно о технологиях | мой Telegram-канал: https://t.me/+T73gXJIKxZdk9RNG (новости, софт и видео)
*ссылки на чудо (магазин Google Play, форум 4PDA):
"Beacon Game Launcher" – https://play.google.com/store/apps/details?id=com.radikal.gamelauncher&hl=ru
Оболочка Beacon в Google Play не перведена на русский язык | версия с локализацией доступна на форуме 4pda – https://4pda.to/forum/index.php?showtopic=1089124