GameDev: с чего начать разработку игр?
Каждый второй разработчик задумывается о создании игры. Из любопытства, ради заработка или саморазвития. Начните сегодня! А наша статья поможет сориентироваться. Приступим.
Разработка игр за последние десятилетия превратилась в полноценную индустрию и сильно видоизменилась. Раньше программисты не знали, с чего начать, из-за отсутствия информации и ресурсов, теперь – из-за избытка. Зарубежные вузы начали открывать соответствующие специальности и курсы. Так что, если хотите разрабатывать новые игровые движки, учите английский и ищите свою программу тут или тут. Однако индустрия меняется такими темпами, что практические навыки могут дважды устареть за время учёбы. Желающим изучить разработку движков самостоятельно помогут наши статьи: учебный план по освоению gamedev или 12 этапов изучения геймдева. Если идея собственной игры уже созрела – начинайте прямо сейчас.
Необходимый минимум
Несмотря на то, что теперь расчетом игровой физики занимаются движки, GameDev – всё еще суровое место. Для успеха теперь требуются не столько технические навыки, сколько упорство и креативность. Вам придется решать сложные задачи использую только свою голову. Даже домохозяйка сможет работать с конструкторами вроде GameMaker или Construct 2. В первом супер простой скриптовый язык, во втором вовсе нет кода. Некоторые из таких игр даже добиваются успеха в Стим, все упирается в идею.
Путь конструкторов ограничен в вариациях и позволяет делать только маленькие игры. Для чего-то посерьезней придется начать с программирования. Например, пройдите курс по алгоритмам и структурам данных на C# и выбирайте Unity
Первые шаги
Стартуйте с малого. Рекомендуется первую игру делать уровня Pong-game или Flappy Bird, затем что-то уровня Марио. С гайдами это не займет много времени. Для старта движок неважен. Выбирайте, опираясь на языки, которыми владеете. Я бы рекомендовал брать самый трудный. Эти проекты достаточно малы, чтобы написать их самому даже на С++ и понять основные элементы и паттерны. Если доведёте эти два проекта до победного конца и не потеряете желание продолжать – добро пожаловать в GameDev.
Команда
Готовьтесь 90% работы на первых проектах делать самостоятельно. Для саморазвития этого хватит. А если хотите зарабатывать деньги на постоянной основе – нужна команда. Один человек не сможет хорошо реализовать код, тестирование, игровую идею, арты, музыку, сюжет и продвижение, – что-то обязательно провалится. Отчаиваться не стоит. Заниматься играми хотят не только программисты. Постоянно ищите помощь на тематических форумах типа BuildBox или TIG, есть сообщества на пикабу и реддите, даже довольно крупный сервер в discord.
Выбор движка
Закончив с ремейком Марио, беритесь за игру мечты. Сначала четко сформулируйте идею в текстовом виде, пропишите геймплей и сюжет. Если хорошо рисуете – сделайте концепты. Старайтесь всегда видеть финальную точку. Это важней, чем кажется. Иногда неделями не будет заметного прогресса в работе. План может поменяться десяток раз, это нормально, но цель должна быть четко сформулирована.
Разобравшись с финальной идеей, приступайте к движку. Хорошим универсальным выбором будет Unity. Для опытных программистов, незаинтересованных в мобильных платформах, подойдет Unreal Engine. Оба движка используются в профессиональной индустрии, бесплатны для стартапов и имеют большое количество бесплатных ассетов. Как бонус, добившись приличного уровня мастерства, будете претендовать на работу в студиях. Ваша идея может не выстрелить, и запасной вариант не помешает.
Хороших движков десятки. Если вам ближе другой, из-за языка или IDE, смело выбирайте его. Единственно верного пути нет.
Небольшой список движков для начинающих:
- SFML или Blender – С++.
- Unity – С#. В версиях до 2017.1 можно использовать диалект JavaScript, сейчас язык не поддерживается движком.
- LIBgdx – Java.
- pixijs – JavaScript.
- Pygame – Python.
Графика и музыкальное оформление
Важный пункт, о котором забывают молодые разработчики. Еще недавно это был камень преткновения, но рост инди сектора создал огромный рынок. Посмотрите список бесплатных или дешевых ресурсов в магазинах Unity и Unreal Engine, это поможет сориентироваться и вдохновиться. Если вы выбрали другой движок, уверяю вас, запрос в Google “free assets for <ваш движок>” выдаст результат. Есть и универсальные библиотеки, типа cubebrush или sketchfab.
Для амбициозного проекта все это не заменит графического дизайнера, но небольшую игру собрать позволит.
С аудио ситуация похожа. Вот отличные сервисы с игровыми звуками opengame, musopen. Для фоновой музыки отлично подойдут bensound или incompetech. Золотой жилой может оказаться soundcloud, но навигации нет, придется переслушать горы хлама.
Продвижение
Стим уже перегружен инди играми, без маркетингового продвижения в нём затеряется даже крутая идея. Хорошим вариантом может стать выходи на молодые платформы типа Discord Store, но лучше начать искать инвестора. Даже с наличием готовой игры на руках, это трудная задача, но выполнимая. В мире социальных сетей можно обойтись достаточно скромными бюджетами на рекламу.
Заключение
Старайтесь не оставаться в одиночку, даже если команду найти не получается. Перегореть можно в два счета. Ищите единомышленников хотя бы для общения. И помните, что навыки GameDev сами по себе отличный скилл и пригодятся в создании любых программ. Время не будет потрачено впустую.