Левел дизайн для игр: проектирование уровней в Unity, Unreal

Наша компания по разработке видеоигр ведет независимые проекты, совместно с клиентом создает игры и оказывает дополнительные операционные услуги. Опыт нашей команды позволяет нам охватить все игровые платформы и разработать потрясающий продукт, соответствующий видению клиента и предпочтениям игроков.

От иммерсивных приложений до игровых миров и 3D-сцен

Наша выделенная команда для VR/AR/MR-разработки, Unity-продакшна и 3D-моделирования и анимации с собственными кейсами и презентациями.

Посетить персонализированный сайт
Показано 1 из 1Все 242 услуг
Левел дизайн для игр: проектирование уровней в Unity, Unreal
Сложный
от 3 дней до 1 месяца
Часто задаваемые вопросы

Наши компетенции

Какие этапы разработки игры?

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1434
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    972
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    586
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    651
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    13

Левел дизайн для игр

Мы проектируем уровни, которые не требуют инструкций. Игрок интуитивно понимает, куда идти, где укрыться, когда атаковать. За 10+ лет в геймдеве мы спроектировали более 50 уровней для PC, мобильных платформ и консолей. Наш пайплайн экономит до 40% времени на итерациях благодаря structured blockout и раннему плейтестингу.

Правильный воркфлоу начинается с grey box — серой геометрии без текстур. На этом этапе мы проверяем читаемость пространства, темп и сложность. Если уровень неинтересен в blockout, никакой арт его не спасёт. Инструмент — ProBuilder в Unity или BSP-блоки в Unreal.

Как проверить играбельность уровня до финального арта?

Дизайнер, создавший уровень, знает каждый угол. Он не застрянет в геометрии, не пропустит скрытый проход. Поэтому тестирование уровня его создателем — пустая трата времени. Первый принцип: уровень тестирует только тот, кто видит его впервые. Конкретный инструмент для Unity: Analytics + Heatmap. Записываем позиции игроков каждые N секунд, визуализируем через Unity Analytics Heatmap SDK или самописный инструмент с Gizmos.DrawSphere. Тепловая карта смертей мгновенно показывает, где игроки застревают, где теряются, где сталкиваются с непредвиденной сложностью.

Почему AI застревает на стыке NavMesh?

Красивый уровень в редакторе может быть непроходимым для AI. NavMeshSurface не запекается автоматически — нужна явная настройка Agent Radius, Agent Height, Max Slope. Пропасти шириной меньше агента + некорректный NavMeshLink = враги, замирающие перед ступенькой высотой 5 см. Для динамических уровней (разрушаемость, открывающиеся двери) используем NavMeshSurface.UpdateNavMesh() с Coroutine вместо полной перепечатки — это избегает фриза на несколько кадров. Для больших уровней — Navmesh.CalculateTriangulation() асинхронно через Job System.

Ещё частая проблема: NavMeshAgent застревает на стыке двух NavMeshSurface при переходе между зонами. Это не баг Unity — это отсутствие NavMeshLink между поверхностями. Для многоуровневых локаций обязательно явное создание Link для каждого перехода.

Collision geometry vs. Visual geometry

Одна из самых дорогих в исправлении ошибок: коллизионная геометрия совпадает с визуальной. Mesh Collider на сложном 3D-меше — это тысячи треугольников для физического движка. На уровне с 50 сложными пропсами это убивает производительность. Правило: коллизии — простые примитивы (Box Collider, Capsule Collider, Convex Mesh Collider с ограничением 255 треугольников). Визуальный меш — отдельный, детальный. В Blender — отдельный объект с суффиксом _collision, экспортируем вместе с основным мешем через FBX-настройки. Модульный дизайн сокращает время разработки в 3-4 раза по сравнению с монолитными уровнями.

Как строим уровни

Процесс: grey box до финального арта

Уровень проходит через три стадии до того, как художник прикоснётся к нему:

Blockout (серый ящик). Только геометрия — ProBuilder в Unity или примитивы. Никаких текстур, только материалы-заглушки разных цветов для разных типов поверхностей (пол, стены, платформы). На этом этапе проверяем: путь игрока, темп, сложность энкаунтеров, читаемость пространства. Правило: если уровень неинтересен в blockout — финальный арт не исправит это.

Gameplay polish. Расставляем точные позиции врагов, триггеры событий, spawn points, интерактивные объекты. Балансируем сложность. Тестируем с плейтестерами.

Art pass. Только после согласования геймплея — художники работают по финальной геометрии. Это избегает ситуации «переделайте красивый уровень, потому что он неиграбелен». Гарантируем: наша методика снижает количество переделок на 60%.

Инструменты и пайплайн

  • ProBuilder — быстрое создание геометрии прямо в Unity. Для blockout и простых level-specific мешей.
  • Blender — сложная геометрия, модульные наборы тайлов, экспорт через FBX с настроенными коллайдерами.
  • Cinemachine — управление камерой в зависимости от позиции игрока на уровне. CinemachineConfiner ограничивает камеру рамками уровня без кода.
  • Timeline — скриптованные события на уровне: открывание дверей по триггеру, ambient анимации, cutscene-вставки.
  • Terrain Tools — для открытых локаций с органическим рельефом. Terrain Layer с PBR материалами + Detail Mesh для растительности.

Модульный дизайн

Для эффективного производства строим modular tileset: набор стандартизированных модулей (стены, углы, полы, потолки) с единым grid size. Модули snapятся через ProGrids или встроенный vertex snap в Unity. Это позволяет художнику создать 20-30 модулей и покрыть бесконечное количество комнат. Размер грида зависит от масштаба персонажа. Правило: ширина прохода = минимум 2 единицы размера персонажа. Для стандартного персонажа 2м высотой — грид 1м, проходы 2-3 клетки.

Procedural generation

Для roguelike и procedural-heavy проектов: BSP (Binary Space Partitioning) для разбивки пространства на комнаты, Cellular Automata для пещерных уровней, Wave Function Collapse для тайловых уровней с правилами связности. WFC работает через TileRule ScriptableObject: каждый тайл имеет допустимых соседей в каждом направлении. Алгоритм коллапсирует суперпозицию тайлов в конкретный уровень, соблюдая все ограничения. Готовые реализации для Unity: WFC Unity (open source), Tessera (платный, более функциональный).

Процесс работы

Концепт и reference (1-3 дня). Разбираем game feel цели: темп, сложность, атмосфера. Reference levels из схожих игр. Нарративные задачи уровня.

Blockout (2-5 дней на уровень). Геометрия, навигация, базовые энкаунтеры. Первый раунд плейтеста.

Gameplay iteration (3-7 дней). По результатам плейтеста — корректировка. Повторяем до тех пор, пока уровень не работает стабильно на всех плейтестерах.

Art pass (зависит от объёма и стиля).

Тип уровня Сроки (без art pass)
Линейный коридорный 3-7 дней
Открытый с несколькими путями 1-2 недели
Hub-локация с NPC 1-2 недели
Procedural dungeon система 2-4 недели

Стоимость рассчитывается после анализа количества уровней, жанра и требований к AI/навигации.

Что входит в работу

  • Документация: reference-борды, grey box модели, финальные ассеты с коллайдерами.
  • Доступы: исходники проекта для Unity/Unreal, экспортированные меши.
  • Обучение: передача пайплайна модульного дизайна вашей команде.
  • Поддержка: фиксация багов навигации в течение месяца после сдачи.

Получите консультацию по вашему проекту — оценим сложность и сроки за 1 день. Пишите на почту или в мессенджеры, мы в деле.

Проектирование механик: с чего начинается отзывчивое управление

Прежде чем говорить о геймдизайне, зафиксируем разграничение: геймдизайн — это не «придумать идею». Придумать может любой. Задача — спроектировать систему правил, которая производит конкретный эмоциональный и поведенческий результат. Это инженерная дисциплина, только вместо компилятора — человеческий мозг.

Первая боль: вам кажется, что управление «дубовое», а почему — непонятно. Чаще всего проблема не в коде, а в отсутствии coyote time и jump buffering. Или в линейном ускорении, которое не даёт ощущения веса. Мы это чиним на этапе прототипа.

Какие услуги геймдизайна мы предлагаем

Полный цикл: от концепта до выверенного билда. Под ключ — вы получаете геймдизайн-документ (GDD), таблицы баланса, прототип ключевых механик на Unity/Unreal, и сопровождение вплоть до релиза.

Что входит в работу:

  • Документация: GDD, спецификации механик, нарративные деревья, API для разработчиков
  • Таблицы баланса: прогрессия, экономика, DPS-калькуляторы
  • Прототипы: интерактивные сцены с core loop (движение, бой, инвентарь)
  • Конфигурация в движке: ScriptableObject, DataTable, анимационные событий
  • Проведение плейтестов и итераций по метрикам (удержание, монетизация, retention)

Оцените ваш проект — свяжитесь для расчёта сроков. Подход основан на методологии MDA и опыте 50+ реализованных проектов с 2012 года.

Как проектировать боевую систему: глубокий разбор

Боевая система — самая дорогая ошибка: на первый взгляд простая, на деле — ад из edge cases. Разберём melee combat.

1. Выбор метода hit detection

Hitbox — коллайдеры на оружии. Просто, но при быстрых атаках возникает tunneling: оружие пролетает сквозь противника за кадр. Решение — Physics.CCD (Continuous Collision Detection), но это дорого. Raycast/spherecast — кастуем лучи вдоль траектории оружия. Точнее, меньше зависит от fps. Мы предпочитаем spherecast для action-игр. Подробнее о методах — в Wikipedia.

2. Настройка окон атаки

Каждая атака — три фазы: Startup, Active, Recovery. Длинный startup создаёт «тяжёлые» удары. Короткий recovery даёт агрессивный стиль. В Unity аниматор кидает событие через AnimationEvent, код включает/выключает hitbox. Типичные тайминги для рукопашного боя: startup 200–400 мс, active 100–150 мс, recovery 300–500 мс.

3. Построение state machine

Персонаж — конечный автомат. Базовые состояния: Idle, Moving, Jumping, Attacking, Hurt, Dead. Бизнес-логику выносим в C#-код, аниматор отвечает только за переходы анимаций. Иерархические state machine (через Override Animator Controller) позволяют вложенные подсостояния, не дублируя переходы.

Почему математическая модель экономики критична?

Экономику «на глаз» не делают — получается развал через месяц после релиза. Базовая прогрессия: линейная (скучно), экспоненциальная (XP(n) = base * multiplier^n, multiplier 1.5–2.0), полиномиальная (a * n^b, b 1.5–2.5). Мы строим таблицы в Google Sheets за 2–3 дня, проверяя, сколько часов игрок потратит на каждый уровень.

Потоки валют

Принцип: каждая валюта — явный источник (tap) и сток (sink). Пример двухвалютной системы:

Мягкая валюта (золото) Твёрдая валюта (кристаллы)
Источник Квесты, враги, ежедневные награды Покупка, редкие достижения
Сток Расходники, улучшения, здания Пропуск времени, редкие предметы
Конвертация → кристаллы: нет → золото: да (однонаправленно)

Однонаправленная конвертация защищает монетизацию. Дисбаланс легко обнаружить по DPS и TTK: если TTK оружия вдвое ниже остальных — оно становится meta. Мы выявляем это на этапе прототипа, сокращая последующие правки на 40%.

Нарратив и левел-дизайн: как обучать без текста

Environmental storytelling — расположение объектов, звуков, следов — часто эффективнее диалогов. Для диалогов используем Ink (интеграция с Unity). Ink-скрипты читает нарративный дизайнер без программиста. Каждый уровень проверяем по принципу: игрок должен понять механику действием, а не по подсказке.

Инструменты в процессе

Задача Инструмент
GDD Notion, Confluence
Баланс Google Sheets (формулы, сводные)
Прототипы Unity 2022 LTS, Godot 4
State machine Miro, draw.io
Нарратив Ink, Twine
Конфиги ScriptableObject (Unity)
Аналитика Firebase, GameAnalytics

Итерация и плейтестинг: 2-недельный цикл

Первый прототип всегда неудобен — это норма. Наш цикл: плейтест каждые 2 недели. После — список изменений с числами: «startup 400 мс → 250 мс». Мнения без цифр не принимаются. Фиксируем ощущения, меняем цифры, повторяем.

Свяжитесь для консультации — мы оценим сроки и бюджет вашего проекта. Наши заказчики экономят от 2 до 3 недель на итерациях за счёт чёткого процесса.