Вход

Просмотр полной версии : Ломаем Boulder Dash



atmavan
25.03.2021, 13:42
Ссылка на редактор последней версии: http://fight.pp.ua/zxpk/bdash/


https://www.youtube.com/watch?v=Kxl-PEIUkCQ&ab_channel=Gumplayer

Привет, друзья.

Так сложилось что Boulder Dash стал игрой-спутником моей жизни.

Время от времени играю в нее, либо делаю ее с нуля на одном или другом языке, даже на Юнити.

Недавно решил разобраться именно с той старой спектрумовской версией игры, с которой собственно все началось.

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

Первое что пришло в голову - ну наверное объекты хранятся в игре в форме таблички(массива) объектов, где они прописаны строчками один за другим в виде байтов.

Написал программу которая ищет паттерны. Ну там например знаю что на первом уровне есть какой-то участок (dirt, space, space, boulder, dirt) Ну и пишу паттерн 10021, и ищу своей программой. Никак ничего не находит!!! Программа сама по себе рабочая, она действительно находит последовательности байт соответствующие моему образцу.

Блин, думаю, что-то здесь не чисто.

Копал рыл гугл и нарыл очень интересную информацию, которая помогла мне сделать для себя массу интересных открытий. Если Вы любите эту игру и не знали о том, что я скажу, то Вам будет тоже интересно.

Оказывается уровни игры создаются очень хитрым образом. Все уровни 100 штук(20*5) записаны всего в 1657 байтах.

Гениально!

Посчитайте сколько реально понадобилось бы если хранить так, как я хотел по байту на объект:
40*22*20*5 = 88000 байт! И это только на хранение объектов, а там есть еще информации немного помимо этого (сколько нужно собрать алмазов, время и т.д.)

Нету в Спектруме столько памяти (говорим про классику 48 кб)

А записываются все построения из объектов в виде неких "макросов" типа:
прямоугольник из кирпичей залитый пустотой с началом в (4,7) и размером (10,10)
и на это добро уходит 6 байт вместо например 100 байт. Неплохой выигрыш!

И это еще не все.

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

Но кто бы мог подумать что рассыпанные камни по уровню тоже не хранятся "по одному"!!!

Для этого игра использует свой собственной псевдогенератор случайных чисел, при чем четко предсказуемый и аппаратно-независимый, что позволяет иметь те же результаты (уровни игры) при каждом запуске игры и даже на разных платформах

Это меня убило полностью.

Я все время в детстве думал: ну какая же умная голова так интересно разместила препятствия на уровне.
А никто сильно и не парился - максимум подобрал нужных два параметра: seed(измеряется числом от 0 до 255) и probabiliy (измеряется числом от 0 до 255) Первое меняет уникальное расположение (как бы меняет точку отсчета для алгоритма генерации случайных чисел) а второе число меняет интенсивность, при нуле - ничего не попадет на экран, при 255 - максимум.

Теперь понимаете как легко создать новые сложности для существующих уникальных уровней!?

Уменьшаем время на прохождение и настраиваем генератор!

Копаясь дальше с Boulder Dash I
я точно определил где все это находится и меняя эти параметры я могу видеть изменения при запуске игры (в любом эмуляторе)

То есть если еще поменять спрайты (попроще задача) - то можно выдать новые версии игры, ну хотя бы даже просто по приколу.

Однако все же я столкнулся с одной маленькой, но ключевой проблемой, которую я пока решить не могу.
Может кто-то опытный из вас может подсказать или помочь.

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

Это значит что все мои изменения не должны "вылазить" за размеры уже "определенного" блока. Он может быть таким же или меньшим по размеру, что в принципе тоже решение!!

Просто в идеале хотелось бы снять это ограничение если это возможно.

Сразу после того маленького куска непонятного кода идет куча свободного места (сплошные 0x00) где есть место развернуться фантазии.
Я подумал, а можно как-то перенести мои данные туда!? и где-то в игре переназначить адрес, чтобы брало данные из нового места. Хотя звучит вполне логично, я даже вроде нашел где фигурирует адрес начало моего блока, который встретился мне один раз во всей игре.

Я поменял его на новый, там в новом месте разместил данные, правда только первый уровень. И это не заработало, игра сбросилась при запуске первого уровня..

Что-то я недосмотрел. Еще есть вариант запулить туда все уровни сразу, но не уверен, что это поможет. По крайней мере пока что я не могу это сделать "автоматически", так как первый уровень я занес в ручную по байту в дизассемблере.

Пока остается вариант нарисовать уровни в пределах выделенного фрагмента 1657 байт, при чем в середине блока все достаточно гибко, там просто разделители (0xFF) между уровнями, а в середин уровней - все тоже очень гибко.. То есть размеры уровней в байтах можно уменьшать и увеличивать как хочешь, главное чтобы общая сумма не залезла за 1657

Вот такие дела..
Есть мысли?

Спасибо за внимание

Оригинал:
http://fight.pp.ua/zxpk/BoulderDash1.png

Программно восоздано мною по тем же данным (Javascript)
http://fight.pp.ua/zxpk/BoulderDash1my.jpg

Bedazzle
25.03.2021, 15:37
Речь именно про первый BD ?
Какой-то редактор есть, по идее, его можно тоже поковырять.
https://spectrumcomputing.co.uk/entry/650/ZX-Spectrum/Boulder_Dash_Construction_Kit

goodboy
25.03.2021, 15:47
сразу после этого участка данных сразу располагается другой хоть и не большой но какой-то конечно же используемый кусок, то ли кода то ли данных.
а данные этого куска (начальный адрес,размер) мы должны понять интуитивно ?
и крайне желательно ссылку на версию игры.
их точно было несколько (чем отличаются не вникал, но код скомпилен по разным адресам)
ну и свободной памяти там действительно много.
например игра занимает 24064,24000
хотя после старта какие-то небольшие куски выше 48064 размещаются

Bedazzle
25.03.2021, 18:27
подсказка от cержа ))

Игру до самых потрохов разбирали уже, или что?

JeRrS
25.03.2021, 18:29
В свое время тоже жаждил как-то "преобразить" давно полюбившуюся игру. Ничего умнее чем подменить спрайты с B.D.Kit я не придумал) было увлекательно и занимательно. Скачать можно отсюда (https://vtrd.in/gamez/b/BD14_J.zip)

jerri
25.03.2021, 18:33
Игру до самых потрохов разбирали уже, или что?

Гдето даже видел описание от автора вроде. Интервью там было.

goodboy
25.03.2021, 19:28
"я начал играть с основными элементами грязи, камней и драгоценностей и в течение нескольких дней построил базовый «физический движок» того, что должно было стать Boulder Dash. Я понял, что с помощью генератора случайных чисел можно создавать случайные пещеры, и что, контролируя плотность камней и драгоценных камней, можно получить интересную игру. Игра была интересна не только с точки зрения головоломки, но и затрагивала различные эмоциональные побуждения - не только очевидные психотические, такие как жадность (сбор драгоценностей), деструктивность (выбрасывание камней и убийство светлячков), но и более невротические, такие как очистка всего грязь из пещеры.И я думаю, что в игре было чувство юмора - если вы обнаружите, что кто-то непреднамеренно давит себя под выбитым валуном, забавно.

CLR
25.03.2021, 19:30
Откройте для себя версию для Atari - в сборнике Homesoft этих модифицированных боулдердашей с тоннами уровней буквально сотни. Не говоря уже о том, что версия для Atari намного плавнее.

Bedazzle
25.03.2021, 19:36
Откройте для себя версию для Atari

Спасибо, но к примеру, для меня Earth shacker круче Boulder dash.
Но ведь мы говорим именно о ZX версии, зачем тут Atari?

goodboy
25.03.2021, 21:13
#7B4B ld hl,#B843 ; те самые загадочные данные - это маршрут движения в ДемоРежиме
#7662 ld hl,#B883 ; DataMusic

Гаррий
25.03.2021, 21:54
Господа! Я ни одного детектива не читал с бОльшим интересом, чем эту тему про мою любимую игру на спектруме! Сорри за офтоп, не мог смолчать))))

Внимательно слежу за ходом расследования!

ace210
25.03.2021, 23:40
Гениально!


1) Тоже люблю эту игру. Теперь понятно, почему на каком то то ли 3-м то ли 5-м уровне была непроходимая комната (как сейчас помню, там был квадрат заткнутый булыжником).

2) По поводу генерации, как то наткнулся на статью, где указывалось про числа. К примеру число Пи 3.14 имеет нескончаемую последовательность чиселок. Так вот эта последовательность, ведь тоже данные! Однако их никто не хранит, а они вычисляются на лету. И в той статье, кажется говорилось, а вот представим, что эта последовательность чисел кодируем, к примеру фильм в mpeg формате. Получается Целый фильм может занимать всего несколько байт, а не 2Гигабайта если знаешь формулу как эту последовательность получить!

OMu4
26.03.2021, 14:26
В свое время тоже жаждил как-то "преобразить" давно полюбившуюся игру. Ничего умнее чем подменить спрайты с B.D.Kit я не придумал) было увлекательно и занимательно. Скачать можно отсюда (https://vtrd.in/gamez/b/BD14_J.zip)

Вроде же и 5-7 была? Или опять склероз?((

Andrew771
26.03.2021, 14:53
2) По поводу генерации, как то наткнулся на статью, где указывалось про числа. К примеру число Пи 3.14 имеет нескончаемую последовательность чиселок. Так вот эта последовательность, ведь тоже данные! Однако их никто не хранит, а они вычисляются на лету. И в той статье, кажется говорилось, а вот представим, что эта последовательность чисел кодируем, к примеру фильм в mpeg формате. Получается Целый фильм может занимать всего несколько байт, а не 2Гигабайта если знаешь формулу как эту последовательность получить!
Полином Лагранжа - в студию! :)

JeRrS
26.03.2021, 16:46
OMu4, Да точно, вот здесь они (https://vtrd.in/remix/BDASH5-7.zip)

zebest
29.03.2021, 12:19
Еще пару слов про БолдерДаш. На форуме SC автор под ником PeteProdge (https://spectrumcomputing.co.uk/forums/memberlist.php?mode=viewprofile&u=70) собрал список всех даш-подобных игр на спектруме:



list now has 39 tangible ZX Spectrum games associated with Boulder Dash...

20 Tons by Spectrum Computing
Bite The Dust by John Armstrong/Crash
Boulder Dash by Front Runner
Boulder Dash II: Rockford's Riot by Monolith
Boulder Dash (VBG version) by Romborsoft
Boulder Dash Classic Collection by Triumph Game Labs
Boulder Dash 2 Classic Collection by Triumph Game Labs
Boulder Dash III by American Action AB
Boulder Dash IV Construction Kit by Databyte
Boulder Dash 5 by Too Trek Moscow SNG
Boulder Dash 6 by Too Trek Moscow SNG
Boulder Mix by Firesoft
Boulder Dash 512B by krt17
CBG Rockfall by C&VG
Diamond Man by AVG Records
Diamond Man by Shuric Program
Dizzy Dash by Artice
Double Dash by Proxima Software
Down To Earth by Firebird
Earth Shaker by Michael Batty/Your Sinclair
Flash Beer Trilogy by Weird Science Software
Humanoid by Shock Software
Icicle Works by State Soft
Lost Caves by Players Premier
Megaplex by Cronosoft
Mine Worker by Firestarter
Repton by Alligate
Repton 2 by Alligata
Reptron Mania by
Riptoff by Rick O'Neill/Your Sinclair
Rock 'n' Roll by Neil Anthony Balharrie/Your Sinclair
Rockfall by Top Ten Software
Rockfall by Ian Collier/Crash
Rockfall II by Ian Collier/Crash
Rockford by Mastertronic Added Dimension
Rockman by Mastertronic
Supaplex by Flymansoft
Supaplex by Triumph Game Labs
Survivors by Atlantis
ZX Digger 1 by Alexej Reznik


зы - несмотря на все богатство выбора, моя любовь на всю жизнь - Supaplex for DOS :v2_dizzy_roll:

goodboy
29.03.2021, 12:59
всех даш-подобных игр на спектруме
HellMaster забыта https://spectrumcomputing.co.uk/entry/12867/ZX-Spectrum/Hell_Master

https://spectrumcomputing.co.uk/SCRtoImage.php?SCR=/conv_scr/h/HellMaster.scr&border=0

ultra
29.03.2021, 13:07
Automated Cave Explorer, Tourmaline из новодела.

atmavan
29.03.2021, 14:20
Исправьте "Diamond Man by Shuric Program" на "Diamond Mine by Shuric Program"
"Reptron Mania by" на "Repton Mania by"

- - - Добавлено - - -


Еще пару слов про БолдерДаш. На форуме SC автор под ником PeteProdge (https://spectrumcomputing.co.uk/forums/memberlist.php?mode=viewprofile&u=70) собрал список всех даш-подобных игр на спектруме:



list now has 39 tangible ZX Spectrum games associated with Boulder Dash...

20 Tons by Spectrum Computing
Bite The Dust by John Armstrong/Crash
Boulder Dash by Front Runner
Boulder Dash II: Rockford's Riot by Monolith
Boulder Dash (VBG version) by Romborsoft
Boulder Dash Classic Collection by Triumph Game Labs
Boulder Dash 2 Classic Collection by Triumph Game Labs
Boulder Dash III by American Action AB
Boulder Dash IV Construction Kit by Databyte
Boulder Dash 5 by Too Trek Moscow SNG
Boulder Dash 6 by Too Trek Moscow SNG
Boulder Mix by Firesoft
Boulder Dash 512B by krt17
CBG Rockfall by C&VG
Diamond Man by AVG Records
Diamond Man by Shuric Program
Dizzy Dash by Artice
Double Dash by Proxima Software
Down To Earth by Firebird
Earth Shaker by Michael Batty/Your Sinclair
Flash Beer Trilogy by Weird Science Software
Humanoid by Shock Software
Icicle Works by State Soft
Lost Caves by Players Premier
Megaplex by Cronosoft
Mine Worker by Firestarter
Repton by Alligate
Repton 2 by Alligata
Reptron Mania by
Riptoff by Rick O'Neill/Your Sinclair
Rock 'n' Roll by Neil Anthony Balharrie/Your Sinclair
Rockfall by Top Ten Software
Rockfall by Ian Collier/Crash
Rockfall II by Ian Collier/Crash
Rockford by Mastertronic Added Dimension
Rockman by Mastertronic
Supaplex by Flymansoft
Supaplex by Triumph Game Labs
Survivors by Atlantis
ZX Digger 1 by Alexej Reznik


зы - несмотря на все богатство выбора, моя любовь на всю жизнь - Supaplex for DOS :v2_dizzy_roll:

Oleg N. Cher
29.03.2021, 23:18
А Supaplex на Спектрум разве не был портирован?

Bedazzle
29.03.2021, 23:52
А Supaplex на Спектрум разве не был портирован?

Третий и четвёртый снизу в длинном списке, что запостили пару комментов назад.

atmavan
30.03.2021, 12:43
В итоге я решился в очередной раз писать Болдер, в этот раз на Javascript, начал с базовых элементов:

http://fight.pp.ua/zxpk/bdash/

Гаррий
30.03.2021, 13:18
atmavan, +1 за оригинальные спрайты )

Тоже когда-то начинал (на закончил) писать порт булдера под винду, на DDraw. В WinXP работал точно. Щас на Win10 попробовал запустить - тормозит капец ))))) Прогресс, мать его....

atmavan
30.03.2021, 14:54
atmavan, +1 за оригинальные спрайты )

Тоже когда-то начинал (на закончил) писать порт булдера под винду (https://yadi.sk/d/PswN2GHj_l34LQ), на DDraw. В WinXP работал точно. Щас на Win10 попробовал запустить - тормозит капец ))))) Прогресс, мать его....


Хотел попробовать запустить, но побоялся..
https://fight.pp.ua/screenshots/shot_2021-03-30_22-51-05.jpg

- - - Добавлено - - -

Добавил самые базовые возможности редактирования уровня на лету, слева в углу всплывает панель, дальше будет больше
http://fight.pp.ua/zxpk/bdash/

Гаррий
30.03.2021, 14:57
Хотел попробовать запустить, но побоялся..
https://fight.pp.ua/screenshots/shot_2021-03-30_22-51-05.jpg


Да не может быть! Писано и скомпилировано на C++ Builder, откуда туда вирусы могли попасть?? мой трендмикро и нод32 не ругаются ни на что.

Могу исходники выложить. Перекомпилируете сами.

atmavan
30.03.2021, 15:27
добавлено больше объектов на палитру, теперь можно добавлять даже множество Рокфордов

Dexus
30.03.2021, 18:45
В свое время (очень давно) отреверсил BD (1-5), а позже попытался ремейкнуть на OpenGL, в 2003м году дело было. Ремейкнул не до конца.
С тех пор все на том же уровне. Самое трудное было - это сделать динамику гибридной, чтобы была и с "фреймами", и в то же время плавной, и контролсы все воспринимались как надо (чтобы по диагонали можно было удобно бегать)
https://volutar.myds.me/bd.zip

Гаррий
30.03.2021, 19:38
atmavan, странно, что онлайн антивирусы действительно что-то находят. А локальные мои оба два - нет.

Придётся вспоминать, на чем писал, ставить и перекомпилировать.

Black Cat / Era CG
30.03.2021, 22:30
Про кнопку огонь забывать не стоит, без нее сложно.

В итоге я решился в очередной раз писать Болдер, в этот раз на Javascript, начал с базовых элементов:

atmavan
31.03.2021, 02:00
Про кнопку огонь забывать не стоит, без нее сложно.

спасибо, сделаю обязательно

подбираюсь к редактированию первый уровней стандартной игры.
http://fight.pp.ua/zxpk/bdash/

Bedazzle
31.03.2021, 19:05
В свое время (очень давно) отреверсил BD (1-5)

Отреверсил в каком плане?

- - - Добавлено - - -


спасибо, сделаю обязательно

подбираюсь к редактированию первый уровней стандартной игры.
http://fight.pp.ua/zxpk/bdash/

Редактор уровней проще использовать готовое решение.
Например, https://www.mapeditor.org/

atmavan
01.04.2021, 03:14
Редактор уровней проще использовать готовое решение.
Например, https://www.mapeditor.org/

Прекрасный инструмент, но совершенно не для моего случая.

- - - Добавлено - - -

вот и засверкали первые алмазы, дальше - больше...
вот и амеба появилась...
а вот уже и все 20 уровней, и все шевелятся, буду дальше шлифовать механику объектов, а потом уже и уровни будем редтакировать позволять...
вот и жуки зашевелились.

здесь можно увидеть все уровни на одном экране: http://fight.pp.ua/zxpk/bdash_all/

добавлены описания всех уровней, написанный нативным болдер-даш шрифтом

atmavan
02.04.2021, 16:21
Эх, ребятки, все хорошо получалось до того момента, на котором немножко застрял.
Можете сами попробовать:
http://fight.pp.ua/zxpk/bdash/

Выпадающими меню снизу и ползунками меняем плотность любого объекта на любом уровне.
Всего может быть 4 случайно расположенных группы объектов.

Меняем как нам надо, нажимем "Экспорт", сохраняем снапшот файл на комп, открываем в любом ZX-Spectrum эмуляторе. Вуаля! Имеем новые уровни!

Пока проблемка в том, что некоторые объекты на некоторых уровнях почему становятся невидимыми, хотя они там есть и работают как надо. Как будто они нарисованы черным по черному..

Я знаю что в каждом уровне отведены три байта на цвета:
$13 Background colour 1
$14 Background colour 2
$15 Foreground colour

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

$16 unused
$17 unused

По-видимому, этим хакерам еще не удалось просто понять, КАК они используются, потому что похоже они используются.
И единственным пока способом остается метод "научного тыка", то есть экспериментально..

Ну а дальше, будем менять неслучайные объекты на уровне.
Пока от идеи Javascript игры я отказываюсь в пользу изначальной идеи просто редактора уровней с экспортом ром-файла, который можно играть на любом Спектрум-эмуляторе.
В такой идее куда больше смысла, чем просто повторить то, что уже есть, но на джаваскрипт, причем воссоздать точно 100% оригинальную игровую механику не есть тривиальная задача, а если она не будет совпадать на все 100% с оригиналом, то мало смысла в таком редакторе. Пока доделаем редактор, а там посмотрим. Попробуйте поизменять данные, поэкспортировать, поиграть.

Ну и согласитесь, вы всегда хотели собрать здесь все алмазы:
https://fight.pp.ua/screenshots/shot_2021-04-03_00-28-49.jpg

теперь наконец-то такая возможность есть...

goodboy
02.04.2021, 17:36
вот ещё разбор игры с с64 https://codeincomplete.com/articles/javascript-boulderdash/
но похоже JAVAверсию запретили размещать из-за копирайтов
"current copyright owners won’t let me host my version of BoulderDash on this site"

- - - Добавлено - - -


в разных источниках в интернете я нахожу что следующие два байта не используются:
$16 unused
$17 unused
По-видимому, этим хакерам еще не удалось просто понять, КАК они используются, потому что похоже они используются.
И единственным пока способом остается метод "научного тыка", то есть экспериментально..
цвет врагов / цвет алмазов

Dexus
02.04.2021, 21:48
Отреверсил в каком плане?
Всю игровую логику, форматы хранения карт, и bd1 и bd2 - остальные на их основе.

atmavan
03.04.2021, 00:54
вот ещё разбор игры с с64 https://codeincomplete.com/articles/javascript-boulderdash/
но похоже JAVAверсию запретили размещать из-за копирайтов
"current copyright owners won’t let me host my version of BoulderDash on this site"

- - - Добавлено - - -


цвет врагов / цвет алмазов

Спасибо за наводку, с алмазами похоже на правду..
А почему может случиться такое с уровнем 5 когда добавить стену как случайный объект - она становится невидимой:
https://fight.pp.ua/screenshots/shot_2021-04-03_08-52-51.jpg



ага на стену теперь можно было повлиять одним из байтов цветов:
https://fight.pp.ua/screenshots/shot_2021-04-03_08-58-49.jpg

ну все, осталось окончательно разобраться со цветами, и желательно отображать их в редакторе(та еще задача)
Спасибо! буду работать


Отлично! полностью разобрался! путь расчищен!
Вот они байты цветов:
19 - boulders ans steel walls color
20 - dirt color
21 - walls and magic walls color
22 - fireflies and butterflies color
23 - diamonds color

Пока ничто не мешает мне выбрать одну работающую палитру и применить ко всем уровням, пока не разобрался с редактированием и предпросмотром изменений в редакторе.
Goodboy, спасибо.

Все, пока палитра будет такая, взятая из одного из двадцати уровней:

https://fight.pp.ua/screenshots/shot_2021-04-03_09-34-21.jpg

Пока все работает, можно пользоваться:
http://fight.pp.ua/zxpk/bdash/

кстати делать специально некоторые объекты невидимыми может быть неплохой задумкой для некоторых уровней.. нужно будет попробовать..

vlad-kras
03.04.2021, 10:25
В свое время (очень давно) отреверсил BD (1-5), а позже попытался ремейкнуть на OpenGL, в 2003м году дело было. Ремейкнул не до конца.


Всю игровую логику, форматы хранения карт, и bd1 и bd2 - остальные на их основе.

То есть версии 1 и 2 используют разные движки, а остальные различаются только уровнями? Следующие версии - на основе 2го болдера сделаны или все же 1го ?

atmavan
03.04.2021, 16:15
Ну здорово! Теперь мы можем видеть список команд отрисовки пещер, можем их удалять или менять местами простым перетягиванием.
Можем менять "случайность" для всех пещер и уровней.
И да! Порядок команд в отрисовке пещер ИМЕЕТ значение, так как новые объекты частично могут перекрывать старые, и можете понаблюдать, что это свойство очень неплохо использовалось создателем пещер оригинальной игры.

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

http://fight.pp.ua/zxpk/bdash/
https://fight.pp.ua/screenshots/shot_2021-04-04_00-14-50.jpg


Добавлено подсвечивание клеток при выборе комманды!

Kalantaj
03.04.2021, 23:30
Спасибо, но к примеру, для меня Earth shacker круче Boulder dash.

Robus, кстати, ещё очень давно сделал версию игры Earth Shacker с новыми, созданными им уровнями. А так как игра ему ну уж ОЧЕНЬ нравилась на тот момент и любил он головоломки решать, то получилась игра очень сложно проходимой. Он сам говорил, что даже первый уровень довольно сложно пройти, не говоря уже об остальных.
Саму версию игры он не релизил, НО (!) спрятал её в одной из своих музыкальных демок.
Если кому интересно будет - могу эту версию из демки выковырять и сделать отдельной программой.
Если что демка - Sinchronization или как то так.

atmavan
04.04.2021, 01:20
- исправлено подсвечивание незалитого прямоугольника, теперь подсвечивается только контур.
- добавлены все недостающие направления линий объектов, теперь их 8.
- отключена анимация алмазов, жуков и амебы ради лучшей видимости при выделении.
- теперь корректно отображается тип комманд "залитый прямоугольник", указывается каким объектом он залит, а не только из чего состоит периметр прямоугольника.

и да, надо будет обязательно добавить функцию "отмена" или "откат действия"..


https://fight.pp.ua/screenshots/shot_2021-04-04_08-41-08.jpg

atmavan
04.04.2021, 07:24
Спасибо, но к примеру, для меня Earth shacker круче Boulder dash.
Но ведь мы говорим именно о ZX версии, зачем тут Atari?

А я думаю что сравнивать эти игры не совсем корректно, особенно учитывая что чьим клоном называется :)
Я думаю каждый из клонов уникален и интересен по-своему, что Рептон с его огромными обьектами и маленьким полем видимости, что Рокфорд с его змеями и водопроводными кранами, что Риптоф с его яйцами, что Шейкер с его переключением гравитации. Я когда делал свою версию воплотил все это в одном флаконе...

atmavan
04.04.2021, 12:24
Откройте для себя версию для Atari - в сборнике Homesoft этих модифицированных боулдердашей с тоннами уровней буквально сотни. Не говоря уже о том, что версия для Atari намного плавнее.

Обязательно найду сборники и поиграю, на самом деле первый раз я увидел эту игру на Атари, и она там действительно намного эффектнее смотрится, и скроллинг плавнее (и быстрее) и может быть даже клеток на экране больше видно(надо будет проверить), просто к Атари так и некогда не имел непосредственного доступа. Более того, признаюсь, что в глубине души я воспринимал Спектрум-версию как на некую упрощенную пародию Атари-версии, иногда играю в Болдер на Атари-эмуляторах. Но в данном случае речь скорее идет про то, чтобы 1) разобраться как же все-таки устроена эта игра 2) САМОМУ попробовать создать полноценную новую версию игру 3) Дать ДРУГИМ возможность делать это удобным способом. и 4) Теоретически возможно, что этот же редактор можно будет использовать для выдачи клонов под все платформы, где используется похожий формат записи данных уровней. Пока что я вижу что они почти идентичны для Commodore и Спектрум, разница лишь в том, как эти платформы кодируют 5 байт отведенных для цвета. Интересно же!!

atmavan
04.04.2021, 17:51
Ну что ж, проделана огромнейшая работа, и уже можно пробовать клепать свои уровни!
Можно добавлять одиночные объекты, ряды объектов (линии), пустые и залитые прямоугольники.
Ну и можно менять все остальные доступные параметры...
Ух..
В редакторе не добавлена защита от дураков, так что старайтесь не нарушать размеры пещеры при выборе размеров своих линий и прямоугольников, потом добавлю защиту.
Все еще остается:
- менять цвета (уже добавлено!)
- загружать измененный ром-файл для продолжения работы (уже добавлено!)
- отмена команд при редактировании (Undo)
- каким-то образом также подсвечивать пустые клетки (Space) при выделении объекта. (уже добавлено!)
- добавить автоматическую проверку на превышение лимита объектов перед экспортом (я все еще должен входить в 1600 с чем-то байт всеми уровнями) (уже добавлено!)
- возможность менять местами уровни, например чтобы делать тестируемый уровень первым. (уже добавлено! Кнопка "Preview cave" запустит игру с выбранной пещерой как первой)
- ну и может какие еще баги заметите - пишите, будем править. А так все - можно пробовать ваять свои уровни. И я буду пробовать.

Спасибо.
http://fight.pp.ua/zxpk/bdash/

https://fight.pp.ua/screenshots/shot_2021-04-05_01-56-22.jpg

atmavan
08.04.2021, 03:21
Приветствую, требуется помощь экспертов в асме и в болдере одновременно :)
Не знак как так получилось.. Но игра Boulder Dash становится не совсем рабочей если сделать изменения.
Я всегда думал, что проблемы будут, только если я делаю блок данных уровней бОльшим, чем тот, который уже есть в игре.
Но оказывается нет.
Даже если я просто убираю одну длинную стену в первой пещере, то игра норм запускается только на первом уровне, но на других трех уровнях, которые можно выбрать из меню, игра становится слишком искаженной, либо вообще происходит сброс в Бейсик.
Пока даже идеи нету, что я могу нарушить..
Я думал может проблема в изменении общего размера блока, даже если я его уменьшаю..
И я тогда попробовал просто убрать стену на первом уровне, и точно такую же добавить например на уровне М, и все равно глюки и сбросы..
Есть хоть какие-то идеи?
Печально, если не получится решить проблемку.

Спасибо.

Oleg N. Cher
08.04.2021, 04:25
Предположительно размер уровня как-то кодируется. Возможно, даже не в самом уровне, а в таблице, которая содержит адрес каждого уровня.

- - - Добавлено - - -

Или размер уровня. Или какие-то смещения.

atmavan
08.04.2021, 05:47
Предположительно размер уровня как-то кодируется. Возможно, даже не в самом уровне, а в таблице, которая содержит адрес каждого уровня.

- - - Добавлено - - -

Или размер уровня. Или какие-то смещения.

да, с твоим участием я-таки напал на след, мы поняли, что адресса на пещеры хранятся в отдельной табличке:
http://fight.pp.ua/screenshots/shot_2021-04-08_12-11-07.jpg

будем применять к редактору, чтобы выплевывал правильно ром. Продолжение следует.

goodboy
08.04.2021, 13:13
у игры кстати было переиздание и у нас по стране гуляли две версии
https://b.radikal.ru/b40/2104/6a/3deb96d5b4f2.png (https://radikal.ru)https://b.radikal.ru/b05/2104/b2/dc1f96b2b9b5.png (https://radikal.ru)
код явно отличается. что там изменили/поправили/добавили - мне неизвестно
(помню что понял это когда помог найти инфинит на время - poke от одной версии не подходили к другой)
год выпуска указан на титульной картинке и в текстовом сообщении (смотреть с 47363 #B903)

- - - Добавлено - - -


адресса на пещеры хранятся в отдельной табличке:
там несколько мудрёней.
в таблице хранится не адрес начала данных для пещеры, а смещение (с учётом размера предыдущих)

LD HL,ShiftTable ; #00,#31,#8A,#B1 .............
ADD HL,DE
LD E,(HL)
INC HL
LD D,(HL)
LD HL,BaseAddr
ADD HL,DE !!!
LD DE,23552
LD BC,240
LDIR

atmavan
08.04.2021, 13:22
у игры кстати было переиздание и у нас по стране гуляли две версии
https://b.radikal.ru/b40/2104/6a/3deb96d5b4f2.png (https://radikal.ru)https://b.radikal.ru/b05/2104/b2/dc1f96b2b9b5.png (https://radikal.ru)
код явно отличается. что там изменили/поправили/добавили - мне неизвестно
(помню что понял это когда помог найти инфинит на время - poke от одной версии не подходили к другой)
год выпуска указан на титульной картинке и в текстовом сообщении (смотреть с 47363 #B903)

- - - Добавлено - - -


там несколько мудрёней.
в таблице хранится не адрес начала данных для пещеры, а смещение (с учётом размера предыдущих)

LD HL,ShiftTable
ADD HL,DE
LD E,(HL)
INC HL
LD D,(HL)
LD HL,BaseAddr
ADD HL,DE !!!
LD DE,23552
LD BC,240
LDIR

да, да, уже разобрался и все работает, скоро выдам новую рабочую версию редактора (переписанную с нуля)

goodboy
08.04.2021, 13:40
вообще код в игре (мягко говоря) очень странный, например выбор одной и той-же переменной

LD E,(IY-#3C)


LD A,(#5B44)
LD E,A

atmavan
08.04.2021, 15:38
Приветствую, друзья)
Случилось чудо - друг спас друга.
Я написал редактор с нуля чтобы упорядочить все идеи и пожелания в более компактном и самое главное рабочем коде.
Теперь я опишу что умеет этот редактор:

- при запуске все уровни уже построены на основе Boulder Dash I (ZX-Spectrum). Таким образом Вы получаете точку отсчета, образец, который Вы можете полностью поменять под свои нужды
- Вы можете выбирать любую пещеру для просмотра и редактирования (1 из 20) и любой уровень (1 - 5)
- далее Вы настраиваете общие параметры выбранной пещеры:

время (сколько дается для прохождения уровня),

количество алмазов (которые нужно собрать),

базовые и призовые очки за алмазы (призовыми считаются все после собранных необходимых),

время функционирования волшебной стены и время жизни растущей зеленой амебы (используется один и тот же параметр, есть допущение, что они не существуют в одной пещере, но можете пробовать),

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

- затем идут 4 случайных типов объектов в пещере и их плотность.

- затем!! новая фишка.
теперь мы можем менять цвета определенных групп объектов, менять можно как INK(чернила, то есть цвет самого объекта) так и PAPER(бумага, то есть цвет фона за объектом). Использование яркости пока что опустил, используются только 8 цветов.

- Затем идут наши лучшие друзья - комманды.
С их помощью Вы сможете быстрее(а в итоге компактнее для целевой игровой платформы) строить объекты пещер.
Всего есть четыре типа комманд: одиночный объект, линия (ряд одного типа объектов в одном из 8 выбранных направлений), прямоугольник из объектов, и закрашенный прямоугольник(то есть можно сразу заполнить его еще другим видом объектов, отличным от границы прямоугольника)
Для каждой комманды даны слайдеры(ползунки) и выпадающие меню для выбора настройки расположений, ширин, высот, направлений и т.д.

Каждую команду можно удалить просто нажав в углу крестик

Если в левом углу блока команды нажать кнопку ">", то подсветятся все клетки(не всегда клетки=объекты), используемые данной коммандой.

Важной особенностью комманд является их перекрывание одних другими, то есть полностью видно объекты только самой последней комманды, а все, что находятся ниже перекрываются частично верхними.

И порядок уже созданных комманд Вы можете менять просто перетаскивая блоки комманд ухватившись курсором за блок. Попробуйте создать несколько объектов и попробуйте менять порядок, увидите как они могут перекрываться. Откройте например пещеру 10 и попробуйте менять порядок комманд, вы увидите как хитро была создана пещера.

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

- далее Вы можете экспортировать тестовый rom-файл для эмулятора Спектрум. Тестовый - означает то, что в игре будет всего одна пещера(первая) и именно та, которая была выбрана в момент нажатия кнопки экспорта, будет удобно тестировать пещеры в одиночку, так как в оригинальной игре Вы не можете выбрать любую пещеру при старте игры.

- ну и наконец когда Вы полностью счастливы результатом своего труда, можете смело нажимать "EXPORT full SNA", что выдаст вам полностью готовый для игры rom-файл со всеми пещерами и уровнями.

- пока что есть одно ограничение, которое не смертельное, но обойти я его не смог. На все пещеры отведено 1658 байт. Редактор всегда за Вас подсчитывает сколько Вы уже использовали и не даст Вам экспортировать файл с большим размером чем допускается, при этом он Вам укажет сколько байт Вы уже перебрали. Добавляя и убирая комманды Вы меняете общий размер, который не должен превысить 1658 байт. Если есть знатоки, кто может помочь обойти ограничение - буду рад совету.
------------------


Что можно было бы еще сделать, но я пока решил не делать до лучших времен, так как я и так потратил очень много личного времени на этот проект:
- откат изменений. Решил, что сделать будет не просто, а пользы не так уж много, так как все действия простые, и всегда можно создать объект по новой, если Вы его случайно удалите
- проигрывание рома прямо в браузере одним из доступных браузерных эмуляторов. Польза очевидна, но пока не решение.. (а уже добавлено!)
- возможность рисовать и подменять спрайты. Теоретически хороая фича, но работы масса и врядли кто возьмется рисовать новые спрайты, и они будут реально конкуретно способными.
- загрузка SNA-файла для его редактирования. Было бы полезно, однако после тщательного анализа задачи, решил, что пока невыполнимо. (а уже добавлено!)
- чтобы я точно хотел сделать так это экспорт рома не только для Спектрума, но и для Атари и всего остального где похожий или такой же формат хранения данных пещер

Вот так вот.

Благодарность всем кто читает и помогает, особая благодарность Googboy за короткие но уместные советы и Олегу за помощь в мозговом штурме.

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

Аминь. Ом тат сат.
http://fight.pp.ua/zxpk/bdash/

Bedazzle
08.04.2021, 17:10
вообще код в игре (мягко говоря) очень странный, например выбор одной и той-же переменной

Может, писали разные люди без вникания что и как, или копипаста из своего другого проекта, и сроки горят.

- - - Добавлено - - -


пока что есть одно ограничение, которое не смертельное, но обойти я его не смог. На все пещеры отведено 1658 байт.

Скорей всего, тут без дизасма и последующей сборки с новыми адресами, ничего не придумать.
Сборку можно делать либо через ассемблер, либо при помощи патчей всех адресов, которые прописаны жёстко (CALL, JP, адреса таблиц). К сожалению, оба варианта будут заточены под конкретную версию кода, и уж никак не будут работать мультиплатформно.



http://fight.pp.ua/zxpk/bdash/

А редактор опенсорсный, или?

goodboy
09.04.2021, 11:21
при использовании собственных уровней можно попасть в непонятную ситуацию когда начнётся ДемоРежим.
ходы в нём жёстко расписаны и что будет на самодельном уровне хз.
.......
ну и при пересылки данных уровня в буфер число байтов фиксировано.
возможно #00F0 это размер самого большого блока
и при составлении собственного уровня важно не вылезти за этот размер.

atmavan
09.04.2021, 12:32
при использовании собственных уровней можно попасть в непонятную ситуацию когда начнётся ДемоРежим.
ходы в нём жёстко расписаны и что будет на самодельном уровне хз.
.......
ну и при пересылки данных уровня в буфер число байтов фиксировано.
возможно #00F0 это размер самого большого блока
и при составлении собственного уровня важно не вылезти за этот размер.

Ха, интересно. Про это не подумал. Попробую глянуть как он там будет бегать по неведомым дорожкам. Возможно прийдется писать свой демо-режим :) На счет размеров уровней тоже попробую и напишу. Уже стал по-тихоньку смотреть как там с Атари дела обстоят. А там все так да не совсем так, пока что очень непонятная маленькая разница в записи данных пещер, и инфы пока нигде не найти.. Спасибо за подсказки!

atmavan
09.04.2021, 15:21
хаха, да, Рокфорд тупит, пытается проходить только известным прописанным ему способом и убивается :) Ну, по правде говоря, если это только одна проблема, то проблем нет. Как часто мы смотрели эти демо? И это просто прохождение первой пещеры только, как я понял.. Сейчас посмотрю что там с перебором размера уровня..


да, интересно, если одну из пещер делаю 243 байта, то игра виснет, при 240 байтах работает норм..
Откуда эти познания???
Добавлю проверку на превышение этого лимита в редактор.
По моим наблюдениям 240 байт это очень много для описания одной пещеры, тем боле что на одну в среднем припадает 1658/20=83 байта, то есть такая пещера сделает голыми несколько других.. Не полностью конечно голыми, но как минимум без комманд, только со случайными объектами будет.

А вот с Атари такая картинка:
https://fight.pp.ua/screenshots/shot_2021-04-09_22-44-37.jpg

сопоставляю расположение байт пещеры и вижу что некоторые уровни на Атари (в данном случае 5-й) имеет только 3 байта (непонятно как используемых) для описания случайных объектов, в то время как на спектруме для них всегда отводится 8 байт, для этой пещеры они все равны 0, потому что там нет случайных объектов.

Но вот в первой пещере видим, что все точно также как не Спеке - 8 байт с таким же значением: 0, 16, 20, 0, 60, 50, 9, 0
https://fight.pp.ua/screenshots/shot_2021-04-09_22-49-34.jpg

Редактор обновлен, теперь он подсчитывает или Вы не выходите за два лимита: общий(1658 байт) и лимит пещеры (240 байт)
В первом случае отключает кнопку экспорта полного рома, во втором - отключает выбор пещеры.

http://fight.pp.ua/zxpk/bdash/

С демо-режимом похоже разобрался, по крайней мере теоретически. Там отведено для него 64 байта, где прописаны движения Рокфорда, каждый байт означает "на сколько клеток двигаться" + "в каком направлении" либо сколько стоять на месте. То есть можно в принципе записать свой путь прохождения. Правда как по мне, то если бы знал как, вообще бы просто его отключил. Может поищу как :)

atmavan
10.04.2021, 03:15
Добавлена новая кнопка "Скачать карту", выдаст png картинку со всеми уровнями, которые Вы построили.

http://fight.pp.ua/zxpk/bdash/boulder_map.png

atmavan
10.04.2021, 17:01
Теперь карта выглядит аккуратнее и на ней больше информации:

http://fight.pp.ua/zxpk/bdash/map.png

- - - Добавлено - - -

А так выглядит один из импортированных (пока что вручную) клонов Болдера(ZX-American Action B.Dash 3):

http://fight.pp.ua/zxpk/bdash/map1.png

- - - Добавлено - - -

Первая попытка импортировать один из клонов автоматическим способом. Однако почему-то игру не доделали, и в игре только 14 пещер, остальные не работают. Однако карту построить можно. Импорт преполагает что во входящем файле есть 20 уровней.

http://fight.pp.ua/zxpk/bdash/map2.png

- - - Добавлено - - -

добавлена новая кнопка "Импорт SNA", теперь можно импортировать ранее экспортированный файл, чтобы продолжить над ним работу. Иногда удается импортировать другой клон, но пока что крайне редко..

zebest
10.04.2021, 19:08
http://fight.pp.ua/zxpk/bdash/
Запускается в Slimjet, Опере и Файрфоксе.
Но не работает в браузере Хром, последнем 89.0.... Только мне так повезло с Хромом?

atmavan
10.04.2021, 23:55
Запускается в Slimjet, Опере и Файрфоксе.
Но не работает в браузере Хром, последнем 89.0.... Только мне так повезло с Хромом?

https://fight.pp.ua/screenshots/shot_2021-04-11_06-55-01.jpg

Что именно не работает? Какие-то ошибки выдает?
У меня вот такой хром и все ок.
Чем наши хромы могут отличаться? Расширениями? Чем еще?

zebest
11.04.2021, 08:20
У меня вот такой хром и все ок.
Чем наши хромы могут отличаться?
Ровно такой же. Ну полазАл еще в настройках Хромуу. В моем есть проблема при воспроизведении некоторых ю-туб видео, поэтому отключено аппаратное ускорение видео. Ну и вот результат. С отключенным ускорением не открывается сама карта, а кнопочки-ползунки - отображаются. При включении - все отображается, включая карту, ну кроме ютуба, наверное.:) Думаю , тут сАббака и порылась..

atmavan
11.04.2021, 08:26
Ровно такой же. Ну полазАл еще в настройках Хромуу. В моем есть проблема при воспроизведении некоторых ю-туб видео, поэтому отключено аппаратное ускорение видео. Ну и вот результат. С отключенным ускорением не открывается сама карта, а кнопочки-ползунки - отображаются. При включении - все отображается, включая карту, ну кроме ютуба, наверное.:) Думаю , тут сАббака и порылась..

Наверное потому что у меня используется WebGL, а это - аппаратное ускорение. Будем считать Ваш случай как редкое исключение

AER
12.04.2021, 08:16
тоже когдато делал типа болдера на винду
https://i.ibb.co/FHbmc4z/Rick.png
https://cloud.mail.ru/public/2tz3/FCk1Nor2R

zebest
12.04.2021, 12:58
на соседнем форуме голосовалка (https://spectrumcomputing.co.uk/forums/viewtopic.php?f=21&t=4689) за Болдер-ы

atmavan
12.04.2021, 16:51
тоже когдато делал типа болдера на винду
https://i.ibb.co/FHbmc4z/Rick.png
https://cloud.mail.ru/public/2tz3/FCk1Nor2R

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

осталось сидеть и слушать прикольный музончик.

Такое странное чувство, какбуд-то меня на кладбище заживо похоронили..

https://fight.pp.ua/screenshots/shot_2021-04-12_23-51-33.jpg

AER
12.04.2021, 19:27
осталось сидеть и слушать прикольный музончик.
press - R

atmavan
16.04.2021, 14:39
Благодаря дельному совету автора эмулятора JSSpeccy2, мне удалось добавить еще одну полезную фичу в редактор Boulder Dash.
Теперь вместо кнопки "Экспортировать текстовый SNA" будет кнопка "Предросмотр", гды Вы прямо в окне редактора сможе поиграть текущую пещеру (в игра она всегда будет первой, то есть А).
Очень удобно, можно избежать излишних сохранений и загрузок..
Пробуем
http://fight.pp.ua/zxpk/bdash/

- - - Добавлено - - -

Осталась одна задача по редактору Болдер Даша, которую я хотел бы все-таки решить перед тем, как оставить его уже в покое.
Это демо-уровень.
В оригинальной игре если не нажимать ничего пару минут в меню, то запускается демо режим, где наш герой сам проходит самую простую первую пещеру.
Что же такое демо-уровень? Это 64 байта памяти, в которых записано, куда герой должен сдвинуться и сколько постоять на месте.
В демо-режиме запускается реальная игра, но управление джойстиком подменяется ботом, который двигает героя к выходу.
Хотя по-моему мнению пользы от такого демо-режима нету, ну возможно эстетическая есть.
Так вот, если Вы измените первую пещеру, а Вы ее скорее всего измените, то записанные ходы не сработают, так как у Вас все будет располагаться по-другому. Какой-то ненужный конфуз может получиться с пьяным Рокфордом, который в открытые двери не может попасть.
Вот и думаю что лучше сделать в таком случае:

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

Вариант 2. Оставить все как есть. Пьяный так пьяный.

Вариант 3. Каким-то чудесным пока неизвестным мне образом отключить вообще запуск демо-режима, чтобы из глаз долой и из сердца вон.
Если есть профи - то подскажите как сделать.

Ну и все, а там уже если только баги найдутся - буду править, а так планов уже нету.
Спасибо!
http://fight.pp.ua/zxpk/bdash/

goodboy
16.04.2021, 17:21
Вариант 3. Каким-то чудесным пока неизвестным мне образом отключить вообше запуск демо-режима, чтобы из глаз долой и из сердца вон.

ld a,(iy+#30)
cp 02
ret nz / ret !!!
ld (iy+#31),1
ret

atmavan
17.04.2021, 02:01
ld a,(iy+#30)
cp 02
ret nz / ret !!!
ld (iy+#31),1
ret

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

Следующим этапом будет наконец создание своего клона, ждем следующего вдохновения.
Спасибо Гудбой, ты поистине гуд бой.

atmavan
17.04.2021, 04:08
Еще исправлен серьезный баг, когда случайности и плотность объектов неправильно отображались в игре.
Пока что все остальное работает
http://fight.pp.ua/zxpk/bdash/

Гаррий
01.06.2021, 14:45
Вот это видел кто-нибудь из активистов темы? :)
https://idpixel.ru/news/2436-boulder-dash-junior-versija-znamenitoj-igry-dlja-detej/
https://idpixel.ru/news/2810/main.png

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

atmavan
02.06.2021, 01:01
графон явно взят из BoulderDash Construction Kit

Shadow Maker
03.06.2021, 12:06
графон явно взят из BoulderDash Construction Kit

Я больше скажу - он на нем и написан.

- - - Добавлено - - -


Вот это видел кто-нибудь из активистов темы? :)
Ну если бы читали новости на втрд, то я это уже давно писал в новостях так-то... В телеге можно подписаться, или в рсс читать. Так-то это эксклюзив для трдоса из Бразилии товарищ написан на BDKit.

https://vtrd.in/release.php?r=b51495423d9e984479b2d41718d2374d

Dexus
03.06.2021, 12:30
Я больше скажу - он на нем и написан.
Насколько я помню, на "BTKit" не пишется. На нем рисуются новые карты, и сохраняются вместе с игрой.

Гаррий
03.06.2021, 12:47
Сложно ли перенести эти карты уровней для юниоров в обычный движок булдера?

Shadow Maker
03.06.2021, 14:00
Насколько я помню, на "BTKit" не пишется. На нем рисуются новые карты, и сохраняются вместе с игрой.
Это вопрос того, что считать "написано". Редактор для создания уровней - уровни сделали - новая игра. Как по мне = достаточно для того, чтобы сказать "написано".

Dexus
03.06.2021, 21:01
Это вопрос того, что считать "написано". Редактор для создания уровней - уровни сделали - новая игра. Как по мне = достаточно для того, чтобы сказать "написано".
Ни одной строчки кода самой игры (только загрузчик). Это что-то типа современного моддинга.
Эдак и биллгилберта можно назвать автором сотен игор.

jerri
03.06.2021, 21:07
Ни одной строчки кода самой игры (только загрузчик). Это что-то типа современного моддинга.
Эдак и биллгилберта можно назвать автором сотен игор.

А что БиллГилберт делал разве новые уровни?

Dexus
03.06.2021, 21:31
jerri, Возможно. Но он точно приделывал загрузчики, без которых игры бы у нас не запускались. Соавтор, как минимум. Если уж те, кто поменяли пару тайлов в уровне, считаются авторами, то и его следует называть соавтором. /сарказм
В десятках, а то и сотнях релизах всяких безумных фанатских вариантов bandit boulder dash, arno dash, lost levels - никто из авторов уровней не называет себя автором игры. И это даже не ремейки как супаплекс там или рокфорд какой-нибудь.. это просто map pack. И везде пишутся как «авторы уровней», авторство игры за счет такого себе присваивают совсем уж дети.
Написать игру - это все-таки побольше чем нарисовать карту на том же движке, или перескинить спрайты.

Shadow Maker
03.06.2021, 22:35
jerri, Возможно. Но он точно приделывал загрузчики, без которых игры бы у нас не запускались. Соавтор, как минимум. Если уж те, кто поменяли пару тайлов в уровне, считаются авторами, то и его следует называть соавтором. /сарказм
В десятках, а то и сотнях релизах всяких безумных фанатских вариантов bandit boulder dash, arno dash, lost levels - никто из авторов уровней не называет себя автором игры. И это даже не ремейки как супаплекс там или рокфорд какой-нибудь.. это просто map pack. И везде пишутся как «авторы уровней», авторство игры за счет такого себе присваивают совсем уж дети.
Написать игру - это все-таки побольше чем нарисовать карту на том же движке, или перескинить спрайты.
По твоей логике все авторы игр на Churrera - не авторы, авторы игр на AGD - не авторы, авторы модов маник минеров и джет сет вилли - тоже не авторы... Адвенчуры те же самые например на Quill/GAC - тоже не авторы, ни одной строчки кода не написали же, только локации поменяли и словарь другой.

Dexus
03.06.2021, 22:46
По твоей логике все авторы игр на Churrera - не авторы, авторы игр на AGD - не авторы, авторы модов маник минеров и джет сет вилли - тоже не авторы... Адвенчуры те же самые например на Quill/GAC - тоже не авторы, ни одной строчки кода не написали же, только локации поменяли и словарь другой.
Не. Тут разные уровни. Нулевой - это подписаться «здесь был вася», взяв игру, и вклеив туда свое имя. Следующий уровень - это перерисовать немного спрайтов, и вставив имя. Второй уровень - это подредактировать уровни, и назвать себя автором. Даже утилиты специальные делали, с редакторами, чтобы упрощать это «авторство». И немного дальше - всякие DizzySE, и AGD. Все-таки эти «движки» изначально делались не как игры, а как конструкторы, и вариативности дают заметно больше чем просто рисовка уровня, скажем. Просто хотя бы тот факт, что логика там всякая возможна. Хотя, откровенно говоря, и это я тоже не считаю «писанием» игры. Писание - это «от» и «до», а не заполнение данных в заранее кем-то написанных формочках.

Авторы карт - это авторы карт. Авторы модов - это авторы модов. А авторы игры - те кто изначальную сделали. В конструкторах нет изначальной игры. В bd kit - есть. Куча уровней, полноценная игра, а не просто конструктор. Хотя она официально как раз уже поддерживает кастомные карты но это так и будет - набор карт #1 для bdkit от васи.

Shadow Maker
03.06.2021, 23:36
Не. Тут разные уровни. Нулевой - это подписаться «здесь был вася», взяв игру, и вклеив туда свое имя. Следующий уровень - это перерисовать немного спрайтов, и вставив имя. Второй уровень - это подредактировать уровни, и назвать себя автором. Даже утилиты специальные делали, с редакторами, чтобы упрощать это «авторство». И немного дальше - всякие DizzySE, и AGD. Все-таки эти «движки» изначально делались не как игры, а как конструкторы, и вариативности дают заметно больше чем просто рисовка уровня, скажем. Просто хотя бы тот факт, что логика там всякая возможна. Хотя, откровенно говоря, и это я тоже не считаю «писанием» игры. Писание - это «от» и «до», а не заполнение данных в заранее кем-то написанных формочках.

Авторы карт - это авторы карт. Авторы модов - это авторы модов. А авторы игры - те кто изначальную сделали. В конструкторах нет изначальной игры. В bd kit - есть. Куча уровней, полноценная игра, а не просто конструктор. Хотя она официально как раз уже поддерживает кастомные карты но это так и будет - набор карт #1 для bdkit от васи.
Я понял твою мысль и я не согласен с ней. Если есть BD Kit или там 3D Construction Kit - то если человек делает в них игру - он автор игры, потому что это киты для изготовления игр на их основе. Их для этого и придумали, чтобы люди делали на них свои игры. То, что там изначально забит какой-то набор спрайтов и sample карты - это не значит, что те, кто пользовались редактором для создания своей игры - не авторы. Ну в общем ладно, у тебя такое мнение, у меня другое, бывает...

Bedazzle
04.06.2021, 00:26
А авторы игры - те кто изначальную сделали.

Кто в таком случае автор у
https://spectrumcomputing.co.uk/entry/1712/ZX-Spectrum/Fairlight

и кто автор у
https://spectrumcomputing.co.uk/entry/1715/ZX-Spectrum/Fairlight_II

Гаррий
04.06.2021, 01:07
Рука лицо. Черт меня дернул)

Dexus
04.06.2021, 01:56
Если есть BD Kit или там 3D Construction Kit - то если человек делает в них игру - он автор игры,
Игра в данном случае одна - BD Kit. И максимум, что человек в ней может - это сделать набор карт для этой игры. Карты != игра. Ты считаешь что если карты в игре другие, то это уже другая игра. Я считаю что это та же игра с другими картами. И мне кажется, что моя позиция более дифференцированная (т.е. более различающая мух и котлет). Формально это МОД для игры.

Есть вроде редактор карт для Laser Squad. И уж не думаешь ли ты, что Петя, который наваял для него карту, является уже автором Laser Squad, а не просто карты для нее?
Что же тогда думать про HoMM3, для которого тысячи людей карты делали. Кто ж тогда автор HoMM3? Вся тысяча?

- - - Добавлено - - -


Кто в таком случае автор у
https://spectrumcomputing.co.uk/entry/1712/ZX-Spectrum/Fairlight

и кто автор у
https://spectrumcomputing.co.uk/entry/1715/ZX-Spectrum/Fairlight_II

Тут вроде все написано. У первой Bo Jangeborg (Sweden) и Jack Wilkes (UK), у второй Bo Jangeborg (Sweden) и Niclas Osterlin (Sweden). Там даже на заставке это написано.


Ребята, не надо приравнивать авторов-моддеров к авторам-разработчикам.

Bedazzle
04.06.2021, 10:51
Ребята, не надо приравнивать авторов-моддеров к авторам-разработчикам.

Принижать тоже не надо. Например, свежий мод дизика. Надо ли считать авторами только Оливеров?

Dexus
04.06.2021, 12:52
Принижать тоже не надо. Например, свежий мод дизика. Надо ли считать авторами только Оливеров?
Конечно Оливеры авторы персонажей Диззи, но не авторы каждой игры из этой серии.
Также есть фанатские поделки-моды, со своими сюжетами. Хотя такие "тотальные моды", с полной переделкой (total conversion mod) уже практически презентуются как отдельные игры (как например тот же x-pirates для openxcom). Но это все не важно. Тут же речь даже не про мод, а про просто уровни для игры, в которых никаких новых сюжетов объективно быть не может, как и новой логики (и с другой стороны есть куча ремейков со своими новыми элементами), или даже графикой (рескин спрайтов тоже добавляет свежести). Тут - просто другие карты, с теми же спрайтами, с тем же кодом. Потыкал в редакторе за минут 20 - и готово. Автор уровней - да. Автор мода.. мм, возможно, если еще хотя бы спрайты немножко поменяет. Автор игры - нет. Как бы даже про принижение не нужно говорить.
https://spectrumcomputing.co.uk/entry/36275/ZX-Spectrum/Boulder_Dash_5 тут прямо указано что это мод. За авторством этих людей (автор самого BoulderDash - Piter Liepa). Есть авторы многочисленных ремейков, которые могут указывать на inspired, могут не указывать.
https://spectrumcomputing.co.uk/entry/27977/ZX-Spectrum/Boulder-Dash_512b вот это изделие - ремейк/клон. За своим авторством. Не просто уровни, но и вся логика и код писался человеком.

Призывая "не принижать" тех кто на готовом движке делают карты, и ставя их на уровень авторов самих игр, вы таким образом заметно принижаете авторство людей, делающих ремейки, не говоря уж про оригинальных.

Bedazzle
04.06.2021, 22:08
Призывая "не принижать" тех кто на готовом движке делают карты, и ставя их на уровень авторов самих игр, вы таким образом заметно принижаете авторство людей, делающих ремейки, не говоря уж про оригинальных.

Не надо передёргивать. Никто на один уровень не ставит. Кроме этого, очень часто игра - это не один автор, а несколько - код, музыка, графика, дизайн уровней, тестирование.
Это всё приложившие руку к шедевру, но не всегда про них есть в титрах или обложке на кассете.

Dexus
05.06.2021, 00:10
Bedazzle, Да ну вы бросьте. Во всех играх есть информация о тех кто делал музыку или рисовал графики и уровни (для спека это нередко одни и те же люди). В том же Fairlight информация на заставке нарисована даже. Все зависит от степени скромности - бывают же (хоть и очень редко) застенчивые авторы, которые стесняются подписаться как авторы. Никто ж их не заставляет о себе не упоминать. Хотя как знать. Вы к чему вообще об этом? Если в БолдерДаше Жуниор парт1 автор игры - Питер Лиепа, а автор уровней - некто Пойо - пусть так и напишет в заставке. Но он себя не указал. Скромняга. Но даже эта благодетельная скромность не даёт права называться более, чем автором уровней (в том смысле, что писать, что автор игры - Пойо - уже было б крайне нескромно, но это и не было сделано, к чести Пойо).

Bedazzle
05.06.2021, 09:06
Bedazzle, Да ну вы бросьте. Во всех играх есть информация о тех кто делал музыку или рисовал графики и уровни (для спека это нередко одни и те же люди). В том же Fairlight информация на заставке нарисована даже. Все зависит от степени скромности - бывают же (хоть и очень редко) застенчивые авторы, которые стесняются подписаться как авторы. Никто ж их не заставляет о себе не упоминать. Хотя как знать. Вы к чему вообще об этом? Если в БолдерДаше Жуниор парт1 автор игры - Питер Лиепа, а автор уровней - некто Пойо - пусть так и напишет в заставке. Но он себя не указал. Скромняга. Но даже эта благодетельная скромность не даёт права называться более, чем автором уровней (в том смысле, что писать, что автор игры - Пойо - уже было б крайне нескромно, но это и не было сделано, к чести Пойо).

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

P.S.
Про второй Файрлайт - Бо насколько я понял, продал права и собирали игру на базе первой части без его участия.

jerri
05.06.2021, 11:14
P.S.
Про второй Файрлайт - Бо насколько я понял, продал права и собирали игру на базе первой части без его участия.

Вторая часть по сравнению с первой имеет значительные изменения в кодовой части.

vlad-kras
05.06.2021, 12:00
Игра в данном случае одна - BD Kit. И максимум, что человек в ней может - это сделать набор карт для этой игры. Карты != игра. Ты считаешь что если карты в игре другие, то это уже другая игра. Я считаю что это та же игра с другими картами. И мне кажется, что моя позиция более дифференцированная (т.е. более различающая мух и котлет). Формально это МОД для игры.

Есть вроде редактор карт для Laser Squad. И уж не думаешь ли ты, что Петя, который наваял для него карту, является уже автором Laser Squad, а не просто карты для нее?

Игра состоит из нескольких частей. У каждой части может быть отдельный автор. Игра вцелом часто имеет несколько авторов. Но некоторые или все части игры может создавать один и тот же человек.

1 - Графика - игровые персонажи, спрайты, 3d и псевдо 3d, все то что мы видим на экране
2 - Загрузочные картинки, заставки в игровом меню, финальные сцены и прочая неигровая графика. Возможны анимации, часто только один раз после загрузки - как в Trantor или Freddy Hardest
3 - Уровни или карты
4 - Музыка и звуковые эффекты - бипер, AY
5 - Сценарий игровой истории
6 - Тексты - названия персонажей, локаций, игровых уровней, пунктов меню, также переводы на другие языки
7 - Собственно игровой код, который управляет всеми остальными частями игры
8 - Если вдруг оппоненты игрока с AI, то это тоже часть игрового кода

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

Если рассматривать игру просто как программу, тогда программирование - это пункты 7 и 8 от игры, как цельного продукта. Ну и кто создал игровой движок, тот и "написал" программу. Для остальных пунктов 1-6 навыков программирования не нужно совершенно.

При создании новых уровней (карт) игрок уже должен дейстовать по-другому, чем в оригинальных уровнях. Поэтому создание уровней даже ближе к новой версии игры, чем звук или графика. И все-таки для спека игра воспринимается больше как механика + спрайты, чем как механика + спрайты + уровни. Мы ведь скажем, что прошли Laser Squad lelel 2, как уровень игры LS, а не Moonbase assault как отдельную игру. Особенно если эти уровни можно создавать в самой игре, как в Lode Runner. Даже когда различные части игры имеют значительные отличия не только в картах, но и по механике, мы легко объединяем эти части в одну игру. Например для Freddy Hardest части 1 и 2 кроме одинаковых спрайтов персонажа и сходства механик имеют еще и значительные отличия, но для нас игра та же самая.

А если указывать, кто что в игре сделал, тогда неоднозначностей быть не должно. Автор движка Laser Squad - Gollop, автор карт - Петя. Вышла версия на движке L.S. с картами Пети.

Графика, заставки, анимации и звуки не особенно влияют на механику игрового процесса. А могут и вообще отсутствовать в игре. Меняем спрайты - игра выглядит по-новому, но ведет себя по-старому. Как смена обычных шахматных фигурок на стилизованные под солдатиков делает доску зрительно интереснее, но не меняет механику или правила шахмат. Или как в монохромном тетрисе раскрасить фигурки в разные цвета, вставить музыку, ну а тетрис по механике так и останется тетрисом. Можно придумать историю как злой колдун Х превратил всех жителей страны в кубики и теперь кидает их в стакан, а как только стакан наполнится, то королевству хана... а король собирает свое заколдованное войско для похода на Х, укладывая их ровными штабелями. И все равно это тетрис. Можно у фигурок добавить тени для ощущения псевдо-3d или дать возможность крутить плоскость стакана и смотреть на него с разных сторон как в реальном 3d. Прикольно ? Ну прикольно, а игра та же самая, игровое поле такое же плоское, собрал из фигур ряд без дырок - ряд исчез. И действовать человек будет одинаковым образом - если осталась длинная узкая дырка, тогда нужно ожидать появления палки.


По твоей логике все авторы игр на Churrera - не авторы, авторы игр на AGD - не авторы, авторы модов маник минеров и джет сет вилли - тоже не авторы... Адвенчуры те же самые например на Quill/GAC - тоже не авторы, ни одной строчки кода не написали же, только локации поменяли и словарь другой.

Если игра сделана в конструкторе игр, то он автор игры, но не программист, а конструктор или даже дизайнер. Поскольку какой-то скриптинг на движке Churrera имеется, то если игра сделана с использованием скриптов, тогда он еще и программист. Но конструкторов игр немного, а BD kit вроде никаких скриптов не позволяет, поэтому для игр, созданных BDkit можно использовать только слова конструирование / дизайн.

Shadow Maker
06.06.2021, 23:58
P.S.
Про второй Файрлайт - Бо насколько я понял, продал права и собирали игру на базе первой части без его участия.
Не так. Не помню по каким причинам (разругались что ли) где-то после 3/4 разработки Бо ушел. И собрали игру и концовку и вот это всё без него. Поэтому она и непроходима.

^m00h^
07.06.2021, 00:50
Вроде фиксили же вторую часть ?

atmavan
16.06.2021, 07:48
Теперь, играя в игры на настоящем Робике, я могу сказать, что оно того стоило, так запариться с покупкой и подключением его к монитору, чтобы сейчас получать такое истинное ностальгическое удовольствие.
Часто люди говорят, что зачем все это, есть же эмуляторы.
Я очень много играл на эмуляторах, но сейчас я предпочитаю настоящее железо, и для меня в этом большая разница, хотя я не могу явно сказать в чем она заключается, но она точно есть.
Если у вас есть идеи/мысли по этому поводу, пишите пожалуйста.

Вот мои версии того, почему играть на оригинале дает больше кайфа:

- ты точно знаешь, что у тебя работает все так, как должно работать на спектруме, все эффекты, звуки и все остальное будет работать КАК НАДО.

- тебя ничего не отвлекает, ты не можешь отвлечься/переключиться в другую программу, весь фокус на твоей едиственной в памяти игре

- ты больше уделяешь внимания каждой игре, потому что загрузка новой игры даже в турбо режиме займет дополнительное время, ты больше ценишь каждую игру.

- ну и в конце концов чувство того, что ты играешь на оригинальном устройстве, а не на его эфемерной программной симуляции, при всей любви к эмуляторам.

Что думаете? Спасибо!

bigral
16.06.2021, 12:43
как то я даже спец тему открывал на форуме про возможность ускорения этой игры, жаль что она так тормозит на спекки, и даже режим 7mhz не помогает потому что игра не синхронизированна по int... :(

когда я смотрел код вывода изображения то понял что он оптимизирован очень не хило, может в 128к шото и можно сделать путем разворачивания циклов но чето мне кажется что сделать настоящих 25кадров/c (каждое второе обновление экрана) не выйдет... а про 50 вообще можно забыть

потому видать игра останется крутой токо на atari 8bit и c64, на msx по идее можно было бы сделать все хорошо, но нужно чтоб был msx2+ и скрол экрана не по 16pix а по 1... вроди как возможно теоретически

Bedazzle
16.06.2021, 14:20
- ты больше уделяешь внимания каждой игре, потому что загрузка новой игры даже в турбо режиме займет дополнительное время, ты больше ценишь каждую игру.


Сыновья в майнкрафт всяких модов грузят, запуск по десять минут занимает.
Не особо ценят, чутка поиграют, и в лёгкую могут закрыть и во что-то другое начать играть.

Dexus
16.06.2021, 16:22
BD из тех игр, которым с маленьким fps хорошо живется. Попытки встроить плавность движения достаточно неуклюже вписываются в полностью дискретный геймплей. Говорю это, как человек, потративший несколько месяцев на попытки скомбинировать плавность с BD. В целом, удачные, но, не думаю, что оно прям так того стоит. Основная проблема - это фиксированный шаг между итерациями, и тот факт, что человек к такой дискретности быстро приспосабливается, и подгоняет нажатия и отпускания кнопок управления в те моменты, когда оно нужно. Если оторвать дискретность ГГ от дискретности кейва (чтобы начиналось движение в момент нажатия, ну, типа, так оно интуитивно), то кейв (сам лабиринт, пещера) становится рассинхронизированным, и весь классический геймплей идет по одному месту. Я смог добиться относительной плавности и полное повторение геймплея, сделав движения немного неравномерными. Очень сложно подобрать график смещения так, чтобы он не был совсем рваным, но в то же время ощущались те самые «такты», по которым живёт пещера. Без этих тактов при плавном движении просто не чувствуешь когда надо нажать и когда отпустить. А запоминания нажатий создает неизбежный эффект отложенного движения.

atmavan
16.06.2021, 17:51
Оо, благодарю за эту тему, с которой я столкнулся разрабатывая свой клон Болдер Даша. Да, наверное я раньше в детстве не сильно задумывался об таком ньюансе, хотя наверное не мог его не замечать. А уж когда начал сам игру подобную делать, то да, понял, что вся игра движется под один метроном, включая главного героя. В чем была моя сложность: мне не нравилось, что нажатие любой клавиши направления героя еще не гарантирует его перемещение. Имеется ввиду кратковременное нажатие. Это зависит от того, попал ли ты в один из "тактов" движение мира. Мне показалось это несовременно как-то. Я пытался сделать гарантию перемещения в любой случае, даже если очень быстро нажать и отпустить, но тогда это уже отход от классики и тоже уже не интересно.
Решил оставить так как есть по классике, просто при небольшом "такте" такой разрыв менее заметен, и вроде как можно с ним жить.
А вот что мне было интересно наблюдать, так это фирменный Болдер Даш для мобильних телефонов и компов, то есть его самая новая версия от разработчиков, так там они решили эту проблему по-современному: главный герой живет своей жизнью, бегает быстрее всех, и плевать он хотел на любые ограничения и такты, и там уже таких вопросов нету в сложности попадания в такт. Получается что все-таки они посчитали это проблемой и решили ее таким способом. Я все-таки предпочитаю классику, где скорость движения всех объектов одинаковая, иначе это уже другая игра, имхо.



А запоминания нажатий создает неизбежный эффект отложенного движения.

о точно, тоже сталкивался с такой траблой.

Можно было бы конечно пробовать запускать в движение героя сразу после нажатия клавишы, но скорость на первую клетку ему задавать в зависимости от того насколько он в данный момент отстает от такта, и чтобы на следующей клетке он уже двигался в такт и со стандартной скоростью. Я такого не пробовал, но думаю, это тоже будет выглядеть не как классическая игра. Даже та плавность движения, которую и придал всем двигающимся объектам, она также лишает игру своего первозданного шарма.

Dexus
17.06.2021, 09:38
Начало движения по нажатию я тоже делал. Выглядит так себе. Скорость первого шага от 0.5 до 1 стандартной. В текущем варианте он поворачивается при нажатии а идет в момент такта, т.е. может и с паузой а может и одновременно (и реакция на нажатие есть, и тактовка не нарушается).
Остановился на отложенном, оно и помогает в ритм войти. Движение при этом немного неравномерное (без резких скачков, а просто небольшими ускорениями-замедлениями). Диагональные нажатия воспринимаются как A+B/B+A с учетом того какая была первая, т.е. можно делать попеременные шаги в двух направлениях с редкими сбоями. Само собой без буфера, только текущий шаг и следующий (если кнопка уже нажата во время текущего).

Прежде уже выкладывал свою вариацию (недоделанную, но поиграть можно) -> https://zx-pk.ru/threads/33088-lomaem-boulder-dash.html?p=1110923&viewfull=1#post1110923
В целом динамика достаточно естественна и управление с такой вот гибридной плавностю достаточно интуитивно и удобно.

atmavan
17.06.2021, 10:07
аа, это все тот же болдер, который я пока боюсь запускать... может видос есть как она выглядит?

Dexus
17.06.2021, 10:27
Видоса боюсь нет. Кот/Сторож запускал как-то на стриме, но там боюсь ничего не сохранилось.
Чего там бояться?... Что типа троян?.. я тут с 2005г, в разных проектах светился - с чего бы мне такой фигнёй страдать?..

Выложил небольшой фрагмент. https://volutar.myds.me/bdd2.mp4

Smalovsky
17.06.2021, 16:13
Это хак или оригинал? Игра на двух игроков.


https://www.youtube.com/watch?v=3zwOIY_9vOE

^m00h^
17.06.2021, 16:44
Клон от Frantiesek Fuka, кстати музыка на бипере очень знакомая, вроде был такой чиптюн на амиге, напоминает итало-диско.

Dexus
17.06.2021, 17:56
Как люто она тормозит конечно... Вроде пещера должна один раз обсчиытваться, и зона рендеринга даже меньше чем в классике... Явно на базе оригинального кода, скроллинг аналогично работает.

Pafic
28.06.2021, 22:11
кстати музыка на бипере очень знакомая, вроде был такой чиптюн на амиге, напоминает итало-диско.
Музыка из порта игры Cosmic Bakery для С64, автор Martin Galway. Звучала после загрузки.
https://youtu.be/5Qzy6oS1EL8?t=258
Позже Tomas Danko сделал ремикс, а потом этот ремикс был включён в игру Platypus на уровень 1,
https://www.youtube.com/watch?v=fEXDcUd6iis
Так что амигой вроде никак не связано.

transman
06.07.2021, 18:51
Думаю эта ссылка будет полезной.

http://www.bd-fans.com/BoulderDash.html

Где то на этом сайте лежит куча доков по формату карт BD1/BD2
и да. максимальная длина 1 уровня 240 байт

^m00h^
06.07.2021, 19:58
на примерно таком же сайте скачал в 2005м году мод от некого TJ (https://vtrd.in/release.php?r=91709974f7737b2c7c10df6008eda3d3), 2 файла в .z80, так и не нашел этот фан-сайт и создателя новых уровней.

Dexus
07.07.2021, 12:37
Периодически поглядывал в bd-fans.com, а форум главный, в котором и ремейки все обсуждали, и старые версии, и, собственно, автор топика тоже затеял свою тему - https://www.boulder-dash.nl/forum/
Там и мой недоделанный ремейк в 2009г засвечен был...

vlad-kras
07.07.2021, 19:32
на примерно таком же сайте скачал в 2005м году мод от некого TJ (https://vtrd.in/release.php?r=91709974f7737b2c7c10df6008eda3d3), 2 файла в .z80, так и не нашел этот фан-сайт и создателя новых уровней.

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

А так можно камни над провалами таскать?
ютуб ролик 1 (https://www.youtube.com/watch?v=8bvjGn_1Jck&t=115s) Смотреть на 1м55с, вставка видео с привязкой по времени не фурычит.
ютуб ролик 2 (https://www.youtube.com/watch?v=ZDH10d74n98&t=300) Смотреть прохождение уровня начиная с 5м00с, вообще невозможно выглядит. На какой платформе играют непонятно, но восторг полный.



https://www.youtube.com/watch?v=8bvjGn_1Jck&t=115s

Гаррий
08.07.2021, 07:41
ну время ладно, алмазов зачем столько???


Антистресс)) попит))

Smalovsky
25.07.2021, 13:01
Не хочу делать новый топик. Для фанатов игры сделано официальное продолжение
https://www.boulder-dash.com/30th-anniversary/
На этом сайте сыграть в оригинал
https://www.boulder-dash.com/online-free-game/

atmavan
26.07.2021, 03:25
На этом сайте сыграть в оригинал
https://www.boulder-dash.com/online-free-game/

очень странная версия оригинала как по мне..

atmavan
10.10.2021, 13:04
Всех приветствую.
Давненько я не возвращался к этому проекту.
Всегда помнил, что встроенный эмулятор выдает какой-то кривой звук, который и так не особо нужен для тестирования уровня.
Так что решил вернуться, добить до конца.
И представляете, потратил около часа просто чтобы найти этот проект на своем винте, думал уже пропал... А он оказывается как-то назван не по теме))) Короче сложно возвращаться к заброшенным проектам.
Так вот, удалил вроде я этот звук, а заодно и добавил несколько очень полезных для редактора фич, а именно подсветка деталей в левой колонке, когда кликаешь по объектам прямо на игровом поле. А это ооочень удобно, теперь легко можно понять к какому прямоугольнику или линии какие данные относятся. Раньше работало только со стороны интерфейса, теперь от игрового поля назад тоже. Плюс подсвечиваются даже группы случайных объектов, когда кликаете по одному из них.
При всем этом учитывается порядок наложения фигур одной на другую.
Пробуем))

http://fight.pp.ua/zxpk/bdash/

P.S. Теперь хорошо было бы сделать экспорт .TAP или .z80 файл, что-то более нативное чем .SNA файл.
Если есть эксперты, буду благодарен за полезную инфу.

OMu4
10.10.2021, 15:11
под винду утилитка есть? локально попользовать

atmavan
10.10.2021, 17:01
нет, пока только онлайн, теоретически можно было бы в электроне сделать, но весить будет зараза...

Shadow Maker
10.10.2021, 21:34
нет, пока только онлайн, теоретически можно было бы в электроне сделать, но весить будет зараза...
А на чем он у тебя? У тебя есть какие-то серверные части? Вроде фронт только? Тогда архива файлов хватит вполне для локальной копии, откроет в браузере типа file:// и норм.

- - - Добавлено - - -


P.S. Теперь хорошо было бы сделать экспорт .TAP или .z80 файл, что-то более нативное чем .SNA файл.
Если есть эксперты, буду благодарен за полезную инфу.
z80 то же самое что и sna, только еще более древнее.
Про тап - всё просто, даже элементарно. Загрузчик на бейсике (хранишь его в памяти) и дописываешь кодовый блок (он у тебя в SNA хранится, вот оттуда кусок выкусываешь и добавляешь к загрузчику). Вуаля. Но если все еще непонятно - пиши в личку :) Ну или еще куда, на vtrd.in мои контакты есть, в телегу можно, в дискорд.

atmavan
16.10.2021, 03:39
Редактор обновлен, теперь можно сразу видеть в блоке выбора объекта его картинку.

http://fight.pp.ua/screenshots/shot_2021-10-16_11-37-47.jpg

atmavan
16.10.2021, 12:22
Добавлена поддержка дополнительных вариаций бабочек, они отличаются стартовым направлением. Например в этом уровне нужно использовать бабочку №2, чтобы она двигалась вдоль стены, а не осталась крутится на одном месте, то есть алгоритм тот же, но меняется стартовая позиция алгоритма обхода препятствий бабочки
http://fight.pp.ua/screenshots/shot_2021-10-16_20-03-25.jpg

Bedazzle
16.10.2021, 14:47
Редактор обновлен, теперь можно сразу видеть в блоке выбора объекта его картинку.

Ссылку на редактор неплохо бы в начало первого поста воткнуть.
И попутно вопрос - на чём редактор сделан? Клевые формочки.

JeRrS
16.10.2021, 15:38
atmavan, если "упарывание" будет углубляться то как вариант можно добавить вариант отображения спрайтов как в третьей части либо как в b.d.kit

^m00h^
16.10.2021, 16:01
нет, пока только онлайн, теоретически можно было бы в электроне сделать, но весить будет зараза...

Только электрон не надо, весить будет и в гайке (haiku os) не запустить.

atmavan
16.10.2021, 17:08
Беглая презентация обновленного редактора:


https://www.youtube.com/watch?v=Kxl-PEIUkCQ&ab_channel=Gumplayer

- - - Добавлено - - -

- - - Добавлено - - -


Ссылку на редактор неплохо бы в начало первого поста воткнуть.
И попутно вопрос - на чём редактор сделан? Клевые формочки.

Спасибо за вопрос. Редактор написан на Javascript с использванием библиотек Jquery (для интерфейса) и PixiJS (для отображения самой игровой области), если что-то используется еще - то в незначительной степени. Ну и онлайн эмулятор JSSpeccy 2 для пробы игры прямо на месте.

- - - Добавлено - - -


atmavan, если "упарывание" будет углубляться то как вариант можно добавить вариант отображения спрайтов как в третьей части либо как в b.d.kit
что-то мысль не понял) можно чут точнее.. про какие спрайты речь идет?

- - - Добавлено - - -


Только электрон не надо, весить будет и в гайке (haiku os) не запустить.

оо, а что за система такая? что в ней особенного? особенно хорошего? Еще не слыхал про такую. Спасибо.

^m00h^
16.10.2021, 17:46
Особенное то, что она как amigaos и macos для домашнего использования, т е затачивается максимально под пользователя, и разработчики не хотят превращать ее в linux помойку с иксами, gtk и всеми прочими непотребностями. Под нее есть Telegram и Unreal speccy Portable (https://bitbucket.org/djdron/unrealspeccyp/issues/35/native-gui-for-haiku),почти весь софт под нее портировал и собрал всем знакомый по ZX-Рево Герасим Троеглазов ^ 3deyes, болдер даши тоже есть:

https://depot.haiku-os.org/#!/pkg/rocksndiamonds/haikuports/4/2/0.3/-/1/x86_64

https://depot.haiku-os.org/#!/pkg/open_supaplex/haikuports/7/1/2/-/1/x86_64

JeRrS
16.10.2021, 17:56
что-то мысль не понял) можно чут точнее.. про какие спрайты речь идет?
https://sun9-82.userapi.com/impf/c850432/v850432399/1868b7/-vGatS0KOtk.jpg?size=640x512&quality=96&sign=76c4c8862f1812691ddfa82e0a0814f5&type=album

atmavan
16.10.2021, 23:51
https://sun9-82.userapi.com/impf/c850432/v850432399/1868b7/-vGatS0KOtk.jpg?size=640x512&quality=96&sign=76c4c8862f1812691ddfa82e0a0814f5&type=album

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

atmavan
24.10.2021, 17:49
С большим трудом удалось создать оригинальную корректную кату Boulder Dash II

https://fight.pp.ua/zxpk/boulder_2_map.png

https://fight.pp.ua/zxpk/boulder_2_map.png