Разработка игр, на мой взгляд, одно из самых сложных направлений в ИТ. Поэтому я всегда только мечтал создать какую-то свою игру, но каждый раз это было суровое испытание.
Но испытание это не только для меня. Большие языковые модели пока еще несовершенны при работе с 3D и очень плохо «ощущают пространство».
Я решил протестировать несколько сервисов для генерации кода: Lovable, v0, Firebase Studio и harvi.pro, чтобы посмотреть какой из них лучше всех справится с генерацией 3D сцен.
Промпт был не очень сложный:
Create a Vite, React, TypeScript, Three.js app. The main scene is a map of an island surrounded by sea. The island is a small town consisting of 20 houses (4x5). Between the houses there is a roadway (wide roads). From the edge of the road to the entrance to the house there is a path (narrow path). The houses are surrounded by a fence separated small white boards and have a house plot.
Результаты получились следующими:
Lovable вообще не смог запустить Three.js проект, я дал ему второй шанс, и его он запорол. Последнее место.
Firebase Studio не послушался, и вместо Vite использовал Next.js. Ничего не имею против, прощаю, но 3D сцена выглядела бедненько и кривовато. Последующие итерации не исправили ситуацию. Также он не позаботился о возможности покрутить камеру. Третье место.
v0 сделал круглый остров и синее море вокруг - зачет. На первых итерациях не было забора и крыши стояли криво. И мне так и не удалось заставить его сделать дороги в городе (привет всем городским администрациям нашей страны). Второе место.
Harvi.pro сильно меня удивил, сделал зеленый остров, синее море, дороги и дома с забором, освещение и тени. На первой итерации крыши были повернуты не в правильную сторону, но такая же проблема была на первой итерации у v0. И были фризы из-за наложения слоев, которые были пофикшены на второй итерации.
Ему я заслуженно отдаю первое место в этом состязании.
Продолжу эксперименты с harvi.pro, и попробую сделать на нем небольшую игру, буду держать вас в курсе, поэтому если еще не подписались, сделайте это, чтобы не пропустить.
@vibe_coding_channel



