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

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

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

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

Старт

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

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

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

Из множества игровых движков остановились на 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:

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

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

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

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

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

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

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

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

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

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

Почему игры?

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

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

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

Что дальше

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

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

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

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному1
LinkedIn



50 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

респект — однозначно! тк знаю игровую кухню, не так просто на ней, но весело) Другая «тёмная сторона» игроделов — это маркетинг и продвижение. Расскажите как вы пиарите игру, помимо форумов, где берёте трафик?
Я в рекламе 7 лет проработал и когда пустился в инди разработку, понял, что о рекламе не знаю ничего, тк тратил чужие бюджеты, а когда сам — какие там бюджеты)

Игра уже доступна для iOS в нашем регионе itunes.apple.com/...s/app/robotap/id973036798
Скоро напишу пост о том, что у нас получается, что не получается и что мы делаем дальше. А пока можно следить на обновленном блоге: blog.plaiko.com

Игра уже вышла, но пока не для нашего региона. Через пару недель будет и в украинском appstore.
Мы тем временем делаем следующую: www.youtube.com/...az1o3y0A&feature=youtu.be
Твой собственный плавучий остров, возможность охотится за артефактами на дне океана и улучшать личный кусочек рая.

Arthur Bogdanov, Если не секрет что начали изучать js или c#? Если я не знаю c# то сразу в юнити3д лезть не стоит?

1. Начал с С# и пишу на нем.
Такое решение принял, потому что он кросс-платформенный (могу потом захотеть без юнити что-то создать) и в гейм-деве основные библиотеки на С++ или C написаны, а С# близок к этим языкам. Легче потом разбираться в С++ коде.
Да и в Unity не js, там UnityScript со своими ньюансами. Он похож на js, чтобы больше девов могли проще зайти в движок.

2. Если не знаешь С# - лезть стоит :) Разберешься походу. Но можно и на UnityScript писать, если есть опыт с js. Просто, мое мнение, — его изучение не очень практично в долгосрочной перспективе.

Видно, що Machinarium любите)

Так геймплей там як розвиватиметься? Виключно в сторону ускладнення паззла?

Там є час, за який паззл треба складати.
Тому так — інтенсивність гри за рахунок часу и складність за рахунок більш складних роботів.
Розвиватиметься по синусоїді.

І класичний ланцюжок рівнів з зірочками за швидкість?

Маленька порада — додавайте обов’язково ще якісь плюшки до геймплею. Особливо якщо ви орієнтуєтесь на дитячу та підліткову аудиторію. Як мінімум, щоб за стовідсоткове проходження рівнів давали шматочки паззлів, з яких потім юзер зможе зібрати цілу картинку (з концептом гри) і завантажити собі на дівайс, ну і так далі. Тут вже придумувати можна що завгодно. Але сам луп у вигляді «збери швидко, пройди на наступний рівень» — воно не так вже й цікаво, з огляду на тенденції ринку.

А роботи милі)

Правильный движок.
Выглядит красиво и прикольно.
Трогательная история с сжиганием мостов )))
Думаю, все у вас получится. Желаю успехов!

Отлично! Респект!

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

Welcome to proper path! )
Надеюсь фана от создания продута будет больше, чем от управления этим процессом! А реальный опыт в разработке продукта позволит раскрывать новые горизонты.

В свое время после длительных «непониманий» программистов, решил сам что-то написать) оказалось это интересно

Спасибі було дуже пізнавально.
Сам не раз думав зайнятись геймдевом, давно слідкую за Unity3D, тестую гейм прототипи та граюсь із функціоналом, і навіть почав вивчати С# заради цієї цілі, та все ніяк не дойду до чогось серьйозного. Дуже приємно бачити коли люди роблять насправді те що подобається, бажаю вам успіхів, ну і буду чекати фіналу вашого проекту.

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

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

Ещё популярны игры, такие как World of Goo, Limbo, The Room или там Monument Valley, которые запоминаются за счёт атмосферы / графики / музыки, тут нужны хорошие артисты.

Ещё есть переиздания старой классики, вроде Baldur’s Gate или Heroes 3, у них аудитория сформирована ещё до выпуска игры.

Игр с уникальным геймплеем, типо Minecraft или Surgeon Simulator — две-три в год, и через год обычно появляется пара клонов от больших издателей.

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

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

Ну да, деньги платят не за написание кода, а за решение проблем, и компании таки избалованны при приёме джунов на работу.

Сможете ли вы свою игру продать, или хотя-бы заявить о её существовании пользователям? Есть ли бюджет на рекламу? Будете ли пользоваться услугами паблишера?

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

Ничего не получится, иди прокрастинируй. Вахаха \o/

У 3д моделлера уже был опыт работы с юнити. И потом у нас было к кому обратиться по поводу помощи в программировании, что было важно для такого нуба как я. А когда я начал разбираться с движком — он мне понравился логичностью и простотой. Кроме юнити я работал еще с Source. Unreal не смотрел, но то, что он бесплатен для разработчиков до определенного порога прибыли — это прекрасно.

Удачи в начинаниях, но вы бы уже начинали думать про маркетинг, сейчас уже очень сложно пробиться в топы даже через издателя. И по окраске поста я понимаю это «пан или пропал» — поэтому если вы не продумаете монетизацию сейчас, потом будет уже поздно.

Монетизацию и интеграцию систем мобильной аналитики нужно продумывать еще до альфы версии игры. А лучше, как делают известные компании, еще до создания самой игры обдумать монетизацию и выбрать системы аналитики.

Спасибо за интересную статью, желаю вам удачи:)

Было бы не плохо к блогу прикрутить какой нибудь disqus

Спасибо большое за хорошую статью! Подписался на блог — жду игру теперь :) И да, удачи в новой роли!

Тоже смотрю в направлении геймдева. Очень мотивирующая статья. Спасибо вам за это.

А что будете делать если, сбережения закончатся раньше, чем продукт начнет приносить прибыль? Есть какой-нибудь план «Б»? И кстати а какая у вас модель монетизации? Может я не заметил, но вроде в статье не упомянули...

1. План Б — придумать план Б, если закончатся деньги.
2. По модели — будем продавать игру.

Без внутренних покупок будет игра?

Если внутренние покупки будут, то не такие, что будут влиять на продолжительность нахождения в игре типа энергии.

О погруженности в игру и игровое коммьюнити тоже стоит подумать сейчас, так как позже может быть поздно. По монетизации у меня есть ряд материалов, могу отправить вам, если у вас есть желание)

а можете мне отправить?) желание есть!

От через таку бізнес-модель ми вчора завалили хакатон навіть з крутою ідеєю і робочим прототипом. Помічу, що програли клону icq/viber і одному неробочому прототипу.

Через яку саме?
Але не переймайтеся, ми в 2013 заняли 1 місце на DOU хакатоні і я скажу то досить суб"єктивна оцінка.

По модели — будем продавать игру.
Але якщо все йде добре — не переймайтесь =)

Круто! Так держать и Удачи!

Цікава стаття. Таке запитання, в геймдеві заробити можна тільки коли випустив продукт. Тобто якщо я хочу ним зайнятися, то треба паралельно працювати десь щоб заробляти гроші поки не випустив гру ?

в геймдеві заробити можна тільки коли випустив продукт.

А що, десь інакше?

Тобто якщо я хочу ним зайнятися, то треба паралельно працювати десь щоб заробляти гроші поки не випустив гру ?

Ні, звичайно.

Думаю ви відповили на своє запитання. Якщо немає грошей — так, можете пробувати робити гру параллельно з вашою роботою. Я це теж практикував, але та гра в мене не вийшла успішною, і то є нормально.

Действительно круто, и достойно уважения ! Удачи вам :)

Артур, вы не могли бы подробнее рассказать об использованой архитектуре? Спасибо!

Пример архитектурі ві можете взять здесь:
kostiantyn-dvornik.blogspot.com/...ia-unity-2d-tutorial.html

а нету варианта для юнити 5? после автоматического апгрейда, у меня в сцене серо-голубой фон и ничего больше не просиходит

В соседнем комментарии от Кости Дворника ссылка. Это он нам помог с архитектурой и там можно скачать пример игры на практически такой же архитектуре. Если интересно, могу где-то выложить uml диаграмму по классам и прокомментировать. Если какие-то конкретные вопросы, пишите в скайп: ar.bogdanov.

Обучиться такой архитектуре можно в IT School Doctrina Харьков. Артур там баг с ключом сзади на шестерне ездит назад.

Анимация выглядит очень прикольно. Ждем релиза.

Чем-то миньонов напоминает местами :)

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

Золотые слова :)

Підписатись на коментарі