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

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

Таким был и я. Я очень люблю разрабатывать игры и занимаюсь этим с 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.


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

Похожие публикации

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 24

    +2
    Дааа… Тяжкие нынче времена. Все мечты юных почему-то заканчиваются одинаково уныло:
    12. Выпускает в продакшн
      0
      Да и начинаеются так же.
      Принимает задание
      +8
      В общем случае, начинающему разработчику (если это хобби) работать в команде не с кем. На сайте, посвященному играм, отлично видно десятки, сотни людей, рьяно ищущих команду… и остающихся ни с чем. У каждого человека свои идеи, и мало кто хочет работать на идею чужую.
      Поэтому, вместо того, чтобы придумывать планировать грандиозные проекты, для реализации которых вы, с вероятностью 90%, никого не найдете, рекомендую участвовать в проектах маленьких, где команды формируются на местах: всяческие геймджемы и подобные мероприятия. Вот там есть возможность приобрести командный опыт разработки за пределами игровой индустрии.
        0
        Я специально указал, что нужно учиться работать в команде в постскриптум, чтобы не относить это к основе статьи, чтобы начинающие программисты не были зациклены лишь на том, что они станут классными разработчиками, только если сразу начнут с работы в команде. Ну а вообще, нормальный человек поймет, что если у него мало/нет навыков, то его и в команду то не возьмут.
        Спасибо за комментарий!
        +2
        Автор пишет, Я хочу сказать, что разработка игр не так проста, как кажется новичкам.
        … не спешите с выпуском своих проектов.


        Категорически не согласен с выводом! А может, я тупой и не понял автора.

        Я обращаюсь к молодым программистам.
        Разработка игр — это сложное и трудное дело, но зато вы получите очень хорошие навыки.
        Самое главное — это умение работать самостоятельно, усидчивость и вера в свои силы.
        Не нужно сразу хвататься за сложный проект. Конечно, в идеале лучше всего работать в команде единомышленников, но можно и одному поработать, пока нет команды.
        И еще, что очень важно, не нужно рассчитывать на быстрый результат.
          –1
          Что конкретно Вам не понятно?
          +2
          Что насчет денег. Получилось ли с проектов отбить вложения или что-то заработать? Все же разработка игр под комп — это достаточно сложная ниша.
            +1
            ИМХО с инди играми на комп главная проблема в изначально неправильном подходе к выбору жанра и комплексности игрового процесса — банально мало кому сдался очередной платформер, или «ретро»-пиксельное нечто, или типа-рпг из РПГ мейкера, или артхаус с СПГС, или сотая копия маинкрафта без контента. Зато балом правят Факторио, Римворлд, Дварф Фортресс, Донт Старв, Террария, Сабнавтика (а еще есть наконец-то зарелизившийся после около 10 лет разработки Кенши, надеюсь автор отдохнет немного и продолжит развитие игры).
              0
              Что это за игра Кенши?
                +1
                Kenshi - засунул описание внутрь, а то длинновато вышло
                Kenshi — эдакая постапокалиптическая РПГ (постапокалиптический феодализм) с отсутствием сюжетной линии и каких либо квестов, множество фракций с разным отношением друг к другу, лором в книжках и диалогах, и большим (но пустоватым) открытым миром. Прокачка навыков прямая: бей мечем — качай навык меча, делай действия требующие силы — качай силу итд. Продвинутая система здоровья — с одной стороны отрубание конечностей (и протезы) и возможность истечь кровью насмерть, а с другой нужно приложить целенаправленные усилия что-бы кого-то убить, персонажи при сильных травмах теряют сознание а добивать лежащих нельзя, можно хоть пацифиста отыгрывать используя только всякие дубины и бинтуя врагов в отключке что-бы не истекли кровью насмерть. Свободно вешающаяся камера с «цеплянием» на персонажа по желанию, управление скорее от РТС — обвел рамочкой отправил в атаку (что не мешает заниматься микроконтролем и тактикой). Постепенно перерастает в подобие РТС — свое производство, свои поселения, или можно купить дома в имеющихся городах, в наличии система автоматизации для работников (но это все не обязательно, можно даже не нанимать никого и превозмогать в одиночку). Несколько играбельных рас и много вариантов стартовых позиций разной степени хардкорности, от «ты в рабстве» или «ты голый в пустыне» до «у тебя отряд из 5 человек и достаточно вещей для основания своей деревни».

                Затягивает просто жуть, хотя как таковой финальной цели нет, как и особой случайности мира.
                  0
                  Спасибо.
              –1
              Самостоятельно выводить игры в рынок, тем более на PC, очень тяжело, как Вы и указали. Поэтому пока что я ещё не реализовал плюсовые проекты, но стараюсь изучать новое и закреплять свои навыки, чтобы приносить пользу команде и пытаться самостоятельно выйти хотя бы на мобильный рынок.
              Спасибо за вопрос!
              +2
              Ух-ох. Разработка игр не ограничена программированием. Она не начинается с технического задания и не заканчивается релизом.

              Чтобы программист в одиночку делал игру, ему надо ещё много чего знать и уметь — от основ психологии (чтобы геймплей цеплял) до коммьюнити-менеджмента (чтобы ваши игроки хотели возвращаться и друзей приводить).
                –1
                В конкретно этой статье я старался во-первых описать максимально кратко, во-вторых для тех, кто мало понимает или совсем не понимает в этой сфере и в-третьих, навыки, которые Вы описали, обычно присваивают программистам от уровню Middle и выше. Я сомневаюсь, что джуны занимаются проработкой геймплея или коммьюнити-менеджментом.
                Спасибо за комментарий!
                  0
                  Навыки, которые я описал, обычно вообще программистам не присваивают. Мой комментарий о том, что разработка игр не ограничена программированием. Статья подходит к вопросу сбоку и претендует на то, чтобы давать кому-то какие-то советы.
                    +1
                    Более того, в самом примитивном случае, программиста може и вовсе не быть. Вася и Петя пилят ммо с корованами. Вася — художник, Петя — просто сосед и с ютубом может в блупринты. Так-что, поддерживаю друже aml. Совершенно однобокая подача образа разработчика. Судя по всему автор, сам, только мечтает стать разрабом или только-только прикоснулся к таинству :)
                      –1
                      Кажется, Вы не совсем уловили суть статьи. Возможно, я действительно как-то неправильно описал суть разработки игр со стороны только в основном программиста, но я говорил не о летающих слонах на костылях, на что и похоже описанная игра, созданная Васей и Петей.
                      –1
                      Ну вообще статья относилась в основном к программистам-одиночкам, но мне, наверное, следовало бы отметить это, чем я сейчас и займусь.
                  0
                  Чтобы разрабатывать игры, лучше быть художником, чем программистом. Дешевле выйдет.
                    0
                    Отчасти согласен, потому серьёзно подумываю в «почти сорок» начать учиться рисовать.
                  • НЛО прилетело и опубликовало эту надпись здесь
                      –1
                      Вы почему то смотрите только со стороны огромных/средних проектов. Но… зачем? Тот же Flappy Bird, как я указал, сделал один человек. Сейчас взять тот же Unity и там почти всё автоматизировано. Скачай графику, звуки и накатай платформер. Да, это будет не шедевр, но я и говорил о том, что в одиночку никогда не выпустить средний/крупный проект. И ещё, я не отмечал, что это именно о том, чтобы выпускать игры на рынок, эта статья просто о том, чтобы разрабатывать игры.
                      • НЛО прилетело и опубликовало эту надпись здесь
                        0
                        Если с точки зрения программирования, то сейчас и мидла вполне хватит, если на готовых движках писать. Главное чтобы умел композицией пользоваться, не строил большие велосипеды, и код более менее нормальный писал. Какие-то сложные алгоритмы не часто приходиться писать.
                        У компаний по десятку демо-проектов в помойку уходит потому что игроков мало, потому что торопятся быстрее демку начальству показать и в результате со временем получается код, который невозможно развивать, ну и еще по куче других причин, не связанных с программированием.

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое