Как я создавал игру. Часть 2. Проба пера.

Всем вновь большой привет! В этой статье я хочу рассказать о следующих этапах разработки моей игры "Dendrite" - создание прообраза своей игры и 3д моделей.

Начну по порядку:
1) Прототип. В предыдущей статье мне писали, что необходимо начинать именно с прототипа игры, а уже потом создавать концепт-арты. Не смею судить о рациональности данного шага, однако прообраз будущей игры я создавал после проработки идеи. Почему? Отвечаю: для грамотного прототипа нужно точно знать, что ты хочешь получить в итоге, ведь прототип ответит на главный вопрос - насколько реально создать задуманное. Тем более я уже имел хоть какой то базис при изучении уроков по Unity3d.
Первым делом необходимо было создать контроллер от 3-го лица. По сути взял базовый fps-контроллер, капсулу сделал невидимой, воткнул туда всем известного персонажа из демо "Angry bots" просто ради тестов. Также создал скрипт, проигрывающий анимацию бега при нажатии соответствующих клавиш:

Как я создавал игру. Часть 2. Проба пера. Unity3D, Игры, Разработка, Длиннопост

И тут я наткнулся на первую проблему: как заставить персонажа опускать и поднимать туловище с оружием при перемещении мыши? Ответ был прост - скрипт вешался на bone в районе поясницы, но с ограничениями по вращению. Получилось, конечно же, не сразу. Но получилось. Стрельба выполнялась аналогично тому, как это было показано в уроке FPS Tutorial, только с большими доработками, поскольку в уроке скрипт был довольно примитивным. Также в сцену я добавил примитивный ИИ в виде кубиков, бегающих за ГГ и пожирающих его.
Самое главное в этом этапе - я понял, что идею можно и нужно реализовывать в полноценный проект. Теперь можно переходить на моделирование.

2) Моделирование.
Как я уже писал в предыдущей статье, чтобы создать концепт-арты локаций и юнитов изначально я проработал на бумаге обобщенный сценарий, без детализации на каждый уровень. Также все локации были поделены на 4 группы, после чего рисовались образы мобов в зависимости от их принадлежности к группе локаций. По концепт-артам создавались сами модели с текстурами, а затем уже риггинг персонажей и анимация:

Как я создавал игру. Часть 2. Проба пера. Unity3D, Игры, Разработка, Длиннопост

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

Как я создавал игру. Часть 2. Проба пера. Unity3D, Игры, Разработка, Длиннопост

В целях экономии времени и сил, такие обыденные элементы экстерьера как бордюры, камни, деревья, асфальт и т.п. были использованы из бесплатных паков с Asset Store. Архитектура была полностью смоделирована с нуля:

Как я создавал игру. Часть 2. Проба пера. Unity3D, Игры, Разработка, Длиннопост

Для главного героя было создано 7 анимаций, из которых 4 впоследствии были дублированы и реверсированы. Для мобов, опять же в целях экономии сил и времени, было выполнено всего по 3 анимации (покой, перемещение, атака):

Как я создавал игру. Часть 2. Проба пера. Unity3D, Игры, Разработка, Длиннопост

Также был создан тестовый уровень, в котором настраивался баланс оружия и параметры ИИ для каждого моба:

Как я создавал игру. Часть 2. Проба пера. Unity3D, Игры, Разработка, Длиннопост

В предыдущей статье я писал о том, что некоторую технику пришлось видоизменить в виду того, что первоначальные варианты оказались несколько неудачными в плане UV-развертки

Как я создавал игру. Часть 2. Проба пера. Unity3D, Игры, Разработка, Длиннопост

А напоследок я скажу о тех мерах, которые помогли мне сильно сократить время моделирования объектов:

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


б) Меньшее количество lod-объектов. Вы наверняка возразите, ведь такая мера не способствует оптимизации игры, но при этом требуется меньше времени на моделирование одного объекта. Хочу сказать, что я держал 30 кадров в секунду на слабых пк за счет снижения дальности прорисовки объектов, травы, тени и т.п., а сами объекты имели относительно небольшое количество полигонов (такое допустимо, если объект практически никогда не находится на переднем плане). Задача создания игры с шикарной графикой не стояла.


в) Создание универсальных скриптов. Например, у меня почти везде один скрипт ИИ, просто меняются параметры и способы атаки.


г) Не усложняйте игру искусственно. В Dendrite катсцены выполнены слайдами. Такой подход избавил меня от дополнительной анимации и сэкономил кучу времени без вреда для основной функции катсцен - повествования сюжета. Дешево и сердито. Лучше сделать упор на геймплей.

д) Используйте свободные 3д-паки для неуникальных объектов (деревья, камни и т.д.).


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

Всем успехов!


Официальная группа по игре:

https://vk.com/dendrite_game


Официальный сайт игры:

http://dendrite-game.ru/

Лига Разработчиков Видеоигр

6.8K постов22.2K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

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

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий

О, парень, а ты молодец. Нет, ну серьезно. У всех есть кучу своих идей для игр, но у меньшенства есть силы себя заставить начать делать. Можешь хоть немного рассказать, как ты начал делать? Что-то аля из личного опыта, ощущений.

Я сейчас снова делаю свою новую игру, и чувствую снова брошу на процентах 30, как всегда. Много, имхо, гениальных идей и не очень, но сил продолжать после 1-2 недельного упорства нет.


P.S. Часто упираюсь в то, что могу рисовать лишь пиксельную графику на любителя и писать код, а хочется большего.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

Спасибо))) Вся фишка в мотивации и планировке. Мотивацию найти не сложно, можно сделать группу вк и загнать туда людей, где ты будешь отчитываться поэтапно по проделанной работе. Только комьюнити там не должны быть овощами, они также должны активно требовать от тебя отчетов. Бросить все уже просто так не получится, а когда пройдешь половину пути разработки то тебе просто станет жалко все бросать и ты допилишь.
Скажу еще что разработка еще не столь утомительна, как тестирование.
Например, почитав комментарии здесь я отдал игру новой фокус-группе, по отчетам которых я буду вносить небольшие коррективы в баланс даже после релиза. Выяснилось, что поскольку игра выполнена в классической механике а-ля HL, где есть сочетание мясного отстрела и непростых головоломок, где нужно бегать, искать решения и т.д., имеют место случаи когда современный игрок из-за своей лени теряется в этих головоломках, а хардкорные враги и вовсе отбивают желание играть (графодрочеров в счет не беру, игра изначально не претендует на ААА-класса). Буду упрощать, делать подсказки и т.д. поэтому в ближайшее время выйдет обновленная версия. Это не камень в огород, это отчет самих тестеров, им хочется больше аркады.

раскрыть ветку (3)
Автор поста оценил этот комментарий

Вот буквально вчера еще пообщался с некоторыми людьми на эту тему. У меня проблемы в основном заключается в выгорании. То есть я подхватываю какую-то идею, разрабатываю ее 20 часов в сутки неделю на пролет, горю этим, но под конец дико выдыхаюсь и сдаюсь. И потом абсолютно нет желания продолжать. И никакая планировка времени не спасает. И вот те люди заметили, что я с миром тем, что делаю в принципе не делюсь. До видео уроков на YouTube мне еще далеко, но вот писать что-то в свою группу или писать блог наверное будет очень даже хорошим решением. Особенно если будет аудитория, умеющая в критику и заинтересованная состоянием проектов.

Вот с тестированием я еще не сталкивался глобально.


В таком случае интересно, как ты набрал аудиторию для своей группы? Из знакомых и друзей?

И еще, если что, то так вот, просто на будущее, сможешь чем-то помочь в плане набора аудитории или как правильно писать? Я акцентирую внимание именно на твоей личный опыт, я понимаю, что подобное можно найти и в инете.

раскрыть ветку (2)
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

ага, понятно. Спасибо, за Краткий отвте

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку