Хайп вокруг ИИ не утихает и поэтому я решил сделать приложение с интерактивными историями, где сюжет генерирует ИИ. На самом деле мне нравится играть в игры с нелинейным сюжетом. В игры, где ты сам можешь выбирать путь. Однако большинство таких игр имеют лишь небольшое количество заранее написанных сценариев. Это не позволяет в полной мере ощутить свободу выбора.
Первым делом я решил выбрать модель, с помощью которой хоче генерировать сюжет. Изначально я решил подсчитать затраты. Предположим, я буду генерировать по 100 слов, что равно приблизительно 150 токенам. Такую генерацию можно прочитать примерно за минуту. Тогда, если я хочу, чтобы история длилась час, мне нужно 60 таких генераций. Таким образом, нетрудными вычислениями получаем, что всего входных токенов будет 270k, а выходных 9k. Большинство моделей оказываются слишком дорогими, поэтому я остановился на gemini-2.5-flash-light. Она имеет стоимость входных токенов 0.1$/m и выходных 0.4$/m, что мне подходит. Также в отличие от большинства других моделей, включая chatGPT, claude, grok, она хорошо говорит по-русски. Также она достаточно умна, чтобы не путать факты.
Я завайбкодил почти весь фронтенд в lovable. Могу рекомендовать этот инструмент, так как он действительно хорош. Я сделал выбор жанра на первом экране.
Также я добавил каталог всех историй. Поиск по названию, жанрам, длительности и рейтингу.
Еще персонализацию и список ваших историй.
Для бекэнда я решил использовать supabase, так как это отличный инструмент и он полностью меня устраивал. Мне нужно было делать регистрацию, хранить базу данных историй и пользователей и делать запросы к ИИ для генерации сюжета. Тут уже встал вопрос, а какую авторизацию стоит добавть. В самом начале я решил, что не буду локазизовывать приложение на другие языки и истории будут только на руском. Поэтому я решил использовать отечественный магазин приложений RuStore. Там как раз есть встроенная авторизация vk id, поэтому я использовал ее.
Игру уже можно скачать в RuStore и поиграть в имеющиеся истории. Буду рад обратной связи. Спасибо за прочтение!
Источник


