СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Разработка игрового приложения.

Категория: Прочее

Нажмите, чтобы узнать подробности

25.03.2020

гр.851

Составить конспект и предоставить фотоотчёт по эл.почте или в л/с ВК до 17:00

Просмотр содержимого документа
«Разработка игрового приложения.»

Тема: Разработка игрового приложения.

Цель лекции: Ознакомиться с особенностями использования игровых ресурсов и составления игровой документации.

3.1. Из чего состоит игра: игровые ресурсы

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

Игровые ресурсы – это графические, музыкальные и иные ресурсы, которые используются для оформления игры. Рассмотрим различные форматы, в которых хранятся игровые ресурсы.

Графические файлы

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

JPEG

JPEG – это стандарт хранения файлов изображений, разработанный специально для хранения цифровых фотографий. JPEG расшифровывается как Joint Photographic Experts Group – именно так называлась рабочая группа, которая разработала этот стандарт. Особенностью JPEG является возможность сжатия изображения с потерями качества. Как правило, в JPEG выделяют 10 уровней сжатия (от 1 до 10), однако эти изображения можно сжимать и с более точным указанием уровня сжатия. Чем сильнее сжатие – тем сильнее потери качества. На невысоких уровнях сжатия JPEG-файлы практически не содержат так называемых артефактов сжатия. В случае с JPEG это проявляется в заметном искажении изображения, особенно – содержащего четкие границы между цветами, четкие линии. Дело в том, что при сжатии по алгоритму JPEG изображение разбивается на фрагменты 8х8 пикселей. После этого цветовая информация о пикселях одного квадрата сжимается, яркостная же информация остаётся в более сохранном виде.

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

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

JPEG-файлы имеют расширение JPG или JPEG.

Для создания JPEG-файлов с успехом можно использовать популярные графические редакторы – такие, как Adobe Photoshop различных версий.

PNG

Формат PNG (Portable Network Graphics) отличается от формата JPG тем, что использует алгоритмы сжатия, сжимающие изображение без потери качества. В результате оказывается, что изображения, имеющие четкие цветовые переходы (такие, как схемы, графики, изображения для простых элементов управления) могут быть довольно сильно сжаты в PNG-файлах. Если изображение имеет плавные цветовые переходы – лучшим выбором для его сжатия будет JPG, хотя и PNG вполне можно использовать. Как и JPG, данный формат поддерживает полноцветные изображения, однако изображение можно создать с использованием нескольких фиксированных цветов, что идет на пользу размеру графического файла, и, естественно, при правильном подборе цветов, не сказывается на его качестве.

Формат PNG был разработан для замены устаревшего, но все еще популярного формата GIF. Основное назначение GIF-файлов – простая интернет-графика.

PNG-файлы имеют расширение .PNG. Для их создания можно использовать растровые графические редакторы, такие, как Adobe Photoshop.

Еще одна важная особенность формата PNG – поддержка прозрачности. То есть при создании файла можно указать, какие из пикселей изображения считать прозрачными. В результате PNG идеально подходит для хранения графического представления двумерных игровых объектов сложной формы.

TGA

TGA (Truevision Graphic Adapter), TARGA - Truevision Advanced Raster Graphics Adapter – это графический формат, который используется преимущественно для хранения игровых текстур. Этот формат был специально создан для хранения текстур, он используется во многих существущих играх именно для этих целей. Он поддерживает полноцветные изображения (8, 16, 24, 32-битные), поддерживают 8-ми битный альфа-канал для указания прозрачных участков изображения.

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

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

TGA-файлы имеют расширение .TGA

Для создания TGA-файлов можно применять всё тот же Adobe Photoshop и другие редакторы. Например, бесплатный редактор Paint.NET (http://www.getpaint.net/)

DDS

DDS (Direct Draw Surface) – это графический формат, разработанный специально для использования в DirectX SDK (http://msdn.microsoft.com/en-us/library/bb943990(VS.85).aspx). Он предназначен преимущественно для хранения текстур. Благодаря особенностям формата – поддержке хранения сжатых и несжатых текстур, аппаратной поддержке, этот формат идеален для хранения игровых текстур.

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

BMP

BMP (Bitmap) – это графический формат, который хранит изображение в несжатом виде. Он поддерживает алгоритм сжатия, который, однако, используется достаточно редко. Создавать BMP-файлы можно практически во всех растровых редакторах. Особенность BMP – широкое распространение при создании графических интерфейсов пользователя в различных Windows-программах. BMP-файлы обычно имеют сравнительно большой объём.

Файлы трехмерных моделей

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

FBX, X

FBX (Autodesk FBX), – это универсальный формат для хранения трехмерных моделей и сопутствующей информации. Он используется во множестве трехмерных приложений, в частности, весьма популярен в компьютерных играх.

Существуют плагины для популярных программ создания трехмерной графики, позволяющие конвертировать созданные в них модели в этот формат. Найти ПО для работы с FBX-файлами можно на http://www.autodesk.ru/.

Формат X – это формат трехмерных файлов, который используется DirectX.

Файлы описания шрифтов, SPRITEFONT

SPRITEFONT-файл - это xml-файл с настройками шрифта. Он содержит инструкции, касающиеся визуализации шрифта в игровом окне XNA-проекта. Файлы этого типа имеют расширение .SPRITEFONT.

Звуковые файлы

MP3 – сжатый звуковой файл. Этот формат имеет огромную популярность за счёт возможности сильного сжатия звука с приемлемым качеством. WAV – обычно представляет собой несжатый звуковой файл, как правило, может использоваться для воспроизведения коротких звуковых фрагментов (звуковых эффектов) высокого качества.

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

3.2. Игровая терминология

Игровая терминология складывается под сильным влиянием англоязычных названий. Часто в русском языке довольно сложно найти хорошую аналогию принятым английским терминам, поэтому в сфере игровой терминологии существует двойственность – довольно часто создатели игр пользуются англоязычными терминами в то время, как и русскоязычные названия так же находят применение. Рассмотрим некоторые термины, которые используются в игровой индустрии.

Sprite – этот термин часто заменяют русскоязычным неологизмом спрайт – словарь Lingvo 12 определяет понятие "спрайт" как "элемент динамического графического отображения". В игровой индустрии синонимами слова спрайт являются такие слова, как "изображение", "картинка", иногда пользуются словом "текстура", однако обычно это понятие несет несколько иную смысловую нагрузку. Как правило спрайт – это двумерное изображение, причем, в узком смысле слова это – лишь изображение, а в широком – это игровой объект, который обладает гораздо более широким набором возможностей, нежели обычное изображение. Спрайты имеют прямоугольную форму, однако в компьютерных играх часто встречаются непрямоугольные объекты. Это достигается за счет задавания прозрачных областей при рисовании спрайта. Термин "анимированный спрайт" относится к спрайту, который выводится с использованием анимации, создающей иллюзию движения, перемещения каких-либо частей изображения – движение рук и ног персонажа при перемещении, движение колёс автомобиля, лопастей пропеллеров самолёта и т.д. Анимация обычно реализуется поочередной сменой нескольких статичных изображений, специально подготовленных для того, чтобы создать иллюзию движения.

Texture – текстура. Обычно текстурами называют двумерные изображения, которые "накладывают" на трехмерные модели. В терминологии XNA понятие текстуры и спрайта при разговоре о двумерных игровых объектах совпадает.

Background – фон. Так называется изображение, обычно – соответствующее размерами размерам игрового поля, которое является фоном для других изображений. Фон может быть неподвижным и подвижным. Подвижный фон (scrolling background) используется в играх, называемых скроллерами (scrollers). Скроллинг – это один из принятых игровых терминов. Он означает прокрутку, перемещение содержимого окна. Скроллинговые игры чрезвычайно распространены среди двумерных игр. Например, использование скроллингового фона позволяет создать иллюзию движения в двумерном гоночном симуляторе. Фон в двумерной игре может состоять из нескольких частей, движущихся с различной скоростью – это позволяет создать эффект трехмерности игрового мира.

2D-game – двумерная игра – игра, в которой использованы двумерные изображения.

3D-game – трёхмерная игра – использующая трехмерные модели и трехмерный игровой мир.

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

Polygone (полигон, многоугольник) – пространственный многоугольник, который используется для создания трехмерных объектов. Как правило, в компьютерной графике используются треугольники.

Pixel (пиксель) – наименьший элемент растрового изображения, точка, отображаемая на экране. Обычно в пикселях измеряют разрешение текстур (например – 1024х768), экранное разрешение монитора, размеры игровых окон. Слово Pixel – это аббревитура от Picture's ELement.

Texel (тексель) – точка текстуры в трехмерном пространстве.Слово Texel – это сокращение от Texture Element.

Voxel (воксель) – точка трехмерного изображения. Это слово – аббревиатура от Volumetric Pixel – объемный пиксель.

Texture Filtering (фильтрация текстур) – уменьшение искажений при наложении текстур на трехмерный объект.

Camera (камера) – так называют точку в игровом пространстве, с которой игрок видит игровой мир. С точки зрения положения камеры игры можно подразделить на игры от первого лица (камера расположена так, что реализует вид как бы "из глаз" персонажа), игры с видом слева-сверху (стратегии), игры с видом сзади – камера располагается обычно позади игрока и немного выше его. Существуют и игры, где камера может принимать различные позиции, например, реализующие вид из глаз персонажа и вид сзади

Transparency (прозрачность) – прозрачными могут быть части двумерных изображений – это позволяет создавать изображения сложной формы, которые, фактически, ограничены прямоугольником. Прозрачными бывают и объекты в трехмерном игровом мире – например – это может быть прозрачная вода или стекло, определенным образом преломляющие свет.

Light Model (модель освещения) – способы моделирования освещения объектов.

3.3. О применяемых технологиях и средствах разработки

Мы будем заниматься разработкой игр для Windows Phone 7, в частности – для Windows Phone 7.5. Разработку приложений под эту платформу можно вести с использованием либо фреймворка XNA, либо – Silverlight.

В качестве среды разработки используется IDE Visual Studio 2010, в нашем случае – интегрированная среда Visual Studio 2010 Express for Windows Phone. Разработку можно вести либо на языке Visual C# - он традиционно является основным в подобных проектах, либо – с применением Visual Basic – его поддержка добавлена сравнительно недавно. Мы будем пользоваться C#.

Для разработки интерфейсов, основанных на XAML, то есть, для Silverlight-разработки, можно пользоваться продуктом Expression Blend.

Для отладки приложений под Windows Phone 7 мы будем пользоваться, во-первых, эмулятором Windows Phone – он интегрирован в среду разработки и позволяет быстро и удобно проверять приложения в условиях, максимально приближенных к реальным. Во-вторых, для отладочных целей мы будем использовать смартфон Nokia Lumia 710.

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

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

3.4. Игровая документация

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

В работе над этим материалом использованы образцы документов, рекомендованных компанией 1С для заполнения желающим сотрудничать с ней разработчикам. Актуальные версии образцов документов можно найти на (http://games.1c.ru/4_files/desdocpack.zip). Автор курса выражает признательность Сергею Герасеву – Менеджеру внешней разработки игровых программ 1С ([email protected]) за содействие.

Концепт-документ

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

Концепт-документ может строиться по следующей схеме:

  1. Введение

  2. Жанр и аудитория

  3. Основные особенности игры

  4. Описание игры

  5. Сравнение и предпосылки создания игры

  6. Платформа

  7. Контакты

Документ concepttemplate.doc содержит шаблон концепт-документа от 1С, документ conceptexample.doc – пример концепт-документа.

Введение

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

Жанр и аудитория

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

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

  1. Возраст

  2. Пол

  3. Род занятий

  4. Как вы относитесь к играм жанра Х?

  5. Сколько времени вы обычно проводите, играя в компьютерные игры?

  6. Как вы думаете, чего не хватает играм жанра Х, которые вы знаете?

  7. Отметьте ваше отношение к следующим нововведениям, которые можно сделать в игре жанра Х

    • Нововведение 1

    • Нововведение 2

    • Нововведение n

Это – лишь шаблон для опроса потенциальных игроков, для практического применения он должен быть доработан.

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

Основные особенности игры

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

Описание игры

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

Сравнение и предпосылки создания

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

Платформа

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

Контакты

В этом разделе указывают контактные сведения разработчиков игры.

Дизайн-документ

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

Дизайн-документ может иметь следующую структуру:

1. Введение

2. Концепция

2.1. Введение

2.2. Жанр и аудитория

2.3. Основные особенности игры

2.4. Описание игры

2.5. Предпосылки создания

2.6. Платформа

3. Функциональная спецификация

3.1. Принципы игры

3.1.1. Суть игрового процесса

3.1.2. Ход игры и сюжет

3.2. Физическая модель

3.3. Персонаж игрока

3.4. Элементы игры

3.5. "Искусственный интеллект"

3.6. Многопользовательский режим

3.7. Интерфейс пользователя

3.7.1. Блок-схема

3.7.2. Функциональное описание и управление

3.7.3. Объекты интерфейса пользователя

3.8. Графика и видео

3.8.1. Общее описание

3.8.2. Двумерная графика и анимация

3.8.3. Трехмерная графика и анимация

3.8.4. Анимационные вставки

3.9. Звуки и музыка

3.9.1. Общее описание

3.9.2. Звук и звуковые эффекты

3.9.3. Музыка

3.10. Описание уровней

3.10.1. Общее описание дизайна уровней

3.10.2. Диаграмма взаимного расположения уровней

3.10.3. График введения новых объектов

Контакты

Документ desdoctemplate.doc содержит шаблон дизайн-документа от 1С, документ desdocexample.doc – пример дизайн-документа.

План разработки игры

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

1. Анализ рынка

1.1. Целевая аудитория

1.2. Хиты и сравнение

2. Технический анализ

3. Ресурсы проекта

3.1. Персонал

3.2. Оборудование

3.3. Программное обеспечение

3.4. Финансовые ресурсы

Риски проекта

Календарный план

Документ gameproposaltemplate.doc содержит шаблон плана разработки от 1С, документ gameproposal.doc– пример плана разработки.

3.5. Выводы

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

3.6. Задание

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