👀 Баба — это свидетель
Баба просыпается в одиночестве на острове, полном не очень сложных, но удивительных загадок... [📜4К символов]
Что получится, если скрестить Baba is You (2019) и The Witness (2016)? Человек под ником Jo Joe задался этим вопросом и сделал свой набор уровней для Baba is You.
На самом деле, это не совсем та Баба — вся магия правил спрятана под капот. Это, скорее, попытка показать, на что способен бабский движок и пытливый ум.
Некоторые механики кропотливо перенесены из The Witness. Вам предстоит проводить линию к выходу лабиринта, собирать точки и отделять Кеке от других жителей.
Но на самом деле более интересны моменты, где автор не смог дословно воспроизвести механики игры-вдохновительницы.
В отличие от оригинала, тут в каждой локации всего несколько уровней. Так что проходится всё быстро (если не тупить).
Если вы не знакомы с The Witness — возможно, это вас зацепит поиграть в игру. Если знакомы — то поулыбаетесь :)
Подсмотрено здесь.
Распакуйте архив в папку «Baba Is You\Data\Worlds». Из игры выберите Play levels → Play levelpacks.
Задача о расистах
В одном из типов задач вам нужно разделить персонажей по цвету: провести линию так, чтобы в каждой области не было двух разных цветов.
И сразу вопросец: а насколько это сложно? Вот дана доска 5x5 клеток; можно проводить линии случайно — без учёта цветов, пока не повезёт.
В математике такие пути зовутся SAW (Self-Avoiding Walk = самоизбегающая прогулка). А нас интересуют именно пути, которые начинаются в одном углу и заканчиваются в противоположном. Не существует какой-то универсальной формулы, дающей ответ. Зато можно написать простой алгоритм обхода с перебором направлений.
Вот несколько решений для начальных случаев:
Собственно, для нашего поля 5x5 существует более миллиона вариантов, как можно провести линию. Поэтому надо включать думалку :)
Дальше будут мои размышления. Если хотите, можно пропустить.
Если два цвета стоят на соседних клетках, то единственный способ разделить их — провести обязательную стену между ними. Пометим её красным:
А что, если у клетки есть соседи разных цветов? Это значит, соседи должны быть разделены стенкой в одном из двух вариантов. Такие возможные пары стенок я соединил жёлтым:
Наконец, заметим, что если у нас есть возможная пара стенок, то в соответствующем углу не может быть две красных стенки. Пометим такие ситуации зелёными крестиками.
Дальше пришло время умного перебора.
Если рядом с персонажем нету стенки, я рисую с ним кружочек того же цвета.
Жёлтый треугольник, рядом с которым есть стенка, — спасительная комбинация. Если внизу нет стенки, то получается противоречие. Значит, снизу стенка есть. Верхний красный угол тоже может быть проведён только одним способом.
Уверен, дальше вы с лёгкостью докажете, что решения... не существует. Нет расизму! Ну, или надо просто перекрасить часть персонажей в другой цвет :)
Скажу честно, я был удивлён, когда понял, насколько непроста эта задача. И насколько удивительно, что наш мозг умеет её решать!
Бонус
Баба — это свидетель (Baba is Witness)
Можно посмотреть, сколько всяких условий нужно для простейших правил «Свидетеля». Паззл полностью копирует одну дощечку из игры.
Чтобы загрузить уровень по коду, кликните Play levels → Get new levels → Use level code.
И ещё два забавных уровня.
Парадокс Бабы (Baba is parabox)
Всё, что вам нужно, — это затолкать блок на заданное место. Но есть один нюанс...
Уровень — оммаж игре Patrick's Parabox (2022).
Баба-экспресс (Baba Express)
Баба пробует себя в качестве машиниста и развозит всех по домикам соответствующего цвета.
Уровень — оммаж игре Cosmic Express (2017).
Что я могу сказать? Баба — фантастическая игра (которую я когда-нибудь допройду 😅). Разработчик — молодец, что сделал гибкий редактор уровней. Сообщество — творцы-гении.
А я — скромно удаляюсь до пятницы, когда выпущу последний обзор в этом году.
Обзор набора уровней The Witness Is You.