netlib.narod.ru< Назад | Оглавление | Далее >

Проектирование многопользовательской игры

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

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

При переходе от однопользовательских к многопользовательским играм происходит смена цели. Рассмотрим, например, игры подобные Ultima Online от Origin. Если вы играли в такую игру, то понимаете, что у нее нет никакой реальной цели. Здесь нет ни главного злодея, над которым нужно одержать победу, ни ведущего вас за руку сценария, ни ощущения, что единственный человек может изменить мир.

Так почему же кто-то играет в Ultima Online? По одной причине — это доставляет удовольствие. Вы больше не будете самым сильным во вселенной, поскольку к вам присоединяются тысячи других игроков с теми же самыми мыслями о славе. Ultima Online дает людям возможность объединять силы для сражения с бесконечными ордами зла, выполнения небольших заданий или даже сражений друг с другом.

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

С другой стороны, можно взглянуть на такую игру, как Phantasy Star Online от Sega, которая вынуждает игроков объединять силы в борьбе с превосходящими ордами зла. В Phantasy Star Online есть и сюжет (хотя он не слишком конкретен и кажется лишь добавлением). И самое замечательное, что в Phantasy Star Online вы можете выиграть. Верно, в каждой новом сеансе игры история начинается заново, ожидая ваших персонажей, готовых прорубиться сквозь тысячи монстров, чтобы убить их главного предводителя.

Отличия между Ultima Online и Phantasy Star Online существенны, и все же обе объединяют тысячи игроков. Что же доставляет наибольшее удовольствие игрокам, и какие возможности они ожидают от сетевых игр? Это трудные вопросы, но давайте взглянем, что предлагает каждая из игр, и отметим те возможности, которые хочется включить в собственный игровой проект.

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

Чтобы помочь вам создать многопользовательскую игру, я написал демонстрационную программу, названную Network Game. В следующем разделе вы узнаете, как я проектировал игру, а оставшаяся часть главы будет посвящена особенностям программирования игры.

Демонстрационная программа Network Game

Демонстрационная программа Network Game находится на прилагаемом к книге CD-ROM (загляните в каталог \BookCode\Chap15) и является основой проекта. В игре есть единственный большой уровень, игроки могут присоединяться к игре и начать перемещаться и атаковать друг друга (хотя никаких повреждений нет и никто не умирает).

Игровой уровень — это большая сетка (как показано на рис. 15.1), использующая для визуализации объект класса NodeTree (об использовании класса NodeTree подробно рассказывалось в главе 8, «Создание трехмерного графического движка»).


Рис. 15.1. Уровень программы Network Game

Рис. 15.1. Уровень программы Network Game. Несколько препятствий позволяют игрокам скрываться друг от друга


Игрок представлен единственной сеткой (еще одна сетка представляет его оружие). Взгляните на рис. 15.2, показывающий использование сеток игрока и его оружия.


Рис. 15.2. Полностью анимированая трехмерная модель (слева), несущая оружие (справа) представляет игровой персонаж

Рис. 15.2. Полностью анимированая трехмерная модель (слева), несущая оружие (справа) представляет игровой персонаж


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


Рис. 15.3. Демонстрационная игра показывает привлекательный трехмерный ландшафт и анимированных виртуальных игроков

Рис. 15.3. Демонстрационная игра показывает привлекательный трехмерный ландшафт и анимированных виртуальных игроков


Для перемещения персонажа игрок использует клавиши управления курсором; нажатие клавиши перемещает игрока в соответствующем направлении относительно камеры. Перемещение мыши вправо и влево меняет направление камеры, давая игроку 360-градусный обзор. Игроки могут атаковать друг друга нажимая пробел, в результате их персонаж взмахивает своим мечом, надеясь поразить другого персонажа.

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


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz