Создание онлайн-игр - Программинг - Программинг - Каталог статей - Развлекательный сайт для программистов-игроделов

Категории каталога

Программинг [38]
Программинг, уроки, формулы, туториалы
Dark Basic [31]
Помощь начинающим в Dark Basic (Статьи,учебники,книги)
Blitz 3d [7]
Статьи и уроки по Blitz 3d
C/C++ [8]
Статьи по C/C++
Delphi [12]
книги, уроки, статьи, программирование в Delphi
Game Maker [12]
Статьи, помощь для программистов игроделов на Game Maker
Ассемблер (Assembler) [5]
Стати по Ассемблеру для начинающих и продвинутых программистов
ВЕБ-ПРОГРАММИРОВАНИЕ [5]
Уроки и статьи по ВЕБ-программированию
Scirra Construct [0]

Форма входа

Приветствую Вас Гость!

Логин:
Пароль:

Поиск

Друзья сайта



    Случайное фото

    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

Поддержите наш проект

WebMoney:
R309699065243
U292079291240
Z373355457648

Счётчики


Rambler's Top100
Рейтинг@Mail.ru

Наш опрос

Зачем нужны парни?
Всего ответов: 44

Статистика

$COUNTERdiv>

Каталог статей

Главная » Статьи » Программинг » Программинг

Создание онлайн-игр
Тоталитаризм и коммерциализированность MMORPG – Почему не видно по-настоящему интересных идей? – Как создать независимую MMORPG – Доказано делом: история AWplanet

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

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

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

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

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




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

Лучший графический «движок» – человеческое воображение

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

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

Дрессировка слона

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

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

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

До тех пор пока Тим Бернерс-Ли в 1989 году не придумал гипертекстную систему www, MUD-игры генерировали около 10 процентов общего интернет-трафика. Веб произвел революцию и в способах человеческого общения, и в онлайн-играх – было гораздо интереснее бродить по гипертексту, общаться на форумах, любоваться графикой новых игр, чем погружаться в аскетичные миры MUD’ов. Сейчас, когда к интернету подключена массовая аудитория, появились следующие виды онлайн-игр:
• Браузерные HTML-игры. Общение между игроками в таких играх очень похоже на MUD, но веб-интерфейс предоставляет невероятные возможности самовыражения пользователей и построения онлайн-сообщества. Ярким примером такого проекта является «Бойцовский клуб», получивший в рунете бешеную популярность.
• Браузерные Flash-игры. Технология интерактивной графики Macromedia Flash очень эффективна для создания простых игр (хотя что-то более-менее сложное с ее помощью вряд ли создашь). Легкость разработки привела к появлению мириада многопользовательских Flash-игр. Обычно их разработчики реализовывают один-два фрагмента, присущих «взрослым играм» - например, тактические бои или стратегический менеджмент ресурсов. Примеры таких проектов – TimeZero и Destiny Sphere.

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

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

Настоящие MMORPG

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

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

Проект, в котором я участвую – онлайн-игра AWplanet - являет собой пример создания такого «динозавра», со всеми типичными подводными камнями, сильными и слабыми сторонами, допущенными ошибками.

Начало разработки – оцените свои силы

Итак, предположим, что вы решили начать разработку MMORPG. Прежде всего оцените силы своей команды. Для разработки игры необходимы следующие сотрудники:
• Программисты (написание клиентского и серверного ПО, редакторов и утилит, разработка веб-сайта)
2D- и 3D-художники (создание текстур, 3D-моделей)
• Дизайнеры игрового мира
• Дизайнер ролевой системы
• Веб-мастер (для поддержки веб-сайта игры, форума и т. п.)

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

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

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

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

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

Не буду сейчас касаться тонкостей программирования, но об одной важной вещи я все же расскажу. Громадное значение в разработке ПО имеет защита безопасности. Допущенные сейчас мелкие ошибки могут «аукнуться» через полгода, когда обнаруженная игроками лазейка, к примеру, «обрушит» игровую экономику, как это произошло вскоре после запуска с Ultima Online или Eternal Lands. Вот каких «дыр» следует опасаться:
• Взлом сетевого протокола и подделка данных, приходящих на сервер с игрового клиента
• Доступ в игру через прокси-сервер или с чужого IP-адреса. Зайдя под именем обычного игрока, злоумышленник таким образом сможет выполнять вредоносные действия даже после блокирования его учетной записи.
• Использование макросов. Игроки могут автоматизировать «прокачку» своих персонажей, запустив макросы, которые автоматически будут повторять определенные действия в игре.
• Кража паролей. От этого недуга сложнее всего уберечься, ведь пароли игроков часто хранятся на их компьютерах. Это значит, что безопасность учетных записей игроков зависит прежде всего от них самих.

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

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

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

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

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

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

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

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

Для того чтобы понять специфику сообщества MMORPG-игры, задайтесь вопросом – в каком случае люди выбирают обычные компьютерные RPG, и в каком – онлайновые? Ответ заключается в следующем – если обычные RPG дают игроку возможность погрузиться в фантастический мир и ощутить себя героем, вокруг которого крутится вселенная, то онлайновые игры дают ему нечто совершенно другое – возможность начать жизнь сначала в равных условиях с другими людьми.
Главный аспект MMORPG-игр – это свободное социальное взаимодействие между игроками. Поэтому вы должны дать им основные возможности для взаимодействия:
• Общение – как коллективное, так и личное
• Самовыражение – изменение внешнего вида персонажа, портреты-«юзерпики», иконки-«эмотиконы» для выражения эмоций
• Созидательная активность – изготовление предметов, строительство зданий и т. п.
• Формирование круга друзей (например, у вас есть свой список друзей, или «френдов», у каждого из них – свой и так далее; по-научному это называется «социальной сетью»)
• Объединение в группы. Необходимо задать условия, в которых игрокам будет легче выполнять задания коллективно, а не в одиночку. Часто игроки могут объединяться в группы, или партии. В этом случае получаемые ими очки опыта поровну разделяются между товарищами.
• Торговля. Как минимум должна быть реализована система меновой торговли, а для большего удобства можно предусмотреть механизмы аукционов и «вендоров» - NPC-продавцов, торгующих товарами даже в отсутствие игрока.

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

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

Доказано жизнью – история игры AWplanet

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

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

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

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

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

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

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

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

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

Источник: www.mirovaiaigra.ru
Категория: Программинг | Добавил: quadrathell (31.08.2010)
Просмотров: 10540 | Комментарии: 1 | Рейтинг: 2.6/11 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]