Как я создавал игру. Часть 2. Проба пера.
Всем вновь большой привет! В этой статье я хочу рассказать о следующих этапах разработки моей игры "Dendrite" - создание прообраза своей игры и 3д моделей.
Начну по порядку:
1) Прототип. В предыдущей статье мне писали, что необходимо начинать именно с прототипа игры, а уже потом создавать концепт-арты. Не смею судить о рациональности данного шага, однако прообраз будущей игры я создавал после проработки идеи. Почему? Отвечаю: для грамотного прототипа нужно точно знать, что ты хочешь получить в итоге, ведь прототип ответит на главный вопрос - насколько реально создать задуманное. Тем более я уже имел хоть какой то базис при изучении уроков по Unity3d.
Первым делом необходимо было создать контроллер от 3-го лица. По сути взял базовый fps-контроллер, капсулу сделал невидимой, воткнул туда всем известного персонажа из демо "Angry bots" просто ради тестов. Также создал скрипт, проигрывающий анимацию бега при нажатии соответствующих клавиш:
И тут я наткнулся на первую проблему: как заставить персонажа опускать и поднимать туловище с оружием при перемещении мыши? Ответ был прост - скрипт вешался на bone в районе поясницы, но с ограничениями по вращению. Получилось, конечно же, не сразу. Но получилось. Стрельба выполнялась аналогично тому, как это было показано в уроке FPS Tutorial, только с большими доработками, поскольку в уроке скрипт был довольно примитивным. Также в сцену я добавил примитивный ИИ в виде кубиков, бегающих за ГГ и пожирающих его.
Самое главное в этом этапе - я понял, что идею можно и нужно реализовывать в полноценный проект. Теперь можно переходить на моделирование.
2) Моделирование.
Как я уже писал в предыдущей статье, чтобы создать концепт-арты локаций и юнитов изначально я проработал на бумаге обобщенный сценарий, без детализации на каждый уровень. Также все локации были поделены на 4 группы, после чего рисовались образы мобов в зависимости от их принадлежности к группе локаций. По концепт-артам создавались сами модели с текстурами, а затем уже риггинг персонажей и анимация:
Необходимо подчеркнуть, что при создании пробных локаций стало очевидно, что графика получается, мягко говоря, "фекально". Поэтому было принято решение полностью переработать элементы локаций с некоторым отклонением от первоначального дизайна:
В целях экономии времени и сил, такие обыденные элементы экстерьера как бордюры, камни, деревья, асфальт и т.п. были использованы из бесплатных паков с Asset Store. Архитектура была полностью смоделирована с нуля:
Для главного героя было создано 7 анимаций, из которых 4 впоследствии были дублированы и реверсированы. Для мобов, опять же в целях экономии сил и времени, было выполнено всего по 3 анимации (покой, перемещение, атака):
Также был создан тестовый уровень, в котором настраивался баланс оружия и параметры ИИ для каждого моба:
В предыдущей статье я писал о том, что некоторую технику пришлось видоизменить в виду того, что первоначальные варианты оказались несколько неудачными в плане UV-развертки
А напоследок я скажу о тех мерах, которые помогли мне сильно сократить время моделирования объектов:
а) Использование модульной конструкции. Например, в игре есть всего 8 лицевых частей зданий. Их размеры подобраны таким образом, чтобы можно было переставлять их между собой как угодно и добиваться некой рандомности при частом копипасте.
б) Меньшее количество lod-объектов. Вы наверняка возразите, ведь такая мера не способствует оптимизации игры, но при этом требуется меньше времени на моделирование одного объекта. Хочу сказать, что я держал 30 кадров в секунду на слабых пк за счет снижения дальности прорисовки объектов, травы, тени и т.п., а сами объекты имели относительно небольшое количество полигонов (такое допустимо, если объект практически никогда не находится на переднем плане). Задача создания игры с шикарной графикой не стояла.
в) Создание универсальных скриптов. Например, у меня почти везде один скрипт ИИ, просто меняются параметры и способы атаки.
г) Не усложняйте игру искусственно. В Dendrite катсцены выполнены слайдами. Такой подход избавил меня от дополнительной анимации и сэкономил кучу времени без вреда для основной функции катсцен - повествования сюжета. Дешево и сердито. Лучше сделать упор на геймплей.
д) Используйте свободные 3д-паки для неуникальных объектов (деревья, камни и т.д.).
В следущей статье речь пойдет о детализации сюжета, проработке геймплея и построении игровых уровней. Уверен, каждый найдет в данной статье что-то для себя.
Всем успехов!
Официальная группа по игре:
Официальный сайт игры:
Лига Разработчиков Видеоигр
6.8K постов22.2K подписчиков
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"