Найти в Дзене

Девочка-программист

Мир из нулей и единиц Комната девочки по имени Лиза ничем не отличалась от комнат миллионов других двенадцатилетних детей. На полке теснились плюшевые мишки, на стене висел плакат с любимой музыкальной группой, на столе лежали учебники и тетради с забавными рисунками на полях. Но был в этой комнате и другой мир. Мир, который уместился на стареньком ноутбуке, доставшемся Лизе от старшего брата. В то время как её одноклассницы обсуждали новые сериалы и наряды, Лиза разгадывала другие загадки. Её не интересовало, кто с кем встречается; её волновало, как заставить спрайт двигаться по экрану, как написать условие для столкновения двух виртуальных объектов, как рассчитать траекторию полёта пиксельного снаряда. Всё началось с книги. Не с учебника по информатике, а с потрёпанного томика из библиотеки под названием «Занимательное программирование для детей». Отец, инженер по профессии, подсунул её ей почти шутки ради. Но шутка обернулась настоящей страстью. Лиза проглотила книгу за два дня. Пот

Мир из нулей и единиц

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

В то время как её одноклассницы обсуждали новые сериалы и наряды, Лиза разгадывала другие загадки. Её не интересовало, кто с кем встречается; её волновало, как заставить спрайт двигаться по экрану, как написать условие для столкновения двух виртуальных объектов, как рассчитать траекторию полёта пиксельного снаряда.

Всё началось с книги. Не с учебника по информатике, а с потрёпанного томика из библиотеки под названием «Занимательное программирование для детей». Отец, инженер по профессии, подсунул её ей почти шутки ради. Но шутка обернулась настоящей страстью.

Лиза проглотила книгу за два дня. Потом она уговорила отца установить на старый ноутбук бесплатную среду разработки. Сначала это были простые скрипты, выводящие на экран смешные сообщения. Потом — первые попытки создать игру «Угадай число». Для неё это было волшебством. Она чувствовала себя демиургом, творцом собственной вселенной, где всё подчинялось её законам — строгим и неумолимым законам кода.

Её лучшая подруга, Катя, смотрела на это увлечение с недоумением.
— Лиза, пойдём, погуляем! — звала она, выглядывая в дверь.
— Не могу, — отвечала Лиза, не отрываясь от монитора. — У меня тут баг… Ошибка одна. Нужно найти.
— Какая ещё ошибка? Ну и что с того?
— Представь, что ты строишь дом из кубиков, — пыталась объяснить Лиза. — И один кубик кривой. И из-за него весь дом разваливается. Вот моя ошибка — это тот самый кривой кубик. Я должна его найти, иначе ничего работать не будет.

Катя качала головой и уходила одна. Лиза оставалась наедине со своим миром. Миром, где всё было логично, понятно и подконтрольно. В отличие от мира реального, где были непонятные правила общения, сложные школьные предметы вроде литературы и порой несправедливые учителя.

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

Однажды вечером, решая очередную задачу, она поймала себя на мысли: а почему бы не создать что-то своё? Не по учебнику, не по готовому руководству, а свою собственную игру? Такую, какой она её видит.

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

Она назвала свою задумку «Путешествие Капельки». Это должна была быть простая, но красивая и добрая история, рассказанная на языке программирования.

Она не знала ещё, во что выльется эта идея. Она просто села и начала творить.

Первые строки кода и первые трудности

Работа закипела. Лиза расчистила на жёстком диске ноутбука место, создала новую папку с многообещающим названием «Капелька» и открыла чистый проект.

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

Она нарисовала фон — тучку, с которой начиналось путешествие, и зелёную полоску земли внизу. Капелька могла падать с неба и благополучно приземляться на траву. Уже это достижение Лиза отметила чашкой какао с зефирками.

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

Лиза захотела добавить препятствия — сухие листья, которые капелька должна была обходить, иначе она теряла силу. И тут начались проблемы. Столкновения не работали так, как надо. Капелька то проходила сквозь листья, то останавливалась перед ними, хотя ничего на пути не было.

Лиза просиживала за ноутбуком долгие часы после школы. Уроки делались наспех, на переменах она в уме прокручивала алгоритмы, на скучных уроках чертила на полях блок-схемы.

Учительница по информатике, Марина Сергеевна, женщина строгая и консервативная, заметила её погружённость в себя.
— Лизочка, ты чего это на уроках витаешь в облаках? — спросила она как-то раз. — Контрольную написала на тройку. Непорядок. Тебе что, компьютерные игры дороже учёбы?
Лиза покраснела и опустила голову. Она не могла объяснить, что она не играет в игры, а создаёт свою. Марина Сергеевна считала, что девочке лучше заниматься чем-то «более полезным».

Дома тоже не всё было гладко. Мама начала беспокоиться.
— Лиза, ты совсем перестала гулять! Весь день сидишь у этого экрана. Испортишь зрение, осанку. Иди, лучше книжку почитай.

Только отец, хоть и с некоторой тревогой, смотрел на её увлечение с интересом.
— Ну как, полетела твоя капелька? — спрашивал он вечером, заглядывая в её комнату.
— Не-а, — хмуро отвечала Лиза. — Опять в листья врезается. Не понимаю, в чём дело.
— Может, показать? Я в своё время тоже немного… — предлагал отец.
— Нет, пап, спасибо. Я сама.

Она хотела сделать всё сама. От начала и до конца. Это был её проект, её вызов самой себе.

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

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

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

Однажды ночью ей приснилось решение. Она во сне увидела тот самый «кривой кубик» — ошибку в условии цикла. Проснулась в пять утра, запустила ноутбук, исправила код и запустила программу.

Капелька плавно обтекла противный сухой лист и покатилась дальше. Не застряла. Не провалилась. Не вылетела с ошибкой.

Лиза вскочила с кровати и принялась танцевать посреди комнаты. Это была победа. Маленькая, но такая важная.

Она поняла, что не сдастся. Ни за что.

Рождение вселенной «Капельки»

Следующие несколько недель пролетели как один день. Комната Лизы превратилась в штаб-квартиру разработки. На стенах появились распечатки с фрагментами кода, на доске — нарисованные от руки уровни будущей игры.

Она уже не просто программировала. Она творила целый мир.

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

Но были и помощники. Другие капельки, которые присоединялись к Капе и увеличивали её размер и силу. Божьи коровки, которые показывали верный путь. И тучи, в которых можно было укрыться от солнца.

Лиза сама нарисовала всех персонажей. Она не была художником, поэтому её спрайты были простыми, даже примитивными. Но в них было свое очарование, своё наивное очарование.

Самым сложным оказалось написать «мозг» игры — игровую механику. Нужно было рассчитать силу тяжести, инерцию, столкновения, очки, таймеры. Учебника для этого было недостаточно. Приходилось изобретать, экспериментировать, ошибаться и снова пробовать.

Она научилась искать информацию. Смотреть видеоуроки на английском (пришлось подтянуть язык), читать техническую документацию, которая казалась скучной и непонятной, но была бесценным источником знаний.

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

— Опять не летает? — спросил он мягко.
— Не летает, — чуть не плача, ответила Лиза. — Всё время здесь виснет. Я уже всё перепробовала.
— Может, я посмотрю? — предложил он осторожно.

Лиза, обычно ревностно охранявшая свой проект, на этот раз кивнула. Она была слишком уставшей и подавленной.

Отец сел за ноутбук. Он не был программистом, но имел технический склад ума. Он начал задавать вопросы. Не «почему оно не работает», а «что именно должно происходить в этот момент?», «как ты видишь этот процесс?».

Отвечая на его вопросы, сама того не замечая, Лиза начала вслух проговаривать логику игры. И вдруг она сама увидела ошибку! Не в коде, а в самом алгоритме. Она пыталась заставить объект делать две взаимоисключающие вещи одновременно.

— Папа, я поняла! — воскликнула она. — Спасибо!
Отец улыбнулся и вышел из комнаты, оставив её наедине с озарением.

Через час игра работала. Уровень загружался, Капа бегала по экрану, листья и ветер делали своё дело. Это был настоящий прорыв.

Лиза работала с одержимостью, которой мог бы позавидовать любой взрослый разработчик. Она забывала поесть, делала уроки в автобусе по дороге в школу, ночевала с блокнотом под подушкой.

Наконец настал день, когда она дописала последнюю строчку кода. Последний уровень был готов, музыкальное сопровождение (найденное на бесплатном ресурсе) добавлено, титры с её именем прописаны.

Она откинулась на спинку стула и просто смотрела на экран. На главное меню её игры. Скромное, но сделанное с душой. Надпись «Путешествие Капельки» мигала над нарисованной ею тучкой.

Она это сделала. Она создала свою вселенную. От идеи до реализации.

Она чувствовала себя невероятно уставшей и невероятно счастливой.

Испытание страхом

Игра была готова. Она лежала на диске в виде исполняемого файла. Лиза запускала её раз за разом, проверяя, ища баги, наслаждаясь тем, что всё работает так, как задумано.

И тут её охватил страх. А что дальше?

Она достигла своей цели. Но что теперь делать с этой игрой? Оставить её пылиться на жёстком диске? Показать родителям? Они, конечно, похвалят, подивятся, и на этом всё закончится.

А ей хотелось большего. Хотелось, чтобы в её игру поиграли другие люди. Не чтобы похвалили, а чтобы испытали те эмоции, которые она вложила в свою работу. Чтобы кто-то ещё управлял Капой, радовался её победам, огорчался из-за неудач.

Но мысль о том, чтобы выставить свою работу на всеобщее обозрение, пугала её до дрожи. А вдруг она плохая? Вдруг все будут смеяться над примитивной графикой и простеньким геймплеем? Вдруг найдутся злые люди, которые раскритикуют её и высмеют?

Она знала, каким бывает интернет. Знакомые одноклассники получали жёсткие комментарии под своими фотографиями. Что уж говорить о чьём-то творческом проекте.

Неделю она не решалась ничего предпринять. Игра лежала в папке, а Лиза ходила и мучилась. Она то заходила на порталы для инди-разработчиков, то сразу же закрывала их, испугавшись.

Ей помог случай. Вернее, её учительница по литературе, Анна Викторовна. Молодая, прогрессивная, она как-то раз дала задание — написать эссе о своём самом большом достижении. Большинство писало о победах в спорте или о хороших оценках. Лиза, после недолгих раздумий, написала о своей игре.

Она не ожидала особой реакции. Но Анна Викторовна, проверив работы, попросила Лизу остаться после урока.
— Лиза, это правда? — спросила она, указывая на тетрадь. — Ты действительно создала свою компьютерную игру?
Лиза, покраснев, кивнула.
— И можно посмотреть?
— Она… она не очень, — смущённо пробормотала Лиза. — Графика плохая.
— А мне графика не важна, — улыбнулась учительница. — Мне важно, что ты смогла. Это огромное дело. Ты должна этим гордиться.

Она сказала ещё много хороших слов. Спросила о процессе, о трудностях. И в конце концов сказала:
— Ты обязана это показать миру. Спрятать такую работу — это преступление. Не бойся. Любая критика — это опыт. А тех, кто будет просто злить, нужно игнорировать.

Эти слова стали для Лизы тем толчком, который был ей нужен. Если взрослый, уважаемый человек так говорит, значит, это правда.

В тот же вечер она зарегистрировалась на популярной платформе для распространения инди-игр. Загрузила своё творение, написала небольшое описание, добавила несколько скриншотов. Рука дрожала, когда она нажимала кнопку «Опубликовать».

Публикация прошла успешно. Её игра появилась в общем каталоге, заняв своё место среди сотен других, более профессиональных и раскрученных проектов.

Первые несколько часов ничего не происходило. Лиза каждые пять минут обновляла страницу, но счётчик скачиваний упрямо показывал ноль. Ей стало грустно. Вот он, провал. Никому не интересно.

Она уже собралась выключать компьютер, как вдруг заметила, что счётчик изменился. Было скачано одной копии. Потом ещё одной. Потом ещё.

А затем появился первый комментарий.

Первые лучи славы

Лиза боялась открыть комментарий. Она зажмурилась и медленно, как на экзамене, разлепила веки.

Комментарий был коротким: «Мило! Ребёнку понравилось. Спасибо».

Она не поверила своим глазам. Её игру не только скачали, но и кому-то понравилось! Какой-то незнакомый человек поблагодарил её!

Через час появилось ещё несколько отзывов.
«Просто, но со вкусом. Приятная атмосфера».
«Для новичка очень даже неплохо. Видно, что старались».
«Глюк на втором уровне, но в целом мило».

Были и критические замечания, но они были конструктивными. Люди указывали на реальные ошибки, предлагали улучшения. Никто не смеялся. Никто не писал гадостей.

Лиза сидела перед экраном и плакала. Но это были слёзы счастья и облегчения.

На следующий день счётчик скачиваний перевалил за сотню. А ещё через день случилось нечто невероятное. На платформе работал бот, который отбирал новинки и публиковал о них твиты. И её «Путешествие Капельки» попало в эту подборку.

С этого момента всё изменилось. Скачивания пошли в геометрической прогрессии. Отзывы сыпались как из рога изобилия. Игру заметили.

А потом пришло письмо. На её электронную почту, которую она указала на странице проекта. Письмо от владельца небольшого сайта, посвящённого инди-играм. Он просил разрешения написать о «Капельке» и взять у неё небольшое интервью.

Лиза показала письмо родителям. Те сначала не поверили, решили, что это розыгрыш или спам. Но отец проверил — сайт был настоящим, вполне респектабельным.

— Ну, дочка, — сказал он, качая головой. — Кажется, ты стала знаменитостью.

Интервью брали по электронной почте. Лиза, посоветовавшись с родителями, честно рассказала о себе, о том, как создавала игру, о трудностях. Она не стала скрывать свой возраст. «Если меня будут уважать только под маской взрослого, то это нечестно», — решила она.

Статья вышла под заголовком «Двенадцатилетняя девочка-разработчик покоряет инди-сцену с игрой о капельке». Её прочитали тысячи людей.

Слава обрушилась на Лизу как лавина. В школу приехали журналисты из местной газеты. Директор, который раньше не замечал тихую ученицу, пригласил её в кабинет и похвалил перед всей школой на линейке.

Учительница информатики, Марина Сергеевна, извинилась перед ней.
— Лиза, я, кажется, недооценила тебя, — сказала она смущённо. — Ты молодец. Настоящий самородок.

Одноклассники, которые раньше не очень понимали её увлечение, теперь смотрели на неё с интересом и даже с некоторой завистью. Катя, её подруга, таскала за ней журналистов и с гордостью рассказывала всем: «Это моя лучшая подруга! Я всегда знала, что она гений!»

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

Она выпустила несколько обновлений, добавила новые уровни по просьбам игроков. Её проект жил и развивался.

Но самое главное — она поверила в себя. Поняла, что возраст — не помеха. Что если очень захотеть и много работать, можно достичь чего угодно.

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

И она знала, что это только начало.

Уроки успеха

Слава — вещь недолговечная. Через пару недель журналисты переключились на другие новости, одноклассники привыкли к знаменитости в своих рядах, жизнь в школе вошла в привычное русло. Но для Лизы всё изменилось навсегда.

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

Во-вторых, она обнаружила, что программирование — это не просто уединённое занятие. Это сообщество. На неё вышли другие разработчики, в том числе и взрослые, опытные. Они предлагали помощь, советовали ресурсы для обучения, приглашали в свои чаты.

Она познакомилась с девушкой Аней, которая в шестнадцать лет разрабатывала мобильные приложения. С парнем Димой, который создавал сложные стратегии. Они общались на равных, обсуждали код, делились проблемами. Её возраст никого не смущал. Важны были знания и желание развиваться.

В-третьих, её успех имел и материальное воплощение. На платформе, где была размещена её игра, можно было установить цену или принимать добровольные пожертвования. Лиза выставила цену в символические пять рублей. И люди покупали! К концу месяца на её счету накопилась сумма, которой хватило на новый, более мощный ноутбук. Она сама заработала на него. Это осознание было пьянящим.

Но были и сложные уроки. Однажды её игра привлекла внимание крупного блогера, который специализировался на разборе инди-проектов. Он сделал подробный, жёсткий и местами очень саркастический обзор. Он высмеивал примитивную графику, простенький геймплей, наивный сюжет.

Лиза смотрела этот ролик и плакала. Казалось, всё, чего она достигла, рухнуло в один миг. Ей хотелось удалить игру, закрыться от всех, забыть о программировании.

Её спас отец. Он посмотрел обзор вместе с ней и сказал:
— Знаешь, а он во многом прав.
Лиза смотрела на него с недоумением сквозь слёзы.
— Графика и правда простая, геймплей простой. Но, дочка, он не сказал главного. Он не сказал, что ты — двенадцатилетняя девочка — сделала это одна. Он сравнивает тебя с взрослыми студиями. Уже один этот факт — это твоя победа. Прими его критику по делу. Всё, что он сказал про баги и неудобное управление — исправь. А всё остальное — просто забудь. Это его работа — быть язвительным.

Лиза прислушалась к его словам. Она проанализировала критику, отделила зёрна от плевел и выпустила большое обновление, исправляющее многие недочёты. Она даже написала тому блогеру, поблагодарив за обратную связь. Тот, к своему удивлению, ответил и даже извинился за излишнюю резкость.

Это был самый важный урок. Не бояться критики. Использовать её для роста.

В школе тоже произошли изменения. Учительница информатики, Марина Сергеевна, предложила Лизе вести факультатив для желающих изучите основы программирования. Сначала Лиза стеснялась, но потом согласилась.

И вот она, двенадцатилетняя девочка, стоит у доски и объясняет одноклассникам и ребятам из старших классов основы Pythonа. Сначала многие скептически отнеслись к «вундеркинду», но её спокойная манера объяснять, готовность помочь и настоящая страсть к предмету быстро завоевали аудиторию.

Она увидела, как загораются глаза у других детей, когда у них получается написать первую программу. И поняла, что хочет и дальше делиться своими знаниями.

Её история стала известна и за пределами города. Её пригласили выступить на региональном фестивале IT-технологий для молодёжи. Она волновалась страшно, но вышла на сцену и просто рассказала свою историю. Без пафоса, без заученных фраз. О том, как начинала, как ошибалось, как почти сдалась, и как в итоге добилась успеха.

Зал слушал её, затаив дыхание. А потом разразился аплодисментами. К ней подходили подростки, родители с детьми, взрослые разработчики и благодарили. Говорили, что её история вдохновила их не бояться и пробовать себя.

В тот день Лиза поняла, что создала не просто игру. Она создала историю. Историю, которая может мотивировать других.

Новые горизонты

Прошло несколько месяцев. Ажиотаж вокруг «девочки-программиста» постепенно стих, но её жизнь уже не могла быть прежней.

Она купила на заработанные деньги новый ноутбук. Теперь её возможности стали гораздо шире. Она могла работать с более сложными движками, использовать более ресурсоемкие инструменты.

Её первая игра, «Путешествие Капельки», продолжала жить. У неё появилось небольшое, но преданное сообщество фанатов. Лиза периодически выпускала для них новые уровни и пасхалки.

Но она уже думала о новом проекте. Более сложном, более амбициозном. Она хотела создать игру в жанре головоломки, где нужно было программировать поведение роботов. Это была сложная задача, но её это не пугало. Теперь она знала, что способна на многое.

Её пригласили поучаствовать в летней IT-школе для одарённых детей. Там она познакомилась с такими же увлечёнными ребятами со всей страны. Они вместе работали над проектами, общались, делились идеями. Лиза наконец-то нашла среду, где её понимали с полуслова.

Она перестала быть белой вороной в своей обычной школе. Её уважали. К ней обращались за помощью не только по информатике. Учителя стали поручать ей делать презентации, помогать с компьютерным оборудованием в классе.

Однажды к ней подошла младшая сестра её одноклассницы, девочка лет десяти.
— Лиза, — робко сказала она. — Я тоже хочу научиться делать игры. Как ты. Ты можешь меня научить?

Лиза с удивлением посмотрела на неё. Она стала примером для подражания. Это было странно и очень приятно.

Она согласилась помочь. Стала заниматься с девочкой по выходным. Показывала азы, объясняла базовые понятия. Видела, как у той загораются глаза, когда на экране происходит чудо, созданное её собственными руками.

Лиза поняла, что, возможно, её призвание — не только создавать игры, но и вдохновлять других. Показывать, особенно девочкам, что программирование — это не скучно и не сложно. Что это творчество. Возможность создавать миры.

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

Однажды вечером она сидела за своим новым ноутбуком, обдумывая архитектуру новой игры. За окном шёл дождь. Такой же, как в тот день, когда родилась идея про капельку.

Она улыбнулась. Сколько всего произошло с тех пор. Сколько было страхов, сомнений, трудностей. И сколько радости, побед и новых открытий.

Она не стала знаменитой на весь мир. Её имя не гремело в заголовках глянцевых журналов. Но она стала той, кем хотела быть. Создателем. Творцом.

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

А за окном дождь стучал по стеклу, и по лужам бежали круги. И где-то там, в виртуальном мире, её первая капелька по имени Капа продолжала своё путешествие, чтобы напоить очередной цветок. И Лиза знала, что теперь она никогда не останется одна. Потому что она нашла своё призвание. И оно было прекрасным.