Найти тему

Делаем игру про поезда. Часть 2. Генерация карты

Оглавление

Всем привет! В прошлой статье мы определились с сеттингом и общей идеей для игры. Сегодня же мы попробуем сгенерировать карту и положим начало работе с кодом и графикой.

<Двигатель>

Выбор игрового движка для меня вовсе не был каким-то сложным. Я уже много лет работаю на Unreal Engine 4 и в целом доволен этим инструментом. Хочу отметить что это очень хороший выбор для не программиста, коим я и являюсь. На UE4 код можно делать с помощью инструмента визуального программирования, который здесь называется blueprint. Текущий проект не станет исключением в плане выбора движка, поэтому в дальнейшем я буду описывать работу с точки зрения данного софта.

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

Итак, открываем новый проект и сразу создаём новую карту. Пока оставим все стандартные объекты на сцене (освещение, атмосфера, задник и т.д), потом конечно же будет их менять и заменять на то что понадобится нам для нашей картинки. Создаем главный объект генерации карты и объект камеры. Настраиваю чтобы камера смотрела под стандартным для стратегий углом, но пока фиксирую её. Возможно, потом добавлю ей управление, но пока оставлю так.

Самый стандартный мир Unreal Engine 4. Позже будем настраивать его, но для начала создадим ландшафт
Самый стандартный мир Unreal Engine 4. Позже будем настраивать его, но для начала создадим ландшафт

<Первые генерации>

Карта будет состоять из сетки заранее заготовленных объектов, представляющих собой квадратные области ландшафта - леса, поля, озера, горы и т.д. Для начала просто настроим создание такой сетки. В объекте генерации карты создаю два параметра - ширину (w) и длину (l) карты, измеряемую в количестве клеток. Теперь в блюпринте создаю цикл с генерацией рядов этих самых клеток в виде простых плоскостей на определенном расстоянии друг от друга. Запускаем... и вуаля! Работает :)

Дааа, пока это трудно назвать чем-то интересным и симпатичным, но чтобы это уже смотрелось на порядок лучше нам всего-то нужно добавить немного вариативности и цвета. Открываем 3D Max (если нужна трехмерная графика мои руки в первую очередь тянутся именно к нему) и накидаем несколько видов ландшафта.

Равнина, равнина с пятнами, озеро... Для начала пойдет)
Равнина, равнина с пятнами, озеро... Для начала пойдет)

А теперь немного добавляем к коду еще несколько блоков и массив, хранящий в текстовом виде информацию о каждой клетке каждого уровня и вот у нас уже что-то более-менее похожее на какую-то карту)

На сегодня пока всё, спасибо что дочитали до этого места) В дальнейшем будем вместе работать над графикой и кодом проекта, не пропустите новые статьи!

Ссылка на прошлую статью:

Часть 1. Идея игры пришла в плацкарте