[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр

habr.png

Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?».

Таким был и я. Я очень люблю разрабатывать игры и занимаюсь этим с 5-го класса. Моей первой нормальной (как я тогда думал) игрой — был симулятор бомжа. Написал я эту игру на C#, используя лишь Visual Studio и Windows Form. В дальнейшем я переписал проект под WPF и он стал более приятно выглядеть.

Возвращаясь к теме заголовка, хочу сразу же ответить на первую его часть (левую): чтобы быть разработчиком игр/разрабатывать игры, вам нужно лишь ваше желание и иметь компьютер (хотя в наше время можно и на телефоне писать код, но делать этого не надо). Если вы реально хотите разрабатывать игры, то нужно определиться с приоритетами. Вы должны понимать, чем для вас является это дело — хобби или всё же профессиональная деятельность, которой вы будете верны, скорее всего, всю жизнь.
Если вариант №1, то вам нужно принять то, что времени на разработку игры уйдет больше, чем у человека, посвятившему этому жизнь, и то, что вы не напишите какой-нибудь «шедевр» больше, чем Flappy Bird.

Если вариант №2, то у вас больше возможностей, по сравнению с вашими конкурентами из варианта №1: во-первых, вы всегда занимаетесь программированием, у вас постоянная практика/теория, ваша жизнь связана с этим практически до конца вашей жизни. Конечно, вы всё также не сможете написать в одиночку AAA-Project, но уже есть возможность написать интересную игрушку.

Итак, для разработки игр, нам потребуется следующее:

  1. Компьютер
  2. Желание создавать игры
  3. Желание учиться
  4. Установить приоритеты


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

Теперь перейдем ко второй части вопроса (правой). Задайте себе вопрос: «Кем является разработчик игр?». Не знаете? Ничего страшного, сейчас мы попробуем разобрать. Итак разработчик игр, скорее всего, разрабатывает игры? Логично, но нам нужен более подробный анализ. Минимум для этой профессии мы уже определили, но что он делает, если разбить этот минимум на блоки?

Разработчик игр занимается следующим:

  1. Принимает задание
  2. Формулирует проект и задание в письменном виде (для себя)
  3. Обсуждает реализацию со своими коллегами
  4. Снова формулирует проект и задание в письменном виде
  5. Если задание сложносоставное — разбивает его на меньшие блоки
  6. Пишет код для решения задач
  7. Смотрит свой код, исправляет его недочеты
  8. Кооперируется с коллегами для того, чтобы удостовериться, что ошибок минимум (ведь не может быть такого, чтобы мы писали код идеальным)
  9. Дописывает мелкие детали и штрихи
  10. Оптимизирует
  11. Проверяет работоспособность
  12. Выпускает в продакшн


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

Я хочу сказать, что разработка игр не так проста, как кажется новичкам. Это очень сложный процесс, если вы хотите сделать действительно приятную для окружающих продукт. Если вам сложно смотреть с точки зрения других, смотрите со своей. Только не говорите себе: «Ну, здесь можно схалявить, мне и так зайдет». Видите сложность? Преодолейте её! Только так вы сможете совершенствовать свои навыки и повышать свой опыт. Игра должна быть приятна минимум вам, а уже потом, если вы планируете выдать её в общественность, то нужно её отшлифовать под другие желания. Как это сделать? Просто покажите своим друзьям или знакомым ваш проект (даже недоделанный) и спросите, чтобы они хотели видеть в игре подобного рода.

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

P.S.


Обязательно учитесь работать в команде!

© Habrahabr.ru