Как я делал игру, не умея рисовать и программировать
Всем привет. Насмотревшись видео в стиле "Делаю игру за вечер с Чат GPT", я решил тоже попробовать. Благо, есть насущная проблема - я люблю под сериал/умное видео что нибудь простенькое поиграть, а таких игр сейчас мало. Браузерные игры превратились в донатно-рекламную помойку, игры на эмуляторах nes/sega или надоели, или не впечатляют. В общем, я решил попробовать свои силы.
Главным требованием стали: минимальное участие меня (наивно! очень наивно!), 2d top-down, и "уникальная" механика - получая урон от поверхности, персонаж прокачивает к этому урону устойчивость. Аналогично, тратя здоровье и выносливость. персонаж увеличивает их максимальное значение (на 1% от потраченного).
Начал я с GDevelop - нейросети утверждали, что он проще всех в освоении. Вот, например, что говорит о нем DeepSeek
GDevelop — это бесплатный кроссплатформенный движок для создания игр без программирования. Он использует визуальную систему событий (похожую на блок-схемы), что позволяет создавать 2D-игры любой сложности (аркады, платформеры, головоломки, RPG) просто перетаскивая объекты и настраивая логику. Игры можно экспортировать на Windows, macOS, Linux, Android, iOS и в веб. Идеален для начинающих и быстрого прототипирования.
Интерфейс GDevelop. Сверху сцена с персонажем, снизу - настройка управления в 2 вариантах, простая и "правильная".
Нарисовав человечка в стиле "квадрат и два отростка", я быстро понял, что превращусь в интерфейс между нейросетью и GDevelop. Учитывая, что они быстро переходят в режим "найти опцию "fuck_user_brain и включи там режим flugegehaimen" не уточняя, где эта опция в десятках меню незнакомой программы, я быстро сдамся. Так что от идеи "игра без кода, на голой логике" я отказался
Немного помучив нейросети вопросами "а что лучше и для чего", я перешел в Годот, решив, что это более простой путь - нейросети пишут код, я его копи-пащу и все в норме. В принципе, это единственная часть, где реальность почти совпала с ожиданиями.
Начать я решил с графики, а именно с персонажа. Ожидания были самыми светлыми, тем более, нейросетки их подогревали, обещая горы бесплатных ассетов на все случаи жизни. Увы, поиск напоминал ковыряние в корзине "все по 100р" в каком нибудь дискоунтере. Все в перемешку, где-то только персонаж, где-то только фоны или оружие, крупные паки или платные или довольно примитивны. К тому же доминировал стиль пикель арта, а мне он не очень нравиться. Так что я решил, что пусть нейросети мне и рисуют. К сожалению, если обычного персонажа или объект они рисуют неплохо, то вот с анимацией начинаются проблемы. Попытка заставить сделать 4 фазы шага, ну или просто одного персонажа с ногами в разном положении не помогают, всегда получается 4 копии одной картинки. И тут я понял, что встрял. Концепт персонажа есть, анимаций нет.
Добрый нейросети тут же предложили выход - сделай из концепта 3D модель, скачай анимации, и в Blender делай хоть миллион фоток, из которых соберешь анимацию. К сожалению, хитрожопые владельцы сайтов, превразающих 2d в 3d, заманив пользователя бесплатными токенами, не дают скачать модель, сделанную в последней версии их нейронки, без купеной подписки. Только из более ранних
Слева - модель в последней версии программы, скачать можно только купив подписку. Справа - модель, которую можно скачать бесплатно.
Ну ладно, смирив чувство прекрасного, скачал бесплатную и попытался с наскоку освоить Blender по советом нейросетей. Увы, их умение объяснять, куда тут тыкать, оказалось заметно слабее моего непонимания. Промучившись два вечера, я стал искать альтернативы. Одной стала VRoidStudio - бесплатная программа для анимации анимешных (простите за невольную тавтологию) персонажей. В ней есть немного шмоток, немного вариаций изменить тело, куча причесок, встроенные анимации и даже фоторежим. Казалось бы, вот оно счастье
В общем, я впервые получил хоть что-то, похожее на спрайтлист. Дальше я прогнал его через нейронку, чтобы выглядело не так убого
Самым сложным было распределить картинки так, чтобы Godot корректно считал данную анимацию. Пришлось рубить картинку на части и скармливать по кускам. Но все равно, меня не устроил такой результат. Особенно то, что вместо желаемых 8 направлений были компромиссные 4, на которые я убил кучу времени и сил. Добивать остальные направления ни сил не желания не осталось и я решил, что это не наш метод!!!
Пару дней отдохнув, я пошел опять рыться в ассетах. И нашел ассет рыцаря в 8 направлениях. Скачав его, я скормил одну анимацию нейросети, потребовав переделать рыцаря в девочку с серпом и корзинкой. Неожиданно, сработало. Так, помучив час нейросеть, я получил вот это
Причем, из-за торчащего серпа анимации имеют разный центр. По идее, целиться "центром сцены" нужно в пупок, но с таким подходом не получиться. Как результат - анимации немного "скачут", благо из-за размера не сильно заметно. Но вот, например, если добавить анимацию удара в виде "лезвия серпа полумесяцем перед персонажем" - очень заметно. Как это обойти, я не придумал, поэтому просто попросил нейросеть программно сделать эффеск удара. получилась вспышка - не по фен-шую, но хотя бы видно.
Эта жесть с анимацией так меня задолбала, что врагами, не смотря на славянский сеттинг, назначил слаймов. С травой, деревьями и т.д. проблема не было - главное, аккуратно вырезать фон.
А вот так изначально могли выглядеть трава, деревья и слаймы. Только вырезать правильно и можно кидать в игру
В общем, дальше стало проще - нейросеть действительно генерила код, который почти всегда работал. Часто даже сразу. Тут еще помогло то, что я примерно знал, чего хотел, и старался ставить конкретные задачи. Например - персонаж умеет ходить, делать рывок и бить. Нейросель все это описывала и даже комментами выделяла места в коде, куда нужно пихать ссылки на анимации.
Особенно меня поразило, что нейросеть довольно быстро сделала генератор уровня приемлемого качества. И даже выделила в начало кода все важные цифры - количество врагов, препятствий, лута. Это позволило мне легко менять сложность уровня на начальном тестировании. В общем, на пару дней я залип.
Отлипнув, я понял, что у меня есть уровень и даже лут, который некуда девать. Первоначальный план в стиле "я потом решу - будет деревня с торговцем или экран, на котором хвалят и считают очки" уперся в стену моей нерешительности. Я уже понимал, что если я буду делать деревню, то промучаюсь с ней неделю минимум, и все ради чего? Снаряжения, да и инвентаря не предполагалось, разговоров особых тоже. Так что я остановился на экране промежуточных результатов, заодно создав глобальную цель - собрать лечебные травы, чтобы вылечить деревню. Но, хотя сделать 3 простеньких экрана было намного проще, чем остальное, по ощущениям, сил на это ушло столько же. Так что я сделал вывод, что всю "скучную" часть лучше стараться по максимуму делать в начале. пока есть силы и энтузиазм, потом доделывать сложнее чисто психологически. Особенно потому, что промежуточные сцены приходится вкорячивать в середину работающей механики, боясь ее сломать.
В целом, ощущения очень двойственные. С одной стороны, сама сборка довольно проста и интересна, при условии, что все уже заготовлено - от идеи, до графики и текстов. С другой, приходится регулярно воевать с самим Godot, поскольку в интерфейсе я плаваю, и с нейросетями, которые то начинают путаться в задачах и коде, то уплывают в перфекционизм.
В общем, после создания первого уровня и врага стало проще - многое стал делать по аналогии, копируя уже работающее и меняя цифры и внешний вид. Нейросеть удивительна: она пишет код с ошибкой, но когда кидаешь ей текст ошибки - тут же говорит "А, ну конечно, так же нельзя делать" и радостно переделывает.
В общем, какие выводы
Сделать игру, не умея программировать и рисовать, можно, хоть и гораздо сложнее, чем об этом рассказывают.
Мечта о том, что стоит открыть базу ассетов и глаза будут разбегаться от выбора - это недостижимо. Скорее похоже на попытку выбрать из кучи уцененной одежды что-то не только приличное, но и себе под размер.
Даже простенькая игра на 3 миссии в редакторе выглядит довольно монстроузно.
Если сразу не раскидывать все картинки, скрипты и сцены по папкам, то в проекте будет адский бардак
Все скучное лучше делать первым, а то потом будет рабочий огрызок игры "без начала и конца" и полное нежелание что-то с ним делать.
Ну, вот и все. Получилось немного скомкано, но я тут опирался на свою память и самые яркие моменты, которые в ней отложились.
Посмотреть, что у меня вышло, можно по ссылке
Бесплатно, скачивается, вроде даже не требует регистрации (но может потребовать КВН)













