Войти
Заметки прогераСтатьи

ТЗ для программиста Unity3D

Автор:

Каким должно быть идеальное ТЗ для программиста Юнити? Достаточно ли одного общего ДизДока? Как помочь начинающим геймдизайнерам составить грамотно ДизДок и ТЗ для программиста? Вот на эти вопросы я и постараюсь ответить в этой статье.

пока в разработке... постепенно дополняется....

                                                                  Предисловие.

Каким должно быть идеальное ТЗ для программиста Юнити? Достаточно ли одного общего ДизДока? Как помочь начинающим геймдизайнерам составить грамотно ДизДок и ТЗ для программиста? Вот на эти вопросы я и постараюсь ответить в этой статье.

                                                                  1. Общие положения.

                                                          1.1. Жанр и целевые платформы.

    Здесь укажите:
        - жанр игры (арканоид, платформер, стратегия, РПГ, ФПС, и т.д. и т.п.) ,
        - вид игры 2D или 3D, изометрия, ромбическая, или гексо, вид сверху и т.п..
        - мультиплей, онлайн или сингл.
        - целевые платформы, например - Windows, Android, IOS и т.п.

                                                          1.2. Маркетинг, прототипы, особенности по новизне.

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

                                                          1.3. Формат экрана.

    Здесь нужно определиться с базовым соотношением сторон экрана (aspect ratio) и базовым разрешением экрана, под который будут рисоваться все текстуры, фоны, элементы GUI и т.п. Обычно базовый экран берется самый широкоформатный (16:9) и самый большой по разрешению (пикселям), например Full HD - 1920:1080.
    Далее надо описать как будет адаптироваться картинка с камеры для экранов с другим соотношением сторон. Обычно для более узких экранов, например 4:3, основная картинка (фон, объекты в игре) обрезаются по ширине, а элементы GUI пропорционально сужаются (масштабируются по ширине).


                                                                  2. Сцены (экраны) игры.

    Что такое сцены в играх - надо объяснять? Сцена - вкратце это совокупность фона и объектов на экране, которые практически полностью заменяются при переходе к новому виду экрана. Например, главное меню является самостоятельной сценой, или игровой уровень, который характеризуется своим фоном, ландшафтом тоже является самостоятельной сценой. В самом движке Unity3D вся игра по сути четко разделена на сцены. В этом разделе надо подробно описать все сцены, которые будут присутствовать в вашей игре и переходы между ними. Обычно делается большой рисунок с квадратиками обозначающими сцены и стрелочками переходов между ними - Граф переходов между сценами или по другому можно назвать Схема всей игры. Далее рассмотрим по какому принципу надо описывать сцены.

                                                          План описания сцены:

                                              2.1 Название сцены (Английское название).

                          2.1.1 Общий вид сцены (как бы скриншот в полное разрешение).
  Дать ссылку на файл этого вида.
Этот вид можно элементарно состряпать в фотошопе и он очень важен для программиста чтобы получить полное представление о сцене. Все существенные объекты на сцене помечаются цифрами в белых кружочках или квадратиках для контраста, для дальнейшего описания их.

                          2.1.2 Объекты на сцене
Здесь описываются все объекты на общем виде сцены, помеченные цифрами. Объекты описываются в следующем порядке:

                2.1.2.1 Название объекта (Английское название)
    - ссылка на папку, где лежит файл объекта (png или obj и т.п.);
    - ссылка на пункт 3 этого ТЗ, где этот объект описывается отдельно еще раз;
    - картинка, изображение этого объекта;
    - свойства объекта, т.е. его количественные (сила, здоровье, скорость, масса) и строковые (имя, название) характеристики;
    - вкратце описывается механика объекта, что он делает и как ведет себя на сцене.

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

      Следующий большой раздел, который необходим в ТЗ это Объекты игры:

                                                                3. Объекты
Фактически это копия описания объектов на сценах, только более систематизированная и полная. Справочник по объектам. Здесь можно подробно описать объекты по группам, описать их свойства и т.п. Привести полное описание ресурсов и файлов, которые относятся к объектам. Подробно описать их поведение и преобразование на сцене, их алгоритмику и механику. Можно дать точную классификацию объектов и сделать иерархическую нумерацию в соответствии с этой классификацией.

                                                                4. Дополнительные требования

                                                  4.1 Сторы, маркеты.
        Торговые площадки на которых планируется продавать и/или распространять игру. Это требует внедрение дополнительного кода, соответствующего требованиям этих маркетов по играм. Как правило тут используются дополнительные плагины для Юнити, которые могут быть платными.

                                                4.2 Монетизация.
        За счет чего ваша игра будет приносить вам доход. Либо она будет продаваться за деньги, либо будет бесплатна, но будет содержать в себе встроенную рекламу, которая будет давать отчисления. Как правило тут тоже используются дополнительные плагины для Юнити, которые обычно бесплатные. Но проггер должен и тут попотеть, чтобы разобраться и грамотно встроить код.

                                                4.3 Социалка.
      Как известно всем скучно играть в одиночку. Игра может иметь выход в социальные сети, пиарить игроков на стенках. Вести статистику достижений, лидерборды и т.п. Как правило тут тоже используются дополнительные плагины для Юнити, которые обычно бесплатные. Но проггер должен, черт возьми, и тут попотеть, чтобы разобраться и грамотно встроить и отладить код.

      Примечание. Все эти дополнительные требования часто по трудоемкости составляют 50% от всей игры.


                                                                5. Сетевое взаимодействие.
                                                                    (опционально для онлайн игр)

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

#программирование, #Unity3D, #дизайн документ, #диздок, #ТЗ

18 мая 2017 (Обновление: 10 ноя. 2017)