Я использовал ChatGPT, чтобы создать свою первую игру. Не делай тех же ошибок, что и я

Спрашиваю ChatGPT о создании моей первой игры.
Джон Мартиндейл / DigitalTrends

Помимо написания статей о ChatGPT , моей главной миссией в прошлом году было достижение соглашения с чат-ботом с искусственным интеллектом. Я нашел это полезным для того, чтобы придумывать идеи рецептов из списка ингредиентов, писать забавные идеи альтернативной истории и отвечать на разъяснения правил настольной игры . Но мне хотелось посмотреть, сможет ли он сделать что-то более впечатляющее: научит меня создавать игры.

Первое препятствие

Я давно хотел сделать игру. В детстве я запрограммировал несколько простых флеш-игр — если вы найдете мой профиль на Newgrounds, вы сможете над ними посмеяться — но у меня в голове крутилось несколько идей, которые превратились в мысли, которые потом не сдвигаться. Мне нужно сделать их когда-нибудь, и, возможно, когда-нибудь это произойдет прямо сейчас.

Но знать, как начать создавать игру, непросто. Я действительно не знал, какую игру я пытаюсь создать, или какой движок мне следует использовать, или как на самом деле начать создавать игру. До недавнего времени я просто этого не делал. Однажды я скачал Unity, испугался и удалил его.

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

Он рассказал мне об основных игровых движках и после объяснения моей идеи игры дал несколько предложений. В конечном итоге мне предложили сделать это в 2D и что, хотя большие движки тоже были бы великолепны, мне, возможно, лучше было бы использовать что-нибудь вроде Godot или Game Maker Studio.

Я провел небольшое исследование и в конечном итоге остановился на Game Maker. Это казалось самым простым. ChatGPT был рад за меня, когда я сказал, что остановился на движке, и затем мы приступили к работе над описанием моего проекта.

Что теперь?

Итак, как мне на самом деле создать игру? ChatGPT предложил мне изучить движок, и это имеет большой смысл. Но как мне это сделать? По его словам, было несколько подходов, которые могли бы сработать, включая проведение учебного пособия. Это имело смысл, поэтому я нашел на YouTube руководство по Game Maker и пробежался по нему за пару часов, создав клон Asteroids , в который Джону-подростку определенно понравилось бы играть на школьных компьютерах вместо того, чтобы выполнять порученную работу.

Клон астероидов, работающий в Game Maker.
Я стал разработчиком игр, разрушителем свободного времени. Джон Мартиндейл / DigitalTrends

Но на самом деле это научило меня только основам того, что находится в двигателе. Я прописал в Event log, который мне дало видео, и всё заработало! Большой. Что теперь?

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

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

Все хорошо — пока это не так

Я начал с лета. Благодаря ChatGPT, который помог мне понять, что мне нужно сделать, дать примеры кода, когда я застрял, или предложить, как я мог бы сделать что-то по-другому, я добился быстрого прогресса. Через несколько часов у меня был набросок прототипа игры.

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

Но это нормально. Вот почему это прототип, да? Итак, мы начинаем снова, и на этот раз я создаю CustomGPT , который более готов к тому, что мне нужно, и знает, над чем я работаю. Я сделал тот, который знал обо всех моих внутриигровых объектах и ​​скриптах, некоторых фрагментах их кода, именах переменных — все работает. И мы начали снова с нуля, на этот раз используя массивы и структуры, которые представляют собой разделенный на части модульный код, который вызывает сценарии и динамически уничтожает экземпляры, которые мне больше не нужны, и так далее.

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

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

Крупный объект просто не будет вести себя так, как я хотел. ChatGPT предложил некоторые исправления, но они не сработали. Я попробовал разобраться сам. Часами. И я никуда не попал.

В итоге я скопировал весь код событий каждого игрового объекта и каждого скрипта в ChatGPT и попросил его найти проблему. Так оно и было. Но исправления не помогли. И это было все. У меня ничего не было. Некуда обратиться.

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

Проблема

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

Логика событий в Game Maker Studio.
Я понимаю только половину того, что здесь происходит. И я «написал» большую часть этого. Джон Мартиндейл / DigitalTrends

У меня не было проблем с галлюцинациями , но у меня были трудности с тем, что в ChatGPT нет последней версии руководства Game Maker Studio, поэтому он часто предлагал устаревшую логику, которую движок Game Maker выдавал всевозможными ошибками. красные флаги закончились.

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

Решение

Я не отказался от своего пути создания игр. Действительно, я делаю следующий прототип и все еще использую ChatGPT — но с новым подходом. Я пишу весь код вручную, проверяю, что я даю имена всем переменным и сценариям, и пишу комментарии, которые имеют для меня смысл. Таким образом, когда я неизбежно что-то сломаю, я буду знать, как все это работает, и смогу найти решения.

Если я не знаю, как что-то сделать, я прошу ChatGPT объяснить мне это в общих чертах, а затем использую полученную информацию для внесения собственных изменений в свою игру. Это медленнее, но гораздо стабильнее. Когда возникает проблема, я могу ее исправить, потому что я на самом деле учусь делать игры. Не просто заставить ChatGPT сделать это за меня, пока я в пути.

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

Спрашиваем Гримуар о статье.
Джон Мартиндейл / DigitalTrends

Мне следовало с самого начала спросить об этом Гримуара. Когда я хочу чему-то научиться, я учусь этому по учебнику. Когда я хочу что-то перепроверить, я прошу ChatGPT проверить это еще раз, чтобы убедиться, что я иду в правильном направлении. Я также реализовал рабочий стол GitHub, поэтому, если я когда-нибудь зайду слишком далеко, я смогу быстро вернуться туда, где все снова имеет смысл.

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

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