История создания сетевой игры на ZX Spectrum


    Quake на эмуляторе без второго подключенного ZX Spectrum

    Первая полноценная сетевая игра на ZX Spectrum. Работает она на двух любых клонах speccy 48kb памяти и более, с наличием сопроцессора AY-3-8910 или YM2149F. Поскольку мало кто знает, что на speccy можно было делать такие вещи немного приоткрою тайну создания этой игры.

    В 2003 году летним днем, разгребая свежую папку скаченного. Я Наткнулся на новый номер AlcoNews #17, там находилась интересная статья про соединение двух Спектрумов через AY-3-8910 что самое главное была она очень простая 3 проводка и два Спектрума. В то время Bugsy как раз занимался modding`ом speccy. По такому стечению обстоятельств мы сразу решили сделать эту доработку на своих zs scorpion 256kb.

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

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

    Был написан драйвер, который мог сам определять, кем он является Master`ом или Slave`ом на котором запущенна передача, также была сделана полная синхронизация и передачи байтов. Причем можно было включать на одном компьютере turbo режим, а на втором нет. Передача проходила все равно успешно. Вызов драйвера был сделан очень просто. Тот же ldir только в место него вызов функции драйвера. Тогда же я попробовал передавать блоки памяти, Спектрумовский экран передавался быстрее, чем на магнитофоне.

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

    Сначала была попытка сделать игру лабиринт, где надо было добежать до выхода быстрее соперника. Но мне показалось, что это будет слишком просто. Как раз в это же время я играл Quake 3 arena. И идея пришла сама собой, почему бы не сделать Quake в 2D (Сейчас эта идея крайне популярна, делать популярные игры в 2D на мобильные устройства). В игре оказались почти все интересные фичи настоящего Quake выбор skin`ов, карты, а также лимитов раунда. В игре, кстати сказать, передаться все время по 3 байта на каждый компьютер: X,Y и действие игрока.

    Тогда хотелось, чтобы игру увидели как можно больше народу, поэтому системные требование были самые минимальные ZX Spectrum 48kb и AY-3-8910 сопроцессор. Но, к сожалению, на реальных Спектрумах ее так ни кто и не видел, а в эмуляторе естественно такое не поддерживалось.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 23

      +5
      Эх..., на ностальгию пробило.
        +2
        А я и не отходил от Спеки, играю регулярно в игрушки, к сожалению теперь на эмуляторе только
        (FlyShark, Spooked, NetherEarth, Pyjamarama) даже на бейсике (да и на асме) бывает пишу…
        image
          +3
          BTW, есть вполне годный порт NetherEarth под Win32/OSX/Linux: zxforum.ru/showthread.php?t=116
          Сам время от времени играю, когда на ностальгию пробивает
            0
            Если бы ещё такой порт для Elite сделать…
          0
          Можно всегда запустить эмулятор, хотя того «теплового лампового» настроения конечно не будет. Эмуляторы и игры можно всегда скачать на сайтах Virtual TR-DOS и World of Spectrum
          +1
          классно. жаль не поиграть
            0
            Увы. Только на двух реальных ZX Spectrum с минимальной конфигурацией.
            +4
            Это, конечно, не LAN, а «прямое кабельное соединение» как через нульмодемный кабель (в старкрафт так играли).
            Но тем не менее впечатляет. А нельзя на видеокамеру (или фотоаппарат с режимом записи видео) записать игру с двумя игроками?
              0
              К сожалению, нет возможности записать видео поскольку, нет двух рабочих ZX Spectrum.
                +2
                Можно допилить приставочку на ENC28J60+AVR для получения полноценной сетевой карты для этой игрухи.
                +2
                Можно просто через магнитофонный провод соединить (тоже 3 провода)
                  +1
                  Да, ностальгия)

                  P.S. была версия Laser Squad для игры через модем
                    0
                    Такая адаптация игры есть, но она такая же пошаговая, как и оригинал.
                    +1
                    Клево, я бы с удовольствием сыграл бы в Quake 2D по сети, вне зависимости от технологии (например, на флеше) есть такое? Если нет, чем не идея для новой разработки? Ваш пост прекрасен, но слишком уж для узкой ниши пользователей. Гемплей я правда по-другому представляю для квейка 2д
                      0
                      quakelive.com
                      в 3d, извините :-)
                      0
                      Самая лучшая реализация 2D Action shooter называется Soldat. Ознакомиться можно на этом сайте http://soldat.thd.vg/en/
                    • НЛО прилетело и опубликовало эту надпись здесь
                        +7
                        Странно называть эту игру, вышедшую в 2003, «первой сетевой».

                        В то время как полновесный The Last Battle был выпущен в 1997г, и являлся далеко не первой «сетевой» игрой.



                        (Были ещё и двупользовательские версии «Laser Squad» и «Lord of Chaos»).
                          +2
                          Случайно сьело слово RealTime. Все выше перечисленное пошаговые стратегии и это были адаптации версии данных игр. Тут речь идет о первой RealTime action игре.

                          Небольшое отсупление.
                          Quake был создан, для обкатки технологии передачи данных, для полноценной real time strategy к компьютеру ZX Spectrum, это был клон Z.
                          Передача данных осуществлялась по такой же технологии. Полноценный чат во время игры. Скорость игры равная первому Черному ворону, кстати, в игре могут быть микро лаги, в связи с тем если произошли потери пакетов или один из компьютеров не верно обработал информацию, тогда игра замораживается на некоторое время и производиться дополнительная синхронизация данных, но это уже отдельная статья.

                          Первый уровень игры Z на PC
                          Первый уровень игры Z на ZX Spectrum
                          P.S. Ссылки кабельные.
                            +2
                            Фигасе Z на спекки ы!!!

                            ЧВ помнится во время скрола экрана зависал, так что сетевая игра там была невозможна в принципе без существенных переработок движка.
                              0
                              На самом деле экран обновляется в любом случае, так что такой проблемы быть не должно.
                                +1
                                Не, я не про обновление экрана, а про то что вся движуха (юниты и динамические обьекты) останавливаются во время скролла.

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

                        Самое читаемое