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 коротке, горде: тепер у мене є справжня кнопка безсмертя, зламав будь-що — відмотав, і порядок.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ