Создать игру сегодня проще, чем когда-либо.
Показываю и рассказываю, как создать игру на Unity без знаний, за неделю. Нужно всего лишь…
Ладно, сейчас будет большой дисклеймер, чтобы на берегу расставить все точки. Нейросети нас всех уже порядком подзадолбали, особенно на дтф, но возможности, которые они дают, все-таки просто невероятные. Я говорю про ChatGPT в этом случае. Да, это крайне дилетантский подход, и, возможно (я пока не уверен), он совершенно не подходит для создания серьезного проекта. Но тот факт, что я смог что-то таки сварганить, а что именно, покажу ниже, просто меня очень сильно обрадовал. Я не претендую на звание разработчика игр, и, возможно, если это увидит человек, который занимается этим профессионально, дико пригорит с этого поста. Но я думаю, если какой-нибудь простой парень, который хотел что-нибудь смастерить на Unity и не смог еще пару лет назад, после этого поста попробует еще раз, будет классно.
Вообщем, начнем с истории. Пару недель назад я задумался. Я примерно знал, на что способен чат гпт, знал, что он способен писать код, но не был уверен, что с его помощью можно сделать игру, но решил убедиться в этом. Тогда я придумал концепцию игры. Ну, по моему мнению, вполне себе реализуемый в соло проект, масштаб небольшой, буквально в одной локации, но много механик, которые связаны друг с другом. Я попробовал сначала так: расписал в тексте эту игру в подробностях, отправил чату гпт и сказал: "Сделай мне подробный план реализации этого проекта шаг за шагом". Он мне расписал, я зашел в юнити и… в общем, такой подход не проканал. Я вообще не знал банально интерфейс движка, и даже его подробный план для меня был дремучим лесом. Я оставил эту идею.
И вот на выходных я решил попробовать иначе, все-таки, как в старые добрые, по видеоурокам. Посмотрел 4-5 видосов про создание 3D-стратегии на юнити и хотел было уже дойти с автором до конца, но в какой-то момент решил сделать в этом проекте нпс или что-то другое, я уже не помню, и спросил у нейросети , как сделать. На удивление, реально получилось.
Самое главное, конечно, что он пишет код. Вот на это у меня уже даже не остаётся влажных фантазий: я знаю, что я не способен кодить, и он эту дыру закрывает. Но также он в целом тебя и по интерфейсу проведёт, если ты этот интерфейс уже минимально знаешь, то поймёшь, что делать. Да, поначалу у меня были сомнения, что он может довести что-то до рабочего состояния. Я думал, что он напишет код, код будет с ошибками, я буду его просить исправить, он будет пытаться безрезультатно их исправлять, а потом и вовсе уйдёт в игнор. Но нет, сделать эту механику получилось. А потом и вовсе я с ним смог реализовать полностью проект, да, простой, да, это что-то из разряда поделок для яндекс игр, но как факт, мы с ним справились. В общем, вся суть в том, чтобы давать ему конкретные задачи в проекте маленькими шажочками, маленькими механиками. То есть если вы напишете: «Давай сделаем систему оружия. Оружие можно подбирать с пола, оно имеет определённое количество патронов, оно стреляет с таким звуком, с такой-то анимацией и наносит урон,попадая по тем NPC, которых мы сделали», — нет, так, скорее всего, не получится. Он, конечно, что-то начнёт расписывать, но он будет подразумевать, что вы уже всё остальное для того, чтобы это работало, сделали. Вместо этого мы пишем: «Давай сделаем систему подбора оружия с пола». Делаете. «Давай сделаем механику здоровья у NPC». Потом: «Сделаем систему, чтобы, наводя центр экрана на NPC, ему наносило урон». И так далее. При этом ему нужно каждый раз скидывать актуальные скрипты и вообще напоминать, как у вас всё устроено, даже в ходе одного диалога он всё забывает. Не знаю, есть ли смысл расписать ему в начале диалога всё-таки проект полностью, как будто бы нет, думаю, он забудет.
Конечно, случаются затупы: он всё-таки иной раз напишет скрипт, в котором используется другой скрипт, который у тебя в проекте, допустим, называется по-другому или работает иначе. Всё — ошибка. Или он думает, что у какого-то предмета тег записан так, как ему нужно, а не так, как на самом деле.Но в том и сила этого изобретения умных людей: ты просто также скидываешь ему ошибку, и он её исправляет (а то, что он считывает текст с фото, — отдельный кайф) в ходе диалога с тобой. В такие моменты ты и начинаешь сам соображать, как это работает. Ты можешь задать ему конкретный вопрос, и он на него ответит, как если бы ты задал вопрос шарящему кодеру. А как это было ещё несколько лет назад? Наверное, сидит чувачок, делает игру, столкнулся с проблемой и идёт искать ответ в интернете, но он, скорее всего, не найдёт там ответ, подходящий полностью под конкретно его случай. Да, конечно, были и есть форумы, но GPT сейчас это всё заменяет и делает это за секунды. Ты и раньше мог найти готовые скрипты нужных тебе механик в интернете, но внедрить это в свой проект, склеить это всё с другой механикой, потом исправить все ошибки ты не мог, если не шарил.
Ну, давайте вернёмся к моей конкретной игре. Я всё-таки не стал реализовывать игру мечты сразу. Решил более грамотно всё-таки проверить и обучиться на чём-то попроще, и, блин, получилось. Мой великий проект: «Город Зомбаков». Что же я сделал: небольшая закрытая карта, игра от первого лица, где волнами (с каждой волной всё больше) на тебя прут чувачки и дамажат. У тебя сто ХП, пассивный ХП-реген. По карте разбросано оружие (всё-таки впадлу было развивать игру вширь, поэтому только одного вида). Подбирая ещё одно, у тебя прибавляется некоторое количество патронов. Если закончатся патроны, оружие выбрасывается. Сделал город, может быть, ещё его доделаю после выхода поста (наконец понял, что такое готовые ассеты, а то всё рофлим да рофлим, а надо понимать, над чем). Есть красивенькие здания, в некоторые дома можно заходить, одну постройку сделал сам. Есть счётчик киллов. Таймер. Написал простенькую мелодию для меню и самой игры, звуки тоже: ходьбы, стрельбы и т.д. Всё есть. Прицел. Урон от падения. Все менюшки. Получается, геймплей примерно такой: бегаешь, фармишь патроны по всему городу, а потом уже отбиваешься от реально большой толпы на рекорд. Этакий мегабонк курильщика. Но зачем рассказывать, если можно показать? Трейлер игры. (Вы ахуеете).
Вооот. Ну и что вы думаете, это не достойно для первой поделки? Я думаю, вполне себе. Зашкварно ли то, что это игра 50 на 50, моя и чата гпт? Ну, возможно. Интересно послушать, что вы скажете. Может ли это вылиться в какую-то серьезную деятельность? Не знаю, надежд больших не питаю, но с чем черт не шутит. Все равно, пока ты делаешь игры так, то набираешься опыта, в знании движка уж точно. Может, когда-то сделаю игру, которую будет не стремно релизнуть. Вообщем, буду приступать к тому самому проекту мечты. Там и увижу, способен ли чат гпт на это, или мы с ним утонем.