Приветствую, друзья)
Случилось чудо - друг спас друга.
Я написал редактор с нуля чтобы упорядочить все идеи и пожелания в более компактном и самое главное рабочем коде.
Теперь я опишу что умеет этот редактор:
- при запуске все уровни уже построены на основе 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/




Ответить с цитированием