Что нужно сдавать на разработчика игр. Как программировать игры: языки, движки и все, что нужно знать начинающему разработчику. Вот некоторые советы для прохождения этого шага

" itemprop="image">

Многие игроки в какой-то момент задаются вопросом «Как стать разработчиком игр?». Спрашивают что для этого нужно, нужен ли для этого какой-то особый талант или задаток, нужно ли было налегать на математику в школе и так далее. Рассказываю!

Привет, ребята!

Частые вопросы, который я получал от Вас: Что нужно, чтобы стать разработчиком игр? Как стать разработчиком игр? Что нужно изучить? С чего начать?

*Для тех, кто со мной не знаком вкратце: я , программирую геймплей в крупной игровой студии в Спб, интересуюсь .

Решил подробно ответить на такие ваши вопросы. Прежде всего, «разработчик игр» это не обязательно программист. Game developer (с англ. разработчик игр) — это общее название для многих профессий, которые занимаются разработкой игр. Это и геймдизайнеры, и артисты (от англ. Artists), и программисты, и менеджеры и тестировщики. И каждая из этих профессий, вы удивитесь, не является конечной специализацией разработчика.

Например, артисты — это и 3d-моделлеры, и художники, и аниматоры. Программисты — это и геймплей программисты, и графические программисты, и tool-программисты. И, как говорится, в детском стишке — все профессии нужны, все профессии — важны!

C чего начать?

Прежде всего: задумайтесь, когда вы представляете радужные перспективы работы-мечты, что именно вы бы хотели делать «разрабатывая игру»? Что именно вы думаете Вам больше всего понравится? Писать сценарий/сюжет? Рисовать персонажей? Планировать уровни?

Я просто предостерегаю: когда вы отождествляете «разработчик игр» и «программист игр» вы можете ошибиться. Выбрав не ту профессию, потратив месяцы или даже годы двигаясь не туда.

Почему именно программирование? Тебе кто-то сказал, что программистам платят большие деньги? Хорошим — платят. Как и в любой другой профессии в геймдеве. И моделлеры и художники, если они хорошие специалисты получают отличные зарплаты.

Как стать разработчиком игр быстро и непринужденно?

Ответ: Никак! Никакие курсы — тем более дрянные от geekbrains, или курсы от «разработчиков игр», которые сами не практикуют разработку, не могут обучить новичка с нуля ВООБЩЕ! И уж тем более — быстро.

Если ты смотришь курсы по Unity о том как сделать змейку, шутер и др. — ты не научишься ничему за рамками этого урока. А таких курсов — полный ютуб.

Так как же стать разработчиком игр?

Ответ: Упорной работой, усердием. Какую бы область/профессию ты бы не выбрал. Если ты еще в школе — отлично! Ты еще можешь выбрать нужную ветку развития в этой РПГ:) Выбери ВУЗ или колледж с соответствующей специальностью и готовься к поступлению.

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

А как же инди? Как сделать инди игру?

Да, это совсем другое. В отличие от промышленных разработчиков инди — это человек-оркестр. Он и программирует и рисует и тестирует. И, пусть тебя не смутит этот романтизм, еще он сам себе платит зарплату (или кушает роллтон, любимую вер-ми-шель) и очень-очень рискует.

Прочитав несколько книг, и посмотрев хорошие курсы:
— Попробуй разработать игру самостоятельно. Если все получится — пополни собственное портфолио, а через какое-то время попробуй переделать ее, сделать лучше. Показывай работодателям свой потенциал. Ключевым фактором во многих местах является именно опыт, а не диплом. И лучшей демонстрацией опыта — является портфолио. Так ты разорвешь цепочку: «Нужны работники только с опытом работы, а откуда его взять если везде нужен опыт?».

— Создавай моды к играм, спрашивай глупые вопросы в группах, касающихся создания игр, например, в нашей .

— Изучи какой-то бесплатный движок вроде Defold, Unity или GameMaker.

— Постарайтесь изучить основы как можно раньше.

— Попробуй устроиться в какую-то студию интерном. В некоторых игровых студиях есть возможность пройти обучающие курсы и стажировку после них.

— Постарайся переносить падения стоически! Бой проигран, а война еще впереди!

Интервью с разработчиками игр: яркие профессионалы, представители профессий

Распрашиваю коллег-представителей профессий (моделлеров, художников, тестеров, аниматоров) о том, что нужно изучать чтобы освоить предмет. Куда пойти учиться и так далее.

Как Вам такая идея? Ведь у меня в студии работают самые крутые представители своих профессий! А кого-то я могу выловить из бывших коллег, сейчас они работают в известнейших студиях: Nival, Wargaming, Saber.

Итак, с этим постом, я хочу начать новый виток интерактива с Вами, ребята и с моими крутейшими коллегами. О том как стать программистом игр я напишу сам, и вместе с этим,- вот список тем, которые мы можем вместе с Вами разобрать!

Профессии в геймдеве

Что нужно от Вас?

P.S.

Серьезно очень стараюсь найти тех, кто не против дать интервью и рассказать о профессии, подготовил много разных вопросов, попросил довольно много людей, но я понимаю — у всех занятость на 25/8.

До того как я стал разработчиком игр, я (да и все в моем окружении) считал себя дизайнером сайтов.
Не плохим, кстати, но дизайнером сайтов. Профессия, которая почти никак не используется в разработке игр.

Есть такой стереотип - когда кто-то говорит, что он в разрабытавает игры без команды, все сразу представляют его программистом. На самом деле, стереотип не так далек от правды: скорее всего, разработчик, описанный выше, действительно умеет программировать, но программистом он может себя не считать.

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

Шаг 0. Станьте разработчиком игр

Именно первый, а точнее даже “нулевой”, шаг сделает Вас сразу разработчиками игр. Это не проекты, которые, может, уже есть у Вас за плечами, не навыки, котороми Вы, может, владеете, а простой, но очень важный шаг: скажите себе, а заодно и всему миру, что вы разработчик игр. Как только у вас уляжется в голове ответ на вопрос, чем вы занимаетесь - разработкой игр, - вы сразу станете для себя и окружающих разработчиком игр.
Как это сказать себе и другим?
Уверен, что у вас уже есть какая-то профессия. Также я уверен, что Вы каждый день посещаете сайты/форумы, связанные с вашей профессией, читаете блоги и, может, даже книги.
Первое, что надо сделать, чтобы стать разработчиком игр:
  • Начать посещать сайты, связанные с тематикой игр и разработкой игр.
  • Подписаться на блоги разработчиков, творчество которых вам нравится.
  • Купить пару книг в “киндл” на амазоне, например, о игровом дизайне.

Все, вы разработчик игр . Действительно, элементарный шаг вам может дать доступ к столь “закрытой” профессии как разработчик игр. Правда, без опыта и регалий, но никто (ни вы, ни окружающие ) уже не оспорит, что вы разработчик игр.

Шаг 1. Найдите себе применение как разработчику игр

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

Слова “найти проект” для каждого разработчика игр значат разное, вот список популярных способов поиска проектов:

  • найти проект, близкий по духу, с интересной идеей, проинвестировать в него свои навыки и/или деньги, а, может, какие-то еще ресурсы;
  • взять пару игр и сделать из них микс;
  • сделать клон игры, что может принести хорошую прибыль;
  • придумать гениальную идею и попробовать найти энтузиастов;
  • сделать ремейк любимой игры;

    И множество других способов.

Выйти из состояния “поиска проекта” нужно как можно быстрее , и желательно выйти в состояние “делаю проект” и делать проект с шансами на успех: релиз и популярность.

Этот этап - первая проверка для начинающего разработчика. Сделать выбор при полном отстутствии опыта очень сложно, но, к счастью, любой выбор принесет нам опыт.

Вот некоторые советы для прохождения этого шага:

  1. Начните что-то свое . Свое от идеи до реализации в одиночку. Даже если у вас есть навыки программирования или вы сносно рисуете, - не вступайте в существующие проекты. Сделайте что-то небольшое, не требующее серьезных навыков.
    Например, я сделал маме подарок на НГ - 3д-игру по психологической методике:
    У меня не было опыта разработки на C# и программировать я особо не умел (немного знал python) и никогда до этого не моделил.
  2. Скажите себе кодовую фразу: “Если кто-то смог, я тоже смогу ”. Как бы вы ни были готовы к игровому проекту, всегда будет задача, с которой вы никогда не сталкивались. Например, даже у опытных программистов программного обеспечения, часто нет опыта создания шейдеров. Скажите себе кодовую фразу и учитесь по ходу .
  3. Найдите себе единомышлеников . Мне в моем развитии очень сильно помогли: скайп-чатик разработчиков социальных игр (теперь уже создатели: Голос Припяти 3D, Tanks Heroes, Contract Wars, Батла и многие другие) , а также одногруппники из Scream School по курсу гейм-дизайна . Их успех будет вас подталкивать, а обмен опытом ускорит процесс развития.
  4. Выберите себе платформу для разработки . Определите платформу, которая вас устраивает. Это может быть, например, Unity - за ее возможности, огромное комьюнити и сравнительно низкий порог входа. Вне зависимости от платформы, станьте ее евангелистом . Это позволит вам наладить коммуникацию с другими разработчиками и быстрее развиваться.
  5. Не давайте эмоциям взять вверх . Ошибки и неудачи станут вашими спутниками на длительный период, а если вы будете делиться процессом развития с русскоговорящими разработчиками, будьте готовы к тоннам говна большому количеству негативных отзывов. Не позволяйте эмоциям брать вверх: слушайте любые отзывы и предложения, но относитесь ко всему с необходимой критикой. Сохраняйте критичность ума .

Шаг 2. Помогите себе закончить хотя бы ОДИН проект!

Если вы закончили свой первый проект как разработчик игр, скорее всего, вы что-то делали не так. Даже эпилептоид не сможет закончить свой первый проект, а к первому релизу у него в архиве будет пара-тройка (минимум) замороженных проектов. Это нормально . Мы учимся на своих ошибках, а не совершают их только идиоты или те, кто ничего не делают.
Но в какой-то момент нужно будет собрать весь свой опыт, полученный из проб и ошибок, и, наконец, сделать свой первый релиз .
У каждого разработчика своя история первого релиза, но у меня есть пару советов, которые обязательно вам помогут:
  1. Вгоните себя в экстремальные условия , а выходом из них сделайте релиз. Поставьте себе реальный, но очень сжатый срок на релиз, например, 48 часов или неделю, но спать будете по 4 часа в день. Это даст сильный толчок, заставит оптимально использовать время и сфокусироваться на результате.
    • Сжатые сроки
      Сжимая сроки, не оставляйте себе время на риск. Сжимайте до последнего, пример с 48 часами - хороший.
    • Отсутствие сна
      Полное или почти полное отсутствие сна хороший мотиватор, но не доходите до крайностей. Практика показывает, что даже молодому организму надо давать отдых.
    • Менеджмент времени
      Не стоит выделять много времени на тайм-менеджмент, но не забывайте ставить себе вехи (milestone). Например, скажите себе, что через 5 часов вам надо сделать играбельный прототип.
      Например, в своем первом 48 часовом марафоне (на нем я только рисовал) , я за первую треть времени нашел стиль игры, нарисовал основной, игровой экран и все спрайты врагов. И за оставшееся время сделал 170+ спрайтов анимации и дорисовал интерфейс.
    • Конкурсы , особенно мероприятия, типа, HackDays или Ludum Dare, где нет времени на раздумья и надо сразу бросаться в работу, - отличное подспорье для пунктов выше.
  2. Поставьте себе рамки . Для первого релиза, особено в сжатые сроки, критически необходимо знать рамки проекта. Выпишите себе минимум, что нужен для релиза, и не выходите из него. По необходимости:
    • Урежьте список возможностей
      Было бы здорово сделать возможность летать на самолетах, но если вы делаете шутер про пехоту, сфокусируйтесь на стрельбе.
    • Сократите время игры
      Вероятно, вы рассчитывали сделать синглплеер на 5 часов игры, но вы останетесь победителем с демкой на 20 минут.
    • Уберите часть контента
      Конечно, дополнительная карта не будет лишней для вашего тактического шутера, но релиз останется релизом даже с одной картой.
  3. Ищите простые пути . Напоминайте себе, что вам необходим релиз, а не шедевр . У вас остается право на ошибку, но вы потеряли право на заморозку проекта.
    • Используйте костыли и хардкод
      Не стоит фокусироваться на универсальности или производительности кода. Оптимизация тоже подождет. Просто идите к результату.
    • Копируйте, а не придумывайте
      Если с ответом на любой вставший перед вами вопрос возникают трудности, копируйте решение коллег.
    • Используйте опыт на 150%
      Учет сделаных ошибок - это, несомненно, хорошо, но пока вы их совершали, вы собрали багаж наработок. Постарайтесь использовать из него что-то.
    • Подключите все ресурсы
      Если у вас есть друзья, готовые помочь, не отказывайтесь, а если у вас есть денежный ресурс - вкладывайте (покупайте готовые решения, контент и рабочие руки). Ваши вложения окупятся в дальнейшем.

Шаг 3. Сделать полноценный релиз

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

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

  1. Делайте проект каждый день . У всех начинающих инди есть занятия, с которыми приходится совмещать разработку. Но не забывайте добавлять хотя бы одну строчку кода или новый спрайт в игру каждый божий день. Это очень важно, это пункт номер 1.
  2. Ставьте себе небольшие задачи и старайтесь выполнять их каждый день. Долго открытая задача, например: “разработать систему инвентаря”, может быстро превратиться в “висяк” с очень низким приоритетом. Поставьте задачу “Интерфейс основного окна инвентаря” и закройте в этот же день, а затем радуйтесь прогрессу.
  3. Два шага вперед, один в сторону . Какой бы разнообразной вы ни планировали игру, не стоит делать сразу 50 типов врагов и тысячи уровней. Сфокусируйтесь на реализации возможностей игрока, а не способах их проявлений. Делаете слешэр? - Реализуйте возможность рубить врага, а врагов клонируйте.
  4. Прототипируйте . Когда вы сфокусированы на настоящем релизе, необходимо отдавать себе отчет, что игра должна быть хорошей . Проверить это можно, прототипируя.
  5. Вы делаете игру . Не стоит делать из своей игры движок или фреймворк. Нет, я не про чистоту кода или возможность его переиспользовать. Работайте хорошо, и результат будет хороший. Не стоит реализовывать возможности до того, как поймете, что они действительно необходимы вашей игре . Например, если вы не уверены, что будет возможность менять цвет одежды героя, не стоит рисовать маску для смены цвета в шейдере. Убедитесь, что ваш дизайн подразумевает наличие предметов перед тем, как создать класс Item.
  6. И главное… Не бойтесь вернуться на шаг 2 . Возможно, еще не время для настоящего релиза.

До того как я стал разработчиком игр, я (да и все в моем окружении) считал себя дизайнером сайтов.
Не плохим, кстати, но дизайнером сайтов. Профессия, которая почти никак не используется в разработке игр.

Есть такой стереотип - когда кто-то говорит, что он в разрабытавает игры без команды, все сразу представляют его программистом. На самом деле, стереотип не так далек от правды: скорее всего, разработчик, описанный выше, действительно умеет программировать, но программистом он может себя не считать.

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

Шаг 0. Станьте разработчиком игр

Именно первый, а точнее даже “нулевой”, шаг сделает Вас сразу разработчиками игр. Это не проекты, которые, может, уже есть у Вас за плечами, не навыки, котороми Вы, может, владеете, а простой, но очень важный шаг: скажите себе, а заодно и всему миру, что вы разработчик игр. Как только у вас уляжется в голове ответ на вопрос, чем вы занимаетесь - разработкой игр, - вы сразу станете для себя и окружающих разработчиком игр.
Как это сказать себе и другим?
Уверен, что у вас уже есть какая-то профессия. Также я уверен, что Вы каждый день посещаете сайты/форумы, связанные с вашей профессией, читаете блоги и, может, даже книги.
Первое, что надо сделать, чтобы стать разработчиком игр:
  • Начать посещать сайты, связанные с тематикой игр и разработкой игр.
  • Подписаться на блоги разработчиков, творчество которых вам нравится.
  • Купить пару книг в “киндл” на амазоне, например, о игровом дизайне.

Все, вы разработчик игр . Действительно, элементарный шаг вам может дать доступ к столь “закрытой” профессии как разработчик игр. Правда, без опыта и регалий, но никто (ни вы, ни окружающие ) уже не оспорит, что вы разработчик игр.

Шаг 1. Найдите себе применение как разработчику игр

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

Слова “найти проект” для каждого разработчика игр значат разное, вот список популярных способов поиска проектов:

  • найти проект, близкий по духу, с интересной идеей, проинвестировать в него свои навыки и/или деньги, а, может, какие-то еще ресурсы;
  • взять пару игр и сделать из них микс;
  • сделать клон игры, что может принести хорошую прибыль;
  • придумать гениальную идею и попробовать найти энтузиастов;
  • сделать ремейк любимой игры;

    И множество других способов.

Выйти из состояния “поиска проекта” нужно как можно быстрее , и желательно выйти в состояние “делаю проект” и делать проект с шансами на успех: релиз и популярность.

Этот этап - первая проверка для начинающего разработчика. Сделать выбор при полном отстутствии опыта очень сложно, но, к счастью, любой выбор принесет нам опыт.

Вот некоторые советы для прохождения этого шага:

  1. Начните что-то свое . Свое от идеи до реализации в одиночку. Даже если у вас есть навыки программирования или вы сносно рисуете, - не вступайте в существующие проекты. Сделайте что-то небольшое, не требующее серьезных навыков.
    Например, я сделал маме подарок на НГ - 3д-игру по психологической методике:
    У меня не было опыта разработки на C# и программировать я особо не умел (немного знал python) и никогда до этого не моделил.
  2. Скажите себе кодовую фразу: “Если кто-то смог, я тоже смогу ”. Как бы вы ни были готовы к игровому проекту, всегда будет задача, с которой вы никогда не сталкивались. Например, даже у опытных программистов программного обеспечения, часто нет опыта создания шейдеров. Скажите себе кодовую фразу и учитесь по ходу .
  3. Найдите себе единомышлеников . Мне в моем развитии очень сильно помогли: скайп-чатик разработчиков социальных игр (теперь уже создатели: Голос Припяти 3D, Tanks Heroes, Contract Wars, Батла и многие другие) , а также одногруппники из Scream School по курсу гейм-дизайна . Их успех будет вас подталкивать, а обмен опытом ускорит процесс развития.
  4. Выберите себе платформу для разработки . Определите платформу, которая вас устраивает. Это может быть, например, Unity - за ее возможности, огромное комьюнити и сравнительно низкий порог входа. Вне зависимости от платформы, станьте ее евангелистом . Это позволит вам наладить коммуникацию с другими разработчиками и быстрее развиваться.
  5. Не давайте эмоциям взять вверх . Ошибки и неудачи станут вашими спутниками на длительный период, а если вы будете делиться процессом развития с русскоговорящими разработчиками, будьте готовы к тоннам говна большому количеству негативных отзывов. Не позволяйте эмоциям брать вверх: слушайте любые отзывы и предложения, но относитесь ко всему с необходимой критикой. Сохраняйте критичность ума .

Шаг 2. Помогите себе закончить хотя бы ОДИН проект!

Если вы закончили свой первый проект как разработчик игр, скорее всего, вы что-то делали не так. Даже эпилептоид не сможет закончить свой первый проект, а к первому релизу у него в архиве будет пара-тройка (минимум) замороженных проектов. Это нормально . Мы учимся на своих ошибках, а не совершают их только идиоты или те, кто ничего не делают.
Но в какой-то момент нужно будет собрать весь свой опыт, полученный из проб и ошибок, и, наконец, сделать свой первый релиз .
У каждого разработчика своя история первого релиза, но у меня есть пару советов, которые обязательно вам помогут:
  1. Вгоните себя в экстремальные условия , а выходом из них сделайте релиз. Поставьте себе реальный, но очень сжатый срок на релиз, например, 48 часов или неделю, но спать будете по 4 часа в день. Это даст сильный толчок, заставит оптимально использовать время и сфокусироваться на результате.
    • Сжатые сроки
      Сжимая сроки, не оставляйте себе время на риск. Сжимайте до последнего, пример с 48 часами - хороший.
    • Отсутствие сна
      Полное или почти полное отсутствие сна хороший мотиватор, но не доходите до крайностей. Практика показывает, что даже молодому организму надо давать отдых.
    • Менеджмент времени
      Не стоит выделять много времени на тайм-менеджмент, но не забывайте ставить себе вехи (milestone). Например, скажите себе, что через 5 часов вам надо сделать играбельный прототип.
      Например, в своем первом 48 часовом марафоне (на нем я только рисовал) , я за первую треть времени нашел стиль игры, нарисовал основной, игровой экран и все спрайты врагов. И за оставшееся время сделал 170+ спрайтов анимации и дорисовал интерфейс.
    • Конкурсы , особенно мероприятия, типа, HackDays или Ludum Dare, где нет времени на раздумья и надо сразу бросаться в работу, - отличное подспорье для пунктов выше.
  2. Поставьте себе рамки . Для первого релиза, особено в сжатые сроки, критически необходимо знать рамки проекта. Выпишите себе минимум, что нужен для релиза, и не выходите из него. По необходимости:
    • Урежьте список возможностей
      Было бы здорово сделать возможность летать на самолетах, но если вы делаете шутер про пехоту, сфокусируйтесь на стрельбе.
    • Сократите время игры
      Вероятно, вы рассчитывали сделать синглплеер на 5 часов игры, но вы останетесь победителем с демкой на 20 минут.
    • Уберите часть контента
      Конечно, дополнительная карта не будет лишней для вашего тактического шутера, но релиз останется релизом даже с одной картой.
  3. Ищите простые пути . Напоминайте себе, что вам необходим релиз, а не шедевр . У вас остается право на ошибку, но вы потеряли право на заморозку проекта.
    • Используйте костыли и хардкод
      Не стоит фокусироваться на универсальности или производительности кода. Оптимизация тоже подождет. Просто идите к результату.
    • Копируйте, а не придумывайте
      Если с ответом на любой вставший перед вами вопрос возникают трудности, копируйте решение коллег.
    • Используйте опыт на 150%
      Учет сделаных ошибок - это, несомненно, хорошо, но пока вы их совершали, вы собрали багаж наработок. Постарайтесь использовать из него что-то.
    • Подключите все ресурсы
      Если у вас есть друзья, готовые помочь, не отказывайтесь, а если у вас есть денежный ресурс - вкладывайте (покупайте готовые решения, контент и рабочие руки). Ваши вложения окупятся в дальнейшем.

Шаг 3. Сделать полноценный релиз

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

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

  1. Делайте проект каждый день . У всех начинающих инди есть занятия, с которыми приходится совмещать разработку. Но не забывайте добавлять хотя бы одну строчку кода или новый спрайт в игру каждый божий день. Это очень важно, это пункт номер 1.
  2. Ставьте себе небольшие задачи и старайтесь выполнять их каждый день. Долго открытая задача, например: “разработать систему инвентаря”, может быстро превратиться в “висяк” с очень низким приоритетом. Поставьте задачу “Интерфейс основного окна инвентаря” и закройте в этот же день, а затем радуйтесь прогрессу.
  3. Два шага вперед, один в сторону . Какой бы разнообразной вы ни планировали игру, не стоит делать сразу 50 типов врагов и тысячи уровней. Сфокусируйтесь на реализации возможностей игрока, а не способах их проявлений. Делаете слешэр? - Реализуйте возможность рубить врага, а врагов клонируйте.
  4. Прототипируйте . Когда вы сфокусированы на настоящем релизе, необходимо отдавать себе отчет, что игра должна быть хорошей . Проверить это можно, прототипируя.
  5. Вы делаете игру . Не стоит делать из своей игры движок или фреймворк. Нет, я не про чистоту кода или возможность его переиспользовать. Работайте хорошо, и результат будет хороший. Не стоит реализовывать возможности до того, как поймете, что они действительно необходимы вашей игре . Например, если вы не уверены, что будет возможность менять цвет одежды героя, не стоит рисовать маску для смены цвета в шейдере. Убедитесь, что ваш дизайн подразумевает наличие предметов перед тем, как создать класс Item.
  6. И главное… Не бойтесь вернуться на шаг 2 . Возможно, еще не время для настоящего релиза.

Российская индустрия разработки игр относительно молода. Первые коммерчески успешные игры появились за рубежом ещё в 70-х годах прошлого века. И несмотря на то, что в советское время у нас производили собственные игровые консоли, в 90-е мы совершенно потеряли этот рынок. Не до игр было. Ближе к началу 2000-х в России начинают формироваться достаточно крупные команды, которые берутся за создание отечественных игр. А в 2011 году согласно отчётам аналитиков оборот рынка компьютерных игр в России перевалил за миллиард долларов. Растущие компании-разработчики игр стимулируют спрос на специалистов. Рынок образуется стихийно, и главные качества, которые ценятся у сотрудников - здравое мышление и большой практический опыт.

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

Кто такие гейм-дизайнеры?

Пытаясь понять роль этого специалиста в команде разработки, лучше выбросить из головы слово «дизайн». У большинства из нас оно ассоциируется с графикой. Гейм-дизайнер не имеет к ней практически никакого отношения. Лучше всего его работу описывает доброе советское слово «инженер». Да, гейм-дизайнер - это своего рода главный инженер игрового проекта, который проектирует логику любой игры. Круг его задач обширен. Он должен обладать хорошим уровнем логики, знать математику, информационные технологии, русский и английский язык и массу других предметов. Иными словами, для разработки игр нужен широкий комплекс знаний. Специалист понимает программную логику, психологию игры, знает теорию вероятностей и умеет решать дифференциальные уравнения. И да, мы всё ещё говорим про разработку игр, а не про защиту кандидатской.

Найти людей, которые обладали бы таким широким кругом навыков, достаточно непросто. А спрос на них есть. Это диктует достаточно высокие размеры оплаты труда, мотивирующие нужных людей выбрать создание игр своей профессией.

Зачем нужно образование в игровой индустрии?

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

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

Западные аналоги

Началось комплексное образование в гейм-дизайне, как это ни удивительно, с графики. Канадская школа DigiPen, переехавшая со временем в США, стала одним из первых учебных заведений, открывших полноценное комплексное образование по разработке игр, по итогам которого выдавался диплом бакалавра наук. Произошло это не так давно, в 2008 году. А одним из первопроходцев этого дела был шотландский Университет Абертэй Данди, запустивший курсы для разработчиков игр ещё в 1996 году.

В то же время в 2000-х годах резкий рост мировой игровой индустрии простимулировал дальнейшее развитие образовательных учреждений, занимающихся обучением разработке игр. Это и Игровая Академия Германии, и Академия искусств Сан-Франциско, и даже Дармштадтский университет прикладных наук. В настоящее время важное место обучению геймдизайну выделено в Финляндии, которая до недавнего времени была ближайшей к Москве территорией, где имелось высшее образование в области разработки игр. Во многом это обусловлено успехом таких студий Rovio Entertainment с их мобильной серией-хитом Angry Birds и Supercell c Clash of clans. Их успех привел к невероятному буму инвестиций в игровые студии. Выходцы из компаний, создавших мобильные хиты, открыли новые студии и создали на рынке потребность в продюсерах и гейм-дизайнерах, что и привело в итоге к быстрому развитию профессионального образование геймдизайну в этой стране. Также значительное место игровое образование занимает в Германии, где уже давно обучают практически всем специальностям, востребованным в геймдеве: от комьюнити-менеджера до гейм-дизайнера.

История развития образования в сфере гейм-дизайна в России

До 2014 года в высших учебных заведениях России не существовало образовательных программ для подготовки специалистов в сфере создания игр. Был целый ряд попыток создать целую программу и отдельные короткие курсы. Образование в формате курсов было сформировано в том числе на базе Scream School и Real Time School.

Только в октябре 2014 года была запущена первая в России комплексная образовательная программа подготовки кадров для игровой индустрии в Высшей школе бизнес-информатики Национального исследовательского университета Высшая школа экономики (ВШБИ). Это восьмимесячная программа профессиональной подготовки, дающая каждому ученику возможность развить все ключевые компетенции для работы в должностях в качестве гейм-дизайнера, продюсера, руководителя игрового проекта.

Учебная программа ориентируется на бизнес-задачи, поэтому к преподаванию привлекаются эксперты-практики. Значительная доля выпускников после окончания обучения трудоустраивается по специальности в крупные игровые компании, либо продолжают делать собственные проекты. Осенью 2015 года состоится новый набор слушателей на программу профессиональной переподготовки и новую недельную программу повышения квалификации «Практика монетизации онлайн-игр» .

Вот как комментирует ситуацию с образованием в российской игровой индустрии один из ведущих преподавателей ВШБИ, креативный продюсер Mail.Ru Group Дмитрий Табаков:

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

Какие знания можно получить в «Вышке»?

В начале этого лета закончила обучение первая группа слушателей программы «Менеджмент игровых интернет-проектов» .

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

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

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

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

Материал подготовили научный руководитель программы «Менеджмент игровых интернет-проектов»

Что должны учитывать будущие ? С какого языка начать обучение? К чему стремиться? На кого равняться? И что необходимо сделать в первую очередь?

Большинство любителей рок-музыки рано или поздно берут в руки гитару. Фанаты спорта страстно мечтают о выходе на футбольное поле, баскетбольную площадку или теннисный корт. Ну а те, кто совершил сотни угонов в GTA, провел десятки часов в компьютерных клубах за Counter-Strike или достиг немалых успехов в MMORPG, наверняка задумываются о карьере разработчика игр.

Проблема в том, что данному направлению обучают в считанных учебных заведениях. Посему большинство разработчиков игр – самоучки, некогда сами составившие учебную программу. Но какие нюансы они учитывали? С чего начинали и к чему стремились? Какой язык учили в первую очередь? На эти и другие актуальные вопросы мы и постарались ответить.

К чему стремиться?

Перед походом в магазин вы составляете список покупок (хотя бы в голове). Перед поездкой в другой конец города – прокладываете маршрут. Ну а перед тем, как обучаться разработке игр, целесообразно задаться вопросом: чем именно вы хотите заниматься? Создавать мобильные приложения или браузерные игры? Трудиться в крупной компании или маленькой? Профессионально заниматься разработкой игр или посвящать этому свободное от работы время? И если первое, то что интересует вас больше: создание интерфейса, отшлифовка геймплея или написание скриптов?

Правильная постановка цели поможет сэкономить уйму времени и сил. Кроме того, позволит достичь конечного пункта кратчайшим путем. Без риска сойти с дороги или угодить в болото.

Какой язык учить?

Кроме того, от цели зависит и ответ на животрепещущий вопрос: с какого языка программирования стоит начинать?

Так, будущим разработчикам игр вроде Minecraft и мобильных приложений под Android стоит обратить пристальное внимание на Java. Для начала советуем пройти интенсив , тем более, что это бесплатно. Тем, кто заглядывается в сторону iOS – на Objective-C. Для браузерных игр порой хватает знания Ruby-On-Rails. Для совсем маленьких и простых временами достаточно HTML. В производстве Flash-игр используется ActionScript, а для написания скриптов любой сложности вам понадобится JavaScript или, возможно, не столь распространенная Lua. Для создания же небольших консольных игр требуется знание C#.

Что до наиболее крупнобюджетных игр (так называемого класса AAA), то большинство из них оснащены своим или заимствованным у коллег "движком". Нередко, впрочем, весь "движок" или его большая часть написана на C++. Именно этот язык использовался при создании множества известных "игрушек" – от Doom 3 и Call Of Duty до FIFA и The Sims. В то время как классика вроде Quake была написана на C.

Впрочем, в освоении C++ есть и загвоздка – чрезмерная сложность. Недаром ведь говорят, что браться за C++, не зная других языков, – все равно, что начинать изучение математики с линейных уравнений.

Достаточно ли одного языка?

Одна из прелестей программирования – возможность постоянного саморазвития. В разработке же игр (особенно крупных) самосовершенствование, в том числе изучение как можно большего количества языков, – не прихоть, а жизненная необходимость. Так, опытные разработчики, трудящиеся на благо гигантов игровой индустрии, нередко сталкиваются с необходимостью поочередно писать на 7-8 языках. При этом, помимо вышеуказанных языков, им приходится изучать, к примеру, Python либо и вовсе SQL (как вы понимаете, для создания баз данных).

Поэтому, если вы решили связать судьбу с производством крупных игр, будьте готовы стать "полиглотом". Кроме того, чем больше языков вы освоите, тем более интересные и разнообразные задачи перед вами поставят. Ну и, конечно, шансы на получение работы мечты заметно возрастут.

С ЧЕГО НАЧАТЬ?

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

Практически все опытные разработчики вне зависимости от регалий и таланта начинали с небольших приложений: настольных игр, вариаций известных "игрушек", простеньких "флэшек". Тогда они не думали о крупных выставках вроде E3, а накапливали бесценный опыт. Почему бы не последовать их примеру? При этом не обязательно писать архисложный код. Для дебюта достаточно использования специальных программ для создания игр (к примеру, Game Maker). Ведь даже благодаря несложному инструментарию вы значительно облегчите себе жизнь. Во-первых, в миниатюре поймете логику и структуру практически любого игрового приложения. Во-вторых, набьете шишки, которые заживут во время перехода к серьезным проектам. Наконец, в-третьих, обогатите портфолио. Ведь даже простая "игрушка" требует массу времени, терпения и творчества для выдумки концепции, написании кода и устранения багов. Кроме того, показывает, что с производством игр вы знакомы не только в сухой теории.

Что брать за ориентир?

Тот, кто мечтает стать писателем, прочитает сотни книг перед тем, как напишет хотя бы одно слово. Мастера игры на фортепиано на зубок знают лучшие произведения Штрауса, Шопена и Бетховена. Известные же художники перед крупными выставками наизусть заучивали историю искусств.

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