Quantcast
Viewing all articles
Browse latest Browse all 8401

Бросить всё, чтобы делать игры

[Об авторе: Артур Богданов — в прошлом co-founder amgrade.comи drucode.com. Сейчас разработчик игр]

Часто слышу, что программисты хотят «вырасти» до менеджеров, и видят это логическим продолжением своей карьеры. У меня получилось наоборот: после пяти лет работы в менеджменте и продажах я всё это бросил и начал заниматься разработкой своей игры.

За те 5 лет менеджмента я создал 2 веб-ауторсинговые команды и провалил один игровой проект. Примерно 6 месяцев назад подарил свои 50% в аутсорс-компании уже сложившемуся там костяку (не считая символичных 60k usd, взятых со счета компании на двоих с партнером) и ушел учиться делать игры.

Старт

Чтобы побыстрее приступить к делу, я взял очень простую в реализации идею. Рассказал о ней другу, который хорошо рисует. Мы давно хотели вместе что-нибудь сделать, и принялись за работу.

Кстати, на тот момент друг жил в зоне боевых действий, в Артемовске (Донецкая область). Я долго искушал его переехать во Львов. Спустя 4 месяца он таки решился, оставив собственный дом в Артемовске, взяв в охапку жену и двоих детей. Еще спустя месяц он совершил другой героический поступок — ушел из аутсорсинговой компании, в которой проработал около 10 лет, потому что полноценно совмещать разработку нашей игры и другую работу фулл-тайм стало невозможно.

Image may be NSFW.
Clik here to view.

Технология и обучение

Из множества игровых движков остановились на Unity3d. Он прост в освоении, есть большое сообщество, а также пара знакомых программистов, которые давно работают с Unity. К тому же, с помощью него можно выпустить игру на все мобильные платформы без особых дополнительных усилий.

Программировать я не умел, поэтому начал учиться. Проходил онлайн-курсы, читал документацию, смотрел туториалы и пробовал создавать игровые прототипы. Кстати, ни одного туториала так до самого конца и не прошел — скучные они какие-то. Хотелось реализовывать свои идеи, а не списывать код. Как мне кажется, наиболее эффективное обучение — это вдумчиво читать документацию и как можно больше программировать, постепенно решая всё более сложные задачи. Еще очень помогают книги от матерых программеров. Одна из моих самых любимых: «Game Coding Complete» by Mike McShaffry and David Graham.

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

Услуги моего товарища-программера обошлись нам в 1600 usd. Получилось всё очень классно и гибко. Ничего особенного для гейм-дева, но очень юзабельно: вся логика управляется игровыми стейтами, стейт-машины приаттачены к основным game objects, которые, в свою очередь, управляют дочерними объектами. Каждая сцена имеет свой Root class. Стейты переключаются в Root-классе сцены, а их логика в основном обрабатывается в скриптах-моделях, этих основных game objects. Совсем начинающим программерам с удовольствием расскажу более подробно — пишите. Кто может научить делать лучше — тоже пишите, пожалуйста.

Про игру

В нашей игре нужно складывать роботов из частей. И чем быстрее и лучше вы сможете это делать, тем дальше продвинетесь. Игра — абсолютно family safe. Она развивает концентрацию внимания, и я был поражен тем, с каким восторогом ее принимают дети. Сначала выйдет для ipad, потом — iphone, а дальше посмотрим.

Ниже пара персонажей, как мы их задумали и какими они получились в 3d:
Image may be NSFW.
Clik here to view.

Мы также решили, что сделаем классные анимации, но так как никто из нас это делать не умел, то мы нашли для этой работы аниматора. Это обошлось нам в 1500 usd. Короткое превью геймплея:

Сейчас мы работаем над UI, саунд-дизайном, доведением геймплея, 3D-объектов и сцен.

Самое трудное в разработке игры — то, что вопросов всегда намного больше, чем ответов. Существует миллион путей организации геймплея, графики, программной архитектуры, и каждое принятое решение может повернуть процесс не в ту сторону. Поэтому решения нужно продумывать, разрабатывать через быстрые прототипы, анализировать результаты.

Личные трудности

Тяжело было в корне изменить свой образ жизни.

1. От майнд-сета менеджера к разработке
Когда вы занимаетесь бизнесом/управлением, присутствует много мультитаскинга, общения с людьми по e-mail и в «реале» и мало концентрации на одной узкой задаче (по крайней мере, так было у меня). В разработке важно уметь фокусироваться на одной задаче в одно время. Делегировать мне пока некому.

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

2. От жизни в полном достатке в экономную жизнь
Я люблю путешествовать. Раньше по роду деятельности очень часто ездил в Европу к клиентам и коллегам, любил отдыхать на тропических островах. После ухода в разработку решил, что пока снова не начну зарабатывать хоть немного денег, никуда не поеду. Потому зимой страдал от жесткой депрессии :)

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

3. От работы в офисе — в работу дома
Поначалу было очень тяжело просыпаться и, никуда не выходя, садиться за компьютер. Часто мозг просто отказывался думать и учиться, лень брала верх. А еще рядом любимая Dota 2 и друзья, которые играют по вечерам. Но я решил постепенно справляться с этой прокрастинацией. Помог спорт и кофе по утрам, причем для спорта много не надо — достаточно турников на площадке рядом с домом. Это действительно придавало бодрости, и только после возвращения домой и чашки крепкого кофе я собирался с мыслями и фокусировался на деле.

Почему игры?

В детстве игры сильно повлияли на мое мировоззрение и способ мышления. Играл я очень много, иногда профессионально. Но глядя на большинство современных игр, не хочется и представлять, как они повлияют на будущее поколение. Сейчас многие становятся геймерами с мобильных платформ, а мы там видим скорее гемблинг: «Тебе понравилась наша игра, и хочешь сыграть еще? Заплати пару баксов, получи еще немного дозы, и приходи потом снова за новой порцией.»

Я понимаю, что успешные проекты быстро растут. Компания-разработчик наращивает штат людей, и всем им надо платить и бизнес развивать. А значит, надо придумать, как вытянуть из пользователей побольше. Но какой в этом всём смысл, если игра превращается в отжимание денег? Должны быть какие-то другие пути.

Это еще не говоря о геймплее, который нам предлагают. Чаще всего — одно и то же под другим соусом. А я, как сейчас, могу вспомнить свои ощущения в 2004 году от первой MMORPG, которую я увидел — настолько это было ново и захватывающе. Мы разучились фантазировать.

Что дальше

Меня сильно мотивирует то, что с интернетом мир плоский, и мы можем создать продукт, который будет приносить людям в любой точке мира радость, а нам — средства для разработки следующих идей. И всё это — имея только ноутбуки, голову и немного упорства. Сейчас я просто не могу представить себя делающим что-то другое.

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

P.S.У меня есть блогна английском языке, где я пишу апдейты по нашей работе, и твиттер. Буду рад новым подписчикам.

Image may be NSFW.
Clik here to view.

Viewing all articles
Browse latest Browse all 8401

Trending Articles