Приветствую на нашем канале!
Сегодня в рубрике посвященной разработке компьютерных игр расскажу историю создания игры Волшебный мир, английское название The Magic World 2022 года.
Игра доступна в Steam, Keyga.me.
Подробнее о самой игре можно почитать на нашем сайте.
Все началось с покупки коллекционного издания игры Might And Magic 4 Clouds of Xeen на ebay.
Красочная коробка радовала глаз сказочной атмосферой, красивой картой мира и необычным геймплеем игры.
И тогда стало интересно попробовать создать нечто аналогичное, удивительно, но в РФ ничего подобного никто никогда не создавал, хотя сам жанр партийной РПГ бродящей по жутким подземельям тогда был очень популярен.
Я начал изучать вопрос и понял, что сам по себе геймплей таких игр очень сложный.
Разработка началась с создания темы на форуме геймдева.
https://gamedev.ru/code/forum/?id=266181
По ходу дела выясняется, что в таких играх используется симметричная перспектива, особая техника отрисовки изображений.
Сам игровой мир как бы разбивается на клетки и впереди перед партией отображаются клетки находящиеся впереди.
Соответственно, разбиваем игровое поле на клетки, состоящие из тайлов.
Тайл соответственно имеет код ячейки например 0-0, 0-1, 1-4 и состоит из поверхности (пола), объекта (например дерево, дом, стена), потолка.
Каждый элемент тайла должен быть отрисован в каждом встречающемся ракурсе.
И чем дальше мы видим, тем больше элементов нужно отрисовать.
Например в представленном примере, дальность видимости составляет всего 3 клетки вперед. Соответственно тот же сундук нужно отрисовать в 13 ракурсах.
Если дальность увеличивается до 4 клеток, то нужно отрисовать уже 21 картинку.
Я попробовал и создал тайловый конструктор V4 в фотошопе чтобы подставлять в каждое место свой тайл.
Однако этого все равно мало.
Первоначальный вариант игры в 2D проекции с заменой тайолов. Дистанция видимости очень маленькая.
Добавляем еще 2 клетки видимости и получается уже V6
То есть под каждый угол обзора требуется отрисовать уже 34 варианта вида. На художника ложиться огромная работа. Примерно такой вариант был реализован в игре MM4. Не представляю сколько тайлов пришлось отрисовать их арт-отделу.
Такой вариант точно не подходил, так как в таком случаи стоимость арта составит уже космическую сумму. Каждую стену, каждый факел, дверь, сундук, трещину в стене нужно будет отрисовать по 34 раза. А дистанция перспективы все равно будет не очень.
Ее придется скрывать за туманом или делать сильное искажение чтобы смыкался горизонт.
Красная стрелка показывает как приходится искажать-наклонять тайл, чтобы уложиться в 6 клеток видимости и сомкнуть горизонт.
Какие есть варианты еще?
Второй вариант использовать какие либо 3D инструменты. Я изучил опыт американского художника, Клинта Беллингера, автора ассет пака First Person Dungeon Crawl Art Pack. Он к работе приложил объекты в blender, которые видимо выстраивал в сетку и уже рисовал поверх них.
Соответственно, как вариант можно выстроить сетку, нагенерировать множество картинок, а уже художник сможет их просто обвести.
Попробовал это реализовать.
Расставил базовые элементы по клеткам и поместил камеру с видом от первого лица.
Этот вариант выглядит неплохо, элементы располагаются точно там где и должны быть. После генерации получается PSD файл со слоями для каждого тайла. Например тайл арки с проходом выглядит так:
Принцип работы художника выглядит так:
Отображаем конкретный слой в фотошопе например номер 21, смотрим на схеме где он отображается и рисуем поверх него текстуру.
Далее движок загружает все вариации тайла "Арка-с-проходом" (камень, дерево, железо) то есть 35 картинок и упаковывает это в текстурный атлас. А уже по ходу игры мы подставляем в ячейку 21 арку с проходом каменную как готовую картинку.
Ну допустим такой вариант тоже подойдет, правда на художника ляжет огромная работа.
Но как быть с интерактивными элементами? Сундуки, рычаги, факелы?
Вот тут огромная проблема.
Первое - нужно рисовать объекты в разных состояниях. Сундук открытый, сундук закрытый, сундук открывающийся. Чем плавней анимация, тем больше состояний.
Второе - нужно рисовать в двух вариантах с поворотом. То есть вид спереди и вид сбоку. Иначе откуда мы ни посмотрим, сундук всегда будет повернут к нам лицом.
Вот например пример рычаги с видом сбоку.
Эти проблемы умножают работу художника и программиста.
В итоге после анализа трудоемкости всей работы, от варианта 2D и псевдо 2D (через реальный 3D) пришлось отказаться.
Уж слишком сложной и тяжелой станет подобная разработка.
А какие варианты остаются?
Об этом читайте в части 2.
Подробнее об игре вы можете прочитать на нашем официальном сайте: