Введение
Разработка игр — это постоянное решение десятков мелких и крупных задач: от генерации уровней до оптимизации производительности. Каждый год выходят новые инструменты, но один из самых мощных трендов последних лет — использование больших языковых моделей (LLM) в качестве ассистента разработчика. Умело составленный промт (запрос к нейросети) может заменить часы поиска в документации или написания шаблонного кода. В этой подборке — 15 готовых промтов для трёх популярных движков: Unity (C#), Unreal Engine (Blueprints) и Godot (GDScript). Каждый промт сопровождается пояснением, как его адаптировать под ваш проект, и примером вывода. Все примеры основаны на реальных сценариях из официальной документации движков и проверенных практик сообщества.
Обратите внимание: промты работают с любой современной LLM (ChatGPT, Claude, Gemini и т.д.), но для наилучшего результата стоит уточнять версию движка и конкретные требования (например, «для Unity 2022 LTS»).
1. Промты для Unity (C#)
1.1. Генерация компонента для движения персонажа
Описание: Создаёт C# скрипт для управления перемещением игрока от первого лица с инерцией и поддержкой геймпада.
Промт:
Напиши C# скрипт для Unity (версия 2022 LTS) для перемещения персонажа от первого лица. Требования:
- Использовать CharacterController.
- Поддержка мыши (вращение камеры) и WASD/геймпада (движение).
- Плавное ускорение и замедление (инерция).
- Код на MonoBehaviour с публичными полями для скорости, чувствительности мыши.
- Добавить комментарии на русском языке.
Пример использования: Вставьте сгенерированный код в пустой скрипт PlayerMovement.cs, прикрепите к объекту с CharacterController и настройте параметры в инспекторе. Такой скрипт избавляет от ручного написания обработки осей и физики.
1.2. Оптимизация кода с помощью Job System и Burst
Описание: Генерирует высокопроизводительный код для параллельной обработки большого количества объектов (например, частиц или врагов).
Промт:
Сгенерируй пример использования Unity Job System и Burst Compiler для параллельного обновления позиций 10 000 кубов. Каждый куб движется к случайной точке, по достижении меняет цель. Использовать IJobParallelFor, NativeArray. Вывести FPS в консоль. Версия Unity 2022 LTS, C# 9.0.
Пример использования: Скопируйте код в проект, вручную создайте сцену с 10 000 кубов (через GameObject.Instantiate в Start). Промт даёт готовую структуру Job — остаётся только протестировать производительность. Подробнее о Job System читайте в официальном руководстве: https://docs.unity3d.com/Manual/JobSystem.html
1.3. Создание системы инвентаря с UI
Описание: Генерирует модульную систему для хранения предметов и отображения их в простом UI (сетка).
Промт:
Напиши C# код для системы инвентаря в Unity на ScriptableObject. Должны быть:
- ItemData (ScriptableObject с именем, иконкой, весом).
- Inventory (MonoBehaviour) с массивом слотов.
- UIInventory (MonoBehaviour) для отображения сетки 3x3, привязанной к Inventory.
- Возможность добавления/удаления предметов по индексу.
- Использовать UnityEngine.UI.
- Добавить поддержку перетаскивания (Drag-and-Drop) через IDragHandler, IDropHandler.
Пример использования: Создайте несколько экземпляров ItemData в папке Resources, прикрепите Inventory к пустому объекту, UIInventory — к Canvas. Промт автоматически связывает логику и интерфейс — решает типовую задачу для RPG или симуляторов.
1.4. Генерация процедурного ландшафта (Terrain) с помощью Perlin Noise
Описание: Промт создаёт скрипт для автоматической генерации ландшафта на основе шума Перлина с настраиваемой высотой и частотой.
Промт:
Напиши C# скрипт в Unity, который создаёт TerrainData из кода. Использовать Mathf.PerlinNoise для карты высот. Параметры: размер карты (256x256), масштаб, количество октав, сила вертикального смещения. Сгенерированный террейн должен быть виден сразу в редакторе (OnValidate).
Пример использования: Прикрепите скрипт к объекту с компонентом Terrain, измените параметры в инспекторе — ландшафт перегенерируется в реальном времени. Отличная основа для открытых миров.
1.5. Пул объектов (Object Pooling) для оптимизации спавна
Описание: Создаёт класс пула объектов для частого создания/уничтожения (пули, враги на волнах).
Промт:
Реализуй Object Pool на C# для Unity без использования CollectionPool. Класс ObjectPool<T> где T : Component. Методы:
- Get() — берёт объект из пула или создаёт новый.
- Return(T) — возвращает объект обратно.
- Prewarm(int) — предварительно заполняет пул.
- Использовать Queue. Пул должен работать в Edit Mode (через OnDestroy не очищать статический контейнер).
Пример использования: Возьмите префаб пули, создайте ObjectPool
2. Промты для Unreal Engine (Blueprints)
2.1. Реализация системы диалогов с выбором ответов
Описание: Генерирует Blueprint для диалоговой системы на основе DataTable с возможностью выбора варианта ответа игроком.
Промт:
Создай Blueprint для Unreal Engine 5.3 для диалогового окна с выбором ответов. Требования:
- DataTable с колонками: Speaker (текст), DialogText (текст), Options (массив ссылок на другие строки).
- WidgetBlueprint с TextBlock (реплика NPC) и VerticalBox (кнопки ответов).
- При выборе ответа — переходить к следующей строке диалога.
- Использовать EventConstruct для инициализации.
- Ссылки на строки хранить в RowHandle (DataTableRowHandle).
Пример использования: Создайте DataTable с примерами диалогов, настройте виджет. Промт даёт готовую логику ветвления — часто используется в RPG и квестах.
2.2. Процедурная генерация мешей с использованием Geometry Script
Описание: Использует Geometry Script (экспериментальный плагин UE5) для генерации простых 3D-объектов из кода Blueprint.
Промт:
Напиши Blueprint для Unreal Engine 5.3, который с помощью Geometry Script создаёт статический меш в виде сферы с параметрами: радиус, количество сегментов (x,y). Меш должен быть видим после запуска (BeginPlay). Использовать UDynamicMesh и AppendSphere.
Пример использования: Прикрепите Actor с этим Blueprint на сцену — появится сгенерированная сфера. Промт знакомит с Geometry Script, актуальным для процедурной архитектуры.
2.3. Анимация смешивания (Blend Spaces) для персонажа
Описание: Генерирует Blueprint для Blend Space 1D (скорость → анимации ходьбы/бега) и настройку Animation Blueprint.
Промт:
Создай Animation Blueprint для UE5 для гуманоидного персонажа. Blend Space 1D с параметром Speed (0-600). При Speed=0 — Idle, 200 — Walk, 600 — Run. В AnimatedStateMachine используй State Machine с двумя состояниями: Idle/Run. Переход по булеву IsMoving? (Speed > 0). Ссылка на Character Movement Component для получения скорости.
Пример использования: Импортируйте анимации и настройте Blend Space. Промт даёт скелет блюпринта, что экономит время при создании поведения NPC.
2.4. Реализация минимального инвентаря с сеткой (UMG)
Описание: Blueprint-система инвентаря для UE5 с ячейками и перетаскиванием.
Промт:
Напиши Blueprint для инвентаря в Unreal Engine 5.3. Использовать UMG Widget. Создай GridPanel 3x3. Каждая ячейка — Border с Image. При нажатии на ячейку — предмет перемещается в пустую ячейку (если есть). Храни данные в Map<ItemData, int> на уровне PlayerController. ItemData — это DataAsset. Привязка через Interface: IPickable.
Пример использования: Создайте DataAsset для предметов (здоровье, ключи), расставьте акторы с компонентом Pickable. Промт подойдёт для прототипа RPG-лутбокса.
2.5. Система погодных эффектов (дождь, ветер) с Niagara
Описание: Создаёт Blueprint, управляющий системой частиц Niagara с переключением между дождём и ясной погодой.
Промт:
Создай Blueprint для UE5 с двумя Niagara System (дождь, ясно). По кнопке (нажатие F) переключать между ними с плавным transition (таймер 2 секунды). Использовать Set Auto Destroy на старую систему. Параметр количества частиц задавать через Float из Dynamic Parameters.
Пример использования: Прикрепите к PlayerController или отдельному актору. Промт даёт основы работы с Niagara и динамическим управлением эффектами.
3. Промты для Godot (GDScript)
3.1. Генерация подземелья с комнатами и коридорами (BSP)
Описание: Создаёт скрипт для генерации 2D-подземелья методом BSP (двоичное разбиение пространства).
Промт:
Напиши на GDScript (Godot 4.3) алгоритм BSP для генерации 2D-карты подземелья. Класс BSPLeaf с разделением на две части. Генерация TileMap с комнатами (случайный размер) и коридорами (соединение центров листьев). Использовать TileSet из assets (категория Ground с id=0, Wall id=1). Параметры: min_room_size, max_depth.
Пример использования: Вставьте скрипт в основной сцене, вызовите generate(). Промт даёт готовую процедурную генерацию, часто используемую в roguelike-играх.
3.2. Система диалогов с ветвлением (JSON)
Описание: Парсит JSON с диалогами и реализует выбор варианта через RichTextLabel и кнопки.
Промт:
Создай GDScript для Godot 4.3 для диалоговой системы. Загружать диалоги из JSON файла (формат: { 'nodes': [{'id', 'text', 'choices': [{'text', 'next_id'}] } }). Выводить в RichTextLabel. При выборе варианта переходить к следующему узлу. Использовать ResourceLoader для JSON. Начальный узел - 'start'.
Пример использования: Подготовьте JSON в папке ресурсов, прикрепите скрипт к Control. Промт полезен для разработки квестов с внешними локализациями.
3.3. Оптимизация с помощью Object Pool (пул объектов)
Описание: Реализация пула для 2D-спрайтов (пули, враги) на GDScript.
Промт:
Напиши на GDScript менеджер пула объектов для Godot 4.3. Класс ObjectPool, который предварительно создаёт экземпляры PackedScene и хранит в Array. Методы acquire() и release(node). Пример использования: стрельба пулями из Area2D. Пул должен автоматически расширяться, если закончились (acquire создаёт новый). Использовать is_queued_for_deletion() для проверки.
Пример использования: Создайте сцену Bullet, передайте её пулу. Вызывайте acquire() при выстреле, release() после столкновения. Промт решает проблему мусора при частом спавне.
3.4. Платформер: движение и управление камерой
Описание: Скрипт для 2D-платформера с плавным движением, прыжками и следящей камерой.
Промт:
Напиши GDScript для персонажа в 2D-платформере (Godot 4.3). Используй CharacterBody2D. Движение: скорость 300, ускорение/торможение. Прыжок: сила -400, разрешить двойной прыжок. Камера: Camera2D с сглаживанием (smoothing) и ограничением границ (limit). Обработка ввода через Input Actions (ui_left, ui_right, ui_up).
Пример использования: Добавьте скрипт на CharacterBody2D, настройте тайлы коллизии. Промт даёт готовый базовый контроллер для быстрого старта.
3.5. Простая система сохранения (ConfigFile)
Описание: Сохраняет и загружает позицию игрока, инвентарь (Array) через ConfigFile.
Промт:
Напиши на GDScript менеджер сохранения для Godot 4.3. Использовать ConfigFile с секцией 'Player' и 'Inventory'. Сохранять position (Vector2), health (int), inventory (Array of Resource). Загрузка — при старте сцены. Автосохранение при выходе через _notification(NOTIFICATION_WM_CLOSE_REQUEST).
Пример использования: Интегрируйте скрипт в AutoLoad. Промт даёт лёгкую систему персистентности без сторонних библиотек.
3.6. Создание схемы инвентаря с Drag-and-Drop (UI)
Описание: Реализует UI инвентаря с гридом и перетаскиванием предметов между ячейками.
Промт:
Напиши GDScript для системы инвентаря в Godot 4.3. Создать Control с GridContainer (4x4). Каждая ячейка — TextureRect. При перетаскивании (drag & drop) обновить данные. Хранить данные в Dictionary {slot_index: item_resource}. Использовать Control.get_local_mouse_position() для определения цели. Предметы — Resource (с text, icon).
Пример использования: Создайте Resource для предметов, прикрепите скрипт к панели UI. Промт подходит для RPG и симуляторов.
4. Универсальные промты для GameDev
4.1. Генерация названий для игровых предметов
Описание: Создаёт список случайных названий для оружия или зелий с заданным стилем (фэнтези, sci-fi).
Промт:
Сгенерируй 20 названий для магического оружия в стиле тёмного фэнтези. Пример: 'Коготь Бездны', 'Печать Угасшей Звезды'. Слова должны быть на русском, но с использованием латинских корней. Формат вывода: CSV (Название, Тип). Типы: меч, посох, кинжал.
Пример использования: Скопируйте результат в файл и импортируйте в DataTable или Resource. Экономит время при подборе имён для контента.
4.2. Оптимизация кода: быстрый рефакторинг под паттерны
Описание: LLM может переработать ваш существующий код в соответствии с паттерном (например, State или Observer).
Промт:
Перепиши приложенный C# код (или GDScript) на паттерн 'Состояние' (State). Агрегируй состояния в отдельные классы. Исходный код: [вставьте свой код]. Цель: разделить логику стрельбы и ходьбы на состояния для лучшей поддерживаемости.
Пример использования: Вставьте спагетти-код в промт — получите чистую архитектуру. Полезно для рефакторинга прототипа.
Заключение
Представленные 15 промтов охватывают наиболее частые задачи, с которыми сталкивается разработчик игр на Unity, Unreal Engine и Godot. Ключ к успешному использованию — детализация. Чем точнее вы описываете версию движка, используемые компоненты и желаемый результат, тем релевантнее становится ответ нейросети. Не забывайте проверять сгенерированный код на наличие ошибок и адаптировать его под свой стиль. Используйте эту подборку как шпаргалку: копируйте промт, вставляйте в LLM, анализируйте вывод и встраивайте в проект. Регулярная практика с промтами не только ускоряет разработку, но и помогает лучше понять внутреннюю логику движка. Пробуйте, модифицируйте предложенные промты — и ваши игры будут строиться быстрее.
Рекомендуем также изучить официальную документацию:
- Unity Scripting Reference: https://docs.unity3d.com/ScriptReference/
- Unreal Engine Blueprints API: https://docs.unrealengine.com/5.3/en-US/blueprints-api-reference/
- Godot GDScript Documentation: https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html
Комментарии