Как я начинал делать 3д рпг игру

Привет! С весны 2022 года я разрабатываю 3д рпг игру на юнити и хотел бы поведать, что было сделано, с какими трудностями я столкнулся, а так же, что будет в дальнейшем!

Скучная тягомотина

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

На момент написания статьи мне 19 лет. Интересоваться разработкой игр я начал еще в далеком 2012 году, когда мне было 10-11 лет.

На тот момент, кроме как посидеть пол дня и попытаться написать простенькую программу аля "Hello World!" - терпения не хватило, однако с течением времени идея создать собственную игру меня не покидала.

В году 2015 я заинтересовался рисованием, а позже и анимацией, постепенно развивая эти навыки. Так же у меня была какая-то база в 3д моделировании и скульптинге в Zbrush.

Что ж, перейдем наверное к самому главному в разработке почти любой игры — программирование! Долгое время я никак не мог подступится к этому страшному зверю, но в конце 2019, начале 2020 я сделал свою первую игру!

Как я начинал делать 3д рпг игру
Как я начинал делать 3д рпг игру

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

Должен признать, понимания программирования на тот момент у меня не было, весь код я переписывал с туториалов, не особо задумываясь, как он устроен, зато, это дало мне первый толчок, после которого я постепенно углублялся в изучение C#!

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

Я делал много разных прототипов, но все они были либо в пиксель арт,

Анимация торговца для сюжетной игры про загробную жизнь

либо в рисованной от руки стилистике.

Спрайты окружения и главного героя для метройдвании, которая не была закончена
Спрайты окружения и главного героя для метройдвании, которая не была закончена

Одним словом, создавать игру в 3д было глупо! Но я начал.

Скучная тягомотина закончена! Да здравствует скучная тягомотина!

Фух! С прочей информацией разобрались, давайте наконец приступим к главной теме этой статьи!

Создав проект в юнити и назвав его "My Game" В первую очередь я создал небольшой уровень, с помощью ProBuilder.

После этого я добавил "игрока" и сделал управление от 3-его лица с использованием Cinemachine

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

Как я начинал делать 3д рпг игру

Попытавшись сделать что-то адекватное в Zbrush у меня получилась такая модель(Которую позже я заменю)

Как я начинал делать 3д рпг игру

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

Сначала я пытался адоптировать эту систему под работу с геймпадом,

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

По мимо инвентаря была сделана система боя, которую я так же в последствие переделал.

Когда с инвентарем было покончено(Это лишь его тестовый вид) я приступил к созданию диалоговой/квестовой системы.

Не сумев найти ни в ютубе, ни на форумах того, что бы подошло мне, я принял решение реализовывать эту систему самостоятельно. Перепробовав много способов и потратив 2-3 недели сидения на стуле по 12 часов в день и не понимания, почему ничего не работает, я таки сумел добиться более-менее сносного результата.

Основана система на Scriptableobject, в которой можно как добавлять простые диалоги, так и квесты с несколькими стадиями выполнения!

Квесты имеются и даже награды за их выполнение есть, но вот убивать простых балванчиков не очень-то и интересно, самое время позаботится и о врагах!

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

Решение пришло случайно, на просторах ютуба был найден туториал по созданию "Древа поведений".

Благодаря чему, реализация, собственно, поведения для врагов начала выглядеть как набор логических операций, представленных "Нодами", что упрощает создание новых типов врагов и НПС.

Основные механики готовы, но вот графика оставляет вопрос, надо бы это исправить.

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

Я нарисовал такой концепт, отталкивался я от стиля "The legend of Zelda: BOTW" и "Genshin Impact"

Как я начинал делать 3д рпг игру

Модель я на этот раз решил не скульптить, а сделать ее в Blender, так я не буду делать в 2 раза больше работы(сначала скульптинг, после ретопология) и лучше оптимизирую сетку полигонов

Как я начинал делать 3д рпг игру
Как я начинал делать 3д рпг игру

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

Персонаж готов, но вот у врагов до сих пор нет никаких моделей.

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

Как я начинал делать 3д рпг игру

Модель для врага я так же делал в блендере, но из-за двух пар рук, заанимировать ее в михамо проблематично, по этому я собрал всю волю в кулак и сделал анимации самостоятельно.

Idle анимация 

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

Вся растительность в игре красного цвета
Вся растительность в игре красного цвета

После камней я приступил к созданию деревьев, сначала я думал сделать их в "Хенд пейнтед" стиле,

Как я начинал делать 3д рпг игру

но позже переделал их.

Как я начинал делать 3д рпг игру
Как я начинал делать 3д рпг игру

Камни есть, деревья тоже, нужна остальная растительность,

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

Вот почти и все, но...

Это почти все, что я сделал на данный момент.

Сейчас я прототипирую уровень для Демо версии игры, которую в последствии выложу на Itch.io и других инди площадках, а вот буду ли я продолжать работать над этой игрой зависит от того, как ее примут игроки.

Как я начинал делать 3д рпг игру

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

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

Надеюсь еще увидимся!

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

Комментарий недоступен

1
Ответить

Запостил бы в Инди
https://dtf.ru/indie

Ответить

Да, стоило бы, я до этой статью практически не заходил на дтф

Ответить

а про РПГ систему-то ничего и не рассказал. Она уже есть или еще нет?

Ответить

Хорош

Ответить

Комментарий недоступен

Ответить

Не знаю о каком бункере идет речь хехе, но да, сейчас оружие разделяется на легкое(одноручное) и тяжелое, система брони так же есть, а вот над луками и прочим стоит подумать, думаю добавлю дальнее оружие, система прокачки возможно будет, но как специальные атаки в определенном режиме "берсерка", или что-то в этом роде(режим должен быть чем-то похож на срыв из "Моб психо 100")

Ответить