Хочу стать разработчиком игр. Как начать разрабатывать игры даже если до этого вы были бухгалтером

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

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

После одного игрового проекта со стримом всего процесса разработки мне часто пишут начинающие разработчики, что-то спрашивают, что-то показывают и на что-то жалуются. Недавно мне пришлось влезть в спор двух ребят, где темой спора было: “Что круче знать 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 . Возможно, еще не время для настоящего релиза.

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

Большинство любителей рок-музыки рано или поздно берут в руки гитару. Фанаты спорта страстно мечтают о выходе на футбольное поле, баскетбольную площадку или теннисный корт. Ну а те, кто совершил сотни угонов в 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). Ведь даже благодаря несложному инструментарию вы значительно облегчите себе жизнь. Во-первых, в миниатюре поймете логику и структуру практически любого игрового приложения. Во-вторых, набьете шишки, которые заживут во время перехода к серьезным проектам. Наконец, в-третьих, обогатите портфолио. Ведь даже простая "игрушка" требует массу времени, терпения и творчества для выдумки концепции, написании кода и устранения багов. Кроме того, показывает, что с производством игр вы знакомы не только в сухой теории.

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

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

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

«Хочу стать разработчиком компьютерных игр, но у меня ничего не получается. Ну нет у меня таланта, не дано мне этого. Да и денег у меня не так много, а значит нанять специалистов не получится. А если брать себе в команду таких же любителей как я – какой смысл? Ничего у нас не выйдет. Устроится на работу в какую-то уже готовую компанию разработчиков – это ещё сложнее. Выходит всё – никаких вариантов».


Вот такие оправдания придумывают себе игроки, мечтающие стать разработчиками компьютерных игр. Так ли всё сложно на практике? Для начала разберём, какие нужны личностные качества для того, чтобы стать хорошим создателем игр.

Личные качества разработчика игр

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

Всё это так… общий фон личности разработчика. Самое главное: хотите заниматься созданием игр – тогда у вас должен быть соответствующий ТАЛАНТ… Сейчас, наверное, возник вопрос: «Что? Талант? А без него никак не обойтись?».

Спокойствие, только спокойствие. Всё не так безнадёжно, как кажется.


Что такое талант? Это не какой-то дар свыше, данный с самого рождения. Вовсе нет. Пусть вас не вводит в заблуждение эта распространённая, но ложная формулировка.

Талант – это сильное, жгучее и непреодолимое желание заниматься определённым делом.

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

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

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

Проблема нехватки опыта

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

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

Главное – чувствовать в себе талант - неугасаемое и жгучее желание создать что-то своё, задать свои правила игры, посвятить этому занятию всю свою жизнь.

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


В итоге, чтобы стать разработчиком игр, нужно:

В начале – талант, который можно разжечь в себе самостоятельно;
в процессе – терпение, настойчивость и открытость новым знаниям.

Категории разработчиков

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

Вообще, разработчиков всех уровней условно можно поделить на пять типов:


Типы разработчиков Качества
опытность увлеченность желание (талант)
опытность увлеченность -
опытность - -
- увлеченность желание (талант)
- увлеченность -

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


Ремесленники – опытные разработчики, занимающиеся созданием игр так же увлеченно, но только в рабочее время, без излишнего энтузиазма. Это так называемая «средняя прослойка» создателей игр. Они выпускают интересные, качественные игры, немного не дотягивающие до шедевров. Используют в своих играх чужие наработки, искусно преобразовывая и маскируя под свои. Но иногда их опытность позволяет отшлифовывать старые идеи до такого блеска, который в итоге затмевает первоисточник.

В России таких разработчиков чуть больше, чем создателей шедевров. Но на самом деле их должно быть в десятки раз больше. Если сравнивать с другими странами – разработчиков-среднячков у нас катастрофически не хватает.


Штамповщики – опытные разработчики, занимающиеся созданием игр ради заработка. Таких в игровой индустрии большинство. Те кто создают нишевые проекты, с самого начала направленные на определенную аудиторию. Главное для них – чтобы в игре были такие элементы, которые нравятся игрокам, которые уже неоднократно доказали свою востребованность. Творческий процесс сводится к минимуму. При этом ставки делаются на хорошую рекламу, на красивую графику и на стандартный игровой процесс. По большей части они выпускают упрощенные клоны популярных игр. В двух словах их творчество можно назвать «игры пустышки».

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


Фанаты – непрофессиональные создатели, не имеющие должного опыта, но компенсирующие эту нехватку своим сильным желанием создавать компьютерные игры. На разработку полноценных игр им не хватает денег, и чаще всего они выпускают лишь фанатские дополнения, иногда очень качественные (так были созданы: Counter Strike, DotA, Portal).

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


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


Хватит теории, теперь немного практических советов. Чаще всего именно эта информация необходима начинающим разработчикам игр. Есть несколько основных направлений, ведущих в игровую индустрию.

Разработка игр в одиночку (инди игры)

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

Значительно облегчить нагрузку на автора игры может готовый игровой движок. Игровой движок – это программа, содержащая в себе общие алгоритмы построения игр. Чаще всего в игровом движке уже готова система уровней, есть модели игровых персонажей, физические законы, управляющие поведением игровых объектов, модули для подключения к игре различных медиафайлов: изображений, звуков, музыки. Автору остаётся лишь подставить в готовый движок своих персонажей, создать свои уровни, события, тексты и медиафайлы. Программирование сводится к минимуму, на первый план выходит дизайн и внутреннее содержание игры.

Некоторые игровые движки распространяются бесплатно, но более качественные, проработанные и современные – естественно продаются за деньги.

Бесплатные игровые движки (программы для создания игр):

2D: GameMaker 8, RPG Maker, Construct.
3D: GameMaker 3D, 3D Rad, Unity 3D, UDK, CryENGINE.
Flash: Adobe Gaming SDK, Stencyl, Citrus.
Mobile: Adobe AIR, Cocos2d, jMonkey engine.

Создание своей игровой студии

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

Сообщества разработчиков-любителей:

GcUp.ru , GameDev.ru , game-maker.ru .

Более подробно об этом на странице «Сайты о создании компьютерных игр ».

Устройство в профессиональную компанию

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

Профессии разработчиков игр:

Программист, художник, геймдизайнер, дизайнер карт, тестер.

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

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

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

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

Том Плэттен-Хиггинс пошел работать фрилансером после четырех лет работы на позиции старшего разработчика в студии игр Mutant Labs, которая проектирует и строит мобильные, кросс-платформенные и браузерные игры для всего мира.

Если есть одна вещь, которую Том понял в период своей карьеры: «Воплощение превосходного игрового дизайна и есть игрой».

“Нет такой вещи как хорошая или старомодная игра”, сказал он в Брайтоне на конференции «Reasons to be Creative 2015″, потому что все разное. В первую очередь мы должны рассматривать предпочтения нашей аудитории”.

К счастью, интерес фактически быть может вызван. Как? Следуйте семи советам, основанным на многолетней практике Плэттен-Хиггинса в проектировании игр, и вы будете на правильном пути!

1. Устройте игру

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

2. Уникальный шанс стать создателем

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

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

3. Хорошо продумывайте идею

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

4. Четко определите цель

Mutant Labs с Cartoon Network студией спроектировала веб-игру, основанную на чрезвычайно популярном сериале Ninjagо.

“Без определенного критерия победы игра не игра. Это – обычное развлечение». У игры должен быть особый шарм. Удостоверьтесь, что цель вашей игры ясна и понятна.

5. Предоставьте неудаче шанс

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

6. Преодолевайте кривую трудности

На международном рынке игроки нетерпеливы. “Люди не такие в играх как жизни “. В игре проявляется слишком много человеческих качеств.

«Если ваша игра будет слишком трудной или слишком легкой или она будет не очень интересной, то люди удалят ее».

7. Правила созданы для того, чтобы их нарушать

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

Том Плэттен-Хиггинс заметил: “Экспериментирование с чувствами придаст элемент игры и обязательно приведет к хорошим вещам”.

Вывод один: дерзайте, творите и вытворяйте. Если идея обречена на успех, то у нее нет другого выхода.

Перевод: Say-Hi

Главное фото взято с сайта