Мои проекты и применение процедурной генерации в них

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

Референц ландшафта для игры
Референц ландшафта для игры

Текущие проекты и их особенности

На сегодняшний день у меня есть три реализуемых проекта, в каждом из которых по-своему используется процедурная генерация:

1. Личный проект

Самостоятельный проект, в котором я реализую генерацию в реальном времени, в Unreal Engine 5. Конкретно делается работа по генерации ландшафта и предметов для взаимодействия. Используется шум Перлина (это градиентный шум, состоящий из набора псевдослучайных единичных векторов) для генерации мира.

Пример шума Перлина
Пример шума Перлина

2. Исследовательский проект

Я решил создать игру с определенной проблематикой и тематикой, которую могу представить, как проект для университета. Он должен в комфортной форме привлечь людей в сферу исследований, а так же дать необходимые знания для понимания того, как устроена Земля. Я применяю генерацию мира по карте высот. Взял реальный остров, но чтобы упростить задачи использую масштаб 1 к 100.

3. Проект для клуба

Я участвую в качестве геймдизайнера по игровому контенту (модели, музыка), но так же предлагаю идеи. Я продвигаю идею использования генератора событий.

Генерация событий и сценариев

Особое внимание уделяю разработке системы автоматической генерации событий в игре для клуба. Для этого использую три ключевых метода:

  • Списки (Random Selection):Простейшая процедура — случайный выбор элемента из заранее подготовленного списка, например, цвета, текста или действия.
  • Мэд-листы (Шаблоны с метками):Это текстовые шаблоны с вставками-метками (placeholders), которые позже заменяются конкретным контентом — например, именами персонажей или предметов. Такой подход позволяет легко создавать вариативные сценарии и события.
  • Рандомизация и шаблоны:Комбинация случайных выборов и шаблонов позволяет сформировать уникальные игровые ситуации, что улучшает интерактивность и реиграбельность.
Алгоритм взаимодействия игрока с игрой
Алгоритм взаимодействия игрока с игрой

4. Планируемый проект

Планируется запуск четвёртого проекта — это кооперативная игра, где будет использоваться генерация карты, имеет активные-динамичные элементы. Там будет защитник и атакующие. Команда атакующих из 5 игроков, а защитник один, плюс возможно ИИ-помощник.

Референц команды атакующих
Референц команды атакующих

Планы на будущее и новые идеи

Мои планы по развитию проектов включают:

  • Продолжение активного использования процедурной генерации для расширения возможностей уже существующих проектов.
  • Проектирование генератора событий в текущие и будущие игры для более динамичного и непредсказуемого игрового процесса.
  • Создание системы ИИ и независимых ИИ-ассистентов, которые смогут взаимодействовать с игроками или помогать мне в разработке, создавая уникальные системы и сценарии.
  • Исследование методов машинного обучения и автоматического поведения для дальнейшего усложнения и обогащения проектов.

Итог и что дальше

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

С нетерпением жду показать проекты — и буду рад делиться результатами с заинтересованными сообществами. Следите за обновлениями, скоро будут новые статьи!

2
8 комментариев