Gamedev Андрей Чернышов
5 973

Разработка третьей игры, или мой путь между граблями

За что браться в первую очередь.

В закладки

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

Для начала, наверное, нужно представиться. Меня зовут Андрей Чернышов, и я уже четвёртый год делаю мобильные игры от имени Anji Games, которая состоит из одного меня. На данный момент я выпустил три игры: Hellrider, Hellrider 2 и Fury Turn, последнюю из которых завершил на днях. Но пост будет не столько про неё, сколько про разработку предыдущей игры Hellrider 2, увидевшей свет год назад. Вернее о том, что я вынес из этой разработки.

трейлер Hellrider 2

Hellrider 2 далась очень не просто, и я составил себе список правил на новый проект, который очень помог мне сохранить и нервы и время на всех этапах разработки Fury Turn. Я прекрасно понимаю, что есть куча подобного материала: как начать, чего избегать, как рекламироваться, и так далее, поэтому постараюсь упомянуть здесь лишь то, что не попадалось лично мне, и относительно подробно разобрать какие-то специфические примеры.

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

Почаще думать, прежде чем что-то делать, и не застревать на мелочах

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

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

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

Не забывать про монетизацию

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

Не усложнять себе жизнь

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

В общем, во Fury Turn я сделал кнопки прямоугольными и чуть не плакал от удовольствия, как легко с ними делать меню. Я не говорю что в Hellrider интерфейс выглядит хуже, я к тому, что несоизмеримо больше сил и времени пришлось потратить на то, чтоб он не проигрывал в функциональности «квадратнокнопочному» интерфейсу.

Не пытаться объять необъятное

Это пункт про трезвую оценку своих сил. Лично мне всегда хочется сделать больше, чем я реально могу сделать, и, забыв об этом в процессе разработки, можно попасть в очень неприятную ситуацию. Опять же пример из Hellrider 2: изначально я хотел сделать много видов оружия, кастомизацию байков, сюжет, мирных персонажей и так далее. И я создавал игру, принимая во внимание все эти механики.

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

В ранних прототипах Fury Turn на уровнях была высота. Тесты показали, что она серьёзно усложнит разработку, и я от неё сразу отказался, сильно упростив себе жизнь в дальнейшем

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

Маленький трюк с выбором цвета воды, земли и стен помог разнообразить атмосферу уровней. При этом такой подход практически ничего не стоил

Хорошо спать и отдыхать

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

Следить за сложностью игры

Когда делаешь игру больше полугода, особенно со специфической (zig-zag) механикой вроде Hellrider, наглухо перестаёшь понимать какой увидит эту игру человек, впервые её запустивший. Тут могут помочь знакомые, друзья и родственники, но предполагается что за полгода разработки и они тоже не понимают, как это видит новый человек.

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

В релизной версии Hellrider 2 не было автоповорота. Игроку нужно было ловить момент и тапать, чтобы байк сменил направление движения. Система работала нормально, но только если игрок уже научился это делать. После релиза быстро стало понятно что эти повороты правильно проходит очень маленький процент людей, поэтому в первом же обновлении повороты по умолчанию стали автоматическими (хотя ручной режим по прежнему можно включить в настройках). Всё это можно было сделать и до релиза, если бы я чаще тестировал игру на новых людях.

Ну, и последнее

Я неспроста столько внимания уделил нерационально потраченным силам и времени на том проекте. Всё это привело к тому, что на середине второго года разработки Hellrider 2 у меня просто начали опускаться руки. Я потерял к нему интерес и завершение проекта стоило больших трудов. Я как попало выпустил эту игру, полностью провалил релиз кривой монетизацией и совершенно не хотел ничего исправлять. Только после почти трёхнедельного отпуска вдали от компьютера интерес к игре вернулся.

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

трейлер Fury Turn

Больше материалов о том, как я разрабатываю игры вы можете найти в моей группе ВК и твиттере Anji Games.

#инди #опыт

Материал дополнен редакцией

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

Написать
{ "author_name": "Андрей Чернышов", "author_type": "self", "tags": ["\u043e\u043f\u044b\u0442","\u0438\u043d\u0434\u0438"], "comments": 37, "likes": 154, "favorites": 67, "is_advertisement": false, "subsite_label": "gamedev", "id": 14428, "is_wide": false, "is_ugc": true, "date": "Tue, 09 Jan 2018 14:23:00 +0300" }
{ "id": 14428, "author_id": 44894, "diff_limit": 1000, "urls": {"diff":"\/comments\/14428\/get","add":"\/comments\/14428\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/14428"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954 }

37 комментариев 37 комм.

Популярные

По порядку

Написать комментарий...
11

В избранное, топовая статья и крутые игры!

Ответить
0

поддерживаю, да-да!

Ответить
6

МАЛО) Надо больше о разработке, тем более силами одного человека)

Ответить
9

Времени статьи писать силами всё того же одного человека тоже мало, увы)

Ответить
4

Андрей, спасибо, отличная статья и классные игры! Поднял действительно актуальные вопросы и дал дельные советы. Со многими из описанных проблем я сам столкнулся во время работы над своим проектом. Зацикливание на мелочах, которое несет за собой лишь психоз и вываливание из состояния, когда мозги могут более-менее эффективно работать. Нехватка отдыха, которая является следствием иллюзии "буду меньше спать, больше работать и тогда больше успею". Ну и необходимость регулярно вставать из-за компьютера и оглядываться вокруг.

Ответить
2

Очень крутая статья! Если автор напишет еще одну на тему продвижения и самиздата - многим это будет полезно :)

Ответить
0

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

Ответить
2

Вопрос тем более интересен, если ничего для продвижения не делаете. Просто выкладываете игру в стор и она окупается? Я думал такое давно уже не работает.

Ответить
1

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

Ответить
0

Клёвые проекты, это всё ф2п? Выхлоп есть? Издавался сам?

Ответить
7

Спасибо, ф2п, выхлоп есть (иначе бы не занимался этим четвёртый год), издавался всегда сам.

Ответить
0

ЗЫ если не хочется это обсуждать публично, куда тебе можно написать? )

Ответить
1

Можно в вк, у меня в профиле ссылка указана)

Ответить
0

Сколько загрузок на хелрайдере? Если не секрет, и почему сам? Пробовал договариваться с издателями? Как продвигался? )

Ответить
0

Вы издавались сами? :)

Ответить
1

Бывают же совпадения, мне только дня три назад аппстор подкинул hellrider. В общем спасибо вам, автор, за нейтрализацию мелкого брата на несколько часов :D

Ответить
2

ХD рад стараться)

Ответить
1

Ох, сколько ЛЕТ прошло с тех пор, как я впервые запустил Hellrider 2 и просто ПОТЁК))0 Ещё тогда я подумал, что мне необходимо поблагодарить разработчиков (до сих пор я абсолютно ничего не знал об Андрее) за качественную и фановую таповую игру, которой домогалась душа в то время и которую она получила! Было очень интересно прочитать о разработке одной из любимых убивалок времени и очень странно осознать, что игра под конец превратилась в тяжёлое дитя, ведь эмоции по итогу она дарит совсем противоположные) В общем, спасибо, Андрей, за крутой продукт! Я сам время от времени пытаюсь разрабатывать на коленке, поэтому понимаю то, как приятно иметь подобных мне (потёкших) фанатов)
А Fury Turn прям сразу запала в душу! Почему-то проглядел в ней дух СегаМегаДрайвовских игр и уже жду, когда смогу запустить её)

Ответить
0

Возможно потому, что одним из основных референсов был zombies ate my neighbors) Спасибо за тёплые и немного влажные слова поддержки, это очень ценно!

Ответить
1

Видел в группе Юнити в ВК пост о, кажется, еще первом Хеллрайдере. Очень понравился визуальный стиль.
Андрей, желаю, чтобы и дальше ты мог заниматься любимым делом

Ответить
0

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

Ответить
2

Для всех своих проектов всю графику создавал сам, музыку брал частично бесплатную, частично покупал какие-то уже готовые треки. Игры сделаны на юнити

Ответить
0

"принесла массу позитивных эмоций на всех этапах."

А денег? Денег она принесла или только эмоции? :-)

Ответить
1

Почти все спрашивают "а денег? денег-то?". Автор уже несколько раз ответил, что его занятие позволяет ему уже четыре года заниматься самостоятельной разработкой. Разве это не ответ?)

Ответить
0

Большое спасибо за очень полезный и интересный материал! Возник довольно насущный вопрос: позволяет ли сегодня любимое занятие обходиться без наемной работы? Заранее спасибо!

Ответить
1

Уже отвечал вышел - да, позволяет.

Ответить
0

По делу всё. Сам залипаю на мелочах, забывая про общее-главное.. :(

Ответить
0

Хорошая статья, лайк за такое!

Ответить
0

У самого были бессонные ночи, но выспавшись проблема решалась очень быстро

Ответить
0

Андрей, спасибо за текст. Подредактировали его немного и поставили в раздел Gamedev.

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

Графический стиль очень крутой. Про ромбовидный интерфейс - выглядит стильно, но не совсем понял в чем была проблема о.о
Можно было установить жёсткие точки размещения, подровнять вручную, а при изменении размера экрана - менять масштаб самой панели, а не её компановку. Что-то вроде кастомной реализации CanvasScaler из Unity - пишется он не слишком долго. Или какие-то подводные камни?

Ответить
0

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

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Новая игра Ubisoft на релизе выглядит
точно так же, как и на E3
Подписаться на push-уведомления