Как зависимость от онлайн-игр спасла мою докторскую степень

Прим.: статья является переводом

Или как я с помощью компьютерной игры защитил докторскую диссертацию по интерактивному дизайну.

Прошло 5 лет с момента окончания мною докторской программы по пользовательским интерфейсам для машинного обучения. Чтобы отпраздновать/поделиться горем (если можно так сказать) я расскажу необычную историю из времен учебы в аспирантуре, историю о том, как потерянные сотни часов в бесполезные онлайн-игры неожиданно ускорили мою способность к исследованиям в десять раз (возможно, даже больше).

Ренессанс "игр-кликеров" 2013 года

2013 год. Медленно, но верно, суперхит Disney - "Холодное сердце" - набирает обороты, и скоро родители по всему миру будут подвергаться террору малышей в костюмах Олафа и Эльзы, бессмысленно исполняющих песню "Отпусти и забудь". В это же время французский программист, известный под псевдонимом Orteil (что означает "палец ноги"), выпускает игру, которая взбудоражит мир онлайн-игр своим абсурдом, простотой и привлекательностью.

Что за игра? "Cookie Clicker". Цель игры проста: набрать как можно больше печенек. Вы можете кликать на гигантскую печеньку, чтобы создавать печеньки, но этот способ не особенно эффективен в долгосрочной перспективе. Вместо этого вы можете потратить некоторое количество печенек, чтобы нанять бабушек, которые будут для вас выпекать печеньки. Со временем вы получаете доступ к пекарням, фабрикам и бесконечной серии все более абсурдных и продуктивных устройств для генерации печенек.

Не говорите, что вы не помните эту игру
Не говорите, что вы не помните эту игру
Доводилось ли вам играть в эту игру?
Да
Нет

В то время было написано много статей о "зависимости" от Cookie Clicker. Несмотря на ее видимую простоту, в ее игровой механике было что-то невероятно забавное и заставляющее продолжать игру. Хотя это не была первая игра в этом жанре, она, вероятно, оказала наибольшее влияние. В течение нескольких недель Интернет был переполнен сотнями игр в стиле "кликер", начиная от простых модификаций Cookie Clicker до оригинальных идей, которые расширяли ее границы и формировали новые функции, делающие ее еще более интересной. В итоге этот жанр стал известен как "инкрементальные" или "бездейственные" игры, с активным сообществом на Reddit. По этому жанру даже написали несколько десятков научных статей.

Кроличья нора

Одним из странных и интересных аспектов этой игры является то, что она вознаграждает вас за отсутствие активности. Часто для покупки следующей печеньки требуется значительно больше печенек, чем вы производите в данный момент, поэтому у вас нет другого выбора, кроме как оставить игру в покое, иногда на несколько дней, пока ваши пекарни не накопят достаточно печенек для разблокировки следующего уровня прогресса. Вот почему ее называют "бездейственной" игрой.

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

Я страстно увлекся игрой Cookie Clicker. Она работала на моем компьютере круглосуточно в течение нескольких месяцев, и я "навещал" ее каждые несколько часов. Каждый день я посещал сабреддит Cookie Clicker, где люди обсуждали стратегии, публиковали советы и результаты экспериментов. Появилась отдельная индустрия расширений для браузера, позволяющих автоматизировать определенные аспекты игры, а также отслеживать статистику производства печенек и вычислять формулы для принятия решений внутри игры. Игра была написана на языке программирования для веба JavaScript, на котором также были написаны и эти расширения.

Играя с этими расширениями и внося в них изменения, я непреднамеренно узнал много о том, как работает программирование для браузера. Я даже смог найти причину проблемы, когда печеньки генерировались не так быстро, как ожидалось по моим расчетам. Оказалось, что Google Chrome ограничивает таймеры JavaScript в фоновых вкладках, поэтому для того, чтобы мое расширение "кликало" автоматически так быстро, как задумано, вкладка должна быть видимой на переднем плане. Я построил график этого явления и представил свои исследования сообществу на Reddit, привнося вклад к растущему объему знаний об этой игре (и моему собственному растущему объему знаний о программировании для браузера).

Моя неудачная попытка создать игру

В какой-то момент, спустя несколько месяцев, проведенных в Cookie Clicker (и став экспертом в нескольких других похожих играх в процессе), я наконец почувствовал потребность в творчестве. Почему бы мне не создать свою собственную игру-кликер?

Будучи поглощенным академической средой и необремененным цинизмом, которым часто сопровождается опыт, я представил себе игру, где пользователь начинает как скромный аспирант, стремясь набрать исследовательские очки, публикуя научные статьи, и постепенно продвигается к должности профессора, пока не станет руководителем кафедры, создающим сотни высококачественных научных статей и привлекающим миллиарды долларовых инвестиций. Я начал писать эту очень простую игру. У меня было грубое представление в голове, но мне не хватало всех необходимых навыков веб-программирования. Поэтому я учился шаг за шагом, постепенно усваивая новые концепции, пока не получил достаточно знаний, чтобы создать примерный прототип.

Моя игра с говорящим названием «Симулятор исследования»
Моя игра с говорящим названием «Симулятор исследования»

Игра выглядела ужасно, но у нее было несколько минут геймплея, и она являлась неплохим доказательством концепции. Я продолжал работать над игрой несколько дней, но после того, как удовлетворил свое творческое желание, я потерял интерес. К тому же, я узнал, что некоторые умные ученые из CERN разработали гораздо лучшую версию игры, которую я планировал создать. Я оставил свою игру и больше не думал об этом.

Навык, о котором я не догадывался

Через несколько месяцев я встретился с моим научным руководителем для обсуждения (по-моему, тема разговора была "неопределенности в диаграммах и графиках"). Нам пришла в голову идея использовать планки погрешностей в качестве механизма контроля: например, если вы хотите узнать значение в определенной точке с большей уверенностью, можете ли вы перемещать эти планки, чтобы указать уровень неопределенности, который вам нужен? Мы разработали эксперимент для проверки этой идеи, и теперь нам просто нужен был интерактивный прототип.

Как зависимость от онлайн-игр спасла мою докторскую степень

Стоит отметить, что до этого момента мой основной опыт программирования был в Java, Python и R. Я использовал Python и R для обработки и анализа данных, а Java - для создания прототипов пользовательских интерфейсов (UI). Проблема была в том, что не был особо хорош в этом. Несомненно, виной этому были мои собственные навыки, но немалую роль сыграли устаревшие библиотеки Java для программирования пользовательских интерфейсов — они были ужасным инструментом для быстрого создания прототипов UI. В результате, за весь первый год моего обучения я создал только один, довольно простой прототип.

Мне не хотелось строить этот прототип с планками погрешностей на Java, когда мне вдруг пришла в голову идея: почему бы не создать это в виде веб-приложения? Сейчас это кажется совершенно очевидным, но для меня это было открытием в то время. По разным причинам, экосистема веб-разработки гораздо лучше подходит для создания прототипов пользовательских интерфейсов. Месяцы, потраченные на игры с расширениями Cookie Clicker, чтение документации по JavaScript и создание моей собственной ужасной игры, заложили основы всех навыков, которые мне понадобились для создания, настройки и отладки этого прототипа.

С помощью JavaScript я создал прототип за несколько часов. Использование веб-технологий имело еще одно преимущество: было легко развернуть свое творчество в виде веб-сайта и, следовательно, привлечь гораздо больше участников, чем я смог бы получить, проводя эксперимент в лаборатории. Исследование было завершено в течение месяца и было опубликовано на конференции.

Мой успех в этом исследовании вдохновил и замотивировал меня. Стало ясно, какую преграду для творчества и производительности представляли мои навыки программирования пользовательских интерфейсов. Переход к веб-разработке привел к увеличению скорости создания прототипов в 10 раз. За следующие два года обучения я создал несколько прототипов разной сложности. И хотя возникали и другие проблемы, создание прототипов пользовательских интерфейсов оказалось полезным опытом на протяжении всего процесса. Я не могу представить, смог бы я создать что либо, если остановил свой выбор на Java.

Cookie Clicker спас мою докторскую диссертацию.

Мораль этой истории может быть толкована по-разному.

Можно рассматривать мои исследования Cookie Clicker как "фундаментальные исследования", то есть исследования без непосредственного практического применения. Существуют доказательства того, что фундаментальные исследования в науке приводят к повышению производительности в производстве. Существуют убедительные аргументы в пользу того, что отказ от фундаментальных исследований стоит дорого, и что "когда академические исследования начинают демонстрировать применимость в промышленности, именно тогда следует прекращать финансирование, а не увеличивать его".

Или, спустившись на землю, можно просто назвать то, что я делал, сбором "бесполезных знаний", которые, подобно фундаментальным исследованиям, не имеют непосредственного практического применения и даже не стараются отвечать на вопросы, считающиеся полезными в каком-то смысле. И снова, моя история лишний раз подтверждает идею о том, что бесполезные знания, в конечном счете, полезны!

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

Я чрезвычайно благодарен Cookie Clicker за путь, по которому он повел меня, но даже если бы я не научился JavaScript благодаря ему, я бы все равно не жалел и хранил бы воспоминания о многочасовых экспериментах и кликах в комнате общежития в колледже.

Есть ли у вас похожие истории? Делитесь ими в комментариях!

Если вам понравилась данная статья, буду рад видеть вас в своем телеграм-канале Итак, далее!

1
Начать дискуссию