Невозможно пройти тесты, в окне с вопросами пусто |
Основы разработки компьютерных игр
1.2. Этапы разработки компьютерной игры
Разработка компьютерных игр – это достаточно четко отлаженный процесс, который имеет определенные этапы, так или иначе проходимые играми при их создании. Однако жизнь обычно вносит свои коррективы даже в самые четкие планы.
Очень часто разработчики игр не могут успеть доделать игру в сколько-нибудь приемлемые сроки – яркий пример – DukeNukem Forever, выпуска которого весь игровой ждал много лет. Практически всегда после выхода компьютерной игры за ней следуют исправления – все дело в том, что разработчики, опять же, не укладываются в отведенные им сроки.
Исходные коды игр нередко "уходят" в Интернет и все играют в новейшую игру задолго до ее официального релиза. Причем, здесь нельзя однозначно сказать, вредно ли это для игровых компаний. С одной стороны – вредно – ведь копии игры попадают к пользователям совершенно бесплатно (не считая затрат на трафик в Интернете). Однако, с другой – часто "ушедшие" коды далеки от совершенства и "утечка" лишь разогревает интерес к финальной версии игры.
Надо учесть, что в игровом бизнесе существует два типа компаний – разработчик (developer) и издатель (publisher). Если разработчик и издатель совпадают – процесс разработки игры лишь выигрывает – разработчику нет нужды убеждать стороннего издателя в целесообразности капиталовложений в разработку.
Рассмотрим этапы разработки типичной компьютерной игры.
Подготовка к производству
Подготовка к производству игры – это первый этап работы над игрой. Задача разработчиков на этом этапе – разработать концепцию игры, дизайн персонажей, выбрать средства для реализации проекта, создать прототип игры, подготовить план, по которому будет создаваться игра и согласовать этот план с начальством, либо – с компанией, которая планирует издавать игру. Как правило, все современные игры пишутся под конкретного издателя, который часто вкладывает в разработку немалые средства.
Когда все административные вопросы решены, игра вступает на этап производства.
Производство
Производство – это ключевой этап в создании игры. Разработчики занимаются реализацией ранее созданного плана. Однако первоначальный план игры подвергается изменениям – иногда эти изменения происходят очень часто – вплоть до ежедневных корректировок.
В ходе производства игры – особенно это касается коммерческих версий – периодически устраивается рассмотрение текущих результатов разработки, к которым команда должна представить проект, достигший определенного уровня развития. То есть, например, к одному из таких моментов должна быть готова работающая демо-версия игры, к другому – первый уровень и так далее. Как правило, эти промежуточные результаты служат отличной рекламой новых игровых проектов – демо-версии публикуют на игровых сайтах, геймеры "примеряют" к этим версиям возможности своего оборудования.
Выпуск
После того, как игра создана, протестирована и отлажена, наступает время ее выпуска. Как правило, интерес к этому событию усиленно подогревается издателем игры – ведь не стоит забывать, что главная цель издателя – прибыль. Как правило, наиболее успешные игры с лихвой оправдывают ожидания издателей.
Поддержка
Игры для ПК часто выходят с ошибками – все дело в том, что разработчикам вечно не хватает времени чтобы все как следует отладить. Благо, есть возможность исправлять ошибки на уже установленных играх, устанавливая патчи (от английского patch – заплатка). Этим пользуются разработчики, выпуская сыроватую игру и, после этого, целую вереницу заплаток для нее. Такая практика не распространена для консольных игр – тут разработчики вынуждены ответственнее подходить к своей работе и выпускать полностью рабочую игру, не требующую вмешательств.
Как видите, разработка игр – дело нелегкое. Конечно, выше приведена лишь примерная схема работы над игрой, однако практически все игры проходят через одинаковые этапы.
1.3. Игровые профессии
В процессе производства игры в дело вступают представители множества "игровых" профессий – поговорим об основных из них. Кстати, при разработке небольшого проекта в рамках ограниченного бюджета один человек может совмещать в себе обязанности целой команды разработчиков.
Программисты
Программисты заняты работой по написанию программного кода игры. Их усилиями реализуется игровая физика, искусственный интеллект, с которым предстоит сражаться игроку при игре "против компьютера" и многое другое. Что интересно, многие игровые программисты стали таковыми после того, как начали программировать самостоятельно, в виде хобби.
Если говорить об инструментах программиста – то практически все коммерческие игры написаны на языке C++ или С, некоторые, особенно ответственные части игры, пишут на языке Assembler. В последнее время набирает популярность язык программирования C#. Строго говоря, игру реально написать на практически любом языке программирования – например, простые игры можно создавать в Microsoft Word или Microsoft Excel, используя встроенный в эти продукты Visual Basic For Applications.
Художники
Роль художников и вообще всех, кто работает с графикой, в современном игростроении трудно переоценить. Во все времена одним из критериев оценки игры была ее графическая составляющая – а современные средства работы с графикой позволяют создавать красивейшие игровые миры, в основе которых лежит кропотливая работа художников во все ее проявлениях.
К тому же, аниматоры оснащены сегодня передовым аппаратным и программным обеспечением (в частности – технологией Motion Capture) которое, например, позволяет записывать реальные движения человека и переносить их потом на игровых персонажей.
Музыканты
Композиторы, музыканты, актеры, звукорежиссеры работают над звуковым оформлением игры. Они пишут и исполняют музыку, читают тексты персонажей. Без достойной музыки и качественного озвучивания, как и без хорошей графики, современная игра вряд ли будет успешной. Хотя, звуки и музыка, конечно, не главное в большинстве игр, но, например, поиграйте в Need For Speed Undercover для Windows Phone 7 без звуков и музыки – немалая часть обаяния игры исчезнет без следа.
Писатели
Как правило, редкая современная игра не построена вокруг какого-то сценария. Особенно сильна роль сценариев в ролевых, приключенческих играх и в играх смешанных жанров, однако даже если работа ведется над очередной FPS-игрой – качественные тексты ей не помешают. Всем этим занимаются сценаристы, режиссеры, писатели.
Дизайнеры уровней
Когда программисты, художники, музыканты выполнят основную работу по созданию персонажей игры, игровых интерьеров, звуков, за дело берутся дизайнеры уровней. Если даже игра представляет собой один большой "уровень" без явного разбиения на части, дизайнерам приходится немало поработать над созданием игровой вселенной.
Тестеры
Игра – это огромная программа, которая перед выходом в свет должна быть протестирована. Тестирование занимает очень важную роль в процессе создания игр – иногда тестеров набирают из числа добровольцев. Желающих поучаствовать в предварительном тестировании игры, как правило, больше, чем нужно – многие хотят попробовать новинку первыми. Если в ходе тестирования возникают ошибки, тестер сообщает о них разработчикам.
1.4. Перспективы программиста-разработчика компьютерных игр
Теперь, когда мы познакомились с этапами разработки игр и игровыми профессиями, подумаем о возможностях начинающих разработчиков.
Многие начинающие разработчики, которые хотят сами разрабатывать игры, задаются вопросом: "Может ли один человек, или, в крайнем случае, команда из нескольких энтузиастов, создать сегодня игру, которая принесет разработчикам славу и богатство и станет желанным гостем на игровых устройствах игроков всего мира"? Это сложный вопрос.
История знает множество примеров, когда у истоков какой-либо игры, ставшей безумно популярной во всем мире, стояла небольшая группа энтузиастов. Например – это всем известный Tetris, который в практически неизменном виде существует уже не одно десятилетие. Или игровая серия Final Fantasy – первая версия этой игры появилась в конце 1980-х годов, а теперь – это целая игровая вселенная, над новыми версиями которой работает огромное количество людей.
Если говорить о мобильных играх, то они, с одной стороны, отличаются всеми признаками современных игр. Серьезный мобильный проект требует не меньше усилий, чем игры для других платформ. Однако, особенности мобильных игр, в частности, высокая популярность достаточно простых по своему устройству игр, в которые играют, чтобы скоротать время (так называемых казуальных игр), открывает дорогу в мир мобильной разработки небольшим командам разработчиков. Такие игры сравнительно просты в разработке. Возьмем, например, популярнейшую игру Tetris, с разработкой собственной реализации которой справится и начинающий программист, различные варианты игры Lines, пасьянсы, бесчисленные реализации игр Snake, Pacman, Breakout. Эти игровые идеи живут уже многие годы (а то и десятилетия), и не теряют актуальности, постоянно перевоплощаясь, но сохраняя сущность исходных идей. И если разработчику удастся воплотить в жизнь интересную игровую идею, привлекающую пользователей, успех ему обеспечен.
Нужно признать, что одиночке сейчас гораздо сложнее, чем, скажем, 20 лет назад, создать значительную игру. Но игровой бизнес как никакой другой основан на интуиции и фантазии отдельных людей – и если в вашей голове родится гениальная игровая идея и вы сможете донести ее до других людей – вполне возможно, что мир станет свидетелем рождения очередной великой игры.
1.5. Выводы
В этой лекции мы рассмотрели историю развития компьютерных игр, особенности мобильных игр, этапы разработки игры и игровые профессии. Если говорить об игровых профессиях, то мы будем заниматься здесь тем, что входит в компетенцию программиста.
1.6. Задание
Если у вас есть доступ к смартфону на базе Windows Phone 7, изучите набор игр, предлагаемых к загрузке через Marketplace, поиграйте в игры, обратив внимание на организацию игр, на способы управления ими, на оформление. Знания, полученные при исследовании существующих игр под Windows Phone, будут полезны при освоении работы с игровыми механизмами.
Подумайте, какая игровая профессия вам больше всего подходит. Изложите письменно ваши мысли по этому поводу по такому плану:
- Ваши любимые игры (перечень любимых игр, почему именно эти игры вам нравятся)
- Ваши навыки (умеете рисовать, любите программировать, умеете сочинять истории, умеете организовывать командную работу, заниматься рекламой)
- Игровая профессия, которая вам нравится больше других
- В создании какой игры вам хотелось бы поучаствовать?