Из клеточных автоматов и ответа «да не сложно» получились живые пиксельные миры
Не стесняйтесь включать звук, мы старались подобрать эпичные саундтреки и звуки 🤗
Ещё в университете зацепили клеточные автоматы, наверное любой кто учился на программиста, встречался с ними. Простые правила и вдруг рождается сложное, красивое поведение – это завораживает до сих пор.
Спустя годы получил вопрос: «Пап, а игры делать сложно?»
Ответил примерно так: «Да не сложно наверное, сейчас разберёмся». Начали разбираться, придумали игру про шарики и физику и понемногу её делали, но сейчас не про неё.
А в один из дней, пока все были в школе (это ещё до начала лета), вспомнил про клеточные автоматы и решил попробовать другое: обмен цветом между пикселями (каждый пиксель должен взять цвет случайного соседа). Простые правила, а картинка словно дышит. Вот один из первых «чистых» миров: цветные комнаты, коридоры между ними, шесть цветов… и по правилам в итоге останется только один (привет «Горцу»).
Вечером показал результат на кухне. Установили на телефоны всей семейкой, каждый просто попробовал, у кого какой цвет победит (ещё и предсказания делали). А вот потом загоняли меня к компьютеру загрузить другую картинку, вторую, третью – вот тогда зависли часа на два и стало ясно: это правда прикольно. Не гонка и не «игра на очки», а медитативное «ещё чуть-чуть посмотреть, какой цвет победит».
Потом появилась загрузка любого изображения.
Потом цвета стен – непроходимые барьеры.
Потом статичные – цвета, которые не распространяются, но могут быть изменены, этакие тропы.
Из простого эксперимента вдруг получились микромиры с собственной историей.
Лабиринт
Например, можно взять листок, ручку и карандаши. Нарисовать лабиринт. Синим обозначить стены, зелёным/красным – точки распространения, а цветом бумаги – статику. А потом загрузить это в программу – и лабиринт оживёт.
Заметили? Ага, чёрной ручки в доме не нашлось, а синяя спорила с цветом клеток. Пришлось использовать красную для стен, зелёную для одной точки, а для второй неожиданно – чёрный (еле пишущий карандаш, хотя по логике должен быть яркий цвет). Что делать, школа закончилась, всё куда-то резко испарилось 😄
Магическая дуэль
Для нас Living Color Pixels получилось не игрой, а скорее пространством для творчества и экспериментов. Теперь сделав ядро, которым может пользоваться каждый, делаем разные миры своей Пиксельной семейкой (почему так назвались – расскажем отдельно: есть даже экран авторов и пиксельные «мы» в нём).
Вот пример (идея дочери): два мага на башнях – оцените, как хитро она сделала тропы для молний. Красный и зелёный свет только-только расползается по своим путям и уже сталкивается – выглядит эффектно, хоть в клипе ещё никто не победил.
Кто правит миром?
А это карта с данными о домашних питомцах по странам (кошки, собаки и другие). Собрали цифры, придумали, как рисовать доли (с закраской пунктиром или просто стеком выходила каша). Получился микромир «Кто правит миром?». Подробный рассказ и интерактивную карту выложим другим постом; здесь же – просто посмотреть, как цвета спорят за планету.
Так из «да не сложно наверное» появилось место, где из фото, карт, детских рисунков и странных экспериментов рождаются маленькие живые миры.
Если захочется пощупать:
в RuStore – https://www.rustore.ru/catalog/app/art.pixel_family.lcp
в Huawei AppGallery – скоро появимся 😉
P.S.
А вам какую картинку первым делом захотелось бы оживить: свой рисунок, карту/инфографику, мем или портрет питомца?
update: В Windows-версии пофиксили масштабирование при старте, окно больше не вылезает за экран. Спасибо @HimiCat, что подсветил баг.