Нашел способ поиграть в Zero Tolerance вдвоем, на одном ПК
Всем привет! Зарегался на Пикабу, чтобы поделиться своей находкой. Речь пойдет об игре Zero Tolerance для Sega Mega Drive (Genesis), а точнее - об одной её отличительной особенности. О самой игре наверняка рассказано уже всё и в мельчайших подробностях, поэтому в данном посте речь пойдет исключительно об уникальной фишке - кооперативном режиме.
И он действительно уникален по той причине, что это не просто разделение экрана на две части (Split Screen), как это было принято в стародавние времена, а полноценное объединение двух приставок через Link Cable.
А суть в том, что недавно на стриме я проходил игру в очередной раз и поставил перед собой цель - зачистить уровни на 100%. Времени ушло изрядно, что-то в районе 6 часов. Под конец такой марафон утомляет, и в голове промелькнула мысль: "А как бы круто было пробежать игру вдвоем, ведь я точно помню, что в меню можно выбрать игру на двоих".
Собрать аутентичный железный набор сегодня - это что-то "на богатом", ведь нужны две приставки, два картриджа, два ТВ (или две карты захвата для ПК). Но ведь для игры на двоих, в том числе и по сети, существуют эмуляторы?
Но не тут-то было. В современных эмуляторах нет поддержки кооперативного режима для этой игры. Если просто попробовать запустить стандартный netplay в эмуляторах вроде Mednafen или RetroArch, то ничего не выйдет.
Я решительно не мог поверить, что решения до сих пор нет, и "Я вышел в интернет с таким вопросом©".
Решение нашлось. Совсем недавно, букавально неделю назад, некто под ником Linn1024 выпустил кастомное ядро для эмулятора BizHawk, в описании которого говориться следующее:
Play the original Mega Drive / Genesis Zero Tolerance in local two-player link-cable mode, with two console views in one window. Each player controls a separate emulated console. The game ROM is unchanged.
This is a prototype built on Genesis Plus GX, with a small cable/interrupt patch and a Windows fiber scheduler. It is an independent project, not an official BizHawk, RetroArch, or Genesis Plus GX release. No claim of being the first implementation is made
Перевод:
Играйте в оригинальную Mega Drive / Genesis Zero Tolerance в локальном режиме для двух игроков по кабелю, с отображением двух консольных экранов в одном окне. Каждый игрок управляет отдельной эмулированной консолью. Игровой ПЗУ остаётся без изменений.
Это прототип, созданный на Genesis Plus GX, с небольшим патчем для кабелей/прерываний и планировщиком обработки оптоволоконных соединений Windows. Это независимый проект, не являющийся официальным релизом BizHawk, RetroArch или Genesis Plus GX. Не утверждается, что это первая реализация.
Как это выглядит в эмуляторе:
Запущен последний уровень, использован одинаковый пароль для обоих игроков, остался единственный член команды, и да, игра позволяет использовать одного и того-же персонажа одновременно
Инструкция по запуску для тех, кто хочет повторить:
Скачиваем чистый эмулятор BizHawk (проверено на версии 2.11.1 для Windows x64).
Скачиваем архив с ядром со страницы релизов проекта zero-tolerance-link на GitHub.
Из скачанного архива три DLL-файла закидываем по пути: Папка_BizHawk/Libretro/Cores/ZeroToleranceLink/.
Запускаем BizHawk, выбираем в меню File -> Open Advanced -> Libretro. Указываем файл ядра zt_link_libretro.dll и по кнопке Launch Game выбираем ROM игры Zero Tolerance (подойдет любая версия, в том числе русифицированная, также работает и прототип Beyond Zero Tolerance).
Настраиваем кнопки для обоих игроков в Config -> Controllers (левый экран — первый игрок, правый — второй).
В самой игре на каждом из экранов обязательно заходим в Options, меняем пункт меню Players: One на Two, выходим в главное меню и жмем Start Game. Выбираем персонажей и ждем, пока завершится синхронизация. Важный нюанс: главное не нажимать Старт одновременно, делайте это с небольшой задержкой, тогда всё пойдет
В Beyond Zero Tolerance спрайт второго игрока отображается криво(что это вообще такое, похоже на гранату) но это и не удивительно, игра не была закончена
В оригинальной инструкции этого не указано, но проверена так-же работа на другом мультисистемном эмуляторе - Retroarch. Необходимо скопировать *.dll файлы в папку Cores, в меню выбрать Загрузить ядро и выбрать zt_link_libretro.dll, после чего выбрать Загрузить контент и указать путь к ROM игры. Работает так-же, но сам я недолюбливаю Retroarch изза его запутанного интерфейса
Все три файла обязательно должны быть в одной папке, в меню нужно выбирать основное ядро zt_link_libretro.dll
Игра запускается и играется в целом без проблем кроме одного существенного недостатка - звук. Так как у нас параллельно работают две полноценные приставки, звук из каждой дублируется, накладывается друг на друга с микро-задержкой и получается знатная какафония.
В самом эмуляторе нет возможности это исправить весь звук идет в один канал. Но избавиться от этого можно достаточно просто, в опциях одного из игроков отключить музыку. Да, звуки(подбор аптечки или оружия например) продолжают дублироваться, но это уже не так критично.
С этим разобрались, игра играется на двоих на одном компе, это уже само по себе круто, но вот найти второго игрока для игры "оффлайн" это уже отдельная проблема. К сожалению поддержка сетевого режима автором не заявлена, и это понятно. Но есть-ли обходной путь? Это будет следующим шагом в моих изысканиях.
Спасибо за внимание, на этом пожалуй, всё.

























