«Во все тяжкие 2», Dark Forester — игра на дистанции в маленький плюс
Если вы не читали первой части истории, то эта часть вам будет не понятна или просто на просто покажется странной, о чем вообще пишет автор. Я пошел на поводу у читателей и все таки поменял порядок глав. Так что всем любителям UnityScript придется еще немного подождать.
Да и кстати, как это фото связано с Темным Лесником?
Итак, поехали дальше.
Горе разработчик очутился у родителей с женой и ребенком, в одной комнатушке в тридцать с лишним лет, не живя, с родителями с 18-ти. Основной компьютер сломан, Unity движок просрочен, куча долгов и безработица.
Пошла череда собеседований. Может быть было пора оставить сухой мир Java и этих дурацких банковских приложений и попробовать найти работу на Unity3d! Мысли у меня такие проскальзывали, но я все же подавал заявки на работу во все возможные конторы.
Dark Forester на стиме сыграл свою роль. Заявки на работу на Unity3d отвечались в течении нескольких часов. Как вы понимаете на обычные заявки о работе приходилось ждать минимум несколько дней, а то и несколько недель.
Первое предложение было в Ляйпцыге, молодой старт ап с неплохой командой в 50 человек делал игры для маленьких детей. Что ж это не Blizzard, не Nival, но по крайней мере Unity3d.
Шесть часов езды на поезде и переговоры. Все идет отлично, они готовы меня взять, но речь заходит о зарплате, на мой запрос, довольно простой по меркам Баварии, мне говорят что таких денег не получают даже создатели старт апа. В итоге я вынужден отказать сам.
Затем следует еще несколько предложений из того же бывшего ГДР, но зарплаты там еще меньше и я понимаю, что на Unity3d нет и близко таких зарплат, как для Java Developer. Мне приходит один отказ из Ubisoft Дюссельдорфа и я провожу наверное самое убогое телефонное собеседование в своей жизни с Gameforge из Карлсруэ. Вы когда-нибудь проходили его с пятью разработчиками по конференции? — Вот и я после того случая, если когда-либо еще представится возможность повешу трубку.
Да и в Ubisoft, и Gameforge требовались программисты со знаниями C#, а не Unity3d и UnityScript — этих знаний у меня не было.
Все под одним небом
Как я и сказал, параллельно шли поиски работы на Java. Не буду сильно вдаваться в подробности в итоге слухи расходятся быстро, не раз мне помогал Dark Forester и разговор первые минут десять собеседования шел именно о нем, я впервые действительно ощутил, что уже почти два с половиной года разработки были потеряны не зря — я сделал вложение на всю жизнь. Но на работу меня взяли не из-за Темного Лесника.
Люди с которыми я работал на бывшей работе посоветовали меня своим работодателям. В итоге меня пригласили на две фирмы и каково было мое удивление уже в телефонном разговоре узнать, что они обо мне откуда-то знают. В итоге и там, и там мне предложили нормальный оклад, гораздо больше чем в прошлой конторе. Одна компания находилась в Дрездене, а другая в Мюнхене — выбор был очевиден.
What not kill you makes you stronger
Проходит месяц, наконец приходят первые деньги с работы, как образ жизни последних лет снова дает о себе знать. Я провожу абсолютно нормальный рабочий день, просто хочу привстать…
Но 16 часов сидений в день стучаться ко мне в дверь! Ощущение, что ноги отсоединили от спины, на следующее утро я струдом могу доползти до туалета. Диагноз — защемление грыж двух позвоночных дисков. Я выпадаю с работы на три недели, а в первые шесть месяцев меня могут уволить без объяснении причин в течении двух недель.
С работы меня не увольняют, но пришло время вернуться с новой силой в спорт. Если последние два года я вставал в пять утра и ехал на работу, то теперь я вставал в пять утра и ехал в спортзал, проводя там три часа.
Суд за право работать над игрой
Еще в самом начале, когда заварилась вся эта каша, я пару раз звонил российским адвокатам, чтобы проконсультироваться. Но, мне сразу сказали, вам не надо было увольняться, если бы вас уволили, то мы бы выиграли это дело, а так бесполезно.
Скажу честно, я был все равно уверен что выиграю дело, если суд в «демократической» стране работает, как я привык к этому в голливудских фильмов, то я должен был разложить их обычной логикой. Другая сторона писала абсолютно дикие обвинения в мой адрес, но весь прикол был в том, что они писали о теме, в которой они были совсем не в теме.
В итоге мои обвинения вышли на двадцать страниц немецкой писанины и все, что мне надо было для победы — это лишь логическое мышление программиста.
Что же были за 4 пункта, по которым я обвинили бывшего работодателя?
Пункт первый: Влезание в приватную жизнь, суд должен был аннулировать «Abmahnung».
Пункт второй: Суд должен был аннулировать «Ermahnung», где была затронута профессиональная честь разработчика. В обвинении я несколько раз использовал слово «безумие» — сравнивать пару ответов на форуме в стиме, лежа на кровати с ноутбуком, с возможностью работать полноценный день в конторе при воспалении легких было просто диким.
Пункт третий: Мне должны были написать бумагу в которой бы стояло реальное положение вещей, как я работал в компании и, чем занимался. Причем отмечу, что я несколько раз написал, не отличную бумагу, а именно то, чем я в действительности занимался. Бумагу после окончания работы мне задерживали на тот момент уже больше трех месяцев.
Четвертый пункт, который в итоге аннулируют, но все же моего бывшего работодателя заставят платить: Это выплатить мне компенсацию за увольнение с работы. Порядка 15.000 евро.
Я же находился в Германии, поэтому, что мне надо было делать, что бы выиграть первый пункт? Да, просто давить на слово «демократия», если уж крикнув пару раз слово демократия можно закидать кого-то бомбами, то выиграть возможность заниматься чем угодно, законным в свободное время от работы не представлялось труда.
Пункт второй, был еще легче. У меня было заключение от врача, ну и самое главное снимки второй и пятой недели на которых было видно воспаление легких.
Было два слушанья, первое и второе. На первом слушанье нам предложили всем пойти на мирную и просто замять дело. На что сначала я, а потом уже обвиняемая сторона отказалась. Но, один пункт я все-таки выиграл автоматически — пункт три. Я спросил у суда, как я должен искать работу, если мне не написали с бывшей работы, чем я занимался и для будущих работодателей это выглядит подозрительным. Бумагу мне прислали через неделю, в ней стояло все что я делал и не делал, что было довольно-таки смешно.
Пункт четвертый был аннулирован, по закону Германии, если вы уволились сами то нет такого пункта по которому я бы мог требовать с бывшего работодателя деньги. Но, так как я выиграл по трем пунктам суд — то все же моей бывшей конторе пришлось раскошелиться на более крупную сумму за проигрыш дела, ибо суду в Германии без дела лучше не затевать.
Конечно, о суде как и любой другой части этой истории можно было бы написать отдельные главы, но главное я узаконил, теперь никто мне не мог сказать, что разработка игры в свободное время запрещена.
Да суд я выиграл, да мне прописали в контракте право работать над играми вне работы еще до окончания суда, но что толку, если я выпал из разработки над Темным Лесником уже как на пару месяцев? Должен был быть выход и тут меня осенило, пока у меня нет денег на движок и починку компьютера, я сделаю, то что надо было делать давно, я начну писать двухмерную игру на С# и для нее мне не нужен Unity Pro. Идея игры, которая мне пришла в голову была гениальна, я по сей день уверен, что эта идея куда круче Dark Forester, и когда я в один день с ним закончу, то продолжу там где — сейчас вы все сами узнаете. Эта идея была рождена для фанатов Хабра и тех, кто сидит сутками на stackoverflow.
Programming War
Двухмерная игра, в которой языки программирования сражаются друг против друга. Нет, я не хотел писать какой-то логический трудно понимаемый стиль игры. Это должна была быть аркадная RPG-Action стратегия в которую смогли бы играть не только фанаты программирования, но и люди абсолютно от этого далекие. Ну а фанатов программирования ждали бы естественно на каждом шаге сюрпризы.
Так например персонаж HTML имел в своем распоряжении 'br' — что-то типа бомбочек которые прорывали путь в плохом коде вниз, а 'hr' был ульти, он снимал весь код в линии. Вирус имел в своем распоряжении баги, ошибки, трояны и фатальные ошибки. А функции JS вообще ни с кем не сражались, а видоизменяли поля боя.
Я быстро придумал такую кучу всего. Ввел в игру подобие Repository, Уровни Боссы NullPointerException, InputException, OutputException и OutOfBoundsArrayException.
В игре поначалу было 4 языка программирования HTML, CSS, JS и Вирус (просьба не пишите в комментариях, что HTML и CSS не языки программирования), потом добавился еще C# и Java.
Каждый персонаж имел сателлит, а вирус — Троян, которые могли обрабатывать один из трех видов ресурсов: код, матрица и функции. Все имели скилы в виде привычного нам синтаксиса. В игру также было введено пару фракций и характеристик персонажей, так я ввел 5 типов программистов: Дартаньян, Хайзенберг, Pinkman, «Old Boy» и Hughes.
Вот пример Хайзенберга:
Ну и конечно сюжет я заблогабстил по полной программе (графика в видео устарела):
ссылка на Greenlight..
Я ввел кучу фракций, от псевдо инопланетян — “An”, до Freedomus — думаю, понятно на кого намек…
И напоследок во все это я решил впихнуть журналистское расследование, вроде пазла, который постепенно открывает тайны фракций и как же все, что происходит в игре на самом деле случилось. И как же без него — MMO, нет своеобразное MMO — все люди бы играли по сути в однопользовательскую игру, но в одну калитку, так кроме основного продвижения и уровней, были бы глобальные продвижения, каждый пройденный уровень одним человеком суммировался бы и это бы были отвоеванные IP адреса.
В итоге я не изменил себе, это был четвертый год без выезда «за границу», на море и в первом же отпуске, я провел все две недели программируя день и ночь Programming War, я быстро забил на Greenlight и перестал выкидывать продвижения, у меня была полная уверенность в супер идее, я немного изменил модели, обновил графику, добавил кучу функций, и еще меня очень радовало, что в отличии от Dark Forester в игре отсутствовали баги.
Конечно, как вы видите по картинкам я явно не одарен работой в фотошопе, но все же многие вещи удалось сделать самому, вы к сожалению не увидите здесь обновленных скриншотов, я решил держать дальнейшее развитие игры под завесой тайны. Так я стал вводить постепенно темный дизайн, наподобие того, что сейчас часто используются в IDE Unity или Intellij.
Back to the future
Но пришло время отложить Programming War на полку, прошло пол года работы, наконец, по задолжности за движок, почти 700 долларов удалось заплатить, купить новую материнскую плату и процессор. Я вернулся; за то время подписка на Юнити изменилась, да и уже вышел Unity 5. Я сразу решил, что надо перекидывать весь проект на новую версию, так как в магазине появилось пару отличных лесных ассетов. К сожалению, я все таки не безболезненно перейду на Unity 5, но от новых ассетов откажусь.
Время без разработки не прошло зря. У меня было время для анализа, как я и упомянул, я должен был вернуть спортивную форму — я стал жить и работать по старой новой формуле, на первом месте спорт, пока я не потренируюсь, я не еду на работу — кач должен занимать столько времени, сколько понадобится. Плюс добавил в свою жизнь умывание холодной водой, даже не знаю верю ли я в них. Знаю лишь, что встаю бодрым и, что это часть крестового похода. Да, мне до чертиков, каждый день не хочется этого делать — но, что бы добить Темного Лесника, я должен каждый день побеждать себя.
And a man, a man provides. And he does it even when he's not appreciated, or respected, or even loved. He simply bears up and he does it. Because he's a man.
Медленный вылаз из долгов. При такой зарплате мы лишь два раза за год сходили в Макдональдс. Почти пятый год отпусков — пятый год без моря, лишь программирование. Медленный вход в форму, холодный душ, третий ред булл, сон по пять часов — но, я играл на длинной дистанции в плюс.
Темный Лесник, чуть поправившись вышел в бетке — где, все же остался непочатый край работы. Если мне когда-либо понадобится искать работу, я знаю, что графа в биографии Темного Лесника и Программных Войн (может быть к тому времени доведенных до ума) будет играть не маленькую роль, наравне с опытом работы на Java.
Я отдал приватный кредит и огромную часть других государственных кредитов. За день до нового 2017 года, мы окончательно переехали в новую квартиру в хорошем районе Мюнхена. И да, я снова могу ходить в Макдональдс хоть каждый день. История на этом не заканчивается, это все еще лишь ее начало, ну, а продолжение вы услышите лишь тогда, когда в графе Dark Forester появится отметка released.
Я надеюсь мне удалось хоть кого-то замотивировать. Да, мы живем без кнопки «Load»и «Restart», но все неудачи, направленные в дело дают вам не хилый Experience, и это опыт не в третьем Дьябло, а в вашей собственной жизни, в лучшей РПГ, которую вы сможете сыграть.
И закончу я словами из Breaking Bad и Batman, я все это делаю для дочери, да…
но, все же, я делаю все это для себя.
И, я верю, что каждый из вас, сидящих по ту сторону монитора, может быть и делать больше, чем просто человек!