Как написать mmorpg игру

image
  • Вам интересно, сколько стоит разработка онлайн-игры?
  • Вы хотите узнать, как организовать разработку ММО от идеи до релиза?
  • Задумывались ли вы о технических трудностях создания онлайн-игр?

        В цикле статей «Разработка ММО РПГ – практическое руководство» вы получите ответы на эти и многие другие вопросы. Все цифры реальны. Все схемы, таблицы, исходный код, диаграммы БД и прочее взяты из реально существующего и успешно работающего проекта.
        В тексте будет много отсылок к геймплею и внешнему виду нашей игры «Звездные Призраки». Я постараюсь излагать материал так, чтобы вам не было нужды вникать (и играть) в наш продукт, но для лучшего понимания материала желательно потратить пару минут и посмотреть, как это все выглядит.
        Готовы? Тогда в путь!

        Трудозатраты

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

image

        Как видите, дороже всего обошлось создание клиента. И это не удивительно, учитывая, что игра — в реальном времени и с использованием 3D. На втором месте -сервер, и это тоже ожидаемо. Что неожиданно – это высокие затраты на управление и низкие – на 2D и 3D графику. «Может просто графика невзрачная?» – скажете вы. Как раз нет: графика игрокам нравиться. Секрет в активном использовании аутсорса для создания графики. Нам удалось существенно снизить стоимость производства графики, но при этом, естественно, возросли расходы на управление. Благодаря этому суммарный бюджет проект удалось уменьшить почти на 10%. А вот высокие расходы на геймдизайн – это наша ошибка. Изначально мы не верно оценили силы и стоимость разработки, поэтому мы замахнулись на то, что сделать были неспособны. В результате нам пришлось 3 раза переделывать сюжет, несколько раз менять боевую систему, перерабатывать схемы интерфейса и так далее. При более трезвой изначальной оценке, я думаю, удалось бы снизить затраты на геймдизайн раза в два (или 5% от общего бюджета проекта).

        На аутсорс мы отдавали концепт-арт и создание 3D-моделей, причем первые единицы техники в линейке (например, турель 1-го и 20-го уровня) обязательно создавались в офисе. А вот остальное (турели 40-го, 60-го и 80-го) – и концепты, и 3D-моделинг отдавали на аутсорс. Почему так? В офисе, прежде всего, происходит поиск концепта и его отображения в 3D. И, как любая исследовательская работа, она требовала высококвалифицированных (и, следовательно, дорогих) специалистов. А когда форма найдена производство можно смело отдавать на аутсорс.
        Так же на аутсорс были полностью отданы создание видеороликов, озвучка, музыкальное оформление, создание звуков и верстка сайта. Контента такого типа для нашей игры было нужно не так уж и много, поэтому не было ни какого смысла брать людей в штат. А наши попытки отдать на аутсорс часть программного кода (в виде конечных задач) успехом не увенчались, поэтому вся программная часть была полностью написана нашими силами.

        Еще одна величина в диаграмме может показаться странной – всего 1% расходов на тестирование. Основной вклад в тестирование сделали сами игроки на этапах от альфы до открытого бета теста, и платили мы им в апсидиуме (премиумная игровая валюта). Поэтому удалось существенно снизить затраты в реальных деньгах.

        Состав команды

        В офисе на постоянной основе над проектом работали пять человек. Примерно за 2 месяца до альфы мы взяли в офис на полставки еще двух тестеров, но проработали они у нас не долго – примерно по три месяца каждый (или 1.5 человеко-месяца каждый). Уже начиная с закрытой беты мы смогли полностью переложить тестирование на удаленных тестеров: часть – за реальные деньги, часть – за игровые.

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

Таблица 1.

Роль Затраты, человеко-месяцев
Директор, менеджер, архитектор, программист сервера, клиента и админки 26
Программист клиента 12
Арт-директор, концепт-художник, 2D художник 16
3Д-моделер, текстуровщик 16
Гейм-дизайнер 16
Тестер-1 (на полставки) 1,5
Тестер-2 (на полставки) 1,5

Выводы

  1. Максимально реалистично оценивайте ваши силы и бюджет проекта. В противном случае вы потратите лишние деньги и в итоге создадите менее удачный продукт, чем могли бы.
  2. Максимально используйте аутсорс для производства контента. Для работников в офисе оставляйте только интересную исследовательскую работу, а так же критичную по времени или качеству.
  3. Стремитесь минимизировать размер команды, но берите только талантливых и высококвалифицированных специалистов.

        Схема системы и план разработки

        Формально «Звездные Призраки» — браузерная игра. Но веб-часть работает под управлением Adobe Flash и использует сокетное соединение. Поэтому, фактически, это клиент-серверная игра, только загрузка клиента происходит прозрачно для пользователя. Из каких же компонентов состоит игра? Казалось бы, все должно быть просто – из клиента и сервера. Но на самом деле (см. рис. 2) все несколько сложнее.

image

    Мы придерживались следующего порядка разработки:

  1. Основной клиент
  2. «Пробирка» для 3Dшников.
  3. Основной сервер
  4. БД
  5. Админка (частично: создание предметов, локаций, ботов)
  6. Авто-скрипты
  7. Чат-сервер
  8. Админка (все остальное)
  9. Драйверы для платежной системы
  10. Драйверы для поставщиков трафика
  11. Веб-сайт
  12. Рег. сервер и рег. клиент
  13. Драйверы социальных сетей (авторизация).

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

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

        Этап 1. В первую очередь был разработан прототип игры без всякого сервера, но в который вошли практически все предполагаемые к использованию в клиенте технологии, а именно: Adobe Flash, Adobe Away3D, Adobe Starling. У нас был космос, в котором пользователь управлял одиноким кораблем. На этом прототипе мы обкатали базовую систему расчета кривой перемещения корабля, перемещение космоса (параллакс), проверили возможности отрисовки моделей на текстуру. В общем, мы протестировали все узкие места, которые видели в начале разработки и примерно поняли, как у нас все будет выглядеть. Это позволило сделать вывод о возможности технической реализации задуманного, а так же дало демо, с которым можно было идти к инвесторам.

        Этап 2. После утверждения тех.задания мы выработали тех.требования к 3D-моделям: на этом этапе у нас уже было представление о внешнем виде игры, платформе и движке. Кроме того, мы создали «пробирку» для 3Dшников – отдельный инструмент, в который можно было загрузить 3D-модель и посмотреть, как она будет выглядеть после рендера в Away3D. Дело в том, что после экспорта непосредственно в движок, модель выглядит немного не так, как в инструменте моделирования. Поэтому нашему артотделу, а особенно арт-директору, было крайне важно видеть, как все будет выглядеть на самом деле, чтобы «подтянуть текстуры», как он говорил. Тут сразу оговорюсь: в ходе работ мы перешли на новую версию Away3D, в которой шейдеры были другими, и это привело к изменению визуального отображения моделей. «Подтягивать текстуры» пришлось заново. Отсюда есть два очень важных вывода: во-первых, требуйте от текстурщиков порядка в файлах текстур, раскладки всего по слоям с человеческими названиями, чтобы через полгода другой человек мог открыть файл и найти нужный слой, а, во-вторых, все «подтягивания» графики делайте не сразу по ее готовности, а ближе к концу проекта.

        Этап 3. Затем мы приступили к созданию сервера и сетевой части в клиенте. В качестве языка программирования был выбран С++, т.к. у нас уже имелись наработки и свои библиотеки на этом языке. На данном этапе сервер работал без БД, данные он подгружал из XML-файла. Задача этого этапа – протестировать выбранные серверные технологии, а так же дать возможность гейм-дизайнеру и всей команде поиграться «онлайн». Самое главное, что здесь нужно тестировать – с каким максимальным пингом в игру еще можно играть. То есть нужно выяснить, можно ли вообще играть по сети, или все так дергается, что играть невозможно. У нас на этом этапе корабли даже стрелять не могли, мы просто летали друг за другом и тестировали разные алгоритмы синхронизации.

        Этап 4. Дальше некоторое время шла итеративная разработка клиента и сервера. Первое, что появилось – это XML конфиги оборудования, чтобы гейм-дизайнер мог тестировать параметры пушек и кораблей. Так же на этом этапе было много экспериментов, создания различных видов вооружений и поиск механизма боя.

        Этап 5. Когда механика игры более-менее устоялась, можно было подключать БД к серверу. В качестве СУБД был выбран MySQL. Подключение подразумевало, прежде всего, перенос загрузки данных оборудования из XML файлов в БД, а также загрузку и сохранение состояния пользователей. Естественно, необходимо было создать админку, которая позволила бы гейм-дизайнеру создавать/редактировать предметы и локации. Админка была написана на PHP. Когда отпала необходимость редактировать XML файлы, гейм-дизайнер был очень рад, и процесс наполнения игры предметами и локациями стал продвигаться существенно быстрее.

        Этап 6. По мере усложнения проекта мы столкнулись с тем, что создание руками каждого нового пакета отнимало много времени, и было сопряжено с ошибками. Поэтому, опять же, на РНР был написан скрипт, который принимает XML файл и по нему генерирует файлы исходного кода для клиента и сервера (и, в последствии, и для чат-сервера). Аналогичная проблема возникла и у гейм-дизайнера: по мере роста номенклатуры предметов управлять и модифицировать их стало крайне затруднительно. Поэтому и для него был написан ряд скриптов, которые облегчали генерацию сразу всей линейки предметов.

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

        Этап 8. Мы приближались к закрытому бета-тесту (ЗБТ). Стало очевидным, что потребуется сбор статистики. Доработки затронули сервер и БД, плюс отображение в админке. Работы было много, но, в основном рутина, за исключением проектирования БД.

        Этап 9. После ЗБТ мы пофиксили баги и выполнили некоторые модификации, после чего стали готовиться к открытому бета-тесту (ОБТ). Конечно же, необходимо было реализовать возможность приема платежей. Такие доработки затронули клиент, сервер, БД, а так же пришлось создать специальный скрипт. Здесь, опять же, никакой особой магии – все на РНР.

        Этап 10. Пришло время разобраться с поставщиками трафика. С ними мы работаем по двум схемам: фиксированная стоимость в месяц независимо от количества переходов/регистраций или оплата за регистрацию (СРА). Для работы по модели СРА необходимо было провести интеграцию с API этих поставщиков трафика. Доработки затронули клиент, сервер, БД, веб-сайт и админку (фильтры в статистике).

        Этап 11. Непосредственно перед ОБТ мы создали сайт игры (во время ЗБТ игроки переходили на страницу с Flash, а регистрация и логин были реализованы во флеше). Больше всего времени заняла интеграция игры с базой форума, чтобы обеспечить сквозной логин форум/игра.

        Этап 12. После ОБТ и нагрузочного тестирования мы поняли, что лить трафик на основной игровой сервер – плохая идея. Дело в том, что кол-во трафика очень сильно зависит от времени суток. И в пиковое время могло приходить до ста запросов в секунду. Игроки у нас кидались прямо в игру, для каждого нового игрока создавался отдельный инстанс. Это очень сильно нагружало игровой сервер и вызывало на нем лаги. Поэтому был создан специальный регистрационный сервер (фактически – еще один инстанс основного сервера, но запускаемый со специальным ключом, поэтому он загружает только регистрационные локации) и отдельный клиент, в котором игрок играет только до регистрации (после этого его редиректит на основной сервер). Кроме того, мы уменьшили объем загружаемых данных в регистрационном клиенте, так как точно знали, что необходимо для игрока. Это позволило уменьшить время загрузки клиента и решило проблему с лагами на основном сервере, а так же сделало систему масштабируемой – при необходимости мы может развернуть хоть сто отдельных регистрационных серверов.

        Этап 13. Непосредственно перед релизом была добавлена интеграция с социальными сетями, а именно возможность авторизации через социальные сети. Это увеличило конверсии переходов в регистрации примерно на 10%.

        Заключение

        В следующей статье цикла «Разработка ММО РПГ – практическое руководство» мы подробно ознакомимся с серверной часть, её компонентами, затронем работу с БД и многое другое.

Экран «Персонаж» — мобильная версия (в процессе разработки)

Привет всем!

Менее полугода назад в Steam вышла моя предыдущая игра Final Foe. Это сетевая кооперативная фэнтези-арена, о которой я уже писал на DTF ранее. Поэтому если вам интересно, можете почитать о её разработке здесь и здесь. А сегодня я хочу рассказать вам о своём новом проекте!

1. Предпосылки к созданию MMO.

Ещё задолго до выхода Final Foe я начал задумываться о своём следующем проекте и запланировал сделать что-то в совершенно ином жанре, с реалистичной графикой и на новом для себя движке Unreal Engine. Я определился с концепцией будущей игры, изучил С++ на базовом уровне и проштудировал ряд обучающих материалов. Я начал проектировать игру, и в какой-то момент стало ясно, что задуманная идея потребует от меня не только новых знаний и навыков, но и колоссального количества времени. Не менее 3-х лет непрерывной работы. И само собой, не менее 3-х лет неопределённости, когда не знаешь, будет ли это вообще кому-то нужно и интересно кроме меня :-)

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

Какую игру можно разработать в одиночку, чтобы это имело масштабные перспективы, было интересно мне самому, и давало обратную связь от игроков уже через полгода разработки?

Мой ответ такой: кроссплатформенную MMORPG-арену с пошаговым боем. Да, бой пошаговый. Но это всё ещё MMO! Думаю, что жанр MMO по праву считается самым сложным и долгим в реализации. Однако, я реалистично отношусь к тому, что делаю, и не планирую в одиночку создать убийцу World of Warcraft. Моя игра гораздо скромнее по своим масштабам в плане функционала и контента, но это не означает, что она должна быть менее захватывающей.

Логово людоеда — версия для ПК (в процессе разработки)

2. Ближе к делу.

Я решил разрабатывать MMO с пошаговым боем на движке Unity. И в который раз убедился, что Unity — мощный и очень удобный движок. Я использую URP, и мне удалось добиться сочной картинки относительно небольшими усилиями. Сочетая цвета сцены, освещение и настройки Post Processing. Если вы считаете, что игра на скриншотах выглядит плохо — дайте знать. Может, мне одному кажется, что она выглядит хорошо.

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

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

Albion Online
Я очень много времени провёл в Albion Online, являлся главой одной из самых успешных ганкерских гильдий в игре, и в 2019-м году разработчики даже сделали со мной интервью. Я могу с уверенностью сказать, что это одна из самых многогранных и захватывающих MMORPG в мире. Кто-то с этим согласится, кто-то — нет. Суть не в этом. Главная особенность Albion Online — это система комбинирования различных способностей с помощью комбинирования различных предметов экипировки. Эта особенность позволяет вам экспериментировать со сборками (билдами) вашего персонажа, подстраивать способности вашей брони под способности вашего оружия и т.д. Это очень увлекательно и может быть очень эффективно в бою. Albion Online доказала, что такая концепция отлично работает. Поэтому я решил использовать в своей игре похожую систему развития персонажа, адаптировав её под собственную пошаговую механику боя.

Bloodline Champions
Эта игра — прародитель Battlerite. Мне в ней нравится система PVP-рангов. Ты сражаешься с противниками, повышаешь свой рейтинг и наконец получаешь заветный новый ранг. Это сразу выделяет тебя в списке лидеров, добавляет некой значимости. Это довольно приятно — подниматься по «ступенькам» всё выше и выше. И неплохо работает как дополнительная мотивация побеждать, иначе бы это не использовали в Hearthstone и в огромном количестве других сессионных игр. В моём ММО-проекте также будет развитая система PVP-рейтингов и рангов.

Настольная игра «Феникс»
В этой игре мне нравится приключенческая атмосфера и простота. Можно упомянуть ещё игру «Шакал». В ней тоже сочетаются эти два фактора. Моя боевая система напрямую не пересекается с этими играми, но я решил указать их, потому что в них есть атмосфера интересного пошагового соперничества.

Пиратские джунгли — версия для ПК (в процессе разработки)

3. Концепция ММО-арены с пошаговым боем.

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

Жанр
PVP-ориентированная сессионная MMORPG-арена с пошаговым боем в фэнтезийном сеттинге. Это не очередной клон «Героев меча и магии». В моей игре вам нужно будет развивать только одного персонажа и управлять в бою только им. Никаких отрядов.

Платформа
Игра будет кроссплатформенной. Целевые платформы: Windows, Android, iOS, WebGL, Mac, Linux.

Модель распространения
Free-to-Play без зубодробительного доната. Но с премиум-аккаунтом, лёгкой кастомизацией и возможностями для ускоренного развития персонажа. Я с большим уважением отношусь к компаниям, которые умеют зарабатывать деньги. Но в моей игре, в отличие от какой-нибудь Clash of Clans — не будет никаких ограничений на игровой процесс. Вам не нужно будет ждать 20 часов, пока построятся юниты, или 10 часов, пока перезарядится доступ к PVP-поединку. Вы сможете играть без каких-либо ограничений. У премиум-игроков будет преимущество в скорости развития персонажа. Однако баланс в моей игре выстроен таким образом, что даже у новичка будет НЕ иллюзорный шанс победить в бою против сильного персонажа. Особенно, если за сильного персонажа играет неумелый игрок.

Основные функции
PVP 1 на 1, PVP 2 на 2, PVE, система рейтингов и рангов, задания, кланы, автоматический подбор противников и возможность начать бой в течение 30 секунд после нажатия кнопки «В бой».

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

4. Важная информация.

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

Буду признателен за любую обратную связь в комментариях. Если вам интересен данный проект — подписывайтесь на мои ресурсы ниже (VK и Discord). Тогда вы сможете одними из первых поучаствовать в тестировании альфа-версии игры. А если вы хотите дополнительно меня поддержать — самое время приобрести мою предыдущую игру Final Foe :-)

Спасибо за внимание. Будем на связи!

Мои ресурсы в социальных сетях:

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

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

ММОРПГ расшифровывается как Massively Multiplayer Online Role-Playing Game. Так называется некий жанр многопользовательских игр для различных платформ. Обязательно присутствует ролевая нотка. Каждый геймер создает персонажа, взаимодействующего с другими пользователями в пределах созданной виртуальной вселенной.

В MMORPG можно проделывать следующее:

  • повышать уровень прокачки;
  • «одевать» героя;
  • прокачивать скиллы и навыки;
  • приобретать броню и оружие;
  • собираться в гильдии и кланы;
  • ходить в подземелья (данжи);
  • бороться за территории на игровых картах;
  • сражаться с мировыми боссами.

Отличается данное направление многопользовательской составляющей. Игровой проект для одного геймера, которому доверено развивать персонажа, называется RPG (пример – Diablo).

Понятие движка

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

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

Этот «набор» помогает играет в Сети, воспроизводить встроенные графические сцены, а также отвечает за физические эффекты, законов и прочих канонов в целях работы игры.

Задумываясь, что такое движок игр, можно понять – это утилита, готовая для создания новых многопользовательских (и обычных) игрушек для компьютеров, приставок, мобильных платформ. Данный элемент некоторые пытаются создать самостоятельно «с нуля». Отличное решение для опытной команды программистов. Но в основном созданием games занимаются на базе уже готовых движков.

Самые популярные современные движки

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

Game Maker Studio 2

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

К преимуществам относят:

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

Идеально подходит для тех, кто решил сделать 2D-игрушку или RPG. Готовые результаты выгружаются в Facebook и Steam без дополнительных утилит. Имеет как пробную бесплатную версию, так и лицензию. Обойдется примерно в 100$.

К недостаткам движка относят:

  • медленную работу ввиду того, что языки программирования здесь элементарны;
  • быстрое привыкание к среде, что доставляет неудобства при переходе на другую платформу;
  • исполнительные файлы в пробной версии не подлежат компиляции;
  • мало функций для 3D-разработок.

Это – выбор тех, кто только начинает путь к созданию собственных компьютерных игрушек. Многопользовательских в том числе.

Unity

Разобравшись в том, что такое движок (игровой), важно подобрать среду для создания игрового развлекательного контента. Многопользовательского характера в том числе.

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

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

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

Преимущества:

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

Недостатки:

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

В магазине Unity 3D размещены не только платные модели, но и бесплатные. Для того, чтобы создать нетривиальный проект, придется «перепиливать» весь движок под конкретные нужды.

Cry

Задумываясь, что такое движок игрового характера, а также на чем остановиться в том или ином случае, стоит обратить внимание на CryEngine. Софт создал для тех, кому важна фотореалистичность графической составляющей.

Писать игры здесь – сплошное удовольствие. Присутствует попиксельное освещение в режиме реального времени. Среди сильных сторон можно выделить:

  • в комплекте к базовой версии утилиты идет шутер GameSDK;
  • простая настройка искусственного интеллекта;
  • используется гибкая финансовая политики – изначально приложение бесплатное;
  • наличие богатого выбора инструментов для графических составляющих;
  • поддержка Vulkan API, VR, DirectX последней версии.

Недостатков не очень много, но знать о них необходимо:

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

Для MMORPG такой вариант весьма неплох. Особенно для тех, кто уже набрался опыта в выбранном направлении.

Solar2D

Легко осваивается и такой вариант, как Solar2D. До 2020 года база называлась Corona. Что такого особенного игровой движок предлагает? Бесплатную версию и поддержку простейшего языка программирования!

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

Cocos

Программист может создавать игры для мобильных устройств при помощи Cocos 2D. Механика задействует узлы и спрайты с возможностью ручной настройки и корректировки. Заточен под 2D-контент.

Преимущества:

  • исходный код – он открытый;
  • полный бесплатный доступ – платить ни за что не придется;
  • наличие великолепной интеграции для iOS.

Недостатки:

  • высокий уровень порога вхождения;
  • поддержка только 2D-графики при работе;
  • справки и документация идет преимущественно на китайском.

Это – лучший выбор для тех, кто прикасался к Unity, так как интерфейсы у этих двух баз идентичные.

Godot

Выбирайте Godot, если 100% хочется создать свою первую игру. Это – мощное и многофункциональное приложение. Подходит для 2D и 3D-графики. Работает с несколькими языками программирования, а также имеет собственный GSDcript. Присутствует язык визуального программирования. Обладает гибкой архитектурой.

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

Сильные стороны:

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

Но данный вариант обладает ограниченным функционалом и не годится для консольных игрушек.

Construct 3

Construct 3 позволяет создавать развлекательный контент без непосредственного написания кода. Редактор предусматривает выбор спрайтов и музыки из встроенных магазинов. После этого программист сможет произвести настройку физики и сохранить результат. Идеальный вариант для JRPG и головоломки из разряда «три в ряд».

Поняв, что такое движки игр, а также какими они бывают, стоит рассмотреть сильные и слабые стороны каждого варианта. В случае с Construct 3 преимущества будут следующими:

  • простота освоения;
  • поддержка русского языка;
  • кроссплатформенность и кроссбраузерность;
  • обширное сообщество.

Для полноценной работы требуется оплачивать доступ к подписке. Данный вариант не позволяет «по умолчанию» работать со Steam SDK.

libGDX

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

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

У создаваемых проектов будут основные и дополнительные части. Разработка контента будет проводится на нескольких платформах. К преимуществам относят:

  • отсутствие необходимости использования эмулятора для тестирования;
  • хорошее сообщество в Сети;
  • богатый ассортимент возможностей.

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

GDevelop

Что такое движок игр, и для чего он нужен, понять не так трудно, как подобрать идеальную для себя платформу. Лучше внимательно изучить самые популярные варианты, а затем остановиться на том, что кажется более интересным и универсальным.

GDevelop – аналог Construct 3. Конструктор работает в онлайне и не требует навыков программирования. Настройка объектов – это несколько кликов мышью. Сгодится для 2D-игрушек.

Плюсы:

  • свободное распространение;
  • понятный интерфейс;
  • наиболее подходящий вариант для любого прототипирования.

Поразмыслив над тем, что такое движок (игровой), важно осознавать – у всего есть недостатки. GDevelop находится в свободном доступе, но на начальной стадии разработки. Сообщество у него небольшое. Помощи дождаться трудно.

Unreal

Unreal Engine 4 написана для профессионалов. Ища информацию о том, что такое движок (игровой), многие обнаруживают этот вариант, после чего решают выбрать именно его. Подойдет далеко не новичкам в соответствующей области. Написан сложным языком с поддержкой различных сценариев. В основе лежит C++.

Преимущества:

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

Понимая, что такое движки игр, человек осознает – определенные трудности все равно встретятся. У Cheat Engine 4 минусами считают:

  • высокие требования к ПК, на котором запускается утилита;
  • не подходит для 2D-игрушек;
  • стоимость ассетов в магазине;
  • обнаружение багов при бесшовных мирах;
  • высокие пороги вхождения.

Самые знаменитые разработчики для Cheat Engine создали несколько обучающих видео. С ними станет понятно, что такое движок игрового характера, а также как им пользоваться. Ролики позволяют создавать собственные видеоигры даже тем, кто поверхностно разбирается в программировании.

На этом «двигателе» написаны самые известные современные игрушки. Если доходы проектов за квартал будут от 3 000$, необходимо перечислять роялти.

Теперь понятно, что такое движок игр. Фактически это то, при помощи чего пользователи смогут создавать софт, многопользовательский в том числе. Практика показывает – большинство MMORPG пишутся на Unity или Cheat Engine. Но некоторые предпочитают создавать собственную уникальную «среду» — такие ситуации единичны.

Если человек задумался, что такое движок (игровой), а также на чем написать игрушку, предложенный рейтинг поможет не запутаться и остановиться на оптимальном для себя варианте. Главное – не бояться. И тогда все получится.

Интересует разработка игр? Обратите внимание на следующие курсы в Otus:

  • «Unity Game Developer. Basic«;
  • «Unity Game Developer. Professional«.

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

Как создать mmorpg игру

Инструкция

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

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

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

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

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

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

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

Видео по теме

Источники:

  • создание mmorpg

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Кузница игр. Как создают MMORPG в NCsoft

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

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

Мы долго не могли решить, на примере какой компании рассмотреть весь цикл производства онлайновой игры. В первую очередь в голову приходили Blizzard (вряд ли стоит объяснять почему) и Funcom (Anarchy Online, Age of Conan).

Но в результате наш выбор пал на корейскую компанию NCsoft. Она интересна сразу по нескольким причинам. Во-первых, это единственная в мире компания, которая на протяжении десяти с лишним лет занимается разработкой, изданием, локализацией и поддержкой только онлайновых игр. Во-вторых, на ее счету более десяти популярнейших MMORPG: Lineage и Lineage 2, City of Heroes, City of Villains, Guild Wars, Tabula Rasa и Dungeon Runners, а скоро появятся Exteel, Aion: The Tower of Eternity и Guild Wars 2. А в-третьих, это очень большая международная компания, в которой работают тысячи людей по всему миру. Например, в головном офисе в Корее создается Lineage-серия и Aion, City of Heroes/Villains созданы в Северной Калифорнии, Tabula Rasa разрабатывалась в Остине (США), в Сиэтле находится штаб-квартира ArenaNet, которая ведет серию Guild Wars. А прямо сейчас в брайтонском офисе (Англия) формируется своя команда разработчиков, которая займется разработкой пока не анонсированных MMOG.

Одним погожим деньком «Игромания» нагрянула в офис NCsoft Europe (европейское отделение компании), чтобы узнать, как разрабатываются одни из самых успешных на свете онлайновых игр.

NCsoft Europe открылась в сентябре 2004 года, тогда в огромном офисном здании среди презентационных досок, громадных столов и пустых шкафов работало всего пять человек. За шесть месяцев они ухитрились запустить Lineage 2 и City of Heroes, а за последующие три года штат разросся до 120 человек, половина из которых переселилась в соседнее офисное здание. Сейчас NCsoft Europe действует почти в 50 странах.

Кто, где, когда

Кузница игр. Как создают MMORPG в NCsoft

Выпустив Dungeon Runners, NCsoft немало удивила своих поклонников: обычно компания не очень жалует условно-бесплатную систему оплаты.

Европейский офис NCsoft находится на побережье Ла-Манша в популярном курортном городе Брайтон. По всеобщему мнению, в Брайтоне можно заниматься чем угодно, только не работать: город славится пляжами, фестивалями искусств, архитектурой времен регентства, международными языковыми школами и, как следствие, множеством студенческих баров и дискотек. Ко всему прочему, Брайтон, подобно Сан-Франциско в США, называют гей-столицей Великобритании: в городе полно соответствующих клубов и магазинов, а каждый август тут проводится фестиваль Gay Pride.

В NCsoft подобное описание привычно пропускают мимо ушей, а на вопрос о выборе места для офиса отвечают с усталой улыбкой: город красивый, многонациональный, не такой шумный и большой, как Лондон. И в этом есть своя правда. Во-первых, в Лондоне очень дорогая аренда. Во-вторых, в мультикультурном и веротерпимом Брайтоне проще прижиться иностранцам, а в европейском офисе NCsoft работают люди 16 национальностей: англичане, шотландцы, французы, поляки, итальянцы… Именно они обрабатывают запросы российских игроков, проводят наши внутриигровые праздники и планируют, сколько коробок той или иной игры отправить на другой конец Европы.

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

Кузница игр. Как создают MMORPG в NCsoft

Как ни странно, серия Lineage — единственная MMORPG, которая входит в двадцатку самых продаваемых игр мира. К слову, World of Warcraft не попадает даже в тридцатку.

— сотрудниками команды разработчиков (dev-team);

— кураторами комьюнити еще не выпущенных игр;

— кураторами комьюнити уже готовых игр (community team);

— менеджерами по маркетингу (marketing department);

— менеджерами по связям с общественностью (PR department);

— менеджерами по продажам (sales department);

— специалистами из отдела бизнес-развития (business development department);

— координаторами (live operations department);

— локализаторами (localization);

— специалистами из отдела биллинга, технической и пользовательской поддержки (customer support team);

— сотрудниками из рекламно-художественного отдела (project and content managers).

В среднем онлайновая игра разрабатывается около четырех лет. Однако это не значит, что все 11 отделов деловито корпят над проектом четыре года. Напротив, разработка напоминает разворачивающееся стихийное бедствие: начинаясь в dev-команде, она постепенно втягивает, как разрастающийся торнадо, все больше и больше человеческих и материальных ресурсов, пока, наконец, все в офисе не начинают бегать на ушах и согласовывать разные детали. Давайте посмотрим, как это происходит.

Ведущий геймдизайнер

Кузница игр. Как создают MMORPG в NCsoft

Кен Малькольм, ведущий геймдизайнер (Ken Malcolm, lead game designer). По сравнению с другими геймдизайнерами, которых возраст и работа наградили лысеющим затылком, очками с толстенными стеклами и пузатым брюшком, Кен держится молодцом: он уже 15 лет в индустрии, а по-прежнему выглядит как жилистый Игги Поп. В то же время путь до ведущего геймдизайнера в NCsoft оказался непрост: сначала Кен создавал уровни в Bullfrog, потом писал скрипты для Lionhead, затем попал в Infernal Development на должность ведущего геймдизайнера, но не проработал там и двух лет, ушел в NCsoft.

Надо сказать, что здесь Кен пока ничего не разрабатывает: в европейском офисе только создают новую команду. Как и остальные студии NCsoft, группа Кена будет функционировать полностью автономно и разрабатывать свой проект. А это значит, что сегодня мы разговариваем с человеком, до которого через пару лет будет просто не достучаться. Пользуемся возможностью: Кен расскажет нам о работе внутри команды разработчиков.

[Кен]: С диздоками в индустрии сейчас сложная ситуация, иногда идешь к издателю и не знаешь, брать с собой диздок или нет. Раньше было все понятно: издателю требовалась пухлая пачка бумаги о ста листах, на которых меленькими буковками безграмотно, занудно и очень пространно объяснялась основная концепция игры. Описание каждого монстра занимало несколько страниц, а над объяснением основных элементов геймплея хотелось заснуть.

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

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

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

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

Четыре года до релиза

У онлайновых и сингловых игр совершенно разные циклы производства. Во-первых, тут дело в подходе: когда обычный разработчик выпускает однопользовательскую игру, ему интересно только то, дошла ли она до прилавка и попала ли на самое видное место. Как только ему докладывают «Готово!», он с облегчением смахивает пот со лба, закатывает пир горой и иногда даже забывает про патчи. А у онлайнового разработчика основная работа начинается именно после релиза.

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

Кузница игр. Как создают MMORPG в NCsoft Кузница игр. Как создают MMORPG в NCsoft

Одно из самых ярких и неоднозначных событий общественной жизни Брайтона — фестиваль Gay Pride. Однако переносить его в виртуальный мир пока не торопятся.

Как посмотришь на Брайтон, сразу становится понятно, почему NCsoft обосновалась именно тут. Кадровый вопрос решен на отлично: любой европеец приедет работать на пляже.

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

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

Самое начало: concept stage

Первая фаза разработки называется concept stage. Она длится от месяца до трех, за это время нужно определить, как будет играться ваш проект: сколько скиллов вы дадите каждому персонажу и сколько серверов поставите. Выделить основные элементы, обозначить сюжетные параллели, понять, как и ради чего игроки будут взаимодействовать друг с другом. На этапе concept stage геймдев-команды как таковой обычно нет, потому что проект пока живет только в головах продюсера, геймдизайнера и еще одного совершенно особенного специалиста — идейного вдохновителя (vision holder). Идейный вдохновитель — это чаще всего человек, которому и пришла в голову концепция игры. Это может быть художник, программист, менеджер, писатель — главное, что он единственный, кто знает, как проект должен играться. Очень часто идейный вдохновитель автоматически становится продюсером, но об этом позже.

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

Кузница игр. Как создают MMORPG в NCsoft

Графика в прототипе может быть какой угодно, лишь бы гейммеханика работала.

Вторая фаза: pre-production

Кузница игр. Как создают MMORPG в NCsoft

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

Теперь начинается вторая фаза производства — pre-production. Ее основная задача — выяснить, насколько конкурентоспособен предложенный проект, сможет ли он заинтересовать издателя и стоит ли своих денег. Если компания одновременно является и разработчиком и издателем (как NCsoft), то судьба игры решается на собрании менеджеров высшего звена. Они просчитывают шансы проекта, прикидывают, сколько денег на него можно выделить и что из него получится. Если проект получает одобрение, руководство формирует новую команду девелоперов, назначает ответственных, и разработка начинается. Если проект оказывается неактуальным, его, как правило, отправляют на доработку. Обычно в крупных компаниях проекты, дошедшие до стадии pre-production, не бракуют окончательно: хороших идей не так много, ресурсы все равно уже затрачены, и из каждой идеи стараются выкристаллизовать хорошую игру.

Гораздо сложнее путь независимого, а то и начинающего разработчика: в его случае pre-production не начнется, пока не отыщется заинтересованный издатель. Редко кто собирает команду, не получив одобрение свыше, ведь на создание игры нужны немалые деньги.

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

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

Но предположим, что молодой разработчик принес издателю ворох документов и смог его заинтриговать. Теперь самое время проверить проект на прочность: в игру вступает pre-production team издателя. Как и менеджеры высшего звена большой компании, эти ребята занимаются оценкой финансовых и технических рисков и мониторингом игровой аудитории. Если они одобряют проект, счастливый разработчик получает деньги. Если проект кажется провальным, с ним обычно не сюсюкаются, а сразу отказывают: молодые разработчики и так атакуют издателя со всех сторон, у него нет времени на каждого.

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

Обычно concept stage и pre-production занимают около года; если в компании все отлажено, можно управиться за 6-8 месяцев. Пока команда укомплектовывается, работа не стоит на месте: уже набранные художники рисуют наброски основных локаций, программисты на скорую руку пишут код, стараясь как можно быстрее получить рабочий билд. Когда геймдев-команда полностью набрана, начинается третья, самая длинная фаза разработки — production.

Кузница игр. Как создают MMORPG в NCsoft

Пока набирается основная часть команды разработчиков, художники уже вовсю трудятся. Это уже не просто наброски на стадии pre-production, а модели персонажей, которые передаются 3D-моделлерам.

Три с половиной года до релиза

В большинстве случаев фаза production занимает около двух лет — от момента, когда команда полностью собрана, до начала закрытого бета-теста. Как правило, над одним большим MMO-проектом работает около сотни человек, причем почти половина из них — это программисты и художники. С них-то мы и начнем.

Художники и дизайнеры

Кузница игр. Как создают MMORPG в NCsoft

На такой набросок у 2D-художника уйдет от силы полчаса, в то время как трехмерщики неделями будут мучиться, создавая все эти кочки, кустики, лианы, камни, скалы, отражение в воде.

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

Допустим, в игре есть босс-огр, скачущий на осьминоге. Геймдизайнеры совещаются с ведущим геймдизайнером и решают, сколько щупалец должно быть у осьминога и в какой цвет раскрасить шлем у огра. Как только они определяются с внешним видом монстра, в работу вступают 2D-художники (иногда их называют также concept-art-художниками). Они консультируются с геймдизайнерами, изучают диздок и стараются сделать картинку, максимально соответствующую исходной идее.

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

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

Программисты

А в это время у программистов кипят свои страсти. Во время production-фазы им нужно как можно скорее написать весь программный код, чтобы тестеры начали отлавливать баги. Кстати, на определенных этапах работы над игрой трудятся программисты почти 30 разных специализаций (рендер-сцены, AI, геймплей, сетевой код, программирование звука). Каких-то специалистов найти легко (например, тех, кто отвечает за искусственный интеллект или движок), а вот программисты, отвечающие за баланс игрового мира или поддерживающие PvP-сервера, — настоящая редкость, а создать онлайновую игру без них невозможно.

Еще одна проблема с технарями — в различии языков программирования. Кто-то работает на Java, кто-то — на С++, и в результате собрать полноценную команду — нелегкое занятие. Интересно, что почти никто не знает о программистах геймплея, а тем временем именно они следят, чтобы заклинания кастовались, мечи — рубили, стрелы — свистели. В общем, чтобы вся игровая механика работала как надо. Обычно «геймплейщики» трудятся в тесном сотрудничестве с ведущим геймдизайнером и идейным вдохновителем.

Строго по счету

Какой-то особой зависимости между количеством дизайнеров, художников, программистов и аниматоров в команде разработчиков нет. Но почему-то многие продолжают считать, что специалисты набираются по строгому принципу: на одного 2D-художника должно приходиться пять 3D-художников и десять аниматоров. Считается, что если это соотношение не будет соблюдаться, то 2D-художники завалят работой 3D-художников, а аниматоры в это время будут сидеть без дела.

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

Кузница игр. Как создают MMORPG в NCsoft

Начальники

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

Директор занимается организационными делами: подыскивает новых сотрудников, ведет переговоры с издателем, решает финансовые вопросы, контролирует сроки сдачи проекта.

Кузница игр. Как создают MMORPG в NCsoft

Если бы не Ричард Гэрриотт, продюсер, директор и геймдизайнер Tabula Rasa, игры бы и не было. Может быть, именно поэтому столько игроков собралось убить его во время Launch Party?

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

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

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

Изменять что-то в геймплее и в геймдизайне имеет право только продюсер. Ведущий дизайнер может прийти к нему и сказать: «Слушай, я думаю, тут должно быть так и так, а еще мы не успеваем сделать то-то и то-то, поэтому давай это просто выкинем», но последнее слово всегда останется за продюсером. Он разрешает споры между ведущим дизайнером и художниками («Этот шлем должен быть розовым!» — «Нет, голубым!» — «Нет, розовым!») и отвечает за презентацию проекта на выставках, за общественное мнение в целом.

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

Кузница игр. Как создают MMORPG в NCsoft

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

Текст и звук

Музыка обычно пишется профессиональными музыкантами — аутсорсерами, то есть работающими вне основной команды. Чтобы записать хороший звук, нужно очень дорогое оборудование, специальные помещения, много обслуживающего персонала. А представьте, какой катастрофой станет смена офиса, когда половина комнат оборудована для звукозаписи! Даже если у разработчиков отложены деньги на закупку и поддержку нужного оборудования, есть большая вероятность, что эта студия будет простаивать без дела 11 месяцев в году: даже самый трудолюбивый девелопер не сможет загружать ее работой постоянно, в играх просто не нужно столько музыки. Если вы не занимаетесь звукозаписью круглый год, владение студией, скорее всего, будет убыточно.

Теперь — текст. Как бы странно это ни звучало, но в команде редко находится место профессиональному писателю. «Как так? — спросите вы. — А как же километры текста в любой MMORPG?» На самом деле текста в играх не так уж и много, написать все диалоги можно за один-два месяца. А разработка, как вы помните, идет около четырех лет, поэтому держать отдельную ставку для писателя очень накладно. Обычно тексты пишет кто-нибудь из дизайнеров или художников, и происходит это само собой. В команде всегда есть человек, которого хлебом не корми, а дай черкануть пару строчек. Разумеется, потом текст прогоняется через редакторов (обычно тоже нанимаются удаленные), корректоров, тщательно вычитывается идейным вдохновителем и дизайнерами.

Тестеры

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

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

Кузница игр. Как создают MMORPG в NCsoft Кузница игр. Как создают MMORPG в NCsoft

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

Столько лет честного труда

В таком составе команда разработчиков с переменным успехом работает на протяжении оставшихся трех лет. После того как у игры появляется большая часть программного кода и хотя бы треть контента, ее можно показывать широкой публике — на Е3 или Games Convention. Эти выставки не сулят ничего хорошего в первую очередь продюсеру (ему нужно готовить презентацию) и директору (он занимается организационными вопросами). Достается и геймдизайнеру: обычно выставка — это так называемый майлстоун (milestone), попросту говоря — дедлайн, крайний срок, к которому надо закончить определенный участок работы. В случае с выставкой — сделать презентацию.

Чем ближе к релизу, тем больше майлстоунов и тем критичнее они становятся: закончить один город, закончить целую локацию, оттестировать определенный момент геймплея. Если команда заваливает майлстоун без уважительной причины (воры украли из офиса все системные блоки; Ла-Манш вышел из берегов, и пол-Европы затопило), следуют санкции со стороны издателя. Обычно карают финансово.

В клетке со специалистами

За время, проведенное в офисе NCsoft, мы успели пообщаться почти с двумя десятками специалистов самых разных профессий. Но больше всего досталось пиар-менеджерам компании Агнес Квейсиен (Agnes Kwiecien) и Дэвиду Блюнделлу (David Blundell). Именно они водили нас за ручку по кабинетам, отрывали людей от работы и просили выделить несколько минут (а иногда и часов) на общение с «журналистами из России». Огромное им за это спасибо.

Кузница игр. Как создают MMORPG в NCsoft

* * *

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

Привет ребят! Текст ниже, расскажет вам о том, как я два с половиной года разрабатывал свою ммо игру про сталкеров, артефакты, выбросы, и байки у костра.

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

И разработка началась. Так как рисовать я не умею, сразу встал вопрос насчет графики. И ответ на этот вопрос нашелся. Когда-то давным-давно, на старые кнопочные телефоны (j2me), независимыми энтузиастами разрабатывалась игра «Zone of Aliation». Если описать игру в двух словах, то это 2д сталкер для мобил. Графика из этой игры идеально подходила для моего проекта. Я связался с автором графики — Павлом Шевелевым, и спросил разрешения использовать её в своей игре. Павел не отказал и даже нарисовал еще кое-что, за что ему большое спасибо.

Далее требовалось писать код. Перемещать черный квадрат это одно, а сделать полноценную игру — совсем другое. Если в поисковике вбить — «Как сделать онлайн игру?», конкретного ответа, который хоть капельку мог бы помочь, вы не найдете. Информации в рунете по этому поводу кот наплакал, а про примеры я вообще молчу. Но мне все же удалось отыскать на Хабре информацию о видео-лекциях Виталия Чибрикова, в которых рассказывалось о том, как написать сервер для онлайн игры. Досконально изучив все 9 лекций (одна лекция в среднем длится около двух часов), мне таки удалось на их основании, построить крепкий скелет клиент-серверного взаимодействия для моей будущей игры. Если бы не Виталий, я бы не добился такого результата, за что ему большое спасибо. Пара слов о технологиях которые я использовал — сервер написан на java, база данных MySql, сетевое соединение netty. Клиент написан тоже на java при помощи фреймворка libgdx.

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

До определенного момента тестирование велось только на моем личном пк. И сервер и несколько копий клиентов запускались на одной машине и общались друг с другом через localhost. Но по мере развития проекта ко мене все чаще и чаще приходила мысль — «А не пора ли игру показать людям и устроить настоящее тестирование с живыми игроками ?» И в один прекрасный момент я решил, что пора. Арендовал железо, минимальной конфигурации с линуксом на борту. Загрузил туда свою программу-сервер и после новой порции геморроя и танцев с бубном, сервер успешно запустился. «Вот это да!!!» — подумал я, оно работает. Первым человеком который зашел в игру, был художник Павел. Мы с ним побегали по карте, пообщались в чате, да постреляли в кабанчиков. После чего я довольный и счастливый от того что все работает, приступил к разработке с удвоенной силой. Шли дни, игра росла и развивалась, примерно раз в две недели я устраивал открытое тестирование, во время которого любой желающий мог поиграть и затестить новые функции. Иногда счетчик онлайн игроков переваливал за сотню. Отличное было время, я создавал виртуальный мир который жил по моим правилам и законам, во время тестирований я ощущал себя чуть ли не богом. Иногда заходил на сервер и просто наблюдал за игроками, они там бегают, общаются, ссорятся, мирятся, создают кланы, воюют, собирают артефакты, влезают в аномалии, послушно разбредаются по домам во время выброса. А сколько интересных историй приключилось в игре! Помню, какие-то парни объявили себя бандитами и сшибали бабло за проход в определенную локацию. Тех кто отказывался платить расстреливали (в том числе и меня). Или как то раз, группа сталкеров во время выброса, спряталась в домике со всех сторон окруженным забором и кто-то завалил единственный выход аномалиями электра (есть артефакт который создает аномалию) после выброса группа оказалась замкнута во дворике этого дома до самого конца тестирования, так как в то время, после смерти игрок возрождался на том же месте, на котором умер.

На данный момент в игре реализовано: 20 локаций, смена дня и ночи, дождь, pvp, pve, 3 вида мобов с разным поведением, массовые набеги мобов на базу, 1 рейд босс, 13 артефактов с разными характеристиками, 8 аномалий с разными эффектами, болты для поиска и разрядки аномалий, 8 квестов, система опыта и прокачка скилов, сталкерский pda, радиация, выбросы, группировки, война группировок за территории, npc которые умеют стрелять по мутантам и прятаться от выбросов в домах, рюкзак и система итемов, торговля с npc и игроками, 9 видов брони, 7 видов оружия, детектор аномалий, детектор радиации, гитара плюс еще около 15 различных итемов, и конечно же возможность присесть у костерка и пообщаться в чате с другими игроками. Отдельно хотелось бы остановиться на способе добычи артефактов. Артефакты рождаются после выброса в аномалиях, и изначально не видны игроку, для того чтобы артефакт можно было поднять, требуется выполнить ряд неких уникальных для каждого артефакта условий.

Например, чтобы добыть артефакт «Кровь» требуется, чтобы аномалия электра второго уровня, при срабатывании (бросок болта), соприкасалась с аномалией кислотное облако (летает по карте в произвольном направлении). Или вот чтобы добыть «Сердце», требуется использовать артефакт синева (создает новую аномалию) так, чтобы новая аномалия попала в аномалию импульс, плюс требуется отсутствие солнечного света, то есть артефакт можно добыть только в ночное время.

Над всем этим я работал больше двух лет, но вся соль в том этого контента хватает на дня три-четыре, после чего в игре попросту нечего делать. Из-за этого постепенно количество игроков в игре уменьшалось, а я все яснее понимал, что попросту не смогу доделать игру. Я потратил уйму времени на разработку, но кажется не доделал проект даже на половину. Считаю что добился неплохого результата, но все равно надо смотреть правде в глаза — в одиночку полноценную ММОRPG создать невозможно ну или почти невозможно. Я предпринимал попытки найти еще одного программиста, но людей отлично знающих java и имеющих опыт в разработки клиент-серверных приложений не так много. Да и мало кто захочет разбираться в моем коде, так как написан он далеко не идеально, ну и самое главное его много, очень много, прям реально много. Код выкладывать в открытый доступ пока не собираюсь, возможно когда-нибудь, наигравшись в stalker 2, все таки я его доделаю.

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

Понравилась статья? Поделить с друзьями:
  • Как написать makefile для linux
  • Как написать lua скрипты
  • Как написать lsi текст правильно
  • Как написать list c
  • Как написать letter of application