Любые названные сроки могут быть нарушены. Здесь я выступаю не как эксперт, а как лицо с частным мнением, основанным на частном опыте.
Перед тем, как начать писать игру, очень важно прикинуть, сколько времени на неё уйдёт. Ведь в конце концов всех, и вас тоже, интересует законченная игра, а не игра, которая делается, особенно если она делается только на словах.
Я могу сразу дать ответ – при условии, что вы уже умеете программировать, простая игра типа Тетриса, Змейки, 2048, цветных шариков займет от 1 дня до недели. Но наверное, это и так понятно. Интереснее рассмотреть прямо игры-игры, где есть какая-то графика, какие-то герои, какой-то сюжет, какие-то локации и уровни.
И опять я могу сразу дать ответ – в среднем на игру уйдёт полгода. Если игра попроще – то самый минимум это один месяц. Если посложнее – то до двух лет. А если больше? А если больше, то вам, скорее всего, надоест делать эту игру и вы её просто забросите.
Просто представьте себя сейчас и себя через два года. У вас вырастет воооот такая борода, родятся дети, и вообще многое в жизни изменится. Поэтому когда прикидываете сроки, старайтесь сокращать объем работ, где только можно, и не забывайте смотреть на себя не только прямо сейчас, но и через призму времени, как в фильме Прибытие.
Теперь обосную сроки более детально.
Было бы неверным сказать, что игры "пишутся". Написание кода – это лишь часть большой работы, которая может быть как приятной и творческой, так и совершенно скучной и даже ненавистной. И в этом как раз проблема. Скучное делать очень не хочется, но надо.
Не каждая игра обязана иметь и сюжет с диалогами, и графику, и музыку, и 3D. Но всё же, кроме кода бывает нужно:
- Спроектировать пользовательский интерфейс
- Нарисовать 2D-графику или сделать 3D-модели (для моделей всё равно придётся нарисовать концепт-арт)
- Придумать и сделать дизайн уровней
- Придумать сюжет и/или диалоги, если применимо
- Записать музыку и звуковые эффекты
- Разработать сопутствующие инструменты, которые не относятся напрямую к игре (менеджер ресурсов, редактор уровней, конвертер форматов и т.д.)
- И наконец – ПРОТЕСТИРОВАТЬ ВСЁ и исправить ошибки
Иначе говоря, вы будете в одиночку работать за целую команду – писателя, технического писателя, специалиста по интерфейсам, арт-директора, дизайнера персонажей, дизайнера уровней, 3D-моделлера, аниматора, композитора, программиста и тестировщика.
Если вы планируете использовать 3D-модели, то создание одной анимированной и текстурированной модели занимает от недели до месяца.
Сочинение одного музыкального трека требует от недели до месяца. Что, и музыку самому писать? Почему бы и нет, я и про это расскажу со временем.
2D-графика не такая трудоёмкая, как 3D. Но в зависимости от техники исполнения может потребовать до недели на персонажа или на набор плиток для уровня. Кроме того, чтобы изменить, скажем, ракурс 3D-модели, достаточно переставить камеру, а 2D-графику придётся полностью перерисовать.
Постройка уровней – зависит от характера игры и редактора, но не менее чем один день на уровень. Не забывайте, что уровень мало построить. Его ещё нужно досконально проверить, играя на нём десятки и сотни раз, и внося исправления, пока всё не станет играться хорошо. Этот процесс тоже может занимать недели.
Непосредственно программирование игры – от месяца до полугода.
Программирование вспомогательных инструментов – от недели до месяца.
Даже если забыть про код, объём работ уже исчисляется месяцами.
Для начала задайте себе вопросы: что я умею делать? Что я не умею делать? Чему могу научиться? Без чего могу обойтись? Кроме того, если вам чего-то не хватает, вы можете поискать это на бесплатных ресурсах или даже заказать за деньги.
Если что-то не складывается, то ничего страшного. Игра не обязана быть большой, крутой, сложной, навороченной. Но она может быть просто хорошей, забавной, интересной. Вам нужно просто раскрыть её с подходящей стороны.
Как вы могли заметить, большинство инди-игр имеют довольно примитивную графику с закосом под ретро, и выезжают кто на стилизации, кто на геймплее.
Давайте примерно представим, как вы можете посчитать сроки. Допустим, вы решили сделать игру, где игрок ходит по изометрическим уровням и мочит монстров (типа как Дьябло). Допустим, там 90 уровней. А всего в игре разных монстров 10 штук. На самом деле больше, но вы просто возьмёте 10 и перекрасите в другой цвет, и получится 20. Уровни, допустим, простые – плоские площадки со стенками. Значит, вам нужно где-то по 2 дня на уровень (проектирование + тестирование), и по неделе на каждого монстра (либо 3д-модели, либо просто спрайты с 8 ракурсов плюс анимация, итого скажем 24 спрайта на монстра).
Итак, вы уже просто с пола подняли 6 месяцев на уровни и 2.5 месяца на монстров. Это не считая программирования, музыки, звуков, интерфейса и прочего. Короче говоря, по грубым прикидкам выходит человеко-год. И это очень оптимистичный прогноз. В реальности скорее всего окажется гораздо хуже.
Поэтому, если полученный срок вас плюс-минус устроил, то есть вы готовы потратить год своей жизни на невнятный неоплачиваемый труд, дальше вам нужно ещё раз посчитать сроки, но уже более точно. А для этого нужно начать описывать игру в подробностях. Это тоже очень важный момент. Как только вы перейдёте к подробностям, вылезет масса неизвестных ранее вещей. И мы обсудим их в следующей части про дизайн-документ.