04 июля 2006
Обновлено 17.05.2023

Аналитика: Как создаются MMOG

Аналитика: Как создаются MMOG - изображение обложка

В рубрике «Игрострой» мы часто рассказываем вам, как создаются игры того или иного жанра: Action, RTS, RPG, квесты… Но в последнее время нам все чаще приходят письма с вопросом: а как создаются тайтлы онлайновые? Поскольку вопрос этот нетривиальный (качественных онлайновых игр, созданных в России, не так много), мы решили обратиться с ним к специалистам. Сегодня мы поговорим с одним из авторов игры AWplanetДенисом Поповцевым.

Очередной игровой день в одной из крупнейших онлайновых игр начался неспокойно. Сотни игроков, выйдя на площади и улицы многих планет, выражали свой протест и недовольство. Их было так много, что сервера просто не выдерживали нагрузки и зависали. Недовольство игроков было вызвано недавним обновлением ролевой системы и изменениями в балансе. Усилия многих геймеров пропали зря. После нескольких неудачных попыток успокоить толпу и падения ряда серверов администрация перешла к более решительным действиям. На площадях и улицах затрещали выстрелы — против возмущенных игроков были выставлены боевые роботы, быстро и эффективно подавившие восстание…

Индустрия компьютерных игр была создана талантливыми энтузиастами. Такие игры, как SimCity , DOOM , Civilization , Command & Conquer, стали хитами благодаря оригинальным идеям, положенным в их основу. У многих легендарных игр не было ни большой команды разработчиков, ни значительного бюджета. Большинство современных проектов с большими бюджетами так или иначе развивают идеи классических хитов. Не стали исключением и онлайновые ролевые игры (MMORPG).

Принципы построения

Даже сейчас, спустя 27 лет после создания первого MUD’а (текстовой многопользовательской игры, которая была написана в 1978 году студентом Эссекского университета), монстры игровой индустрии используют старые наработки. Принципы построения миров практически не изменились со времен культовых текстовых MUD’ов и этапных игр вроде Ultima Online , Lineage и Meridian 59. К сожалению, крупные бюджеты и перебор с маркетингом приводят к боязни использовать по-настоящему оригинальные идеи, излишней коммерциализированности и стремлению угодить вкусам самой широкой, чаще всего невзыскательной аудитории. Такие геймеры не являются поклонниками ролевых игр или любителями отыгрыша, привлечь их в MMORPG можно скорее ураганными боями, чем продуманным и глубоким миром.

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

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

Кончилось ли время революций в MMORPG-играх? Обязателен ли многомиллионный бюджет для разработки хита? Имеют ли право на жизнь проекты с по-настоящему оригинальными идеями? Как создать онлайн-игру, не имея ничего, кроме идеи, свободного времени и нескольких хороших знакомых? У меня перед глазами живой пример, потому что я чуть меньше года участвую в подобном независимом проекте. Но о нем я расскажу в конце статьи, а пока коснемся того, на что следует обратить внимание, если вы вдруг решили начать разработку MMORPG.

Лучший движок — воображение

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

Совсем не обязательно разрабатывать графический движок уровня EverQuestII. Во многих случаях достаточно сделать простой веб-интерфейс или использовать текстовую MUD-систему. Ведь прелесть RPG не в красивой графике, а в том, что она позволяет примерить на себя другую социальную роль или погрузиться на время в таинственный и чудесный мир сказки. А теперь я расскажу подробнее, какими способами можно создать MMORPG.

Быстрорастворимая игра

Текстовые MUD’ы были первой попыткой переноса ролевых игр на компьютерную платформу. Несмотря на то, что интерфейс MUD’ов крайне прост (текстовые описания происходящих событий и командная строка для ввода словесных команд — «пойти направо», «вытащить меч из камня»), с их помощью вы сможете реализовать даже самый оригинальный замысел, воплотить в жизнь самый необычный мир.

Я бы назвал MUD-игры слоновьей породой жанра MMORPG. Лучшие образчики этого жанра столь же монументальны, сколь неповоротливы и консервативны. Создание MUD’а — лучший способ собрать вместе группу ярых поклонников ролевых игр, но вряд ли стоит рассчитывать, что такой проект получит широкую популярность.

До тех пор пока Тим Бернерс-Ли в 1989 году не придумал гипертекстную систему World Wide Web , MUD-игры генерировали около 10% общего интернет-трафика. Веб произвел революцию и в способах человеческого общения, и в онлайн-играх — было гораздо интереснее бродить по гипертексту, общаться на форумах, любоваться графикой новых игр, чем погружаться в аскетичные миры MUD’ов. Сейчас, когда к интернету подключены уже сотни миллионов человек, существуют следующие разновидности онлайн-игр:

Браузерные HTML-игры. Общение между пользователями в них очень похоже на MUD, но веб-интерфейс предоставляет невероятные возможности и для создания онлайн-сообщества. Ярким примером такого проекта является « Бойцовский клуб », получивший в рунете бешеную популярность.

Браузерные Flash-игры ( TimeZero и Destiny Sphere ). Технология интерактивной графики Macromedia Flash очень эффективна при создании простых проектов (хотя что-то более-менее сложное с ее помощью вряд ли создашь). Легкость разработки привела к появлению множества многопользовательских флэш-игр. Обычно их авторы делают один-два фрагмента, присущих «взрослым» проектам, — например, тактические бои или стратегический менеджмент ресурсов.

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

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

Ролевая система

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

— система параметров, позволяющая досконально описать характеристики любого объекта;

— система профессиональных навыков, задающая правила, по которым игроки могут учиться различным умениям, создавать новые предметы, строить здания и т.п.;

— боевая система, определяющая правила сражений для игроков и монстров;

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

— экономическая модель;

— социальная структура игрового сообщества.

Если у вас мало опыта в этой области, обратите внимание на уже существующие ролевые системы — так поступили и разработчики AWplanet. К сожалению, многие популярные системы (такие как GURPS или AD &D) можно использовать в разработке только при наличии лицензии. Впрочем, сейчас существует множество открытых ролевых систем, распространяемых бесплатно. К ним относятся такие проекты, как d20 , Fuzion , Fudge и многие другие.

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

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

Настоящие MMORPG

Такие игры, как Anarchy Online , Lineage и World of Warcraft , забирают игрока без остатка. Невероятно сложный мир, живущий по своим законам, тысячи пользователей, впечатляющая графика — все это заставляет нас забыть о любых других развлечениях. Увы, но в разработке они очень сложны: вам потребуются весь ваш опыт, помощь ваших друзей и большие временные затраты — и после всего этого будьте готовы к тому, что результат будет далеко не сразу. Если вообще будет.

Именно поэтому так мало независимых MMORPG-проектов. Риск высок, но и ставка на кону очень большая — подобные игры обеспечивают самую высокую степень погружения человека и привлекают самую широкую аудиторию геймеров. Если вас прельщают лавры Ultima Online , привлекшей 50 000 игроков за три первых месяца, то придется избрать именно эту тернистую дорожку.

Мой проект (онлайн-игра AWplanet ) — это как раз такой «динозавр», со всеми типичными подводными камнями, сильными и слабыми сторонами. Ниже я расскажу вам о том опыте, который мы получили за три года работы.

Начало разработки

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

— программисты (написание клиентского и серверного ПО, редакторов и утилит, разработка веб-сайта);

— 2D и 3D-художники (создание текстур, 3D-моделей);

— дизайнеры игрового мира;

— дизайнер ролевой системы;

— веб-мастер (для поддержки веб-сайта игры и форума).

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

Сколько времени может понадобиться на создание игры? Раду Приванту , разработчик независимой онлайн-игры Eternal Lands , приводит следующую оценку: « Вам потребуется, по меньшей мере, 1000 человеко-часов программирования, чтобы получить простую демонстрационную версию, и до 10 000 — 15 000 часов, чтобы получить практически готовые клиент и сервер». Разработка первой версии нашей игры AWplanet силами двух человек заняла полтора года.

Прежде чем приступать к работе, постарайтесь составить как можно более подробную спецификацию проекта. От этого во многом зависит скоординированность усилий команды и качество работы. Впрочем, создать правильную спецификацию при отсутствии опыта вряд ли получится. В этом случае будьте готовы через полтора-два года начать все заново. Так поступил Раду Приванту, оставив свой первый проект, так поступили и мы, начав серьезную переработку базовых технологий. А еще так поступили разработчики игры Ireon.org. Они потратили на создание спецификаций около полутора лет и только недавно приступили к программированию. Любопытно, что у них выйдет.

Сообщество игроков

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

Главный аспект MMORPG — это свободное социальное взаимодействие между игроками. Поэтому вы должны дать им основные возможности для взаимодействия:

— общение — как коллективное, так и личное;

— самовыражение — изменение внешнего вида персонажа, портреты-юзерпики, иконки-эмотиконы для выражения эмоций;

— созидательная активность — изготовление предметов, строительство зданий;

— формирование круга друзей (например, у вас есть свой список друзей или френдов, у каждого из них — свой список друзей; по-научному это называется социальной сетью);

— объединение в группы. Необходимо задать условия, при которых игрокам будет легче выполнять задания коллективно, а не в одиночку. Часто пользователи могут объединяться в группы или партии. В этом случае очки опыта делятся поровну между товарищами;

— торговля. Как минимум должна быть реализована система меновой торговли, а для большего удобства можно предусмотреть механизмы аукционов и «вендоров» — NPC-продавцов, торгующих товарами даже в отсутствие игрока.

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

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

История игры AWplanet

В доказательство того, что сделать MMORPG силами энтузиастов вполне реально, приведу пример, с которым я знаком не понаслышке. Да, я снова говорю об AWplanet. В ее разработке я участвую чуть меньше года, вообще же ее работы ведутся уже больше трех лет. Уточню, что термин «разработка» в области MMORPG-игр обозначает процесс постоянный и непрекращающийся — это не только создание игры, но и последующее наращивание функциональности, расширение карты, добавление новых квестов, монстров и предметов, совершенствование ролевой системы…

Летом 2001 года Сергею Доценко , основателю и идейному вдохновителю игры, пришла в голову мысль создать свою MMORPG. Подсказана она была успехом другой онлайновой игры — Runescape. Несмотря на откровенно слабую графику, Runescape привлекала проработанным миром и богатыми возможностями самовыражения. Сергей сказал: « Мне очень понравилась идея игры и механизм взаимодействия между игроками. Необычно выглядел мир, населенный живыми людьми. Я был одним из его обитателей, и мне, как и всем, хотелось большего, чем давала сама игра ».

Но путь к созданию своего мира оказался непрост — первая версия, разработанная силами двух человек, была готова лишь через полтора года. Реализовать эффективную, устойчивую и нетребовательную к ресурсам серверную платформу Сергею помог опыт работы в телекоммуникационной отрасли: « Я почти пять лет проектировал коммутационный модуль цифровой АТС, который выполнял 1800 параллельных процессов со строгим разделением времени. Его архитектуру я и применил в сервере игры».

С самого начала разработчики хотели создать тайтл, в который мог бы играть каждый. И эта цель была достигнута — размер клиента был около одного мегабайта, что не помешало вместить в него 70 текстур, 200 трехмерных моделей, 600 игровых объектов и большую карту. И все это в полноценном 3D.

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

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

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

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

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

Программирование MMOG

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

Не буду сейчас касаться всех тонкостей программирования, но об одной важной вещи я все же расскажу. Громадное значение в разработке ПО имеет защита. Допущенные в начале разработки мелкие ошибки могут аукнуться через полгода, когда обнаруженная игроками лазейка обрушит игровую экономику (например), как это произошло вскоре после запуска с Ultima Online или Eternal Lands. Вот каких дыр следует опасаться:

Взлом сетевого протокола и подделка данных, приходящих на сервер с игрового клиента;

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

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

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

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

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

Литература

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

Designing Virtual Worlds, Richard A. Bartle. Эта книга одного из основателей отрасли MMORPG наверняка даст вам много информации;

Eternal Lands’ MMORPG Postmortem: Mistakes and Lessons (www.devmaster.net/articles/mmorpg-postmortem/part1.php);

The In-game Economics of Ultima Online. Замечательная статья, суммирующая опыт создания экономической системы игры Ultima Online (www.mine-control.com/zack/uoecon/uoecon.html);

Scratchware Manifesto. Манифест разработчиков независимых игр (www.the-underdogs.org/scratch.php);

— Статья про открытые ролевые системы из «Википедии» (http://en.wikipedia.org/wiki/Open_Gaming_Foundation);

DIY Games. Информационный проект о независимых играх (www.diygames.com).

Комментарии
Чтобы оставить комментарий, Войдите или Зарегистрируйтесь