Спидран — способ быстрого прохождения игр. Обычно при этом не используются обычные читы или коды. Но разрешено использовать глюки игр вроде возможности выбраться за пределы основного экрана и идти поверх всех уровней. Приверженцы такого способа прохождения игр показывают иногда просто удивительные результаты. К примеру, Doom 2 некоторые умельцы проходят за пару десятков минут.

Особая любовь у спидраннеров — к Super Mario. Человек может пройти Super Mario для 8-битной приставки примерно за 6 минут. Два года назад появилось новое направление — спидран с роботом. Здесь уже практически не используются секреты игры, речь идет о прохождении всех уровней специальной компьютерной системой. Она не нажимает на кнопки, а подключается прямо к порту игрового контроллера. На днях такая система поставила новый рекорд прохождения игры — все уровни удалось пройти менее, чем за секунду.

В чем секрет робота? В новой системе работает дифференциальная импульсно-кодовая модуляция NES. Одноразрядный поток данных используется для проигрывая элементарных аудио-сэмплов из некоторых игр, включая Super Mario Bros. 3.



Как оказалось, в аппаратном обеспечении NES есть небольшой баг, который приводит к тому, что считывание данных такого канала приводит к тому, что СPU иногда выполняет дополнительную операцию чтения с одного из каналов ввода данных (контроллеров). Результат — нажатие на кнопку регистрируется, хотя нажатия не было. В текущей игре разработчики заставили свою систему опрашивать канал ввода данных контроллера несколько раз за кадр игры.

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

Через несколько фреймов игра переходит к той области памяти, где сохранены данные по нажатию кнопок контроллера. Робот-спидраннер вводит в эту область код перехода на финальную заставку игры. И все это — менее, чем за секунду.

Система, о которой идет речь, получила название micro500. Она умеет эмулировать нажатия на кнопку контроллера со скоростью 7984 операций в секунду. Понятно, человек на это не способен. Пока что речь идет только об использовании micro500 для Super Mario Bros. 3. Другая игра, например, Zelda II: the Adventures of Link уже содержит в коде инструкции по выходу из цикла.



Самое интересное то, что этот рекорд является официальным. Создатели компьютерной системы, использующей баг в аппаратном обеспечении приставки, не модифицируют память приставки напрямую. Все, что они делают — эксплуатируют особенность «железа», позволяющую выполнить сторонний код. И все это они делают, используя лишь контроллер — вернее, его аппаратную эмуляцию в виде системы собственной разработки. Правда, сообщество спидраннеров разделилось. Одни считают, что все корректно. Вторые, в целом, согласны с этим, но утверждают, что это неинтересно, поскольку компьютерная система такого типа портит все удовольствие.
А как вы считаете, можно ли засчитать этот рекорд?

Проголосовало 1924 человека. Воздержалось 283 человека.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Поделиться с друзьями
-->

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


  1. WanderVlad
    14.07.2016 10:15
    +4

    Конечно, придумка интересная. Но я всё же думаю, что результат не стоит сравнивать с «ручным» прохождением.

    Автору: мб стоит опрос прикрутить, глянуть, кто что думает?


    1. marks
      14.07.2016 10:19

      Да, согласен. Добавил опрос.


    1. brzsmg
      14.07.2016 10:27
      +6

      Я думал сравнивают рекорды не с ручным прохождением, а прохождением с помощью «компьютерной системы».

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


    1. FireSol
      14.07.2016 10:31
      +1

      Так с ручным никто и не сравнивает, тк TAS(Tool-assisted speedrun) является отдельной категорией, у них отдельные таблицы рекордов, которые никак не пересакаются с обычными ранами. Плюс сами по себе TAS крайне полезны для коммьюнити, тк иногда они позволяют найти стратегии, которые потом повторяются обычными игроками.
      Как пример Super Mario World 0 Exit Credits Warp
      www.twitch.tv/sethbling/v/64033764


  1. temonix
    14.07.2016 11:11
    +7

    У вас видео в статье продолжительностью 1:49:21. А можно момент, где проходится с помощью этой штуки? Я не хочу все просматривать.


    1. ivan386
      14.07.2016 11:29
      +1

      74 минута или 1ч 14минут


  1. DracoL1ch
    14.07.2016 11:12

    Никакое сообщество спидранеров не «делилось» и не спорило. Есть TAS (tools assisted speedrun), где скрипты и прочие надстройки в каждом моменте. Это вполне легитимный вид прохождений. О «чистоте» спорят люди, далекие от культуры спидранов в целом, фанаты же в восторге.


    1. swelf
      14.07.2016 11:54
      +3

      из вики
      >> Идея TAS заключается в том, чтобы превзойти ограничения человеческой реакции и способностей игрока ради достижения теоретических пределов игры, то есть границ реальных возможностей игрового движка

      и я с этим согласен, а то что описывают в статье, никак не достижения пределов движка, а использование бага железки. Да еще и немного бессмысленное.


      1. FireSol
        14.07.2016 12:07

        Русскоязычный вариант немного неточен. Задача TAS ранов показать результаты которые не зависят от физических способностей человека, что и демонстрируется в приведенном ролике.


        1. swelf
          14.07.2016 12:25
          +5

          да в англ тоже самое)

          >>The idea is not to make gameplay easy with such «tools», but rather to produce a demonstration of gameplay pushed to the limit that would be theoretically possible where human limitations in skill and reflex were not an issue.

          в любом случае, как уже многие тут заметили, в игре часто можно перескочить на титры из меню, это тоже спидран?


          1. tmin10
            14.07.2016 12:31
            +4

            Собственно самого рана-то и не было, а был телепорт.


          1. FireSol
            14.07.2016 12:45
            +1

            Как раз-таки не тоже самое, разница между ограничениями движка и физическими возможностями игрока огромна. В данном случае человек просто не способен нажимать на кнопки с со скоростью где-то 6000 нажатий в секунду, бот позволил обойти это ограничение, результат в видео.
            Если перескок к титрам требует выполнения определенного алгоритма действий(за исключением ввода читкодов), не важно в меню это или нет, то вполне себе засчитывается за ран, только он будет относится к отдельной категории типа 0% или «warp to credit»


            1. QWhisper
              14.07.2016 14:43
              +2

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


              1. FireSol
                14.07.2016 15:06
                +1

                Тогда это уже была бы совершенно другая категория, не относящаяся к «warp to credit»


            1. Darth_Malok
              15.07.2016 15:30

              Так использовался не баг движка, а баг консоли. Это всё равно, что найти какой-нибудь глючный клон x86 процессора, который при быстрых нажатиях клавиши пишет данные прям в оперативку, запустить на этом процессоре doom и пройти его за секунду.


          1. AVL93
            14.07.2016 13:17
            +6

            > but rather to produce a demonstration of gameplay
            > gameplay
            Вот геймплея в этом варианте то и нет.


    1. Deosis
      14.07.2016 12:28

      В данном случае игре устроили DDoS.
      Все равно что ударить молотком в катридж, чтобы его замкнуло и выкинуло на титры.


      1. zagayevskiy
        14.07.2016 16:57
        +3

        По-моему, просто DoS :)


  1. tmin10
    14.07.2016 11:49
    +5

    Хм, как я понял, этот робот не эмулирует прохождение (для чего потребовалось бы анализ картинки на экране), а используя хак, делает переход сразу на финальную сцену? Но это же не прохождение игры в прямом смысле. Аналогично можно было бы сразу запустить титры в любой игре и назвать это прохождением, хотя самой игры-то мы и не увидели...


    1. selezian
      14.07.2016 12:28

      А нужен ли анализ картинки на экране для прохождения Марио, или положение врагов всегда одинаково и все команды можно просто заскриптовать?


      1. tmin10
        14.07.2016 12:29

        Не подумал об этом. Ну тогда да, нужен набор команд, проигрываемый на скорости. Вот это будет прохождением, а не телепорт в конец сразу.


        1. Trosp
          14.07.2016 18:15

          В prince of percia(2д) была возможность не бежать за мечом, а обойти охранника и перейти на следующий уровень. По сути тоже телепорт в конец.


          1. tmin10
            14.07.2016 22:25

            Всё равно принцу надо нажимать на педали, прыгать и бегать, а потом выпить нужную буковку. Прохождение было, просто чуть более лёгкое, чем обычно.


            1. Trosp
              15.07.2016 10:49

              Тут проблема песчинки и кучи. В какой момент можно сказать, что прохождение уже не «чуть более легкое», а никакое.


          1. robert_ayrapetyan
            15.07.2016 00:32
            +2

            Даже в начале второго уровня так же можно обойти охранника, скинув его в яму. А вот с третьим охранником (наверху) уже облом… Долго пытался его перепрыгнуть.
            p.s. Кто ж знал что меч берется Ctrl-ом (или шифтом), запретили нажимать все кнопки, кроме стрелок, что б не «испортить компьютер».


      1. AFakeman
        14.07.2016 12:58

        TAS так и делается вроде.


    1. ariksu
      14.07.2016 12:56
      +2

      «скипы» считаются легитимными в спидранах. Но вообще статья не полна без упоминания вот этого рекорда (другого супермарио, но зато без использования сторонних утилит) www.youtube.com/watch?v=ZHQaYc8OwlA


      1. mihmantis
        15.07.2016 15:31

        Очень крутая штука на самом деле, писать пэйлоад с помощью панцирей от куп.
        Тот же хак, но с наглядным разбором в самом видео.
        youtu.be/vAHXK2wut_I


    1. Tinavie
      14.07.2016 14:53
      +2

      В спидранах прохождением является показ финальных титров, для многих игр есть отдельные категории Any%, Low%, 100%, Glitchless и прочие (включая комбинации). В частности, есть отдельная категория спидранов (не только Tool-Assisted, но и выполняемая людьми) связанная с модификацией памяти игровыми средствами, такие раны даже проходят с завязанными глазами (в ютюбе pokemon blindfolded). Все это является «законным» в рамках этой категории.


      1. master_of_mastery
        14.07.2016 15:03

        связанная с модификацией памяти игровыми средствами, такие раны даже проходят с завязанными глазами (в ютюбе pokemon blindfolded)


        На этом SGDQ, кстати, была пройдена пройдена Castlevania: Symphony of the Night с завязанным глазами, без гличей и манипуляций с памятью, на тру концовку.


        1. Vehona
          14.07.2016 16:53

          Игроку, правда, пришлось в паре мест просить комментаторов описать, где он находится, после того, как его геймпад решил добавить «изюминку» в игровой процесс, умертвив одну из кнопок, из-за чего играющий минут 15 пытался понять, почему у него не удается проследовать дальше по запланированному пути.


  1. lingvo
    14.07.2016 12:28
    -1

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


    1. tmin10
      14.07.2016 12:30
      +2

      Думаю в них изначально при конструировании заложен низкий процент побед, как например у автоматов с захватом игрушки манипулятором, там просто манипулятор слабо держит и сам выпускает игрушку.


      1. huhen
        14.07.2016 14:53
        +1

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


  1. master_of_mastery
    14.07.2016 12:38

    Засчитать, но выделить в отдельную категорию ТАСов.


  1. river-fall
    14.07.2016 12:49

    уже было :)
    AVGN invented the Beat-A-Game button


  1. Hunde
    14.07.2016 13:21

    Зато это помогает делать шоу.


    1. Hunde
      14.07.2016 14:43
      +3


      1. kneeze
        14.07.2016 15:08

        В игре достаточно интересная система распознавания символов.
        Вот ещё пример (админы сайта просят не давать прямые ссылки на видео)
        http://tasvideos.org/1734M.html


  1. Vanger13
    14.07.2016 14:58

    Лучше бы написали что за мероприятие такое — GDQ. По мне очень крутая задумка. Хотя редакторы не пишут, а только копируют :\


    1. FireSol
      14.07.2016 15:07
      +1

      GDQ — это два благотворительных спидран марафона, зимний Awesome Games Done Quick и летний Summer Games Done Quick.


  1. perfect_genius
    14.07.2016 15:53

    Интересно, а как дела обстоят с другими играми при помощи этого «бага»…


  1. madf
    14.07.2016 18:21
    +1

    прохождением игры считается: выполнение всех временных рамок, действий задуманные разработчиком, если используются баги, то это уже не имеет никакого отношение к игре
    если бы железка играла вместо человека (как сборка кубика-рубика), то это было бы прохождение


    1. Stalker_RED
      14.07.2016 18:47
      +3

      Как это, выполнение всех действий, задуманных разработчиком? Если в локации есть 100 сундуков с сокровищами, обязательно нужно найти все? Если существует короткий путь, им нельзя пользоваться?
      У speedrun'а есть подвиды, в том числе с использованием багов.
      Один из подвидов спидрана — Tool-assisted speedrun (TAS), позволяет использовать программные и аппаратные средства для ускорения прохождения. Один из подвидов TAS позволяет эмулировать игровой контроллер, и именно о такой эмуляции эта статья.


      1. madf
        14.07.2016 18:57
        +1

        в игре есть динамика (прыжки, ходьба, бег) — вот используя их и оптимизируя движения/уклонение (с постреливанием) — проходим игру
        я довольно понятно суть описал, зачем так извращать… да… да… системным блоком можно колоть орехи и что… и "СPU иногда выполняет дополнительную операцию чтения с одного из каналов ввода данных" — не является коротким путём


    1. Lure
      14.07.2016 19:56
      +1

      >> прохождением игры считается:

      Довольно безапелляционно. Кем считается? Всемирной палатой мер и весов? Играют люди как хотят и где хотят. И это не запрещено, если не нарушает закон. Вот у кого-то есть СВОЁ определение прохождения, они его так установили в своём сообществе, и в него такой способ нормально укладывается.


    1. FireSol
      15.07.2016 10:12

      https://www.youtube.com/watch?v=5NeR-bT3uv0
      Вот этот ран можно назвать прохождением или нет?


  1. Lockal
    14.07.2016 20:31

    Пользуясь случаем, хочу попросить все speedrun-сайты зарегистрировать за мной рекорды по прохождению всех игр на ПК за полминуты. Алгоритм прохождения: нажать ctrl+tab, запустить интерпретатор а-ля powershell, заменить в сейве или ресурсах игры пару байтов, чтобы при перезапуске игры или загрузке сейва вывалился эндинг. И не подумайте ничего плохого! Я всего лишь использую баг контроллера «клавиатура», позволяющий CPU выполнять различного рода операции.


    1. 3lnc
      15.07.2016 00:35

      Подозреваю, вы пропустили часть про «Самое интересное то, что этот рекорд является официальным. Создатели компьютерной системы, использующей баг в аппаратном обеспечении приставки, не модифицируют память приставки напрямую»


    1. master_of_mastery
      15.07.2016 09:54
      +1

      запустить интерпретатор а-ля powershell, заменить в сейве или ресурсах игры пару байтов


      Не, так не пойдет, сделаешь как этот парень (редактирует память изнутри игры, без сторонних средств) — приходи.


      1. swelf
        15.07.2016 10:08

        Если акцент делать на «хакнули память при помощи геймпада» это уже по другому воспринимается, но тут время не сильно играет роли.


  1. justiq
    15.07.2016 00:36
    +2

    Категорий под тас нет, все это делается для фана.
    А хомячки потом бомбят с читов, как продллжается уже какой год с хл21 (хоть это и не тас)


    1. ksil
      15.07.2016 13:03

      хл21 — это что?


      1. justiq
        15.07.2016 19:48

        https://www.youtube.com/watch?v=VtI5HM7GVGY


  1. TigerHawk
    15.07.2016 15:29

    Интересно, конечно, но в качестве именно «прохождения» игры выглядит примерно так:
    www.youtube.com/watch?v=RN0-QHZnvKk