[#] Bolder Dash с БК0010–01
hugeping(ping,1) — All
2020-09-08 18:49:46


Мне повезло, программировать я начал в лет 13, когда у нас в стране появились доступные компьютеры. Я был счастливым обладателем машины под названием БК0010–01. Конечно, сейчас даже стыдно озвучивать её характеристики. Но главное — на этом можно было программировать! Вообще, в каком то смысле было проще. В то время всё было просто. Железо — простое. Программы — простые. Сегодня, между человеком и машиной столько слоёв абстракции, что пробиться сквозь них очень тяжело. А в то время, ты мог программировать прямо в машинных кодах. Или вообще, на листке бумаги… Аналоговый мир впервые встретился с цифровым. (Кстати, успех таких проектов как PICO-8 или TIC-80 объясняется, как мне кажется, попыткой снова придать программированию простоту и радость творчества, которую у нас забрали.)

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



Конечно, я тогда не мог знать, что Bolder Dash не самобытная игра на БК. Игра поразила меня своей сложностью. В то время я едва смог пройти несколько уровней, но не оставлял попыток пройти игру дальше.

Интересно, что потом, когда у меня появился уже x86 компьютер и я познакомился с разными вариантами Bolder Dash, я каждый раз был разочарован. Да, в этих играх человечек тоже толкал камни в разные стороны, но… Игра была абсолютно иной! В ней не было интеллектуальности! Скорее, рутинные уровни. Тяжёлое впечатление, словно ты играешь в sudoku или разгадываешь кроссворд. Каждый раз я с теплом вспоминал болдера с “бэкашки”…

В одной из версий INSTEAD, я добавил возможность создавать простые 2-D игры. Вот тогда (или чуть позже) я и вспомнил про Bolder Dash.

Мне хотелось сделать не просто клон, а точную копию игры. Поэтому, я вооружился дизассемблером PDP-11 и… Начал реверсить код.

Кстати, в то время я уже знал, что автор игры на БК (Мелентьев А.В.) был вдохновлён игрой Bolder Dash на Atari. Но он не играл в неё, а просто видел. После этого, он по памяти написал свою реализацию. Как здорово, что он не скопировал оригинал, и получилась совершенно новая игра!

Реверс кода PDP-11 оказался приятной и несложной задачей, буквально за несколько дней я воссоздал оригинальный алгоритм на Lua. С некоторыми улучшениями. :) Интересно, но я обратил внимание на тот факт, что функции часто начинались с “красивых” адресов, а между блоками кода часто были пропуски. Тогда я не мог этого понять, но ответ оказался простым! Игра писалась непосредственно в машинных кодах! Без использования ассемблера!

Кстати, вот так выглядит первый уровень игры в Lua реализации.

--$Name:STANDARD
--$Name(ru):СТАНДАРТ
maps = {
-- 0
"################",
"#+@@@@@@@@@@@@@#",
"#::::::@@::::::#",
"#::::::@@::::::#",
"#::::::@@::::::#",
"#:::@@@@@@@@:::#",
"#:::@::::::@:::#",
"#:::@: $$ :@:::#",
"#:::@: $$ :@:::#",
"#:::@: $$ :@:::#",
"#::##########::#",
"#::    %     ::#",
"#::          ::#",
"#::@@@@$$@@@@::#",
"#::::::::::::::#",
"################",

Ещё несколько дней, и болдер даш заработал на INSTEAD!

Когда я рассказывал об игре знакомым и говорил, что это “Болдер Даш”, всегда происходил эффект ложного узнавания. Люди думали, что понимают о чём идёт речь, и это мешало. Так как этот “Болдер” совершенно самобытная игра. Поэтому, я назвал игру “Miner Bold”.

Прямо сейчас, вы можете поиграть в Miner Bold. А я пока продолжу.

Так в чём же уникальность гнёмплея этой игры, по сравнению с оригинальным Bolder Dash, которого мы все знаем?

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

В физике тоже есть нюансы. Например, вы можете толкать камни вверх. А также, делать это на лету… В некоторых ситуациях… :) В некоторых ситуациях, можно даже “пугать” врагов. Конечно, эта механика следствие очень простого кода, но и она придаёт игре свой шарм.

Кроме оригинальных уровней, я добавил библиотеку дополнительных лабиринтов. Игра пишет демки успешных прохождений, которыми можно потом обмениваться (Пишутся они в каталог с сейвами). Если не нажимать на кнопки при старте, то игра покажет уже записанные демки. Также запустить демку можно кнопочкой “d” из меню выбора уровня (предварительно записав демку или взяв ее у товарища и подложив в каталог с игрой).

В игру можно играть на Android с помощью жестов. Только играйте двумя руками одновременно, тогда управление становится не хуже клавиатурного. Проверено мной и сыном, игра проходима. :)
Всем БКшникам — привет! :)

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

[#] Re: Bolder Dash с БК0010–01
boscholeg(ping,5) — hugeping
2020-09-10 08:32:36


ЗАВИСТЬ!!! Ужасная зависть меня обуревает!
Не был обладателем ни БК ни Спеки. Компьютеры видал только в игровом зале и на кружке в школе. БКшку и и еще Искру в школе толком не давали использовать они были скорее для красоты. На БК можно было писать программы, но сохранять в память их учитель не разрешал. Я хранил программы написанные на бейсике в общей тетрадке. Каждое занятие начиналось с того, что я начинал забивать программу по новой.
Мне удалось добраться до компьютера уже только в 1994 и это уже был 486. Отец увидал мое стремление и решил, что этому стоит содействовать. Но игры он считал пустой тратой времени и поэтому играл я крайне редко. Ситуация изменилась лишь когда я освоился и начал меняться программами с друзьями и знакомыми. Таскал собой 2-3 пачки дискет. А потом я получил CD привод и купил первый сборник игрушек Classic Games #5.....
Так что, твоя игрушка мне в новинку, как и большинство других старых игр. Обязательно попробую поиграться и сыну покажу.
P.S. Edited: 2020-09-10 08:32:25

[#] Re: Bolder Dash с БК0010–01
hugeping(ping,1) — boscholeg
2020-09-10 09:11:55


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

Да, помню такая же штука была. Писал игру. Поиграли. Выключили - всё. :)

> Обязательно попробую поиграться и сыну покажу.

Там есть встроенный спрятанный редактор. На компе кажется нажать E в момент выбора уровня или в самом уровне. А на андроиде, какая-то хитрая комбинация касаний. :) У меня сын делал уровни с интересом и давал мне проходить. Ещё игра пишет демки прохождений.

[#] Re: Bolder Dash с БК0010–01
artur(ping,3) — hugeping
2020-09-11 18:05:21


А вот про редактор уровней не знал!
Таки полезно читать обсуждения=)
На мобилках кстати очень удобно играть. Надо побаловаться с редактором уровней...