09 февраля 2016

Blacksmith Lab, релиз!

В итогах за 2015ый я обещал, что расскажу о разработке Blacksmith Lab подробнее, когда игра запустится. В общем — держу обещание (мужик жеж!)


Краткое содержание:
  • сделали за полтора летних месяца
  • продали через фгл мобильную и веб-версию (без цифр, экскюзимуа)
  • релизнули только сейчас
Хотеть больше подробностей? Тогда по cut.
Начало
Было лето, возился на огороде, корчевал деревья и сажал всякие полезности. Чертовски хотелось заняться разработкой какой-нибудь игры. Придумалось сделать айдл. (Кто не в курсе — игроку нужно тупо сидеть и кликать на одном месте экрана как сумасшедшему. Со стороны процесс выглядит дико. Бывают и перерывы — можно пойти чайку попить, но игру не закрывать — она там сама справится.) Лично я обожаю этот жанр, играюсь постоянно. Но почти во всех них есть шероховатости, которые я, по наивности своей, хотел устранить в своей игре.
В общем, айдлы сейчас в моде, жанр действительно залипательный. Прошелся по kong'у, нашел вот эту игру. Механика «создать одно, потом другое» очень клевая, обязательно буду делать еще, построенное на этом.

Графика
Чего хотелось — так это удобного и наглядного управления всем процессом. В игре-рефе, имхо, всё запутано до безумия. У меня сначала нарисовалось такое:



Посидел, понял, что ерунда.
Еще был такой вариант:


Тоже ерунда, не интуитивно как-то. Но уже ближе.
Был момент, когда я хотел сдаться и выкинуть идею удобного интерфейса и всей игры в целом. Но не выкидывалось как-то. Знаете, как бывает привязалась какая-то мелодия, мычишь себе под нос, а слов и саму песню вспомнить не удается? И ходишь как сломанный плеер — напеваешь три ноты и силишься вспомнить, что это за ерунда прилипла? И выкинуть из головы НЕ ПОЛУЧАЕТСЯ.
Вот и у меня так было с этой игрой… В общем, однажды я был в очередной раз с дочкой на батуте, и у меня всё в голове так растряслось, что где-то замкнулось и я вспомнил, что это за чертова песня придумал новый интерфейс, который, казалось, решает проблемы предыдущих вариантов:


На этом и остановился. Благо нашел неплохой реф с цветами, аккуратненько пипеточкой всё оттуда и брал :)
А красную тряпочку на лого я взял у Tortuga Team без их спроса (Ребят, если вы это читаете — то не серчайте, как-то само так получилось… и да — мне стыдно!).

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


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

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

Геймдизайн
На самом деле, как и во всякой другой игре, было безумно много проблем. Решал как мог. Иногда — просто закрывал глаза и совсем не решал. Насколько длинной делать цепочку производства? Продавать ли автоматически законченный предмет? Влияют ли проекты из банка на игровой процесс? Делать ли взаимосвязи между заданиями и новостями? (например, в игре есть такое: делаешь оркам оружие — и они тут же нападают на королевство) Сделать красивый график в маркете или вместо этого уместить много-много товаров для продажи?
Да много всего на самом деле, это самые прикольные вопросы, которые сейчас пришли на ум.

FGL
Мне безумно повезло, что игру посмотрел Алексей из FGL (General) и помог мне сделать правки английских текстов. Благодарю Вас, товарищ генерал! Также он помог немного забустить игру сразу после аппрува.
Просмотров было не прям как в былые/золотые/посидел пять минут и заработал миллион/флеш-жив времена. Но, что меня очень удивило, спонсоры играли часами! Кто-то скажет «да блин, просто вкладку забыли закрыть». Да, я тоже так думал, но потом мне начали приходить письма вроде «после 20ого уровня игры нет, почему?». Да, стоило упомянуть, что я планировал сделать 50 уровней, но ленился, поэтому в версии для FGL было только 20 штук. Чтобы их пройти, нужно было играть минимум 40 минут. Я проверял :) Остальные 30 уровней были на подходе.
В общем, десяток спонсоров мне зафидбечели об этом баге, что меня дико порадовало — игра получилась залипательной. А-е!

Следующие абзацы (Мобайл и Итого) первоначально были другими. Но потом я решил их переписать, чтобы стало более понятно и прозрачно что и где происходит. Итак, вот новый вариант:

Мобайл
В общем, всем хотелось мобильной версии. Почти все спонсоры сейчас предлагают revenue share схему - когда прибыль от продаж и рекламы делится между разработчиком и спонсором. (обычно пропорция составляет где-то 60/40). А мне же хотелось флэт-денег, чтобы за игру заплатили фиксированную сумму и я не был привязан к успешности продаж в целом. Почему? Да штука в том, что на мобильном рынке сейчас сложилась ситуация, когда продажи не зависят от крутости и интересности игры, а больше зависят от маркетинга, трафика и прочей раскрутки, которая ложится на плечи спонсора/паблишера. Получается моя прибыль напрямую зависит от крутости спонсора. Но достучаться до топовых спонсоров практически невозможно. Поэтому я люблю продавать игру за недорого малым спонсорам - пусть они учатся раскручивать и отбивать те деньги, которые заплатили мне.
В общем, нашлось несколько совсем неизвестных мобильных паблишеров, долго переписывались и договорились о подходящей цене. Кстати, после торгов оказалось, что она в полтора раза ниже, чем цена за primary-web.
И тут меня ждала дикая засада. У меня как-то не особо круто с этими всякими in-app'ами, admob'ами (популярная рекламная сетка) и прочими мобильными штучками-дрючками. И еще у меня нет андроид-девайса для тестов. А еще со спонсором разница во много часов по времени, и получалось так, что я ему пишу днем, от него ответ приходит ночью и нормально пообщаться риал-тайм обо всех его хотениях никак не получалось.
Окей, не переживайте, предыдущий слезливый абзац окончен.
В итоге одна из самых больших проблем была в том, что флеш, на котором я программирую последние пять лет, связывается с устройством посредством нативных расширений (ANE), которые разрабатываются не самим Adobe (который сделал флеш), а сторонними разработчикам. А я, как известный жмот, пользуюсь бесплатными ANE. И с этими бесплатными расширениями постоянно проблему какие-то. То платеж не проходил, то реклама не появлялась. Купил у молочника (Milkman - один из самых известных разработчиков платных ANE) — и всё завелось быстро и легко. Спасибо Knight'у и Zebestov'у за совет не скупердяйничать и купить реально работающий ANE (ну, моя жадность не знает границ, поэтому я купил только 1 ANE, а два оставил фришных :P )

Итого
В общем, за два месяца получилось сделать свою первую айдл-игру (сейчас делаю вторую, бу-га-га!). И могу сказать, что лично для меня схема продажи web-flash + Mobile (AIR) кажется очень эффективной (приготовил корзинку, чтобы ловить тухлые помидоры).
Фишка в том, что я даже на Starling не переписывал, а оставил Display List и всё работает четко и шустро на 60 фпс. Стоит пояснить. Дело в том, что веб-флеш в основном работает через процессор, не затрагивая видеокарту. Жуть, правда? Да не особо, ведь процессоры на ПК сейчас такие мощные, что никто этого и не замечает. Такой вид отрисовки в простонародье называется Display List. Я его и использую. Но вот при переходе на мобильные устройства всё начинает жутко тормозить, ведь флеш базово использует векторную графику, с которой быстро справляется процессор компьютера, но на мобильных устройствах такие слабые процессоры, что векторная графика начинает жутко тормозить. И тут приходит на помощь Starling - это бесплатная библиотека для флеша, которая рисует картинку через видеокарту. Сразу появляются понятия "текстура", "батчинг" и прочие премудрости разработки под видеокарту. При этом код нужно сильно менять, заталкивать все изображения в картинки-текстуры, заботиться о Retina-экранах и готовить второй сет графики. Забот полно... поэтому я поступаю иначе. Уже в веб-версии при старте игры я беру всю векторную графику и преобразую ее в растровые картинки.  Да, это занимает какое-то время. Ну и что? Мне кажется это не критично. Зато экономит безумное количество времени при портировании. Я не использую Starling... совсем. Не нужно править и строчки кода. Дополнительный плюс - мне не нужно готовить разные сеты графики для Retina-экранов. Достаточно перед преобразованием вектора в растр растянуть векторную графику до размеров текущего экрана. В этом и есть плюс вектора - его можно хоть на огромных баннерах печатать без потери качества.
Скажите, я ленивый ломоть? Да-да, сам расстроен этим фактом, но портирование заняло ровно три дня :)

Ссылки
Буду ряд пятеркам, и всяким "поздравляю с релизом" :)

Сообщения, схожие по тематике:

0 коммент.:

Отправить комментарий