Flame Steel Stories: Интервью

– Они все идиоты, все отдают сами.
– Ведь ты со своими ребятами захватываешь их корабль, что им остается?
Маркус встает в полный рост, достает пистолет и наводит на меня.
– Блокнот. Важнее всего он для тебя, мне его отдай.
– Но зачем тебе мой блокнот?
Я слышу как перещелкивает предохранитель пистолета. Послушно отдаю свой блокнот с записями.
– Ты такой же идиот.
Маркус забирает блокнот и уходит в сторону корабля.
– Но как же интервью? Там мои записи, я не смогу опубликовать если ты не отдашь мне его!
Маркус Лоботряс – известный галактический пират, авантюрист. Не судите о нем по смешному прозвищу. Он известен грабежами транспортных кораблей, разбоями.


Pirate Soldier by EmmanuelMadailArt on DeviantArt

Любой деловой человек галактики отказывается работать в том секторе где объявляется Маркус. На его счету смерть охотника за головами Шустрого Франко.
Кажется что Рыцари Ее Величества желают получить его голову сильнее чем полный и тотальный контроль над мятежными секторами.
Теперь он стоит передо мной, длинная черная кожаная куртка, кружевные узоры переливающегося синего цвета на одежде, взгляд ястреба.
– Тебе жить не больше двух лет.
Он кидает блокнот на землю.
– Озвереешь, безумцем станешь.
Слышу как разбойники банды Маркуса открывают очередной контейнер. Раздается громкий смех “Ааа! Здесь еще выпивка!”
Несколько бандитов уже открывают бутылки и начинают пить под общее гоготанье.
Маркус показывает пальцем в сторону своей команды.
– Быть как они хочешь?
Вопрос меня сбил с толку. Он хочет чтобы я стал частью его банды?
– Нет к разбою у меня душа не лежит.
Слышу смешок с его стороны.
– Шатаешься без дела по галактике. Закончишь как они.
– Но я журналист, это моя работа!
Слышно как сварка вскрывает очередной контейнер. Сначала слышны смешки, но внезапно раздается нечеловеческий рев,
крики одного из бандитов “Что это!”, другой “Это чудовище шахт! Мы все умрем!”
Огромный монстр возникает перед моим взором. Чудище высотой с гору, когтями, шерстью и красными полными ярости глазами.
– Прячься!


Alien Assault by PReilly on DeviantArt

Маркус бежит в сторону монстра, я прячусь за ближайшим валуном.
Огромной лапой чудовище выбивает несколько бандитов, они разлетаются в стороны. Раздаются крики и выстрелы.
Мой редактор Жорен видит что происходит, отправляет мне сообщение:
– Шенон, выбирайся оттуда, я не хочу получить тебя назад кусками!
Собираюсь с силами и начинаю бежать в сторону корабля. Маркус кричит своей команде чтобы те отступали к кораблю и улетали.
Чудище своим ревом заставляет оцепенеть от ужаса несколько человек, они встают намертво и оно вбивает их в землю огромной лапой.
Маркус кричит мне:
– Беги журналист!
Я успеваю нажать на кнопку шлюза, из-за бури двери тяжело открываются. Успеваю забежать.
Вижу как Маркус забегает в последний момент в шлюз.
– Хаха не так и страшно чудище шахт да?!
И тут я вижу как он падает на металлический пол. Одна нога остается по ту сторону приоткрытой двери. Огромный коготь чудища торчит в его ноге.
– Идиот помоги мне!
Хватаю Маркуса за руку, несколько человек хватают меня и пытаются вытянуть нас. В этот момент я понимаю что корабль уже взлетел. Нас начинает швырять по шлюзу, вытягивать в открывающуюся дверь шлюза.
Слышно как чудовище бьет второй лапой по кораблю, нас вытягивает все сильнее. Сигнальный красный свет начинается светить, истошно кричит звук разгерметизации.
Раздается крик Маркуса, его рука вылетает из моей, потоком меня выталкивает вместе с ним вниз, прямо на землю планеты Тизис 4.

– Дед ты опять свои байки рассказываешь?
Элинора входит в комнату, ставит две чашки чая на стол.
– Я внучке рассказываю истории из своей жизни.
– Опять про “чудище шахт”?
Нахмуриваюсь, неужели нельзя просто выслушать старого человека и не высмеивать. Молодежь.
– Дедушка, а что дальше было?
– Доченька, дедушка убил чудище, и он вообще герой. А тебе спать пора.
– Ты все врешь! Как он его убил если дедушка маленький, а чудище большое!
Ведь она права…

Как мы делали Mad Racer

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

Hewl-Tanky

Да простят меня Jamie Hewlett и Alan Martin, публикую отличный арт Tank Girl без их разрешения

Иногда впадаешь в такое состояние, в котором хочется создать что-то эдакое, чтобы все ахнули и разинув рты говорили “Ну ты крут“. Такая история случилась со мной в 2011 году, когда я посмотрев отрывок фильма “Tank Girl” загорелся идеей создать аркадную игру в комиксном стиле.
Почему для Андроид, а не iOS? Причина проста – у меня не было макинтоша и айфона, зато было огромное желание поддержать Линукс на мобильниках. В то время мне нравилась идеология FSF, а Ричард Метью Столлман был моим божеством.


Песня линукс хакеров. Прежде чем петь – поверь в мир во всем мире

На момент разработки последней версией андроид был 2.0, также необходимо было оставить поддержку для старых версий, так как пользователей 1.6 было очень много. Многие производители телефонов даже не выпускали обновлений до версии 2.0.

Я сразу поставил временные рамки для реализации данного проекта – один месяц. За это время предстояло подтянуть знания по Java, изучить Android SDK, Eclipse, встретиться с монстром в лице OpenGL ES и положить его на обе лопатки. Со стороны графики предстояло создать около шести 3d моделей, оптимизированных для мобильников. Также необходимо было выпустить проект на золото в Android Market, в то время Google Play назывался так)

jpct_logo
jPCT-AE бесплатный 3д движок для Андроида

Так как времени было мало, необходимо было выбрать готовый 3d движок. Создать свой движок с нуля можно, но не очень продуктивно, так как на тестирование и совместимость со всеми устройствами уйдет большая часть времени. До прихода Unreal Engine, Unity, ThreeJS (HTML5), лидирующим движком был JPCT-AE. Движок поставлялся в виде готовой java библиотеки, поддерживал старые версии андроида. Также его создатель EgonOlsen оперативно занимается поддержкой и исправлением ошибок по запросу разработчиков.

antonHooligan

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

Столько всего, с чего же начать? Начать надо с установки Android SDK. Сейчас она поставляется со встроенным IDE – Android Studio. Но на тот момент IDE и SDK поставлялись отдельно. По документации на сайте Google произвел установку Android SDK, Eclipse. Также были установлены необходимые пакеты для Eclipse обеспечивающие сборку и запуск эмулятора Андроид. Через час я собрал тестовый проект jpct-AE:

Это было ухты! Но в эмуляторе телефона все тормозило очень сильно. Поэтому было принято решение купить телефон на платформе Андроид. Для этих целей был приобретен LG Optimus One P500. С тех пор я не пользуюсь отличными кнопочными телефонами нокиа на платформе Симбиан) Были проблемы с подключением телефона к Линуксу, если кто-то с ними встречается до сих пор, то проверьте настройки udev.


Джобс цитирует Пабло Пикассо

Посмотрев на Alien Runner, я понял что инопланетянина можно заменить на мотоцикл и двух панков с базукой, поляну вокруг превратить в мегаполис, а туман заменить на ночь из баллад Iron Maiden.

Как делать 3д модели? Да очень просто, открываешь урок по созданию low-poly моделей на Youtube и делаешь. Весь процесс заключался в обводке проекций в 3д редакторе. Мною были найдены чертежи вертолета Apache, и была сделана модель вертолета. Текстуры были взяты из открытых источников армии сша.

McDONNELL_DOUGLAS_AH-64_APACHE

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

В мобильных приложениях и играх того времени остро выражена проблема нехватки памяти, как на самом телефоне, так и в оперативной памяти. Производительность была тоже на троечку. Один ARM процессор с частотой 300-500 мгц. В результате тестирования на телефонах друзей, оказалось что у HTC в два раза меньше видеопамяти чем в LG, 8мб и 4мб со-но, из-за чего игра выбивала лимиты памяти и не запускалась. Все ресурсы были ужаты до того состояния, чтобы получить фреймрейт 30 кадров в секунду, и возможность запускаться почти на всем.


Не повторять!

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

Поддержка со стороны разработчика движка jpct-AE мне понадобилась когда я увидел что в игре исчезает затемнение впереди. Это происходило после сворачивания и разворачивания приложения. Я создал тему на форуме jpct-AE и уже через два дня проблема была решена. Я интегрировал исправленную версию движка в игру.

Также стоял вопрос как реализовать бесконечную подачу машин. Для мобильной игры необходимо было придумать способ обеспечивающий добавление машин на игровую сцену БЫСТРО. Вариант с загрузкой из медленной памяти или sd карты был сразу отвергнут. На помощь пришел паттерн проектирования под названием объектный пул. Когда машина выходила из области видимости или уничтожалась, то она отключалась и в момент когда требовалось подать новую машину в начало сцены – то она включалась и ставилась туда.

android-market

Чтож настал день релиза. Игра была оттестирована, предварительный показ друзьям проведен, теперь предстояло выйти в золото на Android Market. Регистрация в Android Market  стоила 20$, оплачена. Добавлено описание, скриншоты. И в этот момент я понял что нужно записать видео.

Как записать видео для мобильного  проекта? Неужели снимать мобильный телефон на камеру, а потом выкладывать? Решение было интересным, я использовал Андроид эмулятор, отыграл в игру с фреймрейтом  два кадра в секунду, записав все происходящее на экране с помощью  программы которая называется примерно так gtkDesktopRecorder. С помощью VirtualDub скорость видео была увеличена до 30 кадров в секунду. Потом в лучшей программе для редактирования видео – Windows Movie Maker я добавил все игровые звуки и музыку.

Теперь настал момент ошибок. В раскрутку проекта не было вложено ничего, ни усилий, ни денег. Я тогда считал что проект отобьет сам себя. Игра ушла на золото, я создал тему на форуме jpct-AE о Mad Racer. Я получил 12 установок по доллару за две недели. И обнаружил игру в бесплатном доступе на куче варезных сайтов на следующий же день.

Напевая песню FSF “Share the software” я решил сделать бесплатную версию, с рекламой. Игра была переведена в разряд AdWare, внизу появился рекламный баннер от сети AdMob. Интеграция с рекламной системой прошла гладко. За месяц игра была установлена на десять тысяч устройств. Из рекламной сети я получил 50$.

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

Из положительных сторон хочу отметить получение мной места iOS разработчика в одной из лучших компании нашего города. И конечно же бесценный опыт.

madracerLogoСсылка на Google Play

Если понравилась статья, сделай репост вконтакте, Facebook)

Demens Deum

Илья Прохоров (позывной Demens Deum) – люблю создавать приложения, игры, музыку. Пишу на языках C/C++, ObjC, C#, Swift, Java, и еще 10 похожих на Ruby и Python языков для веба и скриптов. Люблю играть на нервах и гитаре. Напиши мне если хочешь поговорить за жизнь.

Email: demensdeum@gmail.com
LinkedIn: https://www.linkedin.com/in/demensdeum/
Github:
https://github.com/demensdeum/
Stack Overflow:
https://stackoverflow.com/users/1105441/demensdeum