Игра «LAND» для ДВК-3. Реинкарнация под Windows



В далеком 1988 году, будучи шестиклассником, я впервые познакомился с компьютером. Тем, кто не знает ─ это был ДВК-3М с интегрированным черно-белым дисплеем и двумя пятидюймовыми дисководами. Но сейчас не о нём. Мое первое знакомство состоялось с играми от ASP corp. ─ тройке ребят-программистов, которые специализовались на компьютерах семейства ДВК.

Какие-то предприимчивые люди установили в нашей школе пару ДВК-3М и закрепили тариф в 1 советский рубль за 1 игровой час. Мы экономили на обедах, а кое-кто клянчил деньги у родителей, чтобы поиграть после уроков в Звездный патруль, Тетрис, Зону, Cat, Garden, Sheriff и конечно же LAND! С тех пор я испытываю сентиментальные чувства ко всему связанному с теми играми и компьютерами, прямо как Джон Коннор к Терминатору первой модели.

Особенной популярностью пользовалась игра LAND. Это был такой себе вариант Lode Runner, но мы были в восторге! Прошло много лет, эти компьютеры безнадежно устарели и перестали встречаться в природе, но ностальгические чувства периодически давали о себе знать и появлялось желание вспомнить детство и поиграть.

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

Идея сделать Windows версию меня посещала достаточно давно и неоднократно, но все как-то не доходили руки. В итоге я твердо решил воплотить задуманное в жизнь и, первое что сделал ─ я попытался связаться с авторами игры, в надежде раздобыть хотя бы спрайты и тайминги всех актеров. Мне удалось связаться с хабраюзером Александром Гречишкиным, автором игры, но, к сожалению, никаких исходников не сохранилось. Игра была написана в 1986 году на ассемблере, поэтому даже наличие исходников мне врядли помогло бы. Хочу предупредить заранее, что далее я не буду глубоко вдаваться в технические детали.

Немного поразмыслив, я принял решение снимать скриншоты с эмулятора УКНЦ (совместимый с ДВК советский микрокомпьютер), самостоятельно резать спрайты и переносить уровни игры вручную, отрисовывая их в текстовом редакторе.

В качестве платформы для разработки игры был выбран XNA framework 4.0. Не секрет, что Microsoft отказался от дальнейшего развития этого фреймворка, но его open source реализация MonoGame живет и процветает. От себя добавлю, что несмотря на некоторые незначительные ошибки в MonoGame, я за 10 минут успешно перевел проект с XNA на MonoGame. Так же XNA оказался очень простой и понятной штукой, что касается 2D.

Скриншоты с эмулятора я обрабатывал в Photoshop, увеличивая нарезанный материал в 2 раза. Проект содержит 2 набора одинаковых спрайтов, под белый и черный фон, как было сделано в оригинальной игре.

Карты локаций представляют из себя массив 50 x 16 знакомест. Все карты хранятся в текстовых файлах и, при необходимости, могут быть отредактированы в текстовом редакторе с шрифтом фиксированной ширины. Так же я добавил возможность самостоятельно генерировать свои наборы карт и подключать их к игре. Для этого нужно создать свой банк карт в папке Content/Maps и наполнить картами по шаблону из файла map.template, который лежит там же. Игра включает 2 набора карт от оригинальных игр, которые встречаются в интернете.

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

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

Управление простое, как во всех подобных играх:
  • Клавиши управления курсором — движение героя;
  • Z,X — выстрел влево и вправо;
  • Q — начать игру с начала;
  • R — начать уровень с начала с потерей одной жизни;
  • ; — следующий уровень;
  • F10 — переключиться на следующий набор карт;
  • F12 — игра в полный экран;

Видео гемплея


Исходники можно найти на github или скачать инсталятор с собранной игрой (к исходникам прошу сильно не придираться, писалось Just4Fun).

Ну, а теперь приглашаю всех ностальгировать вместе со мной.
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

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

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

    +6
    Подумал: «Инсталлятор? Зачем?», но всё таки скачал и запустил.
    Дошел в инсталляторе до предложения скачать-установить .NET Framework 4.0 и XNA 4.0 — закрыл, расстроился.
      +1
      А какая у вас ОС? XNA — понятно, его по умолчанию нигде нет :) А .NET 4?
        0
        На моем нетбуке из виндов нормально идёт только XP, к сожалению.
          0
          Уверены? Пишу из соображений, что могу помочь, ибо у меня есть нетбук Eee PC 904 HD ( www.asus.com/Eee_Family/Eee_PC_904HD/specifications, CPU — ark.intel.com/ru/products/27157/Intel-Celeron-M-Processor-ULV-353-512K-Cache-900-MHz-400-MHz-FSB, чипсет — www.intel.com/content/www/us/en/chipsets/mainstream-chipsets/mobile-chipset-915gm.html ) и он чудесно работает под Win7, единственное относительно проблемное место — видеодрова, их пришлось ставить в режиме совместимости с WinXP (это логично они XPDM и 2007 года), Так вот Аэро и ускорение интерфейса ОС разумеется не работает, но всё остальное работает чудесно, даже в Chrome включаются многие фичи с ускорением, сглаживанием, видео и т.д, при включении флажка Переопределение списка программного рендеринга ( chrome://flags/#ignore-gpu-blacklist ).

          p.s: на удивление 7ка на этой железке работает, мягко говоря, живее, чем XP. Более новые версии ОС на эту железку уже не встанут, ибо для них уже безальтернативно нужен WDDM видеодрайвер. С Linux на этой железке вообще работать не возможно, ибо есть единственный закрытый видеодрайвер, и он откровенно сырой.
            0
            В общем-то да, уверен, спасибо за беспокойство.
            У меня Atom 1.6, памяти было не помню сколько, сейчас 2Гб.
            Пытался перейти на 7-ку дважды.
            Первый раз (до увеличения объема памяти) установил все дрова, поотключал все красивости и излишества в системе, но увидел сырые видео-дрова (в частности, очень сильно тормозил консольный вывод — putty/cmd) и откатился обратно на XP.
            Второй раз (после увеличения памяти) стало немного получше, но всеравно видео тормозило при быстрой прокрутке в консолях. Ну и никакого ускорения в 7-ке по сравнению с XP я не заметил, даже скорее наоборот.
            На линуксы тоже пробовал переходить, но в конечном счёте под линуксовые задачи завел себе WD MBL, а ежедневные посиделки мне под виндами всё таки удобнее совершать.
      +1
      Спасибо поностальгировал. Играл сие на Корвете
        +1
        Аналог Йети для Вектор-06Ц. Только там AI был чуток лучше — 2 противника не сливались в 1 как здесь 90% времени.
          +2
          Сейчас можно любой AI прикрутить. Ведь задача была попытаться максимально воссоздать оригинальную игру.
          0
          Монтезума на Правцах

          image
            0
            Так вот как она выглядит без этих зелёных оттенков.
            +1
            А на БК-0010 эту игру называли KLAD (КЛАД).
            image
            Ссылка в тему Клад
              +1
              Не совсем, на БК был порт вышеописанной игры с тем же названием.

              0
              Здорово! Мое знакомство с компьютерами начиналось с ДВК-2 в 89 г. Особенно запомнилась Зона. Позже искал и все безуспешно :(
              Тот еще рогалик: комариная плешь, ведьмин студень… Ммммм…
              Под впечатлением прочел позже «Пикник на обочине».
              Хорошие времена были.
                  0
                  Искал лет 5 назад, тогда еще не было. Вот спасибо большое щас буду ностальгировать!!!
                    0
                    Посмотрел. Нет это не то абсолютно. Та была рогаликом именно.
                      0
                      Я уже давно ищу, но вот эта ссылка — первая с упоминанием квеста с названием «Зона» и в реалиях Пикника. Согласен был бы хоть на исходники, хоть на бинарник для ДВК, но никаких упоминаний, увы.
                        0
                        Я тоже играл в Зону. Вот что нашел. Здесь она зовется STALKER.SAV.
                        Там же ссылка на эмулятор и образ с дискетой.
                          0
                          Сам давно искал порт Зоны на ПК или эмулятор ДВК с игрой.
                          Сегодня со злости ломанулся в сеть искать ZONE с ДВК.
                          И почти сразу нашел эмулятор и образы дисков с играми.

                          www.old-games.ru/forum/showthread.php?t=35776

                          Поставил, запустил, поиграл!
                          Просто супер! Ностальгия… Сердце бешено колотится…
                            0
                            Нашел более простой вариант — всё в одном флаконе.

                            uknc.narod.ru/DSK/em_stalk.rar

                            Эмулятор EM и диск с играми.
                            Для запуска используйте батник и имя файла game.dsk в качестве параметра.
                            Запуск игры Run EM1:stalk

                            Благодарности принимаю в виде жертв и слитками золота :)
                            0
                            Нашел ещё www.worldofspectrum.org/infoseekid.cgi?id=0013068 — игра под spectrum)
                              0
                          +2
                          Если не ошибаюсь, на спектруме была еще Lode Runner.
                            0
                            Если честно, я помню ДВК-2М и ДВК-3 (без «М»)… Не покажете, где отличия «М» почитать?
                              0
                              Процессорами. ДВК-3 имел КМ1801ВМ2, а ДВК-3М — КМ1801ВМ3.
                              0
                              любимая игра на нашем школьном укнц! спасибо, всплакнул )
                              0
                              Прослезился. Играл в неё на Немиге
                                0
                                Слушайте, а правда, как пройти 13 уровень? Вот этот сундук собрать.


                                Я не помню, бегать быстрее пули можно или нет?
                                  0
                                  По-идее слить биомассу, пробивать стену и прыгать на него свеху.
                                    0
                                    пробивается стенка между 2м и 3м сундуком. падать будешь — соберёшь второй.
                                    как собрать третий?
                                      0
                                      Вы правы, видимо баг карты от создателя :(
                                        0
                                        Утверждают, что оно всё решаемо…
                                        К тому же, у меня ощущение, что оно проходимо, по воспоминаниям.
                                        Но, возможно, проходимо через ";"…
                                          0
                                          дальний сундук не достать (
                                            0
                                            А если пробить стенку справа, времени не хватит добежать налево понизу?
                                              0
                                              Справа стена капитальная — непробиваемая.
                                                0
                                                Тогда за такое надо чайником.
                                                Или даже канделябром…
                                    0
                                    ооо! что мне прислали, это обязательно надо опубликовать для потомков :)

                                    Про это: habrahabr.ru/post/223387 — не надо никого канделябром: видимо в «реинкарнации» тайминги неверные. В оригинале это проходилось так:
                                    1) пробивалась первая стена и верхняя «лава» стекала на её место, так, чтобы можно было бегать по верху. При этом оставалось 5 сегментов стены.
                                    2) собирались все сундуки, кроме отмеченного
                                    3) с лестницы пробивались 4 из 5 сегментов стены
                                    4) перед самым зарастанием 4-х сегментов (вроде они зарастали попарно: вначале первые 2, потом следующий), пробивался последний, пятый
                                    5) самое интересное: сверху, по заросшим 4 сегментам, надо подойти к зарастающему 5-му, дождаться последней стадии перед заростанием и за мгновение до него спрыгнуть и «зарасти» в этом 5-м сегменте на уровне отмеченного сундука. Теперь он берется просто движением вправо — персонаж даже не продвинется, но сундук будет взят.
                                    6) разбиваем стенку слева, падаем вниз и вперед к открытой двери!
                                    И да, это было не очевидно, и спросить тогда было не у кого… Было время… Ну и бегать быстрее пули было нельзя, если что.

                                    © RT-11SJ

                                    Я совершенно забыл эти два момента, да, которые позволяли решить — зарастание в оригинале шло парами (это важно) и да, можно было «вморозиться» в полустенку.
                                      0
                                      Тайминги можно подобрать, исходники лежат на гитхабе.
                                    0
                                    > Немного поразмыслив, я принял решение снимать скриншоты с эмулятора УКНЦ
                                    Прикольно.
                                    Ещё круче было бы используя эмулятор (исходники имеются) собрать трассу выполнения, восстановить логику и сделать полный и точный порт.

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

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