Сделал игру через GPT, чтобы вам не пришлось

Серьезно, кто-то еще ведется на такие заголовки?
Серьезно, кто-то еще ведется на такие заголовки?

Привет

Начнем с того, что нужно дать вам контекст.

Я — типичный программист. Как и огромное количество моих знакомых программистов, я стал им, потому что хотел делать игры. Да, вместо игр я делаю очередную полезную (ага) фичу для бизнеса, но мечта-то осталась.

Я много раз пытался сделать что-то на всем известных движках вроде Unity или Unreal, но каждый раз все заканчивалось где-то на шаге создания прототипа для проверки идеи.

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

Да-да, в заголовке (да, я не смог придумать заголовок, который будет вам интересен и просто спер идею) уже спойлер — я делал с помощью GPT (GPT-4 если точнее).

Но прежде чем переходить к моему восхвалению (или обсиранию) жпт, мой нулевой шаг был другим.

Я начал с идеи. Пожалуй, 80% моих идей полной говно. Знаете, вот это “Я джва года хочу такую игру”… В общем, я начал записывать (и зарисовывать) все мои идеи в блокнот.

Та самая идея
Та самая идея

Отбросив 80% говна, я оставил 20%, которые прошли слепую проверку моих знакомых. Да, я просто спрашивал, а будет ли интересно бла-бла-бла..

В итоге, у меня осталась одна идея.

Идея моя, о боже, уже была в умах создателей Nintendo (да, они читают мысли, берегитесь).

Но программист не программист, если не мыслит творчески.

Я взял часть моей идеи и решил сделать эту часть хорошо (как завещали философы Unix “Make each program do one thing well”).

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

Путь к мечте был тернист. Unity и Unreal отметились минусом на старте — ребята, вы хороши, но для меня сегодня вы как тяжеловесы в мире легкоатлетов.

Но делать-то надо. И вот тут в игру вступил GPT. Я, интереса ради, спросил его, какие есть легкие движки для игр (да, я ленивый, я хотел делать игру, а не придумывать, как отследить клик мышки или касание пальца).

Мне предложили 4 варианта. Я выбрал первый, потому что каждая минуту промедления буквально убивала мое желание что-то делать.

Первым вариантом был движок Phaser 3.

Весь код там пишется на богомерзком JS, но это не проблема, потому что сам языка настолько прост, насколько может быть прост язык программирования (если не спрашивать про многопоточность, замыкания, эвензалупы и прочее).

Что обычно делают дальше? Правильно, идут читать документацию. Но моя мотивация утекала, как моча у 90 летнего деда, так что я снова пошел к GPT.

Изначально, я решил спрашивать GPT-3, как более дешевый вариант, но эта шайтан-машина ничего не знала про последнюю версию Phaser, так что я изменил модель на GPT-4.

Примерно через 30 минут, у меня был готовый прототип, которым я радостно стал делиться с товарищами.

Знаете, что самое круто? Им зашло.

И следующие 3 дня я делал и улучшал свой прототип до полноценной играбельной версии.

Кстати, я же до сих пор не рассказал, какая у меня идея. Поворачивать картинки, который сгенерировал тот же GPT. Вот так просто.

Ауф
Ауф

Так что, через 3 дня, у меня была готовая версия игры, с одним режимом, классными картинками и тупым алгоритмом поворота картинок, который можно было легко хакнуть.

Бессмысленный, зато свой, логотип
Бессмысленный, зато свой, логотип

Но была одна проблема. Это был Phaser 3, JS и игра выложенная на моем сайте. Но мне хотелось большего.

Я стал искать варианты как упаковать мой богомерзкий JS в нативное приложение для android и ios.

Первым вариантом был Apache Cordova.

Тот еще старикан, надо сказать. Спустя день бодания с их документацией и советов от GPT, я решил от него отказаться. Почему? Я так и не осилил билд под android.

Дальше я пошел спрашивать у GPT, а нет ли каких-то более стильных молодежных приблуд, на замену Cordova. Он предложил мне использовать Capacitor.

И, о чудо, все собиралось и запускалось на любой платформе.

Чтобы не тянуть кота за яйки, пошел покупать себе аккаунты разработчика.

Google, лапочка, несмотря на то, что я из России, сделал мне аккаунт (за денежку, ясное дело).

А вот ребята из Apple отказались. Причем, они не заявляли что-то вроде “Фу-фу, ты русский, не примем твои 100$”, они просто не давали мне ссылку на форму для регистрации.

Ну, подумал я, начнем с android, соберем шишки, а дальше и iOS что-нибудь придумаем.

Итак, я опубликовался на play market и радостно смотрел на счетчик с 0 установок игры.

Примерно на этом шаге я начал думать как мне привлечь аудиторию к игре с минимальными затратами. Самым простым (и интересным) было попробовать настроить рекламу в Google ads. Опять же, используя жпт, я сгенерировал заголовки и описания, привлекающие внимание (да, прям так и сформулировал ему), но модерация меня побрила. К счастью, оказалось, что в заголовках рекламы нельзя использовать какие-то знаки препинания кроме точек и запятых, так что я быстро все исправил и уже на следующий день увидел 150 установок игры.

Интересный факт — 90% установок были из бедных страх вроде пакистана. У них там вообще телефоны есть?
Интересный факт — 90% установок были из бедных страх вроде пакистана. У них там вообще телефоны есть?

Билд за билдом, я исправлял мелкие дефекты, добавлял звуки, картинки и даже новый режим.

Счетчик установок перевалил за тысячу, но я абсолютно ничего не знал о том, играют ли в мою игру или нет.

Вот так на сегодня выглядит моя стата
Вот так на сегодня выглядит моя стата

И вновь я пошел к GPT и стал спрашивать, как добавить Google Analytics. Еще один день — и я узнал, что все мои установки — это просто установки. Никто не играл в мою супер игру (а зря).

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

На этом, я пожалуй, закончу свой пост, потому что устал печатать так много букв, но зато выговорился.

UPD 1. Добавил видео игрового процесса

Игровой режим — быстрейший
1717
28 комментариев

Сделал капчу вместо игрв

7
Ответить

Комментарий недоступен

4
Ответить

Скринов игры? Не хочу рекламировать. Скринов кода? Лучше дикпик скинуть, чем этот код.

2
Ответить

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

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

Еще картинкам было бы прикольно добавить случайные рамы. Это добавит разнообразия и дополнит сами картинки, сделав их более завершенными игровыми объектами.

Еще можешь добавить нарратива одним предложением: поправьте картины после рейда эко-активистов, пока в музей не пришли нормальные посетители, до открытия 1 минута.

Удачи!

4
Ответить

Режим с серией поворотов есть (повернуть максимум за 30 секунд), режим с одним касанием в планах, но пока нет времени. Про рамки да, интересно
Спасибо!

Ответить

По просьбам трудящихся добавил пару скринов, за которые не стыдно. К сожалению, скринов старых версий найти не смогу :(

Ответить

Тебе не должно быть стыдно.
Если тебе за что-то стыдно. говори "так и задумано".

5
Ответить