Страницы

четверг, 13 января 2011 г.

Игра = График + Звук + …

Сегодня хочется рассказать вам о том чем занимаемся, что такое компоненты, как с ними работать и т.д. Приступим к разбору «Что же такое игра». Можете для примера взять любую игру и попробовать разобрать её вместе со мной. Только берите более ли менее стандартный вариант, не надо жаловаться типа: «А вот в моей игре такого нет!», «А вот здесь не так»  и т.д. Мы рассматриваем большинство, а не исключения.


 Игра есть некоторый чёрный ящик (типа телевизора), который что-то делает, но что и как не показывает. Мы видим только результат этой работы. Обозначим игру как нулевой уровень:


 Это что-то такое красивенькое, имеющее какую-то форму. Очевидно что любая игра состоит из визуальной составляющей, звукового сопровождения и правил по которому это всё работает. Смотрим:


 Эти элементы отображают готовые элементы, т.е. графика - это полностью все спрайты, эффекты, все функций отвечающие за отрисовку (графический движок); Звук - все звуковые эффекты, музыка, все функций отвечающие за вывод звука (звуковой движок); Правила - всё что относится к тому как надо играть.
 А где «Уровень 1»? Мы пропустили очень важный шаг, ведь эти элементы не могут быть сами по себе, верно? Значит их надо объединить по каким-то правилам. Добавим «промежуточный» уровень который всё это объединяет в игру:


 Теперь у нас есть основа. То что нужно понимать вам как разработчику игры, т.к. эти слои скрыты от игрока. Как всё это работает? Когда мы запускаем исполняемый файл загружается игровой движок (т.е. основа). Движок смотрит на правила, ага, только загружаемся? Значит игроку нужно показать заставку. Загружаем нужную графику и звуки и показываем их. Что дальше? По правилам, меню. Загружаем графику и звуки для меню, т.к. по правилам в меню должно быть взаимодействие игрока с игрой, то вводим обработку мыши/клавиатуры. Нажимаем на область изображения «Новая игра», по правилам начинается сама игра. Загружаются нужные файлы, создаются новые объекты и начинаем само действо. Как это создать и с чего начать конкретно расскажу и покажу в следующей теме, а пока просто представьте себе что и как устроено.

Если глянуть глубже, то графику строит специальная библиотека - графический движок. Это готовый набор функций, который позволяет вам построить графику сразу (допустим OGRE, Unreal Engine и т.д.). Движок - это станок - состоит из деталей связанного набора функций API, например, DirectX, интерфейс вывода трёхмерных примитивов. Сам DirectX состоит из чего ещё, но это последний «рубеж» который необходимо вам знать и понимать, хотя бы поверхностно (чтобы понимать как строится изображение на экране). Со звуками, как и с другими частями игры, та же история, что и с графикой, кроме правил.

Правила игра (приложения) составляет сам человек. Соответственно и набор таких правил он выдумывает из мозга. Конечно, человек умеет обмениваться информацией, но пока эта часть описана разработчиками очень смутно, ввиде коротких разрозненных правил (например, создатель оригинальной Prince of Persia написал такие правила, по большей части очень полезные. Какие-то советы можно найти на gamedev.ru в разделе геймдизайн). Пока плотно никто этим не занимается, во всяком случае в открытом доступе я не видел, поэтому поле деятельности открыто и я этим занимаюсь. И постепенно знакомлю вас с ними (BETA версию этих правил уже выкладывал).

 Конечный вариант нашей структуры (кол-во уровней вложенности зависит от конкретной реализаций, здесь изображена примерная схема):

4 комментария:

  1. Я извиняюсь, но картинки не грузятся - так и задумано?

    ОтветитьУдалить
  2. Нет, было все нормально. Ничего, завтра-послезавтра поправлю.

    Ang3L

    ОтветитьУдалить
  3. Я тоже жду картинок. Они будут?

    ОтветитьУдалить
  4. Извините за долгую задержку, наконец-то обновил!

    ОтветитьУдалить