Как играть в UMK3 (SMD версия) через эмулятор по сети
Итак, в этой статье я постараюсь рассказать, что следует сделать для того чтобы иметь шанс сыграть без десинхронизации с кем-нибудь в UMK3 или в какую-нибудь другую игру на эмуляторе Sega Genesis по интернету.
Часть первая Подготовка
В первую очередь надо определиться, на каком эмуляторе вы собираетесь играть. Лично я для эмуляции SMD рекомендую скачать Gens+ 0.0.9.61. И именно этот эмулятор я буду использовать в качестве образца для настроек. Также хочу заметить, что желательно, чтобы оба игрока использовали одинаковые эмуляторы, однако это не всегда критично.
Теперь, после того как вы скачали эмулятор, нужно скачать небольшой файлик, который понадобится чуть позже.
И наконец, стоит скачать игру, в которую вы собираетесь играть, в данном случае это UMK3. Чтобы избежать десинхронизаций обязательно надо, чтобы у обоих игроков были идентичные версии ромов, с идентичными названиями, поэтому крайне рекомендую скачать именно этот ром. После чего, разархивировать один раз, и положить полученный zip архив в папку с ромами или иную удобную для вас папку.
Часть вторая Настройка эмулятора
Если вы всё ещё не разархивировали эмулятор, самое время сделать это. Теперь первым делом используем тот самый отдельно скаченный файл. Разархивируйте его. Вы должны получить файл с названием «kailleraclient.dll» и размером 120 килобайт. Если всё так, то перейдите в папку, которая содержит эмулятор и найдите там другой файл с таким же названием «kailleraclient.dll», но другим размером. И после этого замените этот файл тем файлом, который весит 120 килобайт.
Таким образом, вы заменили стандартную версию клиента для игры по интернету, на P2P версию. Вы спросите, зачем мы это сделали? Дело в том, что обычный клиент использует сервера в качестве хоста для игры, и соответственно между игроками возникает дополнительная точка передачи данных, за счёт чего возникают задержки и десинхронизации. В P2P версии клиента хостом игры является непосредственно один из игроков, и следовательно данные передаются только между игроками. Поэтому задержек и десинхронизаций становится в разы меньше.
Наконец приступим непосредственно к настройке эмулятора. Сначала настройки видео. Запустите эмулятор и на вкладке «Graphics» в точности повторите те настройки, которые изображены на следующих первых двух скриншотах. На третьем скриншоте показана настройка рендеринга, но как показывает практика, его выбор не влияет на игру по интернету, поэтому вы можете поставить там то, что посчитаете нужным, я просто рекомендую использовать «2xSAI».
Далее настройки звука. Перейдите на вкладку «Sound» и в точности повторите то, что изображено на следующих скриншотах. Очень часто причиной десинхронизации является то, что у одного из игроков «Rate» не установлен в значение «44100».
Теперь не помешает настроить управление. Запомните, что несмотря на то, что в игре по интернету вы можете оказаться как вторым так и первым игроком, эмулятор в данном случае всегда использует управление настроенное на первый контроллер. Перейдите на вкладку «Options» и там нажмите «Configure Keys» (см. скриншот далее). После этого откроется окно, как показано на втором из следующих скриншотов. Первым делом установите для обоих контроллеров шестикнопочный режим (на скриншоте обведено красными овалами). Затем нажмите кнопку «Redefine Keys» и следуйте инструкции на панели «Setting Keys». Будьте внимательны и не забудьте в конце нажать на кнопку, которой вы присвоили значение кнопки «A», как это попросит инструкция эмулятора. После того, как вы настроите управление, вы можете закрыть это окно, нажав кнопку «OK».
И наконец, остались последние несколько настроек, которые необходимо выполнить. На вкладке «Options» нажмите «Configuration» (см. скриншот далее). Откроется новое окно. Там вам обязательно следует повторить настройки, которые показаны в красном прямоугольнике на втором из следующих скриншотов. Остальные пункты я тоже рекомендую установить, как показано на скриншоте, но думаю это не так важно.
Часть третья Kaillera Client
Перед тем как запустить клиент, для первого раза следует запустить какой-нибудь ром, чтобы эмулятор запомнил папку с ромами. Рекомендую запускать все ромы эмулятора из одной папки, чтобы в один прекрасный день не получилось так, что вы зайдёте в нетплей, начнёте игру, а эмулятор не сможет найти ром, из-за того что он в другой папке.
Итак, открываем ром через «File» > «Open ROM» и находим нужный ром в соответствующей папке. После этого ром будет запущен, если хотите вы можете протестировать настроенное ранее управление. Затем закройте ром через «File» > «Close ROM». Внимание, запомните последнее действие, потому что именно так надо закрывать ром прежде чем выходить из нетплея, иначе эмулятор зависнет. Далее идут скриншоты того, что вы только что сделали.
Теперь перейдём к окну нетплей клиента. Для этого на вкладке «File» нажмите «Netplay» (см. скриншот далее). Откроется новое окно, и если всё правильно, оно будет выглядеть примерно так, как показано на втором из следующих скриншотов.
Далее нужно выполнить несколько действий. Во-первых, пропишите свой ник в поле «Nick». Во-вторых, убедитесь, что в поле «use port» прописано значение «27886». Убедившись, что в поле «Change Mode» установлено «1. P2P», попробуйте найти свою игру в списке игр (в данном случае UMK3), не пугайтесь, если там будут присутствовать какие-либо непонятные названия.
Теперь, прежде чем переходить к хостингу игры, я расскажу, что же ещё присутствует в этом окне клиента. Кнопка «waiting games» открывает окно, в котором иногда можно увидеть игры, ожидающие второго игрока, но это случается очень редко. Поскольку мы находимся на вкладке «Host» можно догадаться, что кнопка «Host» предназначена для хостинга игры, но об этом позднее. Сейчас же давайте перейдём на вкладку «Connect» (см. скриншот далее). Там можно увидеть поле «Peer IP» и список «Stored». «Peer IP» это поле, в которое вы прописываете IP адрес компьютера, на котором была создана игра, к которой вы собираетесь присоединиться. Таким образом, вы вводите IP адрес и просто нажимаете кнопку «Connect», после чего, если всё хорошо, попадаете в окно созданной игры (см. далее). Также IP адреса можно сохранять в список «Stored», с которым можно взаимодействовать с помощью кнопок «Add», «Edit», и «Delete».
Теперь о создании (хостинге) игры. Для этого следует выбрать игру из списка на вкладке «Host» и нажать кнопку «Host». После чего откроется новое окно, как показано на следующем скриншоте. Если вы создаёте игру на этом эмуляторе впервые, возможно вам будет выведено сообщение о том, что Брандмауэр собирается заблокировать приложение и т.п., там естественно вы должны выбрать «Разблокировать» или что-то типа этого. Итак, это новое окно содержит в себе чат, в котором можно переговариваться со вторым игроком во время игры. В самом начале в нём можно видеть пару сообщений название игры и предупреждение о портах и фаерволе, не пугайтесь его, оно появляется там всегда. После того, как к вам присоединится второй игрок, об этом будет сообщено в окне чата.
Внизу окна можно видеть множество кнопок, но все кроме двух из них совершенно бесполезны. Первой полезной кнопкой является «ckick here when ready», туда вы кликаете, когда второй игрок присоединился, и вы готовы начать игру. После того, как оба игрока нажмут эту кнопку, в окне чата отобразится несколько строк информации, а также важные строки, в которых будет указан пинг и задержка во фреймах. Так вот, задержку можно считать хорошей, если её значение меньше или равно пяти. Большие значения уже несколько затрудняют игровой процесс. Если всё прошло успешно, в окне эмулятора у обоих игроков должна запуститься игра. Напоминаю, чтобы завершить игру, необходимо сначала закрыть ром через меню «File» > «Close ROM», только после этого можно закрыть окно нетплея, и затем окно эмулятора. В противном случае эмулятор зависнет.
Вторая полезная кнопка «Record game» предназначена для записи «видео» игрового процесса, но об этом, если понадобится, я расскажу в отдельной статье.
Поскольку иногда возникают случаи, что оба игрока не могут хостить игры, или нужно сыграть в игру втроём или вчетвером, приходится использовать обычные сервера вместо P2P. Кстати говоря, вы можете создать собственный «Kaillera» сервер, и тогда на нём ваш пинг будет равен нулю, но другим игрокам пинга будет не избежать, но об этом, если понадобится, я расскажу в отдельной статье. Надо сказать, что этим то и отличается P2P, он уравнивает шансы игроков, наделяя их одинаковым пингом и задержкой.
Но вернёмся к обычным серверам. Для их использования в нашем новом «Kaillera» клиенте есть пункт «2. Client» в меню «Change Mode». Выбрав этот пункт, мы попадаем в новое окно, подобное тому, что показано на следующем скриншоте. Здесь также можно прописать свой ник, а также сообщение, которое будет выводиться, когда вы будете покидать сервера поле «Quit Message». Кроме того можно выбрать скорость своего соединения «Connection setting», от него в частности зависит, какая задержка будет при игре, но учтите, что у всех игроков, с которыми вы собираетесь играть, должно стоять одинаковое значение в этом поле.
После того, как вы добавите сервер в список с помощью кнопки «Add» и зайдёте на него двойным нажатием, вы увидите новое окно, с чатом, списком игр, и списком игроков на сервере. Здесь с помощью кнопки «Cr» вы выбираете и создаёте игру, после чего ожидаете, пока к вам присоединяться остальные игроки, затем вы нажимаете кнопку «Start», и игра должна запуститься. Конечно там присутствуют и другие кнопки, но их назначение, я думаю, и так понятно.
В заключение скажу, что несмотря на соблюдение всех настроек, десинхронизация всё равно может случиться из-за следующих причин. Во-первых, плохой интернет, любой лаг может рано или поздно привести к десинхронизации. Во-вторых, причиной десинхронизации может стать использование других программ в процессе игры, которые собственно приводят к возникновению всё тех же лагов. И наконец, в-третьих, это особые конфигурации компьютеров, как показывает практика, слишком мощный компьютер одного игрока, по сравнению со значительно более слабым компьютером другого, приводит к десинхронизации.
На этом я пожалуй завершу эту статью, если остались какие-либо вопросы, вы всегда их можете задать в комментариях.