Путь разработчика: истории о моих фееричных провалах, часть 2
Всем привет, с вами снова Delfuego FM, и я наконец-таки созрел, чтобы выложить вторую часть статьи! Вследствие неоднозначной реакции на первую часть, была предпринята попытка выложить вторую на geek times, и… она успешно провалилась. Поэтому придётся совершить небольшой хабрасуицид и выложить её прямо тут! Итак, поехали!…Однажды я проснулся и понял, что страхи, терзавшие меня на протяжении нескольких лет и препятствовавшие осуществлению заветной мечты, абсолютно беспочвенны. Обладай я этим знанием раньше, список моих проектов и длина счёта в банке могли быть более впечатляющими.
Своей историей, первую часть которой вы можете прочесть тут, я пытаюсь уберечь вас от моих ошибок. Надеюсь, моя история поможет сэкономить вам несколько лет. Это история про разработку игр, но она может быть полезна всем тем, кто желает проявить себя и в других областях (в частности, в области разработки сайтов).
Спустя более полугода после судьбоносного знакомства на Невском проспекте, меня пригласили в Москву на позицию геймдизайнера.
Пока мы ехали с другом с Ленинградского вокзала, Москва встречала меня песней «Welcome to Paradise city», игравшей по радио. Тогда мне казалось, что я действительно в Парадизе: наконец-таки произошёл переломный момент в жизни, дом остался позади, я приглашён на работу мечты в город мечты, всё как никогда замечательно, и с каждым днём будет становиться всё лучше.
Это действительно могло быть так, но…
Любой грамотный специалист увидел бы в предложенном мне тестовом задании только одну фразу: «Беги, беги отсюда и не оборачивайся!» — дело в том, что в тестовом задании мне надо было прокомментировать разрозненную канитель игровых идей в стиле «ограбления корованов в стиле линейки, на крыльях как в Айон, и со зрением как у Терминатора».
Было ясно, что будет непросто, но я увидел некую иронию судьбы и решил рискнуть: московский работодатель, как и человек, приведший меня в геймдев, занимался клубами игровых автоматов. Но москвич занимался ими легально, официально и в очень больших масштабах.
Разработка документации игры шла в древнем боевом стиле «лебедь, щука и рак» — ключевые детали игры менялись каждую неделю несколько раз. Лица, принимавшего решения не было, а моя должность не предполагала подобной власти. Затем, когда дизайн-документ игры был готов, вылезли проблемы с подбором персонала — не знаю точно, в чём была причина, но если им на собеседовании показывали тот же поток сознания, что и мне, в этом нет ничего удивительного.
Спустя пару месяцев я отправился обратно в Питер, в командировку на конференцию мобильных разработчиков. Случайным образом эта конференция совпала по времени с похоронами одноклассницы, погибшей в автокатастрофе. Земля ей пухом. Она была самой красивой в классе.
После конференции у начальства выкристаллизовалась мысль «надо всё упрощать и побыстрее выпустить более простую игру». Эта была здравая мысль, но в качестве более простой игры начальство по какой-то злой иронии судьбы выдумало раннер, в котором автомобилем надо было создавать ДТП, давить пешеходов и творить прочий беспредел на дороге. Почему-то мне сразу стало понятно, что из этого ничего путёвого не выйдет.
Тянулись дни, а строк кода, как и игрового арта, не прибавлялось. Именно в этот момент мне в руки впервые попала Unity, и если бы мой разум не был затуманен заблуждением, что программировать в Unity тяжело, я мог бы поковырять этот движок и выяснить, что делать на нём игры элементарно просто — спустя 2 года, когда я наконец-таки освоился в Unity, за 1 вечер я сделал то, что тогда в Москве не могли сделать в течении 3х месяцев.
Спустя 5 месяцев в Москве меня уволили за «низкий КПД» — при отсутствующих задачах, менеджменте, коде и игровом контенте.Ещё через несколько месяцев человека, уволившего меня, выперли с той же самой формулировкой.
Я сразу же попробовал найти себе место в геймдеве, и нашёл только пару команд энтузиастов, которые предлагали делать игру за процент. И знаете что я хочу сказать? Никогда не связывайтесь с энтузиастами, не доказавшими, что они действительно могут на энтузиазме создавать хорошие игры. А лучше не связывайтесь вообще ни с какими.
В результате по нескольким проектам за несколько месяцев не было сделано практически ничего. Но зато у меня остался пучок концептов, один из которых оказался настолько оригинальным, что в основу своей первой игры я взял именно его.Но это было после, а тогда я решил, что освоился в разработке на энтузиазме, что в организации процесса нет ничего сверхъестественного и я могу взять её на себя, и тогда у меня всё получится.
Конечно же, я ошибался. Три с половиной проекта, десять человек кроме меня, три месяца и один полуубитый прототип в выхлопе. Попытки тимбилдинга не принесли результатов, люди отваливались один за другим, а самый плодовитый художник в итоге вышел из проекта в связи с депрессией на почве каких-то личных заморочек.
Тогда меня наконец-таки озарила мысль: надо всё брать в свои руки. И код, и графику. Делать всё самому, чтобы не зависеть от псевдоэнтузиастов, а что не получается — заказывать за деньги.
Эта идея, пожалуй, самая правильная из всех, которые меня когда-либо посещали.
Правда, по незнанию я решил, что перед началом разработки надо серьёзно прокачаться в программировании и «архитектуре игр», и это задержало разработку на ещё 7 месяцев (вот ведь балда!).
За время, пока подготавливался к программированию в Unity, я успел сделать ещё несколько ошибок, в том числе два эпик фейла при создании одного сайта (комбо фейл!)
Эпик фейл комбо началось с того, что меня попросили помочь в создании интернет-магазина. Дизайн я решил взять на себя и записался на соответствующие курсы. Организаторы курсов занимались также и созданием интернет-проектов, и я решил, что они как раз те люди, с которыми надо делать сайт. Проект получался довольно большой, и его разработку решили разделить на 4 этапа, и на каждый этап сделать по отдельному договору. Никогда так не делайте. Никогда.
1 этап был самый простой и заключался в небольших правках wordpress шаблона. Но, так как весь проект был объёмный, я не увидел ничего зазорного в том, чтобы за 5% работ было заплачено 40% бюджета — я считал, что эта сумма будет предоплатой за все 100%. Да и то, что я ходил к этим ребятам на курсы располагало к обоюдной лояльности.
А по факту вышло, что после 1 этапа разработчики потеряли к проекту интерес и отказались делать остальные этапы, которых не было в первом договоре.
Я попытался разрулить эту некрасивую ситуацию своими силами, но они наотрез отказывались вести со мной переговоры, и в результате нарвались на полубандитские разборки со стороны заказчика и деньги всё-таки вернули.
После отказа выполнять остальные этапы я спешно нашёл других исполнителей, находящихся в Москве. Предыдущий фейл меня совсем ничему не научил — из-за спешки я оформил отношения между двумя юрлицами стыдно признаться как (практически никак). Но, студия выглядела прилично, и отзывы на fl были хорошие, сумма первого этапа была незначительная, а заказчик нервничал, когда же у него появится сайт, и я решил не затягивать начало разработки. Договор вместе с полным т/з оформили уже после перевода денег, но его подписанную версию со стороны исполнителя мы так и не увидели.
В результате после срыва дедлайна на 2 недели нам предоставили нечто донельзя забагованное, практически не соответствующее т/з и выполненное на не обговорённой cms-ке. Ещё спустя месяц попыток получить деньги назад стало ясно, что нас тупо кинули. Хоть сумма была незначительная, времени на эту недостудию мы угробили немало. У этих Остапов Бендеров на фрилансе в лого синяя лента-стрелка, идущая из правого нижнего угла в верхний левый, так что будьте осторожны.
Но вернёмся к разработке игр. Когда эпопея с неразработкой сайта закончилась, выяснилось, что для создания игры на Unity практически не надо знать javascript — достаточно пройти его основной курс на codecademy, и затем уже разбираться как работает Unity на практическом опыте. По моему опыту знания JS составляют 5% в разработке игры, остальное — усидчивость во время поисков путей решения задачи на unity answers и в документации, и во время экспериментов с кодом.
ЭпилогМы всегда ищем врагов, препятствия и причины неудач где-то вовне, а на самом деле всё это всегда находится внутри. В моём случае я боялся приступить к разработке игр хоть как-нибудь, затем я боялся организовывать разработку, а затем делать её своими силами, считая что это слишком сложно и т.п. А на самом деле главное препятствие находилось внутри меня. Этот поиск врагов вовне, а не внутри, издревле вредит человечеству. Об этом просто не принято говорить, нас учат совершенно обратному. Так, сейчас я наблюдаю за омоновцем, который вместе со своим батальоном пропахал всю Чечню, и который не может самостоятельно победить внутренних демонов пристрастия к алкоголю. Его учили побеждать внешнего врага, а не внутреннего. И таких примеров по всему миру миллионы.
Во всех конфликтах и проблемах всегда присутствует третья, незримая сторона. В обобщённом виде её можно представить как наши эмоции, инстинкты, страхи, заблуждения. Всё это — главный враг и истинное главное препятствие в любых делах. Если его преодолеть, то мнимые препятствия исчезнут, а другая сторона «конфликта» окажется союзником.
Надеюсь, вы не повторите моих ошибок и ваш путь к мечте будет более гладким. В следующих статьях, которые снова будут на хабре, я расскажу про разработку визуального стиля нашей текущей игры и некоторые технические аспекты. Какую-то информацию вы можете найти в моём профиле.
И спасибо за внимание!