
Сразу объясню, откуда в заголовке взялись 100 тысяч долларов. Нейросеть, конечно, не перевела мне эти деньги на счёт. Я просто не потратил их на программиста.
Уже три года я в одиночку делаю Sunarius. Это ОГРОМНАЯ постапокалиптическая ролевая игра с открытым миром, пошаговыми сражениями, отрядами, транспортом, стратегией, торговлей, фракциями, репутацией и квестами. Когда я только начинал, мне хотелось соединить атмосферу Fallout 2 с отрядными боями в духе Battle Brothers. Причём сделать всё это на Android.
Проблема была довольно очевидной. Я не программист.
Я умею писать книги (написал 2 хорошо продающиеся), это помогло в написании диалогов и сюжета боле чем на 100 подробных квестов в сеттинге постапок (Fallout 2 играли? Вот), структурное мышление помогло мне создать гигансткий ДИЗДОК игры и техзадание, я знаю фигму и корел, умею делать первокласную графику, но я действительно ничего не понимаю в коде! И до эпохи нейронок именно это меня останавливало от создания своей игры.
Если открыть передо мной большой файл на C#, я не смогу внимательно прочитать его и объяснить, почему и как одна часть программы обращается к другой. Я могу разобраться в логике игры, заметить неправильное поведение, придумать систему или проверить результат. Но самостоятельно написать код для такой игры я бы не смог.
Нанять разработчика у меня тоже не было возможности, т.к. мой бюджет на игру, подобную которым ранее делали огромные студии за десятки миллионов долларов, был около 200 долларов. Для небольшой игры можно найти человека на несколько месяцев. Но Sunarius давно перестал быть небольшой игрой. Здесь есть глобальная карта, пошаговый бой на клетках, развитие персонажей, инвентарь, оружие, броня, транспорт, расход топлива, торговля, репутация, диалоги, квесты, сохранения и серверная часть и ещё уйма сложных систем, к примеру стратегические отношения фракций и дипломатия.
Одному программисту пришлось бы заниматься этим несколько лет. А ещё ему нужно было бы постоянно объяснять, что именно я хочу получить.
Вместо программиста у меня появилась нейросеть.
Как всё происходило на самом деле
Со стороны это иногда представляют очень просто. Человек пишет одну фразу, просит создать игру, ждёт несколько минут и получает готовый результат.
У меня так не было ни разу.
Я объяснял нейросети конкретную задачу. Например, как должен двигаться отряд по глобальной карте, что происходит при встрече с противником, как начинается бой, каким образом расходуется топливо или почему репутация должна влиять на цены у торговцев.
После этого нейросеть изучала существующие файлы проекта, находила нужные части и писала код. Я запускал игру и смотрел, что получилось.
Обычно с первого раза получалось не совсем то, что я представлял. Иногда всё работало, но ощущалось неправильно. Иногда одна новая функция неожиданно ломала старую. Это шутка, такое было не иногда, а ОЧЕНЬ ЧАСТО! Бывало и так, что игра вообще переставала запускаться.
Я возвращался к нейросети и описывал результат обычными словами.
Нажимаю сюда, окно не открывается.
После окончания боя отряд не возвращается на карту.
Предмет исчезает после загрузки сохранения.
Машина едет, но топливо не расходуется.
Торговец показывает неправильную цену.
Я не мог сказать, в каком классе или методе находится ошибка. Я просто показывал, что сделал игрок и что произошло после этого. Нейросеть искала причину, меняла код, а я снова проверял игру.
Иногда на одну функцию уходил вечер. Иногда несколько дней. Иногда казалось, что всё уже работает, а затем я находил новую ошибку в совершенно другой ситуации.
Именно поэтому я не говорю, что нейросеть сделала игру вместо меня. Она писала код, но решения всё равно принимал я. Я определял, какой должна быть игра. Я проверял каждую систему как игрок. Я решал, подходит мне результат или нет.
Получился довольно необычный способ разработки. Я не контролировал каждую строчку кода, но контролировал поведение игры.

Почему без нейросети Sunarius, скорее всего, не появился бы
Можно было сначала несколько лет изучать программирование. Возможно, со временем я научился бы писать простые системы самостоятельно. Но вы ведь понимаете, что для большой ролевой игры этого мало?
Мне пришлось бы разбираться в интерфейсах, сохранениях, загрузке данных, работе с сервером, поведении противников, поиске пути, оптимизации для телефона и ещё в огромном количестве вещей, названия которых я раньше даже не слышал.
Самое неприятное в таком пути даже не сложность. Главная проблема в том, что до самой игры я добрался бы очень нескоро.
Мне хотелось придумывать мир, фракции, персонажей, задания, оружие и игровые ситуации. Вместо этого пришлось бы годами учиться тому, как правильно написать техническую основу для окна инвентаря.
Нейросеть позволила сократить расстояние между идеей и результатом.
Я мог сказать, что хочу увидеть на экране, а затем довольно быстро получить работающий вариант. Не всегда правильный. Не всегда красивый. Иногда сломанный. Но уже существующий внутри игры.
После этого начиналась обычная работа. Я проверял, менял требования, убирал лишнее, возвращал старый вариант, снова тестировал. Постепенно система начинала работать так, как мне было нужно. Я работал с нейронкой в сободное от основной работы время, спал мало. Так более 1 года только работы с кодом, и ещё 2 года на графику, дизайн, диалоги, музыку и т.д. Всё один, без помощников.
Так в Sunarius появились отряды, пошаговые бои, путешествия по пустоши, транспорт, торговля, специализации бойцов, репутация фракций и разные способы прохождения заданий. Сейчас в игре больше ста квестов, а действия игрока влияют на отношение поселений и фракций.
Всё это не возникло по одной команде. Игра собиралась маленькими кусками. Иногда очень маленькими.

Нейросеть тоже приходится контролировать
За эти три года я понял простую вещь. Нейросеть нельзя оставить один на один с большим проектом и ждать, что она сама примет все правильные решения.
Она может решить задачу слишком буквально. Может не заметить, что похожая система уже существует. Может исправить одну ошибку и создать другую. Может уверенно написать код, и убедительно вам рассказать как это будет здорово работать, но, блин, оно не работает внутри игры!
Поэтому я старался давать ей небольшие и понятные задачи. Перед изменениями просил изучить существующую систему. После изменений проверял не только новую функцию, но и всё, что могло быть с ней связано.
Если менялась торговля, я проверял деньги, инвентарь и цены.
Если менялся транспорт, я проверял перемещение, топливо и сохранение.
Если менялся бой, я проверял его начало, завершение и возвращение отряда на глобальную карту.
Временами такая проверка утомляла сильнее, чем сама работа над новой функцией. Но другого способа у меня не было. Я не мог проверить качество программы как разработчик. Зато мог проверить её как человек, который точно знает, какой должна быть его игра.
Постепенно я научился объяснять задачи точнее. Не писать длинное пожелание на несколько страниц, а сначала описать нужный результат, затем ограничения, а потом проверить каждый шаг отдельно.
Вероятно, это и стало моим главным навыком за время разработки. Код я так и не научился писать. Зато научился превращать идею в последовательность задач, которые может выполнить нейросеть.

Что в итоге
Без нейросети у меня было бы два варианта. Отказаться от Sunarius или попытаться найти деньги на разработку.
Я не могу сказать, что создание игры стало лёгким. Годы работы никуда не исчезли. Ошибки тоже никуда не исчезли. Бывали моменты, когда я несколько дней пытался восстановить функцию, которая до очередного изменения прекрасно работала.
Но сейчас Sunarius можно запустить, собрать отряд, отправиться на глобальную карту, вступить в бой, торговать, выполнять задания, пользоваться транспортом и разбираться в отношениях между фракциями. Игре идут отзывы, и основной мотив в отзывах такой - игра "Залипательная". Именно этого я и пытался добиться. Сделать игру, в которую погружаешься и не можешь выйти. Именно так в молодости я проходил Fallout 1 и 2. Ночами напролёт....
Для меня это и есть главный результат.
Я начал делать большую ролевую игру, совершенно не умея программировать. У меня не было команды и бюджета на отдельного разработчика. Было только понимание того, какую игру я хочу получить, и готовность много раз проверять результат.
Нейросеть не придумала Sunarius. Она не решила, каким должен быть его мир, и не провела вместо меня тысячи проверок. Но она дала мне возможность построить этот мир без найма программиста.
Если переводить эту возможность в деньги, я сэкономил примерно 100 тысяч долларов, это если считать по российской ставке оплаты. По американской или европейской этот объём кода стоит не менее 300 тысяч долларов.
Если переводить её во что либо более важное, я получил игру, которую без нейросети, скорее всего, так и не смог бы сделать. Буду рад если вы её зацените, ведь я продолжаю её улучшать каждый день!
Где скачать Sunarius
Скачать Sunarius можно на официальной странице игры в Google Play: https://play.google.com/store/apps/details?id=com.lightworkers.sunarius

