Эксперимент по созданию игры в Chat GPT
Да, такие попытки уже предпринимали разные люди. Вот и я решил провести серию микро-опытов.
В качестве модели используем o1.
Наш первый промпт
Напиши код для HTML игры раннера. На титульном экране кнопк: Новая игра При нажатии на новую игру начинается игра. По экрану бежит человечек с ранцем. Он бежит автоматически. Скорость бега его постепенно увеличивается по мере того, как он собирает монетки. На его пути иногда попадаются монетки. Столкновение с ними приводит к исчезновению монетки. Также иногда на пути попадают небольшие монстры. Столкновение с ними приводит к окончанию игры. При нажатии на пробель человечек подпрыгивает. Чем больше мы нажмем на пробел, те выше он подпрыгивает. Если во время падения опять нажать на пробел, то человечек опять начнет постепенно взлетать. Это нужно, чтобы он перепрыгивал монстров. Также во время бега должны встречаться провалы в поверхности, по которой бежит человечек. Падение приводит к остановке игры. При падении/столкновени с монстром на экране появляется кнопка Играть заново. Также во время игры могут встречаться платформы, на которые можно запрыгнуть. На них также должны встречаться монетки и монстры. Игра должна быть доступна в браузере.
И вот что мы получаем:
На лицо сразу видим баг. LLM не поняла, что ямы должны быть заметны.
Вот сама игра - качаем и открываем как страничку в браузере.
Давайте попытаемся улучшить код игры следующим промптом:
Нужно доработать код. 1. во время игры персонаж иногда проваливается сквозь пол. Вероятно в этих местах есть ямы. Но визуально они не заметны во время игры. Нужно сделать так, чтбоы пользователь понимал, где земля, а где яма. 2. иногда платформы наслаиваются одна на другую. Такого не должно быть. 3. игра также должна завершаться, если пользователь касается потолка экрана. Пусть там будут шипы.
Теперь у нас есть ямы, но появился баг, когда персонаж сам запрыгивает на платформы.
Также платформы иногда наслаиваются одна на другую.
Код:
Настало время еще вновь исправить баги и усложнить игру.
Нужно устранить следующие баги: 1. если персонаж оказывается под платформой, то он сразу перемещается на нее. Такого не должно быть. 2. монстры иногда стоят на ямах. Они не должны появляться на ямах. 3. на своем пути игрок должен иногда встречать колонны. Колонны стоят на земле. Их минимальная высота = высоте монстра, а максимальная = 6 высотам монстра. 4. Колонны не должны пересекаться с платформами 5. с потолка также вниз толжы иногда свисать колонны. Их минимальная высота = высоте мостра, а маскимальная высота = 3 высотам монстра. 6. при сборе монетки скорость должна нарастать быстрее, чем это реализовано сейчас. То есть каждая собранная монетка все больше и больше увеличивает скорость.
И мы опять ловим баг - персонаж проваливается через платформу
Файл
Чиним баг следующим промптом:
Нужно исправить баг. Персонаж проваливается сквозь синие платформы. Если он на них запрыгивает, то должен бежать по ним. Также он должен иметь возможность пробигать под ними. Исправь В прошлых версиях кода он мог по ним бегать.
Получаем реально прикольную игрушку времен моего детства. Единственное, что остается баг с наслаиванием платформ, но его мы пофиксим позже =)