image

Русский вариант названия игры, звучит как «Беспризорные блоки», что достаточно емко передает ее сюжетную линию. Негоже достойным представителям рода «четырехугольных» околачиваться где ни попадя. Основной задачей игрока будет поиск им пристанища за что и будут начисляться игровые баллы. Приютить наших «сироток» можно по бортам игрового поля, но только при условии соответствия цвета и достаточного уровня благонадежности. Далее обо всем по порядку…

Правила и механика игры


Игровое поле состоит из пустых ячеек (по-умолчанию, 7х7). Со старта игрок имеет набор из пяти блоков, по одному каждого доступного цвета, которые расположены в произвольном порядке. С каждым последующим шагом, прибавляется по два блока случайного окраса. По бортам игрового поля располагаются четыре разноцветные линии символизирующих «приюты», которые готовы любезно принять блок соответствующего цвета, но только при условии соблюдения некоторых условий:

Во-первых, «приютить» можно только действительно достойных товарищей с хорошей кармой. Блоки улучшают свою карму путем слияния. Блок достигший максимального значения отмечается числом, символизирующим количество объединений. Он все так же может продолжать взаимодействовать с другими блоками своего цвета, но при этом для него открыты настежь двери приюта соответствующего цвета. Динамика роста кармы выглядит примерно так:

image

Во-вторых, есть среди блоков и «безнадежные» индивиды, которых не готовы принять ни при каких обстоятельствах — они отмечены коричневым цветом. Из личной противности и некоторой озлобленности на окружающий мир их основная задача сводится к тому чтобы препятствовать игроку выполнять свою ответственную миссию.

Игровые баллы и управление


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

Доступны варианты управление клавишами навигационного блока < ^v> и swipe для мобильных устройств.

Игровой механизм реализован на «чистом» javascript. Игровой баланс вы можете настроить по своему вкусу. Ключевые игровые характеристики можно задать через параметры запроса. Подробнее в описании репозитория проекта.

> Исходники игры доступны на GitHub. Поиграть можно там же.

Обновления


1. Существенно осложнен процесс использования алгоритмов вроде «стиральная машина». Сейчас перебирая хоть по-часовой, хоть против — сложно зайти сильно дальше 200-го хода. Играя «осмысленно» можно набрать намного больше баллов.

2. Немного изменен баланс игры. Теперь блоки коричневого цвета будут появляться несколько чаще.

3. Доработана мобильная версия. Выглядит примерно так:
Скриншот с мобильного девайса, разрешение 720х1280

Поделиться с друзьями
-->

Комментарии (32)


  1. sidny_vicious
    13.01.2017 02:01
    +1

    А что было использовано при разработке?
    Какие движки, фреймворки и технологии?
    Буду очень признателен за информацию, сам хочу сделать что-нибудь подобное.


    1. shtange
      13.01.2017 12:33
      +1

      Никаких сторонних движков и фрейморков — только хардкор… игровой механизм написан с чистого листа на JavaScript


  1. lgorSL
    13.01.2017 03:27
    +9

    Поиграл немного, нашёл простую и эффективную стратегию, задолбался тыкать кнопочки, написал бота — он набрал 412830 очков за 21544 шага. Мог бы и дальше набирать, но стало лень ждать.


    стратегия

    двигать вверх, влево, вниз, вправо и так пока не надоест


    1. webmasterx
      13.01.2017 06:40

      согласен. то же быстро вычислил эту стратегию. автор должен был учесть опыт 2048 и сделать нерабочими самые примитивные стратегии


    1. zorgzerg
      13.01.2017 08:00

      +1 к стратегии ))) тоже умаялся и выключил


    1. shtange
      13.01.2017 12:44
      +1

      В ближайшем обновлении запланировано внедрение ограничения по продолжительности жизни блока — то-есть «приютить» его можно будет только в течении определенного количества игровых шагов. По истечении отведенного срока — блок будет перекрашен в коричневый цвет и станет просто помехой. На данный момент, думаю установить ограничение в 4 или 5 шагов, но нужно будет проверить опытным путем. Мне кажется, что это существенно усложнит возможность использования «простых и эффективных стратегий».


    1. TutMir
      13.01.2017 12:44

      Тоже пришел к этой стратегии. Со временем кубиков становится все меньше. Похоже на стиральную машину =)


      1. shtange
        13.01.2017 12:48

        Вы можете попробовать «усложнить» игру с помощью доп. настроек, например такой вариант shtange.github.io/bushed-bricks/?combo=5&count=4


        1. sens_boston
          14.01.2017 05:00

          Не понял, чем это поможет. Открыл игру по вашему линку, понажимал up -> right -> down -> left (и так по кругу), набил 13 тысяч очков, визуально блоков поле больше не становится, очки набираются.

          Сорри, пока не очень годная игра…


    1. shtange
      15.01.2017 19:52

      Внес правки в логику, касаемо борьбы с «простыми и эффективными стратегиями». Пробуйте «натравить» вашего бота на игру снова.


  1. fregate
    13.01.2017 10:23

    Помимо вот этой беспроигрышной стратегии, потенциальный баг — если есть ситуация
    в столбце находятся синие, например, 8 и 1 (сверху вниз). больше в столбце ничего не находится (не мешает схлопнутся и достигнуть синей, нижней, стороны)
    При нажатии вниз (что бы убрать 8+1) произойдет схлапывание, но с доски этот блок (9) не снимется, хотя будет «прилеплен» к синей, нижней стороне. Если еще раз нажать вниз — блок исчезнет, очки засчитаются.
    Это механика специальная или все-таки недоработка?


    1. shtange
      13.01.2017 12:51

      Это не баг, это фича )


  1. Raftko
    13.01.2017 12:45

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


    1. shtange
      13.01.2017 13:58
      +1

      Мне кажется, что более рациональным будет внедрение ограничения по продолжительности жизни блока (подробнее в этом комментарии). Полагаю, это поможет свести на нет стратегию «гонять кубы по кругу».


  1. valemak
    13.01.2017 13:22
    +1

    Большое спасибо, отличная альтернатива 2048.

    В на последнем ходе игры обычно выплывает такой баг.


    1. shtange
      13.01.2017 13:47
      +1

      Вы правы, во время тестирования не обратил внимание на этот нюанс.Обязательно исправлю. Спасибо за подсказку


  1. ssstelllo
    13.01.2017 17:40
    +1

    Не хватает только красивой анимации CSS3 или canvas вместо табличной верстки)
    Отличная реализация


    1. shtange
      13.01.2017 17:56

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


  1. icegoblin
    13.01.2017 18:04

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


  1. Kavabunga
    13.01.2017 18:04

    Отличная механика. Нормально играть пока не могу так как в хроме на Android телефоне игровое поле никак не помещается в экран, но клетки успешно двигаются.
    Не думали о мобильной версии?


    1. shtange
      13.01.2017 18:19

      Для мобильных устройств, разрешение экрана которых по ширине менее 600 пикселей — принудительно устанавливается размер игрового поля 6*6. Похоже, этого не достаточно…
      Попробуйте сыграть с такими доп. настройками: https://shtange.github.io/bushed-bricks/?size=5&combo=2&count=1 (размер игрового поля 5*5).
      Есть задумки насчет нативного приложения под андроид, но опять же все упирается в свободное время…


    1. shtange
      13.01.2017 18:28

      Прошу прощения, забыл ссылку «оживить», а отредактировать уже не могу. Поэтому продублирую, чтобы с телефона удобно было перейти shtange.github.io/bushed-bricks/?size=5&combo=2&count=1


    1. shtange
      16.01.2017 19:30
      +1

      Доработана мобильная версия. Теперь игровое поле должно помещаться на экране.

      Скриншот с мобильного девайса


  1. vlaptev
    13.01.2017 20:38

    Забавно, что бесконечно нажимая (вниз влево вверх вправо), проиграть не получается. Небольшой скрипт на js прошелся 500 000 раз и не проиграл.


    1. valemak
      14.01.2017 21:18
      +1

      Можно даже специально допустить практически безнадёжную позицию, заполнить всё поле, оставив только 3-4 пустых места. Затем, начать нажимать на < ^>v по кругу и количество заполненных квадратов начинает быстро уменьшаться.

      Но лично мне игра понравилась. Думаю, автор найдёт как усложнить процесс.


    1. shtange
      15.01.2017 19:55

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

      Теперь получится, подробнее в обновлениях к статье


      1. valemak
        16.01.2017 04:27
        +1

        Но этот приём пока остаётся в виде хака. Когда свободных полей становится угрожающе мало, < ^>v несколько раз позволяет разгрузить позицию. Всё время нажимать по кругу не получится, но периодическое применение карусели позволяет без особых усилий играть до бесконечности.


        1. shtange
          16.01.2017 14:14
          +1

          Борьба с применением более сложных стратегий, чем «стиральная машина» — будет вестись, но несколько позже. На данный момент в высшем приоритете поиск решений для усложнения игрового процесса. Буду пробовать сделать его более увлекательным.
          Спасибо Вам за интерес к проекту, конструктивную критику и дельные комментарии!


  1. TheShock
    14.01.2017 16:14
    +1

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


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


  1. MetaDriver
    15.01.2017 09:51

    Игру можно легко отремонтировать усложнить, если поменять цель на:
    "удержать/накопить на игровом поле как можно большую сумму оцифрованных фишек".
    Это сразу же пристрелит все регулярные алгоритмы а-ля «стиральная машина»


  1. valemak
    16.01.2017 04:36
    +1

    Что ещё не хватает в игре — отсутствует конкретная конечная цель. В 2048 нужно было набрать заветную степень двойки.

    В той интерпретации, что сейчас игра не станет хитом, так как игроку, по сути дела, нет к чему стремиться. Пока всё сводится к тому, чтобы просто набрать побольше баллов, что само по себе никому неинтересно.

    В тетрисе, к примеру, тоже отсутствует конечная цель (игрок просто играет, пока не проиграет), но там другая фишка — постепенное, заметное и понятное усложнение игры (прежде всего увеличение скорости падения тетрамино + программа подленько подкидывает неудобные фигурки), игра превращается просто в затягивающий процессс элементами транса. Но в Bushed Bricks аналогичного эффекта не ощущается.


    1. shtange
      16.01.2017 14:03
      +1

      Да, вы правы — игровой процесс несколько скучноват… не в последнюю очередь потому, что у игрока нет осязаемой цели. Я работаю над возможными вариациями «усложнения» игры.