Еще в марте один из обозревателей ресурса Kotaku обнаружил браузерную бета-версию эмулятора NES. Этот эмулятор умеет превращать «плоские» 8-битные игры в трехмерные. Как сообщалось, написан этот эмулятор на JavaScript. Работает он в браузере Firefox. Программа умеет добавлять тени и горизонтальные поверхности к вертикальным. «Трехмерный» эмулятор работает с образами игр (ROM) — так же, как и обычные эмуляторы.

Сейчас вышла финальная версия программы в виде приложения под Windows. Разработчики выложили бесплатную и платную ($4.99) версию приложения. Вероятно, создатели софта рассчитывают на любителей классических NES игр, готовых расстаться с 30 долларами в обмен на новые ощущения при игре в хорошо знакомые Duck Tales, Super Mario Bros. или Mega Man. На днях создатели эмулятора прояснили принцип его работы и показали, как можно провести настройку ряда игровых элементов, если алгоритм эмулятора не справляется с какой-либо игрой самостоятельно.



Главной составной частью нового эмулятора является алгоритм, который автоматически определяет форму графических элементов загруженных игр. Программа пытается сгруппировать отдельные спрайты игровых персонажей и фонового пейзажа в базовые 3D объекты (преимущественно это кубы и цилиндры). Кроме того, алгоритм проводит анализ того, как трехмерные элементы должны отображаться на экране, с учетом глубины и размеров каждого объекта и общей компоновки элементов на экране.

Для многих старых игр, включая Super Mario Bros. и Tetris, этот процесс проходит практически идеально, дополнительные настройки не нужны. Любой кадр с игрой можно вращать или увеличивать/уменьшать. Особенно интересно это выглядит в Tetris. С некоторыми игровыми персонажами или объектами фона в этих двух играх случаются казусы, когда их очертания расплываются или превращаются в нечто плохо узнаваемое. Но такое происходит редко.

Если же игра не поддается алгоритму, то здесь уже требуется дополнительная настройка. Разработчики эмулятора предусмотрели такую возможность. Настраивать, правда, приходится каждый экран игры. Нужно кликнуть мышкой в любом месте экрана, и настроить 3D характеристики объектов. Можно переводить объекты с переднего плана на задний, изменять их размеры и масштаб, изменять работу самого алгоритма (например, указать необходимость перевода 2D объекта в группы объемных цилиндров, а не кубов).

Достоинством эмулятора является то, что настройка одного элемента автоматически приведет к замене его внешнего вида в любом моменте игры. То есть, если вы изменили очертания того же Марио, он будет бегать в текущем виде по всем прочим уровням. Настройки можно сохранять в файл. Этот файл затем можно использовать при следующей загрузке того же образа игры или выложить в Сеть для других игроков.



Минусом является значительные временные и трудовые затраты — все же работа с графикой это не дело пары минут. Изменять каждый последующий фрейм — сомнительное удовольствие, если вы не перфекционист с приверженностью к рутинной работе. Но в некоторых играх без дополнительной настройки обойтись нельзя. Это касается Super C, а также Chip and Dale's Rescue Rangers, Castlevania и ряда других игр. Без дополнительной настройки играть в эти игрушки будет нельзя.



Практически все NES-игры можно настроить для игры с эмулятором, кроме тех, которые уже были объемными (имеется в виду псевдо-3D). Это Super Dodge Ball и Teenage Mutant Ninja Turtles 2: The Arcade Game. Их настроить для нормальной игры в 3D-эмуляторе нельзя. Какие бы настройки ни применялись, персонажи выглядят очень странно, зачастую превращаясь в часть фона. Аналогичные проблемы возникают и при попытке загрузить игры с изометрическими уровнями, вроде R.C Pro-Am. В них также играть будет невозможно.



Тем не менее, огромное количество двумерных игр все же совместимо с эмулятором. А если учесть, что NES игр очень много, то геймер может получить много часов приятной игры в старые, изученные вдоль и поперек игрушки. Хотелось бы надеяться еще либо на снижение цены эмулятора, либо на его перевод во free-to-play модель. Эмулятор может работать с довольно старыми ПК и ноутбуками без проблем.

Возможности
  • Превращение старых двумерных игр в объемные;
  • Изучение возможностей 3D-технологий;
  • Игра с любым разрешением, которое поддерживает ПК или ноутбук, в полноэкранном или оконном режиме;
  • Моно или стереозвук;
  • Изменение графических настроек игр;
  • Возможность сохранения настроек;
  • Возможность делиться сохраненными настройками со всем сообществом.


Системные требования
  • Процессор: Core M;
  • Разрешение: FullHD.
Поделиться с друзьями
-->

Комментарии (32)


  1. winKING
    26.06.2016 15:13

    Нехилый такой процессор нужен для эмуляции. 800 ГГц.


    1. ColdPhoenix
      26.06.2016 16:07
      +2

      вы случаем цифры не перепутали?(и размерность)


      1. Lerg
        27.06.2016 03:09
        +2

        Изначально в топике была опечатка. Поэтому надо всегда делать цитирование для таких шуточек.

        Системные требования
        Процессор: 800 ГГц.


  1. myxo
    26.06.2016 15:28
    +4

    А у них есть какой-нибудь репозиторий, где можно обмениваться обработанными играми? Так-то мысль вроде очевидная.


    1. ARD8S
      26.06.2016 19:22

      А как же правообладатели? Думаю они такую лавочку могут быстро прикрыть.


      1. Vehona
        26.06.2016 20:10
        +5

        Так ведь речь шла о файлах настройки, как я понял, а не самих играх, которые остаются нетронутыми. А раз так, то и предъявлять нечего.


        1. ARD8S
          26.06.2016 20:22

          Ну так если не «обработанными играми», а файлами настройки, то да. Предъявлять нечего.
          Вообще, жаль, что с «изометрическими» не пошло. Очень многие игрушки (из более современных) оказываются за бортом.


  1. Mingun
    26.06.2016 16:03
    +13

    Заголовок не соответствует содержанию: ни слова о том, как же всё-таки этот эмулятор работает.


    1. vvzvlad
      26.06.2016 16:11
      +6

      Так marks же.


    1. tUUtiKKi13
      27.06.2016 07:33
      +3

      Очевидно, рендерит объекты игры минимум на 3 плоскости: задник, игровое поле и пол. Добавляет параллакс. Добавляет тени от игрового слоя на близкий задник.
      В некоторых случаях дорисовывает/искажает спрайты (как с кубиками и трубами в марио).
      Смотрите видео, в видео всё показано.


      1. Mingun
        27.06.2016 18:53
        -1

        Совсем не очевидно. Как определяется, что это задник, игровое поле? Как понимает, какие спрайты надо искажать и как, какие алгоритмы/эвристики используются? От статьи с заголовком «как работает» я жду именно это.


        1. Rastishka
          27.06.2016 19:33

          Совсем очевидно. Набор спрайтов небольшой и уникальный внутри игры.

          Соответственно алгоритм примерно такой:
          1) Сканируем экран, ищем и распознаем спрайты
          2) В распознанных положениях рисуем 3д объект с учетом настроек модели, текстурирования, глубины (настройка есть в видео)

          Что не понятно то?


  1. carcass
    26.06.2016 16:47

    Версии, работающей без браузера не будет? Очень хотелось бы поддержку геймпадов.


    1. marks
      26.06.2016 16:48

      Геймпады поддерживаются десктопной Windows-версией.


  1. hzs
    26.06.2016 21:22
    -3

    Гуляли с семьёй сегодня, зашли в зоомагазин, а рядом магазин Игромания, и два больших прилавка с самыми известными играми для NES.
    В общем, жена сделала мне подарок, купила два картриджа: Русалочку и вторых Утиных историй :0))
    Так что в попу эмуляторы, только приставка и только на ЭЛТ телевизоре!


    1. iol77
      27.06.2016 00:44

      С ЭЛТ нынче бывает проблема, но на 42 ЖК очень с удовольствием с парнями раз в месяц собираемся и играем в Генерала Хаоса, правда на сеге.


      1. hzs
        27.06.2016 08:16

        Ну, тех же уток пострелять можно только на ЭЛТ.


        1. markmariner
          27.06.2016 11:03

          В NES, я так понимаю, можно поиграть на современном телевизоре: там утка заливается белым квадратом при нажатии на спусковой крючок, а фон становится чёрным.

          https://geektimes.ru/post/24274/


          1. sup
            27.06.2016 13:47
            -1

            Нельзя. Первая проблема — LCD не успевает отрисовать черный экран и белый прямоугольник. Проблема номер два — яркости LCD может не хватить. Третья проблема — задержка при отрисовке, игра ждёт отклика очень короткий промежуток времени…


          1. sup
            27.06.2016 21:58

            Один минусующий теоретик? :) Уже написаны утилиты, теми кто думал, что увеличением времени ожидания в игре можно что-то исправить. Но проблема не только в задержке, но и в длине волны на которую реагирует сенсор, и в том, что телевизор не рисует сканлайнами, а выводит кадр, при этом, в зависимости от настроек, этот черный кадр может отфильтроваться. Думаю, что единственный способ играть в уток на современном телевизоре, это сделать более умный пистолет делающий снимок и распознающий цели в центре кадра. Видел так же вариант, в котором пистолет являлся мышкой, управляющей курсором в эмуляторе.


        1. Stirliz85
          28.06.2016 12:47

          Почему это? ЖК как-то по-другому мигать будет? Или это требование к «атмосферности»?


          1. hzs
            28.06.2016 13:04

            Да, на ЭЛТ мигает экран лучём развёртки трубки, что и ловит световой пистолет, то есть это экран стреляет в пистолет, а не наоборот. На современных телевизорах пистолет от NES работать никак не будет.


            1. Stirliz85
              29.06.2016 05:07
              +1

              Хм. Просвятился. Синхронизация с разверткой была не на всех приставках. На моем клоне Денди мигал экран целиком, на ЖК телевизоре мы уток стреляли. Настоящей NES у меня никогда не было.


              1. hzs
                29.06.2016 07:42

                А что за клон такой, что он умеет уток с ЖК?


                1. Stirliz85
                  29.06.2016 08:54

                  Вообще возможно там была плазма, а не ЖК, но я думаю это не принципиально. Вот буквально пару лет назад нарыл ее в тумбочке под телевизором в деревне у тестя. Приставка была типа Dendy Junior или что-то очень похожее.


                  1. sup
                    29.06.2016 10:40

                    На плазме это ещё могло как-то работать, хоть и не всегда правильно. на ЖК — нет.


                    1. Stirliz85
                      30.06.2016 07:34

                      Правильно у меня оно и в босоногом детстве на ЭЛТ не работало :(


      1. Deranged
        27.06.2016 19:07

        Во! А я все никак не мог вспомнить, как оно называется. Спасибо.


  1. agriiii
    27.06.2016 06:25

    Надо к такой штуке подключать нейронные сети и масштабировать под монитор — тогда еще интереснее будет. А еще я бы поиграл в танчики, но чтоб смотреть можно было с поворотом камеры, как в GTA.


  1. Null_Exception
    28.06.2016 12:46

    Как они это в Unity запилили?! UI Unity ни с чем не перепутаю)


  1. thatisme
    28.06.2016 12:47
    +1

    «Как работает 3D эмулятор 8-битных NES игр?»

    Я так и не понял, как работает 3D эмулятор 8-битных NES игр?


  1. dartraiden
    28.06.2016 18:37

    Эмулятор стал donationware. Теперь, можно заплатить столько, сколько считаешь нужным (или не платить вовсе)