1. Собираем Тетрис по шагам и проживаем первый откат
Раз папки больше копировать не нужно, то наконец-то можно все игры сложить в галерею, - внутренний перфекционист Темы радуется. Кликер - раз, 2048 - два, а сегодня сюда ещё добавится Тетрис. Только сначала его нужно создать...
Тёма помнит наказ Лёхи: большую вещь не лепят одним махом, её режут на шаги. И первое, что он делает, — не просит «сделай Тетрис целиком», а отрезает первую ступень. Пишет ИИ-агенту ровно одну:
Сделай в галерее браузерный Тетрис: поле-стакан и одна падающая
фигура, которая останавливается внизу. Пока без поворотов и счёта.
Саня выдаёт код, в галерее появляются файлы Тетриса. Как-то подозрительно быстро.
Тёма открывает игру локально в браузере. Фигура повисает наверху — и пошла вниз. Доезжает до дна, встаёт. Падает следующая. Работает. «Вот оно», — думает он: это и есть та самая точка возврата, про которую талдычил Лёха. Рабочее состояние, на которое не страшно опереться. Дальше ступени по одной, каждую — в браузер на проверку:
Добавь повороты фигур по нажатию.
Сделай, чтобы заполненные линии исчезали и шёл счёт.
Жмёт стрелку — фигура крутится. Проверил. Собирает нижний ряд — он мигает и схлопывается, счётчик щёлкает вверх. Проверил. К концу дня у него на руках рабочий Тетрис, собранный не одним прыжком, а лесенкой, и на каждой ступеньке он стоял твёрдо.
Вот теперь — главное, ради чего всё затевалось. Тетрис рабочий, и Тёма сознательно даёт правку, которая может его угробить:
Добавь Тетрису ускорение по уровням: чем больше счёт, тем быстрее
падают фигуры.
Саня менял код пару минут и наконец отчитался что все готово.
Тёма открывает Тетрис в браузере — и фигуры сыплются как из мешка, кучей, мимо стакана, играть невозможно. Рабочей версии нет. У Темы даже глаз дёргается: «ну вот, угробил». Палец сам тянется к папке — скопировать, пока не поздно, по старой памяти. И на полпути замирает. Стоп. У меня же теперь есть волшебная кнопка. Он убирает руку от мышки и набирает прямо в сессии:
/rewind
Открывается меню — агент показывает прошлые точки и спрашивает, что именно вернуть:
Restore code and conversation # откатить и код, и историю разговора
Restore conversation # откатить только разговор
Restore code # откатить только правки на диске
Ему надо убрать поломку в коде, разговор трогать незачем. Он выбирает Restore code. Жмёт.
Секунда. Ничего не поменялось? Или наоборот уже все.
Тёма переключается на браузер, и обновляет.
Фигура повисает наверху — ровно, одна, — и идёт вниз. Доезжает до дна. Линии, счёт — всё на месте. Та самая рабочая версия, до рискованной правки. Будто он туда и не лазил.
Тёма пару секунд просто смотрит на падающую фигуру. Только что был фарш — и одной строкой его как ластиком стёрло. Красота.
— Я ж его в труху раздолбал, — говорит он экрану, — а починил одним словом. Ну здравствуй, бессмертие.
И дальше его уже было не остановить. Яркие неоновые темы — навалил, аж в глазах зарябило. Раньше бы поморщился и оставил как есть, лень переделывать. А теперь — «навернулся? чё, я ж разрулю», /rewind, Restore code, как не было.
Залез в логику поворота фигур, перемудрил так, что поворот наглухо клинит, — и вместо «ну вот, угробил» у него уже совсем другое: «о, красиво сломал, дай-ка ещё», /rewind, вернулся к рабочему, попробовал иначе. Звук, эффекты, баланс скорости — он гоняет их один за другим, всё наглее, нарочно выкручивает на дурь, чтоб посмотреть, как разлетится. Каждый неудачный заход стирается одним движением — и каждый только раззадоривает.
И он ловит, что внутри щёлкнуло что-то новое. Раньше каждая дерзкая правка была ставкой: выгорит — круто, не выгорит — сиди разгребай или теряй хорошую версию. Поэтому он и осторожничал, поэтому и плодил папки. А сейчас эксперимент отвязался от риска. Попробовать стало бесплатно. Он делает правки, которые час назад постеснялся бы даже произнести, — потому что цена ошибки упала до нуля. Не «а вдруг сломаю», а «а давай попробуем, всё равно отмотаю».
2. Копии больше не нужны
И вдруг Тёма цепляет глазом ту самую папку с утренним позором — 2048-final, 2048-final2, 2048-final-точно-последний, весь нелепый зоопарк, в котором он утром путался. Теперь они просто мусор: то, ради чего он их городил, делает одна кнопка.
— Утром это был мой костыль, — хмыкает он, выделяя их разом, — а к вечеру — позор, который никто не видел. Удобно.
И тащит весь выводок в корзину одним движением, с тем особым удовольствием, с каким вычёркиваешь из жизни вчерашнего себя-дурака. Иконки исчезают, на экране чисто. Хранить безопасность бардаком он больше не будет — это для тех, кто кнопки не нашёл.
Он откидывается на стуле, закидывает руки за голову, смотрит на свой крутой Тетрис, на пустую корзину от папок — и ловит губами одно простое слово: неуязвим. Сладкое слово.
Сломал — отмотал — как будто ничего и не было. Страх, который всю неделю сидел занозой («а вдруг угроблю хорошее»), почти полностью растворился. Остался чистый азарт. И эту новую силу Тёма крутит в голове и сам же раздувает на всё подряд: раз у меня есть кнопка отмены, то мне теперь вообще ничего не страшно. Что бы ни наворотил — отмотаю.
Под вечер Тёма не выдерживает — хвастается. Кидает Артёму2036 короткое, гордое: теперь у меня есть настоящая кнопка бессмертия, сломал что угодно — отмотал, и порядок.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ