Особенности компьютерного проектирования при разработке игр

На сегодняшний день индустрия развлечений развивается ускорен­ными темпами, поэтому большинство ее ведущих брендов инвестируют огромные суммы в развитие новых технологий и направлений. С недав­них пор, активное место в жизни многих людей стали занимать социаль­ные сети, что породило волну игр, ориентированных на Facebook, ВКонтакте и т. п. Отличительной особенностью таких игр является ярко вы­раженная социальная сторона. Игрокам требуется общаться со своими друзьями или заводить новые знакомства, для наиболее рационального пути выполнения заданий в играх. Кроме расширения рынка социально направленных игр, большое развитие получили игры, предназначенные для мобильных платформ. Рост производительности устройств на таких платформах как Android и iOS позволил создавать достаточно яркие и полноценные трехмерные игры. Таким образом, пользователи получили возможность играть всегда и везде. Как следствие, ведущим направле­нием развития игровой индустрии являются проекты, использующие вышеуказанные платформы одновременно. Игрок может играть в кли­ентскую часть проекта, используя свой домашний ПК, Mac, либо игро­вые консоли. Кроме того, часть игры доступна пользователю посредст­вом социальных сетей и мобильных устройств. В данном случае, игрок получает возможность играть в одну и ту же игру все время, будь он до­ма или в дороге. Это позволяет разработчикам увеличить прибыль от иг­ры в несколько раз, а игрокам — дает желаемое.Для сохранения конку­рентоспособности разработчикам требуется обеспечить высокое качест­во производимого продукта и увеличить скорость разработки игры.

Разработкой компьютерных игр называют процесс производства про­граммного продукта, основная цель которого — развлечение. С развити­ем индустрии разработки игр указанный термин существенно расширил­ся. На сегодняшний день более корректной является формулировка сле­дующего вида: разработкой игр называют процесс производства про­граммного продукта для одной или более целевых платформ, которыми могут являться как персональные компьютеры, так и игровые консоли, мобильные телефоны, аудиоплееры, социальные сети, игровые автома­ты. Современных игры, как и прежде, носят развлекательный характер, но также они могут преследовать и дополнительные цели, такие как об­разование, обсуждение социальных и личностных проблем, попытки пе­реосмыслить исторические события, рассказать драматическую или ко­медийную историю. На сегодняшний день индустрию видеоигр можно сравнить с индустрией кино. Ключевым отличием является то, что игры обладают свойством интерактивности.

Для индустрии разработки игр пока не характерны принципы стан­дартизации, а также общепринятые практики. Обычно компании разра­ботчики используют внутренние разработки, специализированные под конкретные типы и жанры игр. Конечно, разработчики делятся своим опытом, однако каждая компания сама принимает решение об использо­вании сторонних практик. Разработка коммерческого проекта обычно включает следующие этапы:

  • предпроизводственный этап;
  • этап производства;
  • этап тестирования;
  • релиз;
  • поддержка готового продукта.

Фундамент будущего проекта закладывается на этапе проектирования продукта. Проектирование программного обеспечения подразумевает выработку свойств системы на основе анализа постановки задачи, а именно: моделей предметной области, требований к ПО, а также опыта проектировщика. Модель предметной области накладывает ограничения на бизнес-логику и структуры данных. Требования к ПО определяют внешние (видимые) свойства программы, рассматриваемой как «черный ящик». Определению внутренних и детализации внешних свойств сис­темы, собственно, и посвящено проектирование.

Проектированию обычно подлежат:

  • игровой дизайн и игровая механика;
  • архитектура программного обеспечения;
  • пользовательские интерфейсы.

Проектирование игрового дизайна или геймплея (игрового процесс с точки зрения игрока) включает в себя разные аспекты компьютерной иг­ры, в том числе технические (игровая механика, совокупность опреде­ленных методов взаимодействия игры с игроком и др). Само понятие геймплея крайне обобщено и обычно используется для выражения полу­ченных ощущений в ходе прохождения игры, под влиянием таких фак­торов, как графика, звук и сюжет. Как правило, в процессе проектирова­ния игрового дизайна создаются следующие документы:

Концепт-документ — служит для формирования прототипа будущего проекта, кратко описывает игровой процесс, способы взаимодействия игрока с игровым миром и т.д.

Дизайн документ — служит для подробного описания каждого эле­мента будущего проекта. Описываются все возможные объекты, пользо­вательский интерфейс, логику некоторых алгоритмов, применяемых в проекте. Применяется для формирования:

  • задач для отдела разработки;
  • задач для отдела арта;
  • задач для композиторов и музыкантов;
  • данных для отдела маркетинга;
  • критериев оценки завершенности и качества продукта.

На основании вышеуказанной документации формируются техниче­ские спецификации, определяющие:

  • выбор используемых технологий и обоснование выбора;
  • дробление на версии продукта;
  • список задач и план решения;
  • соглашение об использовании правил именования;
  • архитектуру проекта;
  • критерии оценки решения каждой задачи;

•      минимальные системные требования для функционирования проекта.

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

При проектировании архитектуры важно учитывать возможности ис­пользуемого языка программирования, парадигмы ООП (инкапсуляция, наследование, полиморфизм), а, как следствие, и паттерны проектирова­ния — повторяемые архитектурные конструкции, представляющие собой решение проблемы проектирования в рамках некоторого часто возни­кающего контекста. Наиболее часто, при разработке игр, применяются следующие паттерны проектирования: MVC, Object Factory, Singleton, Flyweight, Chain of Responsibility, Iterator, Observer, Command, Decorator, Facade, Mediator, State. Использование этих методик позволяет создавать гибкое архитектурное решение проекта, что в последствии упрощает до­полнения, модификации и сопровождение.

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

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.