Разработка игр — это марафон, а не спринт. Прототипирование, отладка геймплея, балансировка — всё это требует времени и сил. По данным GDC State of the Game Industry 2025, около 60% разработчиков называют выгорание серьёзной проблемой. Но что, если часть рутины можно переложить на ИИ? В этой статье я собрал проверенные промты для ChatGPT, которые помогут ускорить работу в Unity и Unreal Engine, не потеряв контроль над проектом. Мы пройдём путь от базовых запросов до экспертных, с примерами кода и реальными кейсами.
Почему ИИ — не замена, а усилитель
ИИ-ассистенты не пишут игры за вас, но они отлично справляются с генерацией шаблонного кода, поиском багов, предложениями по балансу и даже созданием дизайн-документов. Главное — правильно формулировать промты. Ниже — 15 промтов, разбитых по уровням сложности. Каждый сопровождается задачей, примером и пояснением.
Базовые промты: быстрый старт
1. Генерация скрипта для движения персонажа в Unity
Задача: Нужен простой контроллер для 2D-платформера.
Промт:
Ты — опытный Unity-разработчик. Напиши C# скрипт для движения 2D-персонажа с использованием Rigidbody2D. Учти гравитацию, прыжок с проверкой на землю, горизонтальное движение. Код должен быть с комментариями на русском.
Пример результата:
using UnityEngine;
public class PlayerController2D : MonoBehaviour
{
public float moveSpeed = 5f;
public float jumpForce = 7f;
public Transform groundCheck;
public float groundCheckRadius = 0.2f;
public LayerMask groundLayer;
private Rigidbody2D rb;
private bool isGrounded;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
// Проверка на землю
isGrounded = Physics2D.OverlapCircle(groundCheck.position, groundCheckRadius, groundLayer);
// Прыжок
if (Input.GetButtonDown("Jump") && isGrounded)
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce);
}
}
void FixedUpdate()
{
// Горизонтальное движение
float move = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(move * moveSpeed, rb.velocity.y);
}
}
Пояснение: Такой промт экономит 20-30 минут поиска в документации. Вы получаете рабочий каркас, который можно сразу тестировать.
2. Создание простого шейдера для Unreal Engine
Задача: Нужен материал, который меняет цвет в зависимости от времени суток.
Промт:
Ты — технический художник в Unreal Engine 5. Опиши пошагово, как создать материал, который плавно меняет цвет от синего к оранжевому в зависимости от параметра Time of Day (0-24). Используй Material Editor, ноды Lerp и Time. Дай инструкцию на русском.
Пример результата:
- Создайте новый Material.
- Добавьте ноду
Time(делитель на 24 для нормализации). - Используйте
Lerpмежду синим и оранжевым цветом, где Alpha — это нормализованное время. - Подключите к Base Color.
Пояснение: ИИ не сгенерирует графы, но даст чёткий алгоритм, который новичок сможет повторить.
3. Быстрый дизайн-документ для уровня
Задача: Нужно описать структуру уровня для метроидвании.
Промт:
Ты — геймдизайнер. Составь дизайн-документ для уровня "Заброшенная лаборатория" в метроидвании. Включи: цели игрока, ключевые предметы, врагов, секреты, связь с другими уровнями. Формат — таблица Markdown.
Пример результата:
| Элемент | Описание |
|---|---|
| Цель | Найти прототип сыворотки |
| Враги | Мутанты, турели |
| Секреты | Вентиляция с апгрейдом |
Пояснение: Такой документ можно сразу обсуждать с командой, внося правки.
4. Поиск ошибок в коде
Задача: Скрипт не работает, выдаёт NullReferenceException.
Промт:
Проверь код на C# для Unity. Вот ошибка: NullReferenceException в строке 25. Вот код: [вставить код]. Объясни причину и предложи исправление.
Пример результата: ИИ укажет, что переменная не инициализирована, и предложит добавить проверку.
Пояснение: Экономит часы отладки, особенно для новичков.
Продвинутые промты: оптимизация и баланс
5. Балансировка оружия в RPG
Задача: Нужно сбалансировать урон оружия разного уровня.
Промт:
Ты — геймдизайнер с опытом в RPG. У меня есть 5 типов оружия: меч, топор, лук, посох, кинжал. У каждого — базовый урон, скорость атаки, вес. Предложи формулу для расчёта DPS и таблицу сбалансированных значений для уровней 1-10. Учти, что игрок должен чувствовать прогресс.
Пример результата:
| Оружие | Урон | Скорость | DPS |
|---|---|---|---|
| Меч | 10 | 1.2 | 12 |
| Топор | 15 | 0.8 | 12 |
Пояснение: ИИ предложит математическую модель, которую вы сможете адаптировать.
6. Генерация процедурного уровня
Задача: Нужен алгоритм для генерации подземелья.
Промт:
Напиши псевдокод для процедурной генерации подземелья в стиле roguelike. Используй алгоритм "комнаты и коридоры". Учти, чтобы все комнаты были достижимы. Язык — C#.
Пример результата:
// Псевдокод
List<Room> GenerateDungeon(int width, int height) {
var rooms = new List<Room>();
for (int i = 0; i < 10; i++) {
var room = new Room(random position, random size);
if (!room.Intersects(rooms)) rooms.Add(room);
}
ConnectRooms(rooms);
return rooms;
}
Пояснение: Такой каркас легко превратить в рабочий скрипт.
7. Оптимизация производительности в Unity
Задача: Игра тормозит на мобильных устройствах.
Промт:
Ты — Unity-оптимизатор. Предложи 10 конкретных шагов для повышения FPS на Android. Учти: много объектов, сложные шейдеры, физика. Дай примеры кода для каждого шага.
Пример результата: ИИ предложит использовать Object Pooling, батчинг, упрощение шейдеров.
Пояснение: Список можно использовать как чек-лист.
8. Создание системы диалогов в Unreal
Задача: Нужна система ветвящихся диалогов.
Промт:
Опиши архитектуру системы диалогов в Unreal Engine с использованием DataTable и Blueprints. Как хранить текст, варианты ответов, условия? Дай пример структуры DataTable.
Пример результата:
| Row Name | NPC Text | Answer 1 | Next Node 1 |
|---|---|---|---|
| Start | Привет! | Как дела? | Node2 |
Пояснение: ИИ предложит готовую схему, которую останется реализовать.
9. Написание Unit-тестов для игровой логики
Задача: Нужно протестировать систему урона.
Промт:
Напиши Unit-тесты на C# для Unity Test Framework. Проверь, что при уроне 10 и здоровье 100 остаётся 90. Используй NUnit.
Пример результата:
[Test]
public void TestDamage() {
var health = new Health(100);
health.TakeDamage(10);
Assert.AreEqual(90, health.Current);
}
Пояснение: Тесты помогут избежать регрессий.
10. Генерация идей для механик
Задача: Нужны свежие идеи для паззла.
Промт:
Придумай 5 оригинальных механик для головоломки, которые не использовались в популярных играх. Опиши каждую в 2-3 предложениях.
Пример результата: ИИ предложит, например, "гравитационные колодцы", "эхо-локация".
Пояснение: Можно использовать как брейншторм.
Экспертные промты: автоматизация и сложные системы
11. Генерация кода для мультиплеера в Unreal
Задача: Нужно синхронизировать движение персонажа.
Промт:
Напиши C++ код для Unreal Engine 5 с использованием Replication для синхронизации движения персонажа. Учти RPC, свойства, реплицируемые через ReplicatedUsing. Дай пример для CharacterMovementComponent.
Пример результата:
void AMyCharacter::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const {
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
DOREPLIFETIME(AMyCharacter, Health);
}
Пояснение: Такой код требует глубоких знаний, но ИИ даёт правильное направление.
12. Создание системы скиллов с деревом развития
Задача: Нужна гибкая система перков.
Промт:
Спроектируй систему скиллов для RPG в Unity. Используй ScriptableObject для хранения данных. Опиши классы: Skill, SkillTree, SkillNode. Дай пример кода для разблокировки скилла.
Пример результата:
[CreateAssetMenu]
public class Skill : ScriptableObject {
public string Name;
public int Cost;
public Skill[] Prerequisites;
}
Пояснение: ScriptableObject — стандарт для данных в Unity, ИИ это учитывает.
13. Автоматическая генерация уровней на основе сложности
Задача: Нужно адаптировать уровень под навык игрока.
Промт:
Предложи алгоритм динамической сложности для платформера. Учти: количество смертей, время прохождения, собранные предметы. Опиши формулу и псевдокод.
Пример результата: ИИ предложит коэффициент сложности, который влияет на скорость врагов.
Пояснение: Это основа для DDA (Dynamic Difficulty Adjustment).
14. Рефакторинг легаси-кода
Задача: Есть старый скрипт на 1000 строк, нужно разбить на модули.
Промт:
Проанализируй код (вставить) и предложи рефакторинг: выдели классы, используй паттерны (Strategy, Observer). Дай план и примеры.
Пример результата: ИИ предложит разбить на PlayerController, InputHandler, AnimatorController.
Пояснение: Экономит дни работы.
15. Написание шейдера для воды в Unity
Задача: Нужен реалистичный шейдер воды.
Промт:
Напиши шейдер для воды в Unity URP с использованием Shader Graph. Опиши ноды для волн, отражений, прозрачности. Дай пошаговую инструкцию.
Пример результата: ИИ опишет цепочку нод: Noise -> Normal Map -> Fresnel -> Refraction.
Пояснение: Shader Graph — визуальный инструмент, но инструкция поможет собрать граф.
Реальный кейс: как инди-студия ускорила прототип в 2 раза
Студия "Pixel Forge" (3 человека) разрабатывала метроидванию. Они использовали промты для генерации дизайн-документов, скриптов и баланса. По их словам, время прототипирования сократилось с 3 месяцев до 1.5. Они не писали код с нуля, а адаптировали сгенерированный. Главный вывод: ИИ берёт на себя рутину, оставляя творчество людям.
Выводы
Промты для GameDev — это не волшебная палочка, но мощный инструмент. Начните с базовых, постепенно переходите к экспертным. Помните: ИИ не заменит вашего опыта, но поможет избежать выгорания. Экспериментируйте, адаптируйте, делитесь результатами. А если хотите углубиться — изучайте официальные документации Unity и Unreal, они всегда актуальны.
Комментарии