Веб-разработчик из США, известный своими необычными онлайн-играми, добавил на свой сайт новую страницу под названием The Password Game. Этот разработчик, по имени Нил Агарвал, уже несколько лет регулярно выкладывает небольшие игры, которые можно играть прямо в браузере. Новая игра выглядит как интерфейс для выбора пароля и предлагает выполнить 36 различных требований.
Нил Агарвал - это разработчик из боро Бруклин, города Нью-Йорк, который известен своим креативным подходом к программированию. Он создал различные веб-сайты, которые, например, могут отображать любое изображение в виде двумерного массива эмодзи или показывать, что происходит в мире за одну секунду.
Не все его творения имеют собственный домен. Нил хранит свои небольшие игры на сайте Neal.fun. Эти веб-приложения предлагают различные развлекательные опции, такие как космический лифт или написание обзора на любое земное удовольствие - от огня и лифтов до икания и ногтей. На Neal.fun уже представлено 31 подобных приложение.
Некоторые из этих игр предоставляют просто развлечение, например, возможность нарисовать идеальный круг с помощью компьютерной мыши, но не приносят новых знаний. Другие игры визуализируют данные. Например, The Deep Sea наглядно демонстрирует различные виды морской фауны на разных глубинах. Эту страницу даже используют в океанариумах для показа посетителям.
Простые веб-приложения, которые Нил создает, могли бы отлично дополнить резюме молодого специалиста в возрасте 24-25 лет. Однако, несмотря на это, разработчик продолжает создавать эти забавные проекты и часто попадает в заголовки новостей (1, 2, 3 и так далее).
В одном интервью Нил объяснил свою мотивацию: он считает, что современный веб стал скучным, потому что гиганты социальных сетей и мобильных приложений поглощают все ресурсы. Нил вырос во времена Flash, когда интернет был ярким и красочным медиа-фестивалем. Когда ему было 10 лет, он создал простой портал с любимыми Flash-играми, используя WYSIWYG-редактор. Год спустя он познакомился с Scratch, что впоследствии помогло ему изучить JavaScript, и постепенно он освоил HTML и CSS.
Сегодня, после исчезновения Flash, веб-браузеры стали еще более мощными. Нил использует доступные ему возможности, чтобы показать, насколько интересным и уникальным может быть веб.
Источником вдохновения для Нила являются его подписки в Twitter. Разработчик привык записывать свои идеи в форме "сырых" набросков, а затем разрабатывать и реализовывать их. Он часто проверяет свои концепции с помощью прототипов, но иногда приходится отказываться от некоторых идей из-за технических ограничений. Например, то, что хорошо выглядит на больших экранах, может не работать на смартфонах. Нил признается, что в процессе работы все часто меняется до неузнаваемости.
Нил сравнивает свою деятельность с творчеством художников, которые экспериментируют с новыми техниками живописи. Он считает, что в креативном программировании еще остается множество нераскрытых возможностей, в отличие от изобразительного искусства.
Нил не против высмеять стандарты современной веб-разработки. К примеру, на странице Share This Page он доводит список возможных способов поделиться страницей до абсурда: хоть языком жестов или криками для китов. Очередное творение Нила сатиризирует ограничения на формат пароля.
По адресу neal.fun/password-game/ без каких-либо объяснений открывается текстовое поле с предложением задать пароль. По мере набора пароля одно за другим выясняются требования к нему.
Игра выполнена на английском языке. Всего к паролю предъявляется 36 различных требований. Их можно разбить на группы:
- Значения, которые зависят от текущей даты или удачи: сегодняшнее решение Wordle, капча, локация из Geoguessr.
- Внешне простые требования, которые удовлетворить легко. На деле они будут преследовать игрока. К примеру, на шаге 5 попросят сделать так, чтобы сумма цифр в пароле составляла 25. В будущем цифры добавить ещё придётся. В частности, требование 15 обязывает включить в пароль високосный год, а в требовании 16 нужно добавить шахматный ход в алгебраической нотации. Цифры могут быть в капче, а на шаге 35 нужно записать в пароль текущее время, поэтому игру проходить удобнее в определённое время суток.
- Некоторые заглавные буквы распознаются как римские цифры. Требование 9 указывает, что произведение римских цифр должно быть равно 35. Это сильно осложняет решение задачи.
- Иногда важна скорость реакции. В определённый момент пароль загорится. Его нужно потушить, удалив эмодзи огня.
- По ходу игры появляются обязанности. На шаге 17 в пароль подбросят яйцо по имени Пол. Когда на требовании 23 цыплёнок вылупится, раз в минуту Пола нужно подкармливать тремя эмодзи гусеницы (🐛) в минуту, не перекармливая.
- Иногда из пароля придётся что-то убрать. В одном из шагов предлагается пожертвовать буквой, которая в пароле встречаться не будет.
- Настройка шрифта и размера букв в зависимости от разнообразных правил: номер кегля у цифры должен составлять квадрат её значения, все римские цифры должны быть в Times New Roman, число символов курсивом должно быть в два раза больше, чем полужирным, и так далее.
Игра заключается в поиске строки, которая удовлетворит всем требованиям. Часто фрагменты для одного из правил влияют на другие, осложняя или вовсе делая невозможным решение. Сам Агарвал признаёт, что хорошо осознаёт чрезмерную трудность игры.
Нил не имеет привычки публиковать исходные коды своих проектов. Его профиль на GitHub пуст.