Делаю «Тихую охоту» с ChatGPT и Codex
Игра про сбор грибов. Показываю, с чего начал и что уже работает.
Всем привет. С детства была мысль: а что, если делать свои игры? Но опыта разработки у меня вообще не было. Когда появился ChatGPT, захотелось проверить, можно ли с его помощью сделать нормальную игру. Сейчас для разработки использую Codex.
С самого начала хотел сделать реально красивый лес, в котором можно заблудиться. Главным референсом был Kingdom Come. Хотелось, чтобы мне было приятно просто ходить по лесу, даже если пока ничего не нашёл.
А идея с грибами появилась случайно. Я с другом обсуждал походы за грибами, и у нас появилась мысль: почему бы не сделать игру про это? Мне казалось, что таких игр мало, а сама тема интересная. Так и начал делать «Тихую охоту».
С чего начал
Первый прототип сделал в Unity 12 сентября. Уже можно было ходить и собирать грибы, но лес выглядел не так, как хотелось. На следующий день перешёл в Unreal и дальше занимался игрой уже там.
Код и правки делаю через Codex. Пишу, что хочу добавить или что сейчас не работает. Потом запускаю игру и смотрю результат. Если что-то не так, показываю скриншот или объясняю проблему, и пробую ещё раз.
Для леса использую готовые модели и материалы, в том числе из Poly Haven и Fab. Часть моделей сделал в Blender. Потом всё это расставляю, настраиваю свет и проверяю в игре.
Лес пришлось много раз переделывать
Деревья поставил, а между ними пусто. Добавил траву, но она везде одинаковая. Тропинка слишком ровная. В одном месте свет нравится, в другом всё выглядит хуже. Поэтому лес дорабатывал по небольшим участкам.
Занимался землёй, листьями, кустами, травой у тропы. Сосновый участок и берёзовую рощу тоже собирал отдельно, чтобы они отличались друг от друга.
Ниже один и тот же участок с берёзами. Сначала под деревьями почти ничего не было. Потом добавил траву и кусты.
Для проверки были отдельные маленькие карты. На них смотрел, как выглядят растения, свет и грибы.
Как появляются грибы
Сейчас в игре девять видов: белые, лисички, подберёзовики, опята, подосиновики, маслята, сыроежки, зонтики и мухоморы. У грибов разный вес, форма и состояние.
Они появляются в подходящих местах. Подберёзовики возле берёз, маслята возле сосен, опята у древесины. Так что перед поиском смотрю, в какой участок леса пришёл.
В каждой новой игре расположение грибов меняется. Но когда сохраняюсь и продолжаю прохождение, всё остаётся на своих местах. То, что уже собрал, после загрузки обратно не появится.
Новые урожаи тоже уже работают. Пока следующий урожай запускается отдельной кнопкой. Автоматически каждое утро грибы ещё не вырастают, это нужно доделать.
Осмотр и корзина
Когда нахожу гриб, рассматриваю его, поворачиваю и приближаю. Потом решаю, взять или оставить. Название и качество игра сразу не показывает.
Чтобы разобраться, есть справочник с описаниями и признаками грибов. Открываю его дома на ноутбуке или в телефоне прямо в лесу.
В корзине могу снова посмотреть всё, что подобрал. У каждого гриба виден вес, но вид и качество раскрываются уже после сдачи. До этого сам выбираю, что подходит для задания.
День и ночь
Добавил смену дня и ночи. Утро, день, закат, потом ночь. Полные сутки занимают примерно полтора часа активной прогулки. Когда читаю задание, сижу в телефоне или рассматриваю грибы, время стоит.
С этим тоже пришлось повозиться. Днём лес мог выглядеть нормально, а вечером тропу уже плохо видно. Отдельно настраивал небо, свет и тени для разного времени суток.
Задания
Дома есть ноутбук с письмами. Читаю письмо, беру задание и иду в лес. Пока можно принять одно задание за раз.
В задании могу указать, какие грибы нужны, сколько штук и какого веса. Могу добавить ещё одну просьбу к основному заказу или попросить игрока дойти до определённого места. На скриншоте, например, нужны подберёзовики и ещё лисички для соседки.
Когда возвращаюсь, выбираю в корзине, какие грибы отдать. Остальные остаются у меня. Перед сдачей могу ещё раз проверить свой выбор.
После сдачи вижу, что принёс и подошло ли это под заказ. Ответ в письме тоже может быть разным. Здесь, например, вместо подберёзовиков сдал белые.
Если сдал не те грибы или выполнил только часть заказа, могу продолжить историю. Для проверки уже есть пробная история «Сорок лет в лесу»: четыре задания и финальное письмо. Снимки выше как раз из неё. Истории для демо ещё нужно дописать и проверить.
Телефон и карта
В телефоне могу посмотреть текущее задание, открыть справочник и карту. Например, если забыл, сколько и каких грибов нужно принести.
На карте отмечены тропы, дом, поляны и обзорные холмы. Её можно двигать и приближать. Лес занимает примерно километр на километр, для прогулок сейчас доступно около 40 гектаров. Есть сосновый, смешанный и берёзовый участки.
Ещё есть архив заказов, статистика и достижения. В них могу посмотреть, сколько прошёл, что собрал и что сдал. Игра сохраняется при сдаче заказа и выходе в главное меню.
Недавно сделал отдельный редактор заданий — Mission Wizard. Через него пишу письма, задаю условия и связываю задания между собой. Теперь для этого не нужно каждый раз менять код.
Что дальше
Занимаюсь игрой почти месяц. Рабочая сборка уже есть, но до релиза ещё много чего нужно сделать.
Сейчас хочу закончить демо. Нужно дописать истории, проверить задания, разобраться с оставшимися проблемами и посмотреть, интересно ли игрокам вообще искать здесь грибы.
Цель — сначала выпустить демо в Steam, потом саму игру. Следующая статья, скорее всего, будет уже про демо.
Пишите, что сами хотели бы видеть в игре про сбор грибов.