Как мы с крестниками игру писали
Прибегает Н. ко мне радостный: ИИ написал ему программу! У меня двойственные чувства: крутяк, конечно, но что-то есть сомнения. Покажи! И что мы видим? Кусок кода на Python, в котором сложно понять, что к чему и зачем, но где-то посередине красуется DROP TABLE. — А ты понимаешь, что этот код делает? — Конечно, нет! И тут я ловлю настоящий ужас от осознания того, что теперь можно наворотить с ИИ, совершенно не понимая, как всё устроено. Это уже совсем иного масштаба катастрофы, чем те, которые я творила на первых шагах своего знакомства с технологиями. Но об этом как-нибудь в другой раз. А сейчас вернёмся к нашей игре. Мы начали с обсуждения игр в браузере: динозаврика в Chrome и Ping Pong в Firefox. Решили, раз хотим максимально просто, будем делать игру в браузере. Но про Python не забываю и обещаю, что и на нем тоже сделаем. Верю в себя, в ИИ, в свой опыт в IT и умение договариваться с ИИ. Приступаем! Усаживаемся поудобнее в тени деревьев: крестники по бокам, я за ноутом. Делаем максимально просто: открываем Google и сразу рассказываем, что задумали, чтобы переключить режим на ИИ.
Набрасываю, а дальше выясняю детали механики у детей по ходу (лет сто в «Змейку» не играла). Заодно показываю, как собираются требования и как важно объяснять ИИ, чего именно мы хотим. Промпт: "Хотим написать игру в браузере, без авторизации и интернета, как динозаврик в Chrome. Игра “Змейка”. Поле квадратное, занимает четверть экрана. На нём случайным образом появляются фрукты: по одному за раз, после съедания появляется следующий. Змейка начинает с одной клетки и увеличивается на одну клетку после каждого съеденного фрукта. Движется по клеткам. Если сталкивается со стеной или собственным телом - игра заканчивается, змейка исчезает. Можно начать заново. Управление: вверх Ц, вниз Ы, влево Ф, вправо В. Фрукт съедается, когда голова змейки оказывается в той же клетке. Что мы забыли учесть? Какие ещё механики нужны? На каком языке лучше реализовать игру? Какие есть ограничения?» А дальше начинается интересное. ИИ выдаёт список того, что мы забыли: Состояния игры: играем, проиграли, перезапуск. Скорость движения и игровой цикл (например, шаг раз в 150 мс). Запрет разворота на 180 градусов. Проверка, чтобы фрукт не появлялся внутри змейки. Счёт и сохранение рекорда в localStorage. Условия старта и сообщения игроку. Особенности работы таймеров в фоновой вкладке браузера. Обработка клавиатуры с учётом раскладки. Масштабирование игрового поля без размытия клеток. Разумеется, каждый пункт можно было бы проработать отдельно. Но наша цель: быстрый прототип и вау-эффект! Соглашаемся на предложение ИИ написать готовый компактный HTML + JS, который достаточно сохранить в файл с расширением .html и открыть в браузере. Без серверов, установок и интернета. Дети уже радостно потирают руки и хотят играть. Но тестировщик во мне не молчит: — А давайте откроем другое окно и попросим проверить этот код? Промпт простой: «Проверь код на ошибки, корректность, безопасность и двусмысленность. Предложи правки и улучшения. Объясни каждую строчку». И вот тут я потираю ручки. Ответ ИИ: код хорошо структурирован, однако содержит логические баги, проблемы безопасности (XSS) и критическую синтаксическую незавершённость, из-за которой ключевая функция игры — фрукты — полностью сломана! Дети в шоке: Как так?! Он же сам написал код! И сам говорит, что он сломан?! А вот так! Я предполагала, что что-нибудь найдётся, но не думала, что получится настолько показательно. ИИ предложил исправленную версию: с настоящими фруктами, защитой от мгновенного разворота, проверкой данных в localStorage и исправленным управлением. На этом с перепроверками заканчиваем — пора показывать детям магию!
И магия случилась - дети поиграли в написанную только что игру!
P.S. А Python мы тоже сделали. Обещала же! :) Но об этом в другой раз.
· вчера
Интересный подход к обучению детей взаимодействию с нейронками. Возьму на вооружение
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён