Войти
Игровой ДизайнСтатьи

MMORPG? А достаточно ли у вас времени на это?

Внимание! Этот документ ещё не опубликован.

Автор:

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

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

Почему не стоит браться за крупный проект

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

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

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

Показательный расчёт времени создания мини-MMORPG

Перейдём к более конкретному, прикладному примеру. Расчёт будет весьма грубым, но показательным. Итак, предположим, что мы хотим создать мини-MMORPG с игровым миром размером в одну локацию того же World of Warcraft. Сперва может показаться - чего же тут сложного, она ведь относительная невелика, да ещё если это и будет вся игра! А ведь дьявол, как говорится, кроется в деталях.

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

Теперь же пройдёмся по художественной составляющей, то есть по арту. Итак, средняя локация в MMORPG-игре. Чтобы наполнить её жизнью, нам понадобятся ( по минимуму ):

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

2) минимальный набор предметов экипировки для них - 5-6 предметов

3) 3-4 вида врагов с соответствующими анимациями

4) 5-6 видов NPC ( + анимация )

5) 5-10 зданий для создания города и отдельных "точек интереса" в пределах локации

6) мелкие элементы наполнения игрового мира, так называемые "properties", props, пропсы - бочки, заборы, телеги, ящики, дорожные указатели и т.д. - предположим, что нужно штук 15-20 различных мелких объектов такого рода

7) элементы ландшафта и природы - деревья, камни, трава, кусты. Допустим, 3-4 вида деревьев, столько же вариаций трав, 2-3 кустарника, 4-5 видов камней.

8) хотя бы 2 условных подземелья в пределах локации для квестов - скажем, рудник и некие древние руины

9) музыкальный трек для звукового сопровождения

10) звуковые эффекты для озвучивания игрового процесса

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

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

1) Создание качественной модели игрового персонажа в среднем занимает 10 часов. Два персонажа - 20 часов. Одна анимация - 4 часа. На двоих получается ещё 40 часов. Итого - 60 часов на двух персонажей.

2) Предметы экипировки. Пусть будет по 4 часа на каждый с учётом текстурирования. +50 часов для двоих персонажей.

3) 4 вида врагов. 40 часов на моделирование+текстурирование, по 10 часов на создание анимаций для каждого - итого 80 часов на врагов.

4) 6 NPC - 60 часов. По 6 часов на анимацию каждому - выходим на ~100 часов.

5) 5-10 зданий. Возьмём 7. Домик, думаю, также часов за 10 вполне можно сделать. 70 часов.

6) 15 мелких объектов - пусть будет по 2 часа на каждый, итого ещё 30 часов.

7) Природа - возьмём 12 элементов, по 4 часа в среднем на каждый. Итого 50 часов.

8) Рудник + руины = ~ 100 часов в сумме.

9-10) Будем надеяться, что звук к игре удастся сделать за 30 часов.

Итого получается 570 человеко-часов только на то, что приведено в списке. Или 23 дня круглосуточной работы, или 71 день работы по 8 часов в день.

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

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

Во-первых, 180 человеко-дней отнюдь не равны календарным дням, т.к. 1 человеко-день ( или вернее сказать - рабочий человеко-день ) равен 8 часам работы в течение календарного дня. Иными словами, чтобы перевести это число в календарные дни, необходимо выполнение сразу двух условий: а) чтобы человек был профессиональным разработчиком ( т.е. работал только над этим проектом каждый день ) и б) чтобы он работал без выходных.

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

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

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

Эти 16 месяцев можно смело умножать на 2, а то и на 3 - и только так можно получить примерную, более-менее адекватную оценку  того, сколько же всё-таки времени займёт разработка такой игры. Вообще это очень правильный ход - умножать свои расчёты времени минимум на 2. Если вы думаете, что создание игры займёт у вас месяц - смело рассчитывайте на два. И чем сложнее проект - тем больше коэффициент умножения. В IT известно множество случаев, когда расчёты времени оказывались неверными на порядок, то есть в 10 или более раз!

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

Надеюсь, мне удалось наглядно показать, почему же подавляющее большинство любительских MMORPG-проектов изначально обречено на неудачу - это банальная нехватка необходимых ресурсов. Подобный же расчёт можно провести и для любого другого жанра игр, требующего большого количества контента и объёма выполняемых работ - например, "убийца GTA" потребует от своего создателя ничуть не меньше времени, чем средняя MMORPG, а возможно даже и больше.

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

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

Оригинал: Создание MMORPG - стоит ли? Расчёт времени разработки

#art, #MMORPG, #project, #resources

25 марта 2011 (Обновление: 28 мар 2011)