Разберемся на чем основаны эти цифры
Маленькая игра требует одного или двух программистов. Вы даже можете написать код самостоятельно или нанять фрилансера. Учтите, что чем крупнее игра, тем больше требуется рабочей силы.
То же самое и с игровым дизайном. Если игра достаточно мала, заказчик, программист и руководитель проекта на словах обсуждают игровую механику, уровни и особенности. По мере того, как игра набирает обороты, вам понадобится соответствующая документация, специальный дизайнер игры и многое другое, чтобы вся команда была на одной странице.
Разработка инструментов с нуля
Простую игру, например визуальную новеллу, можно создать на готовом движке. Однако для других игр вам придется либо сильно модифицировать существующий движок, либо даже написать свой собственный движок с нуля.
Небольшой проект можно сделать за два-три месяца. Однако при небольшом увеличении сложности сроки продлеваются до года и больше.
Интеграция одного плагина для мобильной платформы может занять 10–30 минут. С другой стороны, соединение 3 плагинов вместе может занять целый день или даже несколько дней. Иногда плагины несовместимы, и потребуется много времени, чтобы это преодолеть.
Плагины – это небольшие программные коды, дополняющие функционал основного приложения
Следующим примером экспоненциального увеличения сроков разработки с линейным увеличением сложности является графика.
По мере роста размера графики возникает необходимость его сжатия и оптимизации. То же самое и с качеством. Если нам нужна графика идеального качества, мы должны использовать сложные методы оптимизации (как для размера, так и для производительности) на целевой платформе. Это занимает больше времени, чем при использовании оптимизированных подходов.
Для базовой функциональности мы используем простые сервера или заготовленые (PhotonNetwork, GameSpark и т. д.)
Но если вам нужен большой и функциональный сервер, то придётся управлять своим собственным сервером и обеспечивать его масштабируемость и стабильность.
Больше кода, больше усилий, больше программистов.
Чем больше кода вы напишете, тем больше его сложность. Написание функционала размера X может занять K часов в первые шесть месяцев разработки.
После года разработки новый функционал с таким же размером X может занимать уже 8K часов. Это происходит потому, что, когда проект становится больше, требуется больше времени для его поддержки. Системы аналитики, сборки, тестирования и оптимизации. Всё это нужно учитывать при дальнейших изменениях.
Система обеспечения качества
Мы можем скомпилировать, запустить и протестировать небольшой проект вручную. По мере роста проекта растет сложность и важность инфраструктуры тестирования. Нам нужно создавать системы, которые упрощают развертывание сервера, приложения или веб-сайта. Необходимое автоматическое тестирование увеличивает сложность и стоимость.
Больше платформ, больше сложностей
Чтобы продукт появился на большем числе платформ, для этого необходимо оптимизировать ваш продукт под эти платформы, хоть и некоторые игровые движки являются кроссплатформенными, все равно нужно проверять чтобы продукт отвечал всем критериям качества на всех платформах. Иногда вам нужно поддерживать единую базу кода и вносить изменения в старый код, не связанный напрямую с новой платформой, чтобы все это работало должным образом.