Профиль члена команды Mm: Розабель Армстед
В игровую индустрию Розабель Армстед попала, прямо скажем, необычным способом: талантливый младший программист получила работу в Media Molecule и BAFTA за свои труды над «Грёзами» ещё до выпуска из университета. Мы беседуем с Розабель о том, что она делает в Mm и как она туда попала, а также о том, что общего у программирования с творчеством и разгадыванием кроссвордов...
Привет, Розабель! Расскажи, чем ты занимаешься в Media Molecule?
Я младший программист, работаю над «Грёзами». В основном мой рабочий день проходит так: читаю код, пишу код, исправляю код и стараюсь угнаться за другими программистами. Ещё я, как младший сотрудник, многому учусь, часто общаюсь со старшими программистами, они мне помогают.
Как вообще проходит программирование для «Грёз»?
Я работала над заданиями чертёнка и призами, управляла процессами в игре. Систему заданий чертёнка начали разрабатывать ещё до моего прихода, меня уже по факту посвятили в курс дела. Для этих заданий у нас есть инструмент, обрабатывающий файл, в который дизайнеры могут сами добавлять разное, чтобы в игре появлялись новые задания чертёнка и призы. Какие-то элементы мы должны при этом добавлять сами непосредственно в код, чтобы они становились доступны. Для большинства мест у нас есть уже готовый инструментарий. Дизайнеры могут сделать что-нибудь, запустить инструмент, чтобы изменения отобразились в игре, а программисту останется только добавить последний штрих. Возьмём, например, задания чертёнка: у нас есть список заданий чертёнка и есть функция, где мы говорим, например: «Отметь это задание чертёнка, как доступное, когда сделано такое-то действие». Например, вы прошли обучение — в коде игры есть фрагмент «обучение закончено», и мы можем добавить туда строку «сделать доступным это обучающее задание чертёнка».
Значит, твоя работа — общаться с игрой на особом языке, чтобы заставить её делать то, чего хотят дизайнеры?
Так и есть. Это такой математический, логический язык. Наш код не многословен и довольно прост для понимания новым программистом, всё для этого предусмотрено. Большинство элементов кода названы так, чтобы было понятно, что они делают — например, есть функция «Add Button» («Добавить кнопку») и ты сразу понимаешь — её можно использовать, чтобы добавить кнопку. Эту функцию написал кто-то ещё до вас, функционал нижнего уровня по большей части реализован. Я сейчас над этим тоже работаю — учусь программировать графику, чтобы рисовать эти кнопки на пиксельном уровне, а не просто вызывать функцию по добавлению кнопки.
Ты всегда хотела стать программистом?
Да. В детстве я много читала Nintendo Magazine. Там была реклама игровых вакансий для разных направлений в индустрии: художники, тестировщики, программисты, продакшн, гейм-дизайн. Я думала: «Здорово было бы работать над тем, что мне так нравится, делать то, во что смогут играть другие». В то время в моей школе, — а ходила я в школу для девочек, — не учили программированию. Была информатика — редакторы таблиц, рассылка почты и тому подобное. Для продакшна самое то! Но не для программирования. Я сдавала по ней экзамены, но все же это было не то, чего мне хотелось. Я пошла другим путём — делала много личных проектов в Scratch, языке программирования, где перетаскиваешь блоки с функциями мышкой — мне тогда было где-то 11 лет. Потом я делала с братом игры на Roblox, мы писали скрипты на Lua. А когда мне исполнилось 16, в школе наконец-то появилось программирование.
Как раз вовремя!
Да! Я сразу поняла — запишусь на этот курс, пока не выпустилась, выучу хоть что-то перед универом! Мне повезло: в январе перед началом продвинутого курса там провели пробные занятия, мы изучили простой алгоритм сортировки, сортировку пузырьком, тоже на очень простом языке — Visual Basic. Мне очень понравилось, потому что нужно было использовать логическое мышление. Я решила — решено, изучаю, это очень круто. А потом на вручении наград по результатам экзаменов, которое было через пару месяцев после пробных занятий, пришла Шивон [Шивон Редди директор студии Media Molecule] и дала там речь. Вот тогда для меня всё и сложилось.
Вы тогда общались с Шивон лично?
Я помню, когда она пришла, чтобы произнести речь и представилась, сказала, откуда она, все сразу посмотрели на меня — так смешно было! Мой учитель (который в следующем году преподавал у меня программирование) сказал: «Давай вас представим друг другу». Я тогда с ней пообщалась. Не помню точно, о чём был разговор, я очень нервничала. Она дала нам свой e-mail и в следующем январе мы организовали школьный визит к ним. Мы там беседовали с Эми [Эми Филипс, программист инструментария] и Мишель [Мишель Даккер, старший продюсер], смотрели очень ранние демоверсии «Грёз». Это было очень интересно, и всё, что делали Mm, укрепило мой интерес и желание программировать и разрабатывать игры. Я была просто в эйфории: «Как же это здорово, а!» В результате я и ещё пара ребят договорились, что придём поработать туда летом, а потом это повторилось и на следующий год, а потом ещё на следующий!
Ты к тому времени уже начала изучать программирование в университете и практику тоже проходила в Media Molecule. Чем тебе так понравилась студия?
В Mm какая-то особая, невероятная атмосфера. Все отлично ладят друг с другом. Все всех знают, у всех есть свои интересы и каждый знает, чем интересуется другой. При этом все очень хорошо выполняют свою работу, но и в хобби своих немало преуспели!
Ты тоже разносторонний человек, это заметно — ведь у тебя ещё талант к портретной живописи. За что ты любишь рисование? За то же, что и программирование?
Наверное, да! Похожие ощущения — когда меня полностью захватывает процесс программирования или рисования. Такое состояние релаксации. Я даже не думаю, просто делаю. Когда рисую — просто рисую, когда программирую — просто печатаю. Даже с программированием, когда не получается, когда наступает фаза отладки и я задействую логическую часть мозга, это похоже на то ощущение, когда что-то выглядит не так в рисунке. Я делаю паузу, отхожу назад и спрашиваю: «Так, логический мозг, в чём тут ошибка?» [смеётся] И исправляю. Так что да, сходство, наверное, есть. Я об этом раньше не задумывалась.
Мы видели, как ты на обеде решаешь в клубе студии криптокроссворды. Кажется, это аналогичный процесс.
До прихода в Mm я не знала, как разгадывать такие штуки. Я где-то с месяц просто сидела за столом и молча наблюдала за всеми, прежде чем сама начала участвовать!
Но ты же решаешь их быстрее всех нас!
Я весь тот месяц разгадывала принцип, а потом попробовала сама: «Может, вот так?». Купила себе три или четыре книги с криптокроссвордами и решала их, как не в себя. Иногда даже не решала, а сразу смотрела в ответы и пыталась понять принцип, устраивала «обратную разработку».
По описанию это очень похоже на наш (очень маленький) опыт в программировании. Что-то идёт не так и мы все такие: «Как это случилось?!»
Когда идёшь от ответа к решению, легче потом идти обычным путём. В этом и суть. [смеётся]
Как ты думаешь, много ли общего у твоей работы в Mm с учёбой в университете? Не только в плане программирования, но и в плане личного развития.
Определённо да. Когда меня спрашивают, я часто говорю, что за год работы я научилась гораздо большему, чем за два с половиной года учёбы в универе. Реальный опыт — это совсем не то, что теория. Он очень помог мне на последнем курсе, пресловутый обратный путь — всё, чем я занималась в Mm, пригодилось в учёбе. Мне стало проще организовывать свою работу. И в групповых проектах очень пригодился опыт работы в команде, что тоже облегчило процесс. Это здорово.
Учишься ты очень быстро — и немудрено, с твоей-то работой! И, ещё не получив диплома, ты помогла создать игру, получившую премию BAFTA. Как ты всё успела?
Да, со стороны это, наверное, кажется необычным. Я два с половиной дня в неделю работала в Mm из дома и ещё два с половиной дня ходила в универ. Трудно было утрясти расписание с моим куратором, но мы смогли найти день, когда нам обоим было удобно, и всё в итоге получилось. Мне повезло, что «Грёзы» вышли за два месяца до того, как начало накапливаться всякое по диплому и экзаменам. Если бы что-то наложилось по срокам, вряд ли я смогла бы продолжать работу над «Грёзами».
Скоро твой выпуск. Что планируешь делать после университета?
Сейчас я планирую просто оставаться в Mm, мне тут нравится! [смеётся] Сохраню любимую работу, плюс будет больше свободного времени для хобби. По вторникам у нас с коллегами футбол, будет здорово к нему вернуться. А ещё настольный теннис! Я по всему этому соскучилась.
Что ты посоветуешь тем, кто хочет стать разработчиком игр?
Я думаю, главный мой совет — ваше дело должно вам нравиться. Не надо слепо возносить что-то на пьедестал и идти к этой цели, не поняв сперва, что это точно ваше. Пробуйте. Roblox и «Грёзы» отлично для этого подходят — система логики поможет вам понять, нравится вам делать игры или нет. Личный опыт вообще полезен, как и реальное портфолио, пусть даже не очень красивое! [смеётся] Если есть рабочий функционал — уже замечательно.
Руководство пользователя «Грёз» постоянно дополняется. Следите за обновлениями: мы будем периодически добавлять новые уроки и статьи.