Найти в Дзене

Как создавался Волшебный мир! часть 1.

Приветствую на нашем канале!
Сегодня в рубрике посвященной разработке компьютерных игр расскажу историю создания игры
Волшебный мир, английское название The Magic World 2022 года.

Каменный замок - место действие в первой части игры Волшебный мир
Каменный замок - место действие в первой части игры Волшебный мир

Игра доступна в Steam, Keyga.me.
Подробнее о самой игре можно почитать на нашем сайте.

Волшебный мир - Flame-dragons

Все началось с покупки коллекционного издания игры Might And Magic 4 Clouds of Xeen на ebay.

-2

Красочная коробка радовала глаз сказочной атмосферой, красивой картой мира и необычным геймплеем игры.

-3
-4
-5
-6

И тогда стало интересно попробовать создать нечто аналогичное, удивительно, но в РФ ничего подобного никто никогда не создавал, хотя сам жанр партийной РПГ бродящей по жутким подземельям тогда был очень популярен.

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

https://gamedev.ru/code/forum/?id=266181

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

-7


Сам игровой мир как бы разбивается на клетки и впереди перед партией отображаются клетки находящиеся впереди.

-8

Соответственно, разбиваем игровое поле на клетки, состоящие из тайлов.
Тайл соответственно имеет код ячейки например 0-0, 0-1, 1-4 и состоит из поверхности (пола), объекта (например дерево, дом, стена), потолка.

Каждый элемент тайла должен быть отрисован в каждом встречающемся ракурсе.

-9

И чем дальше мы видим, тем больше элементов нужно отрисовать.

Например в представленном примере, дальность видимости составляет всего 3 клетки вперед. Соответственно тот же сундук нужно отрисовать в 13 ракурсах.

-10

Если дальность увеличивается до 4 клеток, то нужно отрисовать уже 21 картинку.

Проработка варианта Тайл 4.
Проработка варианта Тайл 4.

-12

Я попробовал и создал тайловый конструктор V4 в фотошопе чтобы подставлять в каждое место свой тайл.

Однако этого все равно мало.

-13
Тайловый конструктор V4
Тайловый конструктор V4

Первоначальный вариант игры в 2D проекции с заменой тайолов. Дистанция видимости очень маленькая.

Первоначальный вариант игры Волшебный мир
Первоначальный вариант игры Волшебный мир

Добавляем еще 2 клетки видимости и получается уже V6

-16
-17

То есть под каждый угол обзора требуется отрисовать уже 34 варианта вида. На художника ложиться огромная работа. Примерно такой вариант был реализован в игре MM4. Не представляю сколько тайлов пришлось отрисовать их арт-отделу.

Такой вариант точно не подходил, так как в таком случаи стоимость арта составит уже космическую сумму. Каждую стену, каждый факел, дверь, сундук, трещину в стене нужно будет отрисовать по 34 раза. А дистанция перспективы все равно будет не очень.
Ее придется скрывать за туманом или делать сильное искажение чтобы смыкался горизонт.
Красная стрелка показывает как приходится искажать-наклонять тайл, чтобы уложиться в 6 клеток видимости и сомкнуть горизонт.

-18

Какие есть варианты еще?


Второй вариант использовать какие либо 3D инструменты. Я изучил опыт американского художника, Клинта Беллингера, автора ассет пака
First Person Dungeon Crawl Art Pack. Он к работе приложил объекты в blender, которые видимо выстраивал в сетку и уже рисовал поверх них.

-19
-20

Соответственно, как вариант можно выстроить сетку, нагенерировать множество картинок, а уже художник сможет их просто обвести.


Попробовал это реализовать.

-21

Расставил базовые элементы по клеткам и поместил камеру с видом от первого лица.

-22
-23

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


Отключаем слои
Отключаем слои
-25

Принцип работы художника выглядит так:
Отображаем конкретный слой в фотошопе например номер 21, смотрим на схеме где он отображается и рисуем поверх него текстуру.

-26

Далее движок загружает все вариации тайла "Арка-с-проходом" (камень, дерево, железо) то есть 35 картинок и упаковывает это в текстурный атлас. А уже по ходу игры мы подставляем в ячейку 21 арку с проходом каменную как готовую картинку.

Ну допустим такой вариант тоже подойдет, правда на художника ляжет огромная работа.
Но как быть с интерактивными элементами? Сундуки, рычаги, факелы?

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

-27


Второе - нужно рисовать в двух вариантах с поворотом. То есть вид спереди и вид сбоку. Иначе откуда мы ни посмотрим, сундук всегда будет повернут к нам лицом.
Вот например пример рычаги с видом сбоку.

-28

Эти проблемы умножают работу художника и программиста.

В итоге после анализа трудоемкости всей работы, от варианта 2D и псевдо 2D (через реальный 3D) пришлось отказаться.

Уж слишком сложной и тяжелой станет подобная разработка.
А какие варианты остаются?
Об этом читайте в части 2.


Подробнее об игре вы можете прочитать на нашем официальном сайте:

Главная - Flame-dragons