- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

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

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

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

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

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

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

Управление простое, как во всех подобных играх:

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

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

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

Ну, а теперь приглашаю всех ностальгировать вместе со мной.

Автор: semack

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/60211

Ссылки в тексте:

[1] ДВК-3М: http://upload.wikimedia.org/wikipedia/commons/b/b0/DVK3WIKI.JPG

[2] ASP corp.: http://www.old-games.ru/articles/53651.html

[3] семейства ДВК: http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%81

[4] Александром Гречишкиным: http://habrahabr.ru/users/sgrec/

[5] эмулятора УКНЦ: http://www.old-games.ru/forum/showthread.php?t=50279

[6] github: https://github.com/semack/land

[7] инсталятор: https://drive.google.com/file/d/0B-Q6m5TBZaSrSzAzeDk5WjNFLWM/edit

[8] Источник: http://habrahabr.ru/post/223387/