Эта статья посвящена тем, кто хочет в будущем стать настоящим профессионалом игростроя в области CryENGINE. Также, эта статья поможет с самоопределением для тех людей, которые уже считают себя профи. Чтобы безосновательно не называть себя адептом CryENGINE, у вас будет шанс свериться со всеми этапами становления профессионала, и определиться, на каком этапе изучения CryENGINE сейчас находитесь вы.
Статья также очень важна для тех, кто только начал изучение движка, и после 2-3 месяцев работы полагает, что ему известно уже всё, что только можно узнать про движок, и будет под силу сделать некоторые сложные вещи, для создания которых требуется многолетний опыт и обширные знания в игрострое. Итак, приступим.
Введение - для школьников всех возрастов. Ломаем стереотипы.
Детское и юношеское творчество - это всегда очень хорошо и похвально. В наше время мало кто всерьёз интересуется информатикой и "компьютерными науками" до момента поступления в соответствующие вузы. Соответственно, редко кто увлекается такими вещами, как программирование, скриптинг, моделирование и т.д. Что толку даже говорить об увлечении созданием компьютерных игр. Школьники склонны играть в игры, но не создавать их. Увлечение игростроем выделяет последователей на фоне своих одноклассников. Однако стоит учесть, что быть круче своих не сильно далёких одноклассников - ещё не значит быть богом игростроя. Амбиции и манию величия следует заменить упорным трудом.
Главная ошибка рядового школьника в том, что слегка разобравшись в редакторе уровней и слегка переименовав стандартный HUD, он начинает мнить себя супер-профи и объявляет о наборе в команду для создания MMORPG.
Таких обычно называют "школотой". Школота - это не возраст, это диагноз.
Может случиться и так, что твоё поведение точь-в-точь подходит под это описание. А может быть и нет. В любом случае, советую запастись терпением и усвоить для себя главное правило:
-Не тягайся с титанами силой.
Тебе ни за что не сделать MMORPG. Хороший (или плохой) римейк сталкиря, номер 9999, у тебя тоже не получится. Никому не нужен супер-мего-проэкт,
"где можно грабить корованы" каких ещё свет не видывал. Твои супер-новые и уникальные идеи тоже никому не нужны. Но почему? Причина проста: у тебя нет никакого опыта, ты не имеешь ни малейшего представления о том труде и тех материальных затратах, которые нужны для создания хоть какой-то игры. Ты даже красивую карту сделать не сможешь. На MMORPG нужны миллионы долларов, огромная команда и годы работы. Римейк сталкира просто сам по себе уже является баяном, и за поднятие этой темы тебя будут публично линчевать (благодаря сотням "проэктов" на CryEngine 2, использовавшим рипнутые модели из игры). А новых, "уникальных" и "инновационных" идей - полным полно у каждого, причём своих.
Я очень редко наблюдаю у доморощенных игростроителей какого-либо правильного подхода и изучению игростроя и игрового движка. Вместо этого большинство самопровозглашённых вундеркиндов старается привлечь к себе как можно больше внимания, называют себя профи, и объявляют о наборе в команду. Реакция общественности предсказуема. Люди смеются над такими, просто дичайше угорают. Так что бросай школоло-выходки, они хорошей репутации не делают. Также советую закрыть насовсем и забыть все сайты на юкозе и группы в контактике про "супер-пупер-мего-проэкт-школодьюти-отдыхает-в-сторонке" и "тот самый сталкирь". Если ты думаешь, что если создать группу в контакте и ссылку на форуме, то сразу набежит народ и будет помогать - ты глубоко ошибаешься. Хорошие проекты полагаются на социальные сети только для пиара, но об этом позже. И стоит также добавить, что "сталкер" привлекает людей своей иллюзорной простотой - на деле же, создать такую игру крайне тяжело.
В общем, надеюсь, одно мы усвоили:
супер-проэкты - это не для тебя. Я посоветую то, с чего ты можешь начать свою будущую карьеру в игрострое. Это долгий и упорный труд, требующий максимальной отдачи.
Правильный подход
Тебе следует начать с простого. Если ты хотя бы прочитаешь мануал по первому CryENGINE, это уже будет большим плюсом. Ведь я и сам начал заниматься программированием, веб-дизайном и модостроением очень-очень рано. Но в силу своего характера, я привык подходить к каждому вопросу основательно и с толком. В игрострое я никогда не замахивался на великое, и всегда учился в первую очередь для себя. Того же посоветую и тебе. Самое главное - учись, дружище, учись, и ещё раз учись.
В первую очередь учи матчасть, учи теорию, ибо правильный фундамент для практических изысканий - залог успеха в понимании вещей. Разбирайся основательно во всём. Не стесняйся задавать вопросы на форуме, однако помни: всегда лучше стараться разобраться в вопросе самому, чем искать уже готовое решение. Несколько часов (или дней) самостоятельного исследования предмета дадут тебе гораздо больше пользы, чем ты получишь от чтения готовых решений. В крайнем случае, форум всегда остаётся как запасной вариант.
Основы основ - левелдизайн
Начни с изучения основ дизайна уровней, осваивай простые вещи: как сделать красивое окружение, как работать с солидами, как конструировать из объектов грамотное реалистичное окружение. Сделай себе тестовый уровень, создай на нём красивый ландшафт, настрой текстуры и слои, настрой Time of Day, работай с растительностью, солидами, дорогами. Освой редактор материалов, это тоже очень важно. Ты должен долго и тщательно пытаться и пробовать всё самостоятельно. Важно изучать всё на собственных ошибках, анализируя разные подходы к решению проблемы. Вообще, хорошей тренировкой левелдизайна создание композиции по фотографии. Если ты освоишь азы дизайна уровней, то уже сможешь приступать и к более сложным вещам. Для тебя далее последует работа с объектами, кат сцены, настройка искусственного интеллекта, освещения, звука и музыки, оптимизация уровня и т.д. Это базовая часть редактора Sandbox.
Продвинутый функционал - геймплей
Если ты пройдёшь всё это и действительно научишься делать всё грамотно - создавать красивое окружение, то можно будет осваивать расширенный функционал, отвечающий уже за геймплей и интерактивность. Например, визуальное программирование событий с помощью FlowGraph. Освоить флоуграф, не имея ни малейшего понятия о языках программирования, практически невозможно. Хотя даже знание языков не прольёт свет на FlowGraph. Здесь важно уметь выстраивать логические цепочки, ведь это визуальный язык. Начни осваивать ноды, и то, что они делают. Знание английского в помощь - название нода и категории, уже на 80% раскрывает его суть. Осваивай по порядку, ставь ноды и тренируйся. Хочешь стать мастером FlowGraph? Придётся убивать на это сутки напролёт в течение долгих месяцев, а иначе никак. Далее. Естественно, здесь подразумевается, что ты уже будешь знать устройство движка, принцип его работы с файлами ресурсов, основные каталоги и настройки. Начинай осваивать скриптинг. Начни с простого - XML файлы оружия, баллистики, аксессуаров. Позже приступай к транспортной технике. Если ты освоишь всё, что требуется для создания нескольких качественных уровней, идущих последовательно, сможешь создавать своё оружие, менять параметры оружия и техники, то половина дела уже в шляпе. Начинай осваивать флоуграф для нестандартных задач (выходящих за рамки включения миссии, управления ИИ и переключения уровней). Почитай статью о продвинутом флоуграфе, посмотри системы, которые можно с помощью него создать. Если у тебя будет получаться конструировать сложные и рациональные системы на флоуграфе (более 1.000 нодов), можешь считать, что флоуграф освоен.
Прикладные функции движка - скриптинг и кодинг
Когда ты освоишь должность дизайнера уровней, и захочешь сделать нечто большее, нежели просто острова с речками и пещерами, системами на флоуграфе и своим оружием со стандартными модельками, можно будет приступать к освоению продвинутого геймдизайна на CryENGINE. К этому также относится создание игрового (HUD) и пользовательского (UI) интерфейсов. Придётся осваивать Flash и ActionScript, понадобятся накопленные по флоуграфу знания. Далее базовый скриптинг сущностей на языке LUA. Здесь пригодится опыт изучения языков программирования. Создание собственных ресурсов для игры - моделирование статической геометрии, персонажей, оружия и техники в 3DS MAX (это весьма важно, но в принципе можно пропустить).
Базовое изменение настроек и кода на уровне C++ - умение менять зашитые в движок параметры для тонкой настройки геймплея, умение пользоваться примерами существующего кода для реализации несложных новых возможностей. Этого будет достаточно для создания прототипа своей будущей игры, для реализации задуманных идей. И уже можно будет понемногу задумываться о собственном небольшом проекте, и о том, чтобы найти единомышленников. Когда ты удовлетворишь потребности в базовом наборе функций и ресурсов для проекта, рано или поздно придётся задуматься о кардинально новом уровне решения задач. Для этого существует следующий этап эволюции геймдизайнера, позволяющий решать все мыслимые и немыслимые задачи на уровне кода.
Продвинутая прикладная разработка - собственные игровые системы
Если за плечами есть опыт дизайнера уровней, флоуграфера, скриптера, и при наличии опыта в программировании, можно взяться за изучение кода движка и реализацию продвинутых возможностей для своей игры. Опять же, для этого понадобятся очень обширные знания, огромный опыт, хорошая подготовка, желание и очень много свободного времени. Можно начать с разбора файлов из C++ исходников движка, пробовать реализовать самые рискованные и смелые идеи. В итоге, через пару лет, это даст глубокое понимание работы игровой части движка, умение создавать свои системы для игры, умение создавать продвинутые пользовательские интерфейсы (RPG инвентарь тому пример), умение работать с сетевой частью. Верхом совершенства может стать создание собственных игровых сущностей и классов, использующих комбинацию C++ и скриптов, собственных игровых правил для сетевой игры. После этого станет возможно создание абсолютно любой системы, преобразование стандартного дистрибутива движка в игру любого жанра, начиная от Action FPS, и заканчивая внедрением систем RPG, RTS или квестовых жанров. У тебя будет возможность раскрыть себя полностью, раскрыть все потенциалы движка по собственному желанию. Превратить движок в машину желаний.
Что в итоге?
После прохождения всех этапов становления, когда пройдены все возможные испытания, можно с уверенностью называться профессионалом в CryENGINE. Хотя, опять же, профессионалом среди любителей. Ты станешь мастером на все руки, универсальным
солдатом специалистом с области CryENGINE, с огромным опытом, который сложно недооценить. Но и это ещё не гарантирует абсолютный успех. Как ни говори, но чтобы называться профессионалом игростроя - нужно, чтобы игрострой стал твоей профессией. Это подразумевает занятие не просто на любительском уровне, но как раз то самое, о чём говорилось, когда ты только начал читать эту статью:
создание хорошей игры.
Эта статья не является завершающей. Ведь осталось затронуть такие моменты игростроя, как подготовка, организация, планирование, создание команды, грамотное ведение проекта и команды, раскрутка проекта (PR), получение лицензии и коммерциализация. А об этом я напишу в следующей статье.
Большое спасибо за внимание! Следите за новостями и оставайтесь с нами
Статья написана специально для CRYMOD.NET. Копирование, полное или частичное, разрешено только с позволения автора статьи.
Баннер подготовил Saha.