Как сбежать из реальности с помощью хакатона
Собрались как-то в чистом поле полтыщи людей. В костюмах настолько странных, что только в чистом поле им ничего не могло угрожать. Почти у каждого на поясе висел котелок и в сумке позвякивали пробирки — то ли с чернилами, то ли с бабушкиным компотом. Разделившись на группы, все достали пробирки и стали заливать их содержимое в котелки, будто бы придерживаясь каких-то рецептов.
Постепенно из общей группы выделилось пятеро деловитых ребят, облаченных в тяжелые накидки. Не самая подходящая одежда для +30℃. Особенно если ты наматываешь круги под палящим солнцем и клеишь ярлычки на 400 котелков. Клеишь много-много раз, по мере готовности каждого «зелья». Три дня кряду.
Вы прочитали небольшую зарисовку из жизни полевых ролевиков. Те пятеро, кому пришлось несладко, — «алхимики». Представьте, насколько приятней стала бы их жизнь, если бы у них было, скажем, приложение для мониторинга котелков. И это только один сценарий — свои больные темы есть и у полевых, и у кабинетных ролевиков. А еще у косплееров и у фанатов настолок. «Почему бы не попробовать решить их с помощью технологий?» — подумали мы в BrainZ by CROC и организовали CraftHack.
Кто они вообще такие?
Для стороннего наблюдателя все, кому мы хотим помочь, не особо отличаются друг от друга. Ну, может, у кого-то есть классный костюм, а у кого-то такого костюма нет. На самом деле все несколько сложнее:
Реконструкторы — воссоздают события, скрупулезно соблюдая историческую достоверность. Если воссоздается сражение (что бывает чаще всего), его ход и нюансы, победитель определен заранее. Больше всего реконструкторы ценят реализм, делают максимально правдоподобные костюмы. Причем не останавливаются на внешнем сходстве, а восстанавливают сам процесс «крафта»: ткут текстиль на аутентичных станках, куют латы в настоящих кузницах. Нередко реконструкторы отличаются физической силой, необходимой, чтобы обращаться с мечами, топорами и всякими кольчугами.
Ролевики — большая группа людей, которые, в полном соответствии с названием, вживаются в роли своих персонажей и отыгрывают их. По наиболее общему признаку делятся на две группы: полевых и кабинетных ролевиков.
Про первых мы уже писали в начале — это ребята, которым нужен простор, которые любят что-то строить. У кабинетных ролевиков запросы по территории скромнее — они арендуют квартиры, лофты или небольшие ангары. Кроме того, ролевики делятся по фандомам — кто-то живет во вселенной Толкиена, кому-то ближе Звездные Войны или что-то более экзотическое. Костюмы и аксессуары, соответственно, делаются по фандому — точно как в книге или в фильме. Многие ролевики переносят свое альтер эго в реальную жизнь и очень не любят, когда их называют настоящими именами.
Отдельно рассматривают «настольных» ролевиков, которые перевоплощаются при игре в настольные игры типа Dungeons&Dragons, причем обычно даже без костюмов и аксессуаров. Все действия отыгрываются на словах и симулируются по оговоренным моделям с помощью математики.
Что касается достоверности, то у ролевиков действует правило пяти метров: «если с пяти метров это выглядит хорошо — то хорошо». Антураж — это бонус. Здесь главное — как ты вживаешься в роль.
Косплееры — люди, которые выбирают какой-то образ и воссоздают его в максимальном соответствии с фандомом. Начинался косплей с фандомов по аниме, но затем люди стали косплеить персонажей из Dota, Warhammer, Warcraft и других вселенных. Последнее время стали выделять косплей по-русски, когда в качестве персонажей выбираются герои русских сказок и фильмов — Царевна Несмеяна, Василиса Прекрасная и т.д. Основное отличие косплееров от ролевиков — в сложности и тщательности проработки образа. У косплееров обычно жутко неудобные костюмы, в которых непросто пережить даже несколько часов на фестивале косплея.
У всех этих людей есть проблемы, которые мешают импровизации и срывают весь фан. Алхимики сбиваются с ног, подтверждая успешное создание каждого зелья. Любители настольных игр вынуждены каждый ход вручную проделывать сложные вычисления, чтобы рассчитать эффекты от бросков кубиков. «Космическим» ролевикам нужно отыгрывать перемещение между соседними галактиками и другими огромными локациями. Для этих и других проблем мы решили поискать технологичные решения.
CraftHack, который хочет всем помочь
Хакатон CraftHack проходил в центре молодежного инновационного творчества (ЦМИТ) «Коптер» в Москве. В пятницу 9 августа мы дали задания, а в воскресенье 11 августа уже награждали победителей. Теперь — о самых интересных квестах и проектах.
Симуляция космических полетов
В космических ролевках необходимо отыгрывать перемещение между огромными локациями — например, виртуальными галактиками, которые накладываются на участок местности, иногда до нескольких километров. С точки зрения игры это разные локации, но физически это одно и то же пространство.
Обычно это решается двумя способами. Первый — это «космические корабли в коробках». Здесь, добираясь до границы определенной площади, игроки пересаживаются в «звездолеты» — ими может быть что угодно, от джипов до картонных коробок — и за этой границей уже путешествуют в космосе. Добираясь до какой-то другой фиксированной точки, они вылезают из коробок и продолжают игру в другой зоне. Второй способ отыгрыша — это когда «космос» представляет собой ограниченную зону, помещение. Игроки заходят туда, какое-то время «летят» в космосе, а потом выходят в другой точке (в ракурсе игры).
Для второго способа люди пишут простенькие приложения-симуляторы, где иногда даже воссоздается рубка космического корабля. Или делают моды на основе известных авиасимуляторов. Но все это обычно получается глючным или слишком кустарным. На хакатоне мы предложили участникам создать космический симулятор, в котором можно было бы решать основные задачи космических ролевых игр: маневрировать в космосе, управлять двигателями корабля, оружием, стыковочными и посадочными системами. Кроме того, симулятор должен представлять хитпойнты (очки здоровья) разных корабельных систем, а при выходе из строя отключать управление ими.
В итоге одна команда так увлеклась, что сделала свой симулятор в VR. Причем когда они на предварительном обсуждении вынесли эту идею, мы ответили, что у нас нет на хакатоне нужной технической базы. Ребят это не остановило — у них было все с собой: и один из топовых шлемов, и мощный системный блок. В итоге получилось красиво, но, к сожалению, слишком «аркадно». Команда упустила из виду, что в космосе свои законы физики, не как в обычных авиасимуляторах. Это было очень важно, и поэтому, к сожалению, мы не смогли отметить их усилия. Другие команды делали более стандартные решения — приборные панели и другие элементы интерфейсов космолетов.
Автоматизация подтверждения действий
Эту проблему мы затронули еще в самом начале. На массовых ролевках несколько сотен человек регулярно повторяют важные игровые действия (например, варят зелья или наносят этими зельями ущерб противнику), которые необходимо подтверждать. И пяти несчастных алхимиков — мастеров, если говорить более обобщенно — здесь явно недостаточно.
Существуют системы автоматизации действий для конкретных игр, но решения эти, что называется, «прибиты гвоздями» к конкретным играм. Мы подумали, что было бы здорово создать универсальную систему, которая может принимать и подтверждать действия игроков, выдавая результаты вместо мастеров. И чтобы мастера могли за работой системы следить.
Условия этой задачи давали большую свободу действий, так что многие взялись именно за нее. Предлагали решения, основанные на защищенном от всех непогод стационарном компьютере-терминале, который печатает ярлыки-наклейки для команд. Кто-то сделал физическую лабораторию. Реализовали пару-тройку идей на основе дополненной реальности. Были решения на основе QR-кодов: сначала нужно отсканировать ряд QR-кодов на территории («собрать ингредиенты»), а потом с помощью финального QR-кода подтвердить, что ты соединил все ингредиенты в зелье.
Отдельно здесь стоит отметить решение с RFID — ребята реализовали «котел» на сервоприводах. Он по цветам определял компоненты, которые в него добавлялись, и выбрасывал результат. Конечно, из-за ограничений хакатона получилось сыровато, но оригинальность очень порадовала.
«S-s-smokin!»: задачи с масками
Маски — это важный элемент и косплея, и различных ролевых игр. Поэтому у нас было сразу несколько задач, связанных с ними.
В первой задаче мы вдохновились хобби одной из наших коллег, которая создает силиконовые маски по слепку лица человека. Для каких-нибудь демонических образов ей нужно, например, чтобы маска создавала эффект, будто лицо покрыто лавой, или чтобы маска переливалась, словно она плавится. В США есть такие решения, но они довольно дорогие. С помощью простых светодиодов создать нужный эффект не получается. Одна команда взяла эту задачу на хакатоне и смогла встроить в маску электрошокер. К этому добавили возможность изменения речи. В результате получилась зрелищная штука, и нам было даже страшновато за тех, кто находился рядом с ней — маска сверкала и потрескивала. Не про огонь и лаву, конечно, но эффект создавался впечатляющий.
Вторая задача вытекала из того, что в ролевых играх присутствует много рас и народов, которые общаются на разных языках и не понимают друг друга. Нужно было сделать такие маски, чтобы они давали возможность общения между участниками, которые их носят —, а чужаки при этом ничего бы не понимали. Здесь тоже были интересные прототипы, в том числе основанные на криптографии.
«Не влезай! Убьет!»
Когда ролевые игры проходят на большом пространстве, некоторые его зоны имеют те или иные эффекты. В S.T. A.L.K. E.R. это может быть зараженная радиацией местность, в фэнтезийных играх — какие-нибудь благословенные места и т.д. Идея была в том, чтобы сделать устройство, которое показывает игроку, в какой зоне он находится и какие эффекты испытывает на себе.
Здесь запомнилось одно оригинальное решение, когда одна из команд сделала из вейпа и бутыли воды дымовую пушку. А на игроков повесила устройства, которые, распознавая дым, выдавали человеку нужную информацию о зоне, где находится игрок.
Live to win!
Участников хакатона мы наградили в нескольких разных номинациях. С описанными выше задачами они не совпадали — более того, одна из команд заслужила нашу награду, выполнив собственную задачу.
Area Effect: самое прикладное и масштабируемое решение
Здесь мы отметили команду «Котсплей» и их решение для автоматизации действий гейм-мастера («алхимика»). Основа их решения — стол дополненной реальности с маркерами, соответствующими тем или иным ингредиентам.
Вот стол с маркерами ингредиентов
А вот «магия» дополненной реальности
При сборе нужных ингредиентов создание «эликсира» фиксируется в мобильном приложении. Там же содержатся игровые рецепты. Пока что приложение использует сторонние, серверные мощности, но в перспективе планируется перенести его полностью на сторону клиента. А также расширить возможности кастомизации под разные ролевые вселенные и учитывать игровой уровень героя при крафте.
Другой победитель в этой номинации, команда Cyber_Kek_Team, создала решение по зонированию игрового пространства, используя принципы триангуляции. В нужных зонах на поле расставляются маячки на базе недорогого микроконтроллера ESP32. Игрокам раздают похожие устройства на базе ESP32, но уже более функциональные, с кнопкой, совершающей какое-то заранее прописанное действие. Маяки и пользовательские гаджеты находят друг друга по Bluetooth и обмениваются игровой информацией. Благодаря гибкой настройке контроллера так можно реализовать множество сценариев — от огораживания безопасных зон и передачи аптечек до нанесения ущерба от гранат и заклинаний.
Наконец, мы отметили команду 3D. Она создала универсальное приложение, которое просчитывает эффекты от бросков многогранных кубиков с учетом характеристик персонажа в D&D и подобных играх.
«Engin-seer»: самое креативное решение
В этой номинации отличилась команда «Школа 21», которая работала над автоматизацией работы алхимиков. Именно эти ребята сделали решение, напоминающее реальный котел, о котором мы писали выше. Наверх игрок закладывает ингредиенты, которые определяются системой по цвету, и при наличии нужных компонентов система выдает нечто, что символизирует новый «эликсир». На нем есть QR-код, просканировав который можно узнать о свойствах эликсира. Важное преимущество здесь — низкий уровень абстракции: привязка к физическим объектам поддерживает «волшебную» ролевую атмосферу.
«Level-Up»: за самый значительный прогресс в развитии
В этой номинации мы отметили тех, кто за два дня хакатона смог прыгнуть выше головы — команду Natural Zero. Ребята создали универсальный набор для игромеханической эксплуатации магических артефактов в ролевых играх. Он состоит из устройства измерения «магического заряда» — измерителя на основе датчика Холла. По мере приближения к устройствам-накопителям с соленоидами внутри измеритель загорается все ярче. Также в системе есть и третий класс устройств — поглотители — который отвечает за то, чтобы заряд у накопителя снижался. Это происходит благодаря тому, что через RFID-метку поглотителя накопитель получает команду подавать меньший ток на соленоид. Соответственно, в этом случае устройство измерения будет подавать менее яркий сигнал — показывать меньший уровень «маны» (или любого другого показателя, в зависимости от игры).
Один из прототипов Natural Zero
«Madskillz»: за самый крутой набор технологий и скиллов
Многие участники хакатона продемонстрировали оригинальные и неожиданные решения, привлекая очень технологичные инструменты. Но все же захотелось выделить именно команду «А». Эти ребята сделали свой умный посох, распознающий жесты — CyberШвабру. Она состоит из трех основных частей:
- Raspberry Pi Zero — распознает и запоминает жесты пользователя, шлет команды атрибутике;
- Arduino Nano — получает данные с датчиков и отправляет их в Raspberry для анализа;
- Швабра — «корпус для устройства, уникальный форм-фактор».
Для распознавания жестов используется метод главных компонент и дерево решений:
Эпилог
Зачем людям косплей и ролевые игры? Важная причина — чтобы выйти «из коробки» обычной реальности, которая окружает нас изо дня в день. Многие ролевики, реконструкторы и косплееры на работе постоянно решают IT-задачи, и этот опыт помогает им в любимом хобби. А некоторым темы CraftHack в принципе гораздо ближе, чем темы традиционных «отраслевых» хакатонов.
Здесь раскрыли себя айтишники с некоторой подготовкой, а далекие от IT ролевики и косплееры, с другой стороны, смогли расширить свой технический кругозор. Опыт, полученный на хакатоне, может пригодиться им для решения схожих задач в реальной жизни — освоенные на CraftHack IT-инструменты имеют много сфер применения. Нам кажется, что в итоге каждая из сторон получила хороший креативный бонус — +5, а то и целых +10.