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

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


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

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

    Удачных вам релизов и быстрого развития.
    Поделиться публикацией
    Комментарии 35
      +45
      Напомнило картинку «Как нарисовать сову»: cs304611.vk.me/u8306712/-14/x_3735093f.jpg
        –8
        Тут лучше.
          +1
          Я больше никогда не буду давать ссылки на «FFUUU»-комиксы. :)

          На самом деле, эта картинка понравилась мне не комиксом, а тем, что обращает внимание на еще одну проблему (кроме проблемы отсутствия промежуточных шагов): недостаточное внимание к проработке собственно первого шага. Если даже эллипсы у нас получаются кривыми, то в конце вместо совы имеем FFUUU.
          +10
          image
          Взято отсюда, автор clx.
          +22
          Кстати, не за горами гораздо более интересная статья: «Как начать разрабатывать на JavaScript даже если до этого вы были БОМЖом»
            0
            Тогда уж «Как начать разрабатывать квартиру, если....» :)
              0
              Чтобы кодить за еду?
            0
            я так понял, автор статьи сейчас стримит на ютубе очередной марафон разработки игры, под Oculus Rift

            www.youtube.com/watch?v=hN6csZl4Xfg
              +25
              image
                +19
                Отличная статья! Распечатал и положил к незаменимым «Как стать президентом вселенной, даже если Ваша шапка из фольги сломана», «Как безопасно убить Змея Горыныча, если Вы — одна из его голов» и «Как получить Нобелевскую премию, если Вы — лабораторная крыса».
                  +15
                  Вот еще одна занятная книженция

                    +4
                    Знаю такую. Я автор. И это мемуары. )))))))
                    +7
                    А мне понравилось. И во много напомнило мою историю. Я, правда, не могу похвастаться завершенными игровыми проектами, но когда взялся за Unity — ВНЕЗАПНО выяснил для себя, что всё вовсе не так сложно, как я предполагал.

                    Так случилось, что спустя 3 недели изучения Unity мне пришлось его забросить:) (у меня родился сын, и оставаться в офисе после основной работы было уже не вариант). Если интересно — вот что получилось за эти 3 недели реализовать:
                    Вариант для Unity webplayer
                    Бинарник для Windows

                    Это кавер на игрушку 1995-го года под названием Darker. Понятное дело, пока мало что работает (физика полета, некоторые фишечки с анимацией объектов), зато всё полностью сделано своими силами, в т.ч. 3D-модели (оказалось, что в Unity достаточно легко экспортируются модели из Sketchup, в котором у меня был некоторый опыт).

                    Ближе к НГ собираюсь менять место жительства, и с большой вероятностью я займусь разработкой игр на Unity. Возможно даже допиливанием игры, демка которой по ссылке.

                    Upd.: Немного картинок с эволюцией моделей и игрового мира.
                      +3
                      Пару картинок, пожалуй, вытащу для привлечения внимания. :)

                      Stingray cargo ship

                      Stingray cargo ship landing gear down

                      … все-таки надо обязательно вернуться к этому проекту. Было весело и очень интересно.
                        +4
                        Разделяю, Unity — вещь! Мне за неделю, не зная C# и gamedev как таковой, удалось (на чужих правда бесплатных ассетах) склепать простенькую стратегию с непрямым управлением (выбираешь тактику нападения и соотношение между войсками — пехота/танки/самолеты, а затем наблюдаешь бой с компьютерным противником, соотношение, но не тактика, которого, известна заранее).

                        После этого всего я просто влюбился в gamedev. Правда, я в нём не работаю…

                        Screenshot
                        • НЛО прилетело и опубликовало эту надпись здесь
                      0
                      +1
                      это «Легенды и мифы Южного Бутово»

                      Проблема разработчиков игр в том, что все без исключения мечтают стать разработчиками игр, в результате бедолаги быстро выясняют, что бухгалтерам-то платят побольше.
                      –16
                      Ещё не прочитал статью, как судя по комментариям, складывается впечатление, что написано ни о чём.
                        –5
                        Держи нас в курсе!
                        +15
                        Экономить на сне сомнительная идея. Подходит только для механической работы, а в результате, вместо ощущения победы, можно получить ощущение ненависти ко всему сущему.
                          +1
                          Более того: продуктивность снижается. Особенно творческая.
                          +4
                          Все прям так набросились.

                          Это не хоу-ту насколько я понял, а поток мотивации тоже иногда || наверно || может быть || некоторым полезно.
                            +4
                            Перестаньте писать «вы» с большой буквы! Во имя русского языка и вообще всего святого, немедленно перестаньте это делать!
                              –7
                              Перестаньте давать общие советы! «Вы» с заглавной (а не большой) вполне себе используется при вежливом обращении к одному лицу.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  +1
                                  Я уверен, что оба случая употребления «вы» с заглавной буквы в этой статье не обусловлены никакими правилами русского языка и здравого смысла. Все эти «Вы», употребленные намеренно(!), режут глаз и раздражают в стократ больше чем ненамеренные орфографические или пунктуационные ошибки.
                                +2
                                Действительно, хочешь делать игры — сиди и делай!
                                Сейчас разрабатываю игру для соревнования, вот видео

                                Сделано на Corona SDK

                                С момента записи были внесены небольшие исправления.
                                Поиграть можно пока на андройде dl.dropboxusercontent.com/u/55969280/CubicRun.apk
                                  +1
                                  Ну как можно делать софт/игры под ОС, и не уметь правильно склонять ее название на родном языке? Как?..
                                    0
                                    Argh. Это с русским у меня не лады. Всё же редко пишу об Android на русском, как-то так получается. И всё не могу вбить в память как правильно писать.
                                    +2
                                    Отличная игра, спасибо за апк. Судя по видео отлично играется, закончится стрим и обязательно поиграю
                                      0
                                      А вот версия посложнее dl.dropboxusercontent.com/u/55969280/CubicRunLD.apk
                                        +2
                                        Отлично получилось!

                                        p.s. Да это же Robot Unicorn Attack, lo-fi 8bit rmx :)
                                        +3
                                        Ох как все это хорошо в теории и как порой сложно последовать хотя бы одному хорошему правилу. К примеру делать по одной песчинке чего-либо в день (смеется). У меня подобная история завершилась после 2 выпущенных продуктов, и примерно 9 свернутых. Тот выпущенный в который я вложил приличное количество денег — не очень-то выстрелил в сравнении со своим братом время разработки которого было раз в пять меньше, да и средства на него были затрачены нулевые.

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

                                        Но это так… брюзжание. Потому что к теме «Как начать разрабатывать игры даже если до этого вы были бухгалтером» оно не относится.

                                        Спасибо за статью.
                                          0
                                          Да, очень простые правила обычно выполняются сложнее всего. Я хочу заставить себя делать по песчинке сделал ярлыки на запуск проектов и добавил в расписание. Когда он сам открывается, «увильнуть» сложнее

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

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