Lode Runner по мотивам версии с СССР-овского БК-0010

icon_32.png

Недавно оказался я в необычной для себя ситуации, когда времени заниматься крупным проектом нет, а больше делать нечего. Маленько побездельничав и быстро поняв, что так я «со скуки помру», я решил переделать какую-нибудь старую игру из времен моей юности. Выбор мой пал на Lode Runner, в который я когда-то играл на сгинувшем ныне в веках СССР-овском серийном компьютере БК-0010. Именно эта версия Lode Runner-а мне очень нравилась своими правилами. Главный герой должен был собрать все сокровища на уровне, после этого открывался «портал» и нужно было войти в него для перехода на следующий уровень. Выполнению поставленной задачи активно мешались «охранники», которые гонялись за главным героем. Но в версии с БК-0010 главный герой мог пробивать дырки в кирпичном полу прямо под своим местоположением во время перемещения. Охранники туда падали и некоторое время находились в «пойманном» состоянии, а в это время можно было «бегать им по головам».

Версия на ZX-Spectrum, которую я когда-то тоже видел, позволяла также делать дыры в полу, но они делались справа или слева от местоположения главного героя, что полностью меняло все правила игры. В общем вариант для БК-0010 в моих глазах однозначно победил, да и я примерно помнил логику, по которой перемещались «охранники», что, с одной стороны, очень упрощало задачу, а с другой, наоборот, усложняло, так как повторять чужой, если можно так выразиться, AI, всегда очень скрупулезное занятие.

Оригинал игры, который мне предстояло переделать выглядел так:

loderunner_bk.jpg

За основу разработки я взял свою «оболочку», которая делалась мною для RTS Onimod Land / Земля онимодов. Оболочка проектировалась так, чтобы не быть «завязанной» на одну ОС. Поэтому у меня сразу была бонусная задача попробовать выполнить портирование Lode Runner-а на Linux и Mac OS, чего ранее я никогда не делал. Самое главное, что есть у оболочки — это GUI, т.е. она может своим внешним видом напоминать Windows:

ol_wrap.jpg

Но, естественно, что для игр я использовал другую тему оформления.

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

Вообще вся работа с графикой у меня происходит максимально просто — в памяти создается поверхность, на которой строится изображение, а потом эта поверхность копируется на текстуру DirectX или OpenGL, а далее эта текстура просто выводится на экран.

С момента начала работы и до момента, когда у меня уже был вполне играбельный прототип прошло около недели. Естественно, что вся графика в тот момент была «заглушечная», но сама игра вполне функционировала. К счастью, моему другу Константину, который умеет рисовать, эта игра понравилась (он ведь тоже когда-то играл в неё на БК-0010) и за пару не очень трезвых ночей нам удалось полностью создать текущее оформление. Хотя... создавал, конечно, он, а я играл роль «критика».

Наш вариант выглядит так:

loderunner.jpg

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

screen5.png

Еще примерно неделя ушла на то, чтобы сделать портирование игры на Linux и Mac OS. Для этого я установил виртуальную машину Fedora-64. В неё установил Code::Blocks и перетащил туда исходный проект с Visual Studio. Чтобы еще упростить себе жизнь, я взял SDL. Главное для чего он мне был нужен — это универсально создать окно и вывести в него текстуру. Также через SDL идет работа с мышью и клавиатурой.

Так как оказалось, что Code::Blocks существует и для Mac OS тоже, то я решил не менять эту среду. Правда, на Mac OS в моем случае отладчик не работал, поэтому для отладки я выводил сообщения в консоль. В моем распоряжении был далеко не новый Mac с установленной операционкой Lion. На нем всё это и было проделано.

Полученные результаты лично меня вполне устроили. Я давно не делал всякой мелочёвки, у которой огромный плюс в том, что она не успевает надоесть пока её успеваешь закончить. Как авторы мы сами с удовольствием «вспомнили детство золотое» и поиграли в собственное творение. Даже добавили новые уровни в конце. Портирование позволило мне доработать оболочку, чтобы в будущем, если я когда-нибудь захочу еще поделать мелкие игры, у меня уже всё было готово для кроссплатформенности.

Если будут желающие «заценить» данное произведение, то я записал небольшое видео на тему того, как правильно играть в мой Lode Runner: Видео на youtube
Совет по игре: чтобы дырявить пол лучше удерживать пробел, а не барабанить по нему.


Разработчики:
- Программирование: Алексей Седов (он же Odin_KG, он же студия Astralax)
- Графика: Константин Иванов
Платформы: Windows, Linux, Mac OS
Ссылка на страницу с игрой: Lode Runner