<СЕКРЕТНО: ДОСТУП А>
2142.03.21
Перехват сообщения QDFS-0076
Всем привет! Я – Селена жива и здорова – снова с вами! После моей прошлой заметки “Как сделать взрывного кота?!” дорогие читатели закидали меня письмами с вопросами об использовании технологии копирования на человеке.
“Свободная Селена, привет тебе! По инструкции из твоей заметки мы с женой сделали взрывного кота. Соседский цербер пытался его съесть – пса взрывом разнесло по всей округе. Благодаря тебе мы решили огромную проблему – гаденыш больше не гадит у нас во дворе. Искреннее спасибо. У меня возник вопрос – возможно ли достать бОльшую камеру Грувса и сделать взрывную копию себя или моей жены?
С уважением, Ролум Менстрив”
Всегда пожалуйста Роли! Ты настоящий свободный человек Королевского сектора, в новой заметке я отвечу именно тебе!
Как известно Кригг Грувс изобрел т.н. “камеру Грувса” для копирования вещей малого размера. Он был растяпой, постоянно терял вещи, поэтому хотел иметь несколько копий про запас.
И знаешь что Роли? УВЕРЕНА НЕ ЗНАЕШЬ!
БОльшой камеры просто не существует.
Смешно да?
Ее просто нет.
На самом деле есть – скрывают. Лично один я собрала сама для нашего Батальона Огня!
(Ты же не думаешь что я буду выдавать настоящее название?!)
Ниже перечислю список деталей нужных для сборки камеры Груввса (снова) (ненавижу повторяться!!!):
Все это легко достать, даже в твоем секторе. Как быть с “бОльшей” камерой, спросишь ты меня? Копию себя любимого невозможно втиснуть в микроволновку. Или ты размером с кота?
Роли, тебе надо отыскать ремонтный блок, который используется для ремонта боемашин.
Нужно еще много элллллектричества!!!
Мне электричество идет прямо из фазовой шахты звезды. Ролум, у тебя есть свободная звезда?
Итак список необходимого:
1.Ремонтный блок боемашины
2.Электричество из фазовой шахты
3.Лазер Груввса
К этой заметке добавила я схемы сборки, этапы тех. процесса и щепотку черной магии!
Удачных взрывов Роли! Свободу от тирании Королевства!
– Они все идиоты, все отдают сами.
– Ведь ты со своими ребятами захватываешь их корабль, что им остается?
Маркус встает в полный рост, достает пистолет и наводит на меня.
– Блокнот. Важнее всего он для тебя, мне его отдай.
– Но зачем тебе мой блокнот?
Я слышу как перещелкивает предохранитель пистолета. Послушно отдаю свой блокнот с записями.
– Ты такой же идиот.
Маркус забирает блокнот и уходит в сторону корабля.
– Но как же интервью? Там мои записи, я не смогу опубликовать если ты не отдашь мне его!
Маркус Лоботряс – известный галактический пират, авантюрист. Не судите о нем по смешному прозвищу. Он известен грабежами транспортных кораблей, разбоями.
Любой деловой человек галактики отказывается работать в том секторе где объявляется Маркус. На его счету смерть охотника за головами Шустрого Франко.
Кажется что Рыцари Ее Величества желают получить его голову сильнее чем полный и тотальный контроль над мятежными секторами.
Теперь он стоит передо мной, длинная черная кожаная куртка, кружевные узоры переливающегося синего цвета на одежде, взгляд ястреба.
– Тебе жить не больше двух лет.
Он кидает блокнот на землю.
– Озвереешь, безумцем станешь.
Слышу как разбойники банды Маркуса открывают очередной контейнер. Раздается громкий смех “Ааа! Здесь еще выпивка!”
Несколько бандитов уже открывают бутылки и начинают пить под общее гоготанье.
Маркус показывает пальцем в сторону своей команды.
– Быть как они хочешь?
Вопрос меня сбил с толку. Он хочет чтобы я стал частью его банды?
– Нет к разбою у меня душа не лежит.
Слышу смешок с его стороны.
– Шатаешься без дела по галактике. Закончишь как они.
– Но я журналист, это моя работа!
Слышно как сварка вскрывает очередной контейнер. Сначала слышны смешки, но внезапно раздается нечеловеческий рев,
крики одного из бандитов “Что это!”, другой “Это чудовище шахт! Мы все умрем!”
Огромный монстр возникает перед моим взором. Чудище высотой с гору, когтями, шерстью и красными полными ярости глазами.
– Прячься!
Маркус бежит в сторону монстра, я прячусь за ближайшим валуном.
Огромной лапой чудовище выбивает несколько бандитов, они разлетаются в стороны. Раздаются крики и выстрелы.
Мой редактор Жорен видит что происходит, отправляет мне сообщение:
– Шенон, выбирайся оттуда, я не хочу получить тебя назад кусками!
Собираюсь с силами и начинаю бежать в сторону корабля. Маркус кричит своей команде чтобы те отступали к кораблю и улетали.
Чудище своим ревом заставляет оцепенеть от ужаса несколько человек, они встают намертво и оно вбивает их в землю огромной лапой.
Маркус кричит мне:
– Беги журналист!
Я успеваю нажать на кнопку шлюза, из-за бури двери тяжело открываются. Успеваю забежать.
Вижу как Маркус забегает в последний момент в шлюз.
– Хаха не так и страшно чудище шахт да?!
И тут я вижу как он падает на металлический пол. Одна нога остается по ту сторону приоткрытой двери. Огромный коготь чудища торчит в его ноге.
– Идиот помоги мне!
Хватаю Маркуса за руку, несколько человек хватают меня и пытаются вытянуть нас. В этот момент я понимаю что корабль уже взлетел. Нас начинает швырять по шлюзу, вытягивать в открывающуюся дверь шлюза.
Слышно как чудовище бьет второй лапой по кораблю, нас вытягивает все сильнее. Сигнальный красный свет начинается светить, истошно кричит звук разгерметизации.
Раздается крик Маркуса, его рука вылетает из моей, потоком меня выталкивает вместе с ним вниз, прямо на землю планеты Тизис 4.
—
– Дед ты опять свои байки рассказываешь?
Элинора входит в комнату, ставит две чашки чая на стол.
– Я внучке рассказываю истории из своей жизни.
– Опять про “чудище шахт”?
Нахмуриваюсь, неужели нельзя просто выслушать старого человека и не высмеивать. Молодежь.
– Дедушка, а что дальше было?
– Доченька, дедушка убил чудище, и он вообще герой. А тебе спать пора.
– Ты все врешь! Как он его убил если дедушка маленький, а чудище большое!
Ведь она права…
Привет дорогой читатель. В этой заметке я опишу свой опыт создания первой игры для мобильников Андроид. Многим людям нравится эта история, я считаю ее необходимо опубликовать. Это не история успеха, но думаю многим начинающим разработчикам даст понимание с чего начинать и что нужно делать для создания простенькой игры. Обязательно опишу свои ошибки, и что можно было сделать лучше.
Да простят меня 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 назывался так)
Так как времени было мало, необходимо было выбрать готовый 3d движок. Создать свой движок с нуля можно, но не очень продуктивно, так как на тестирование и совместимость со всеми устройствами уйдет большая часть времени. До прихода Unreal Engine, Unity, ThreeJS (HTML5), лидирующим движком был JPCT-AE. Движок поставлялся в виде готовой java библиотеки, поддерживал старые версии андроида. Также его создатель EgonOlsen оперативно занимается поддержкой и исправлением ошибок по запросу разработчиков.
Кадры решают все – хулиган Антон согласился написать музыку для игры. Я всегда восхищался его творчеством, его работа послужила локомотивом движущим весь геймплей, заставляющим пользователя играть до последнего сбитого вертолета.
Столько всего, с чего же начать? Начать надо с установки 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, и была сделана модель вертолета. Текстуры были взяты из открытых источников армии сша.
Зачем нужен вертолет в игре с двумя панками и базукой? Когда я играл в прототип, то заметил что игрок может просто стоять на месте и набивать очки. Идеальным решением оказался вертолет, который прилетает и закидывает игрока субмаринными торпедами, не давая ему останавливаться.
В мобильных приложениях и играх того времени остро выражена проблема нехватки памяти, как на самом телефоне, так и в оперативной памяти. Производительность была тоже на троечку. Один ARM процессор с частотой 300-500 мгц. В результате тестирования на телефонах друзей, оказалось что у HTC в два раза меньше видеопамяти чем в LG, 8мб и 4мб со-но, из-за чего игра выбивала лимиты памяти и не запускалась. Все ресурсы были ужаты до того состояния, чтобы получить фреймрейт 30 кадров в секунду, и возможность запускаться почти на всем.
Не повторять!
В Alien Runner управление осуществлялось с помощью нажатий на экран. Такой тип управления мне показался не удобным, я реализовал управление с помощью акселерометра. Тоесть поворачиваешь телефон – поворачивается мотоцикл. Мне так понравилось что я даже добавил вид от первого лица, для самых смелых.
Поддержка со стороны разработчика движка jpct-AE мне понадобилась когда я увидел что в игре исчезает затемнение впереди. Это происходило после сворачивания и разворачивания приложения. Я создал тему на форуме jpct-AE и уже через два дня проблема была решена. Я интегрировал исправленную версию движка в игру.
Также стоял вопрос как реализовать бесконечную подачу машин. Для мобильной игры необходимо было придумать способ обеспечивающий добавление машин на игровую сцену БЫСТРО. Вариант с загрузкой из медленной памяти или sd карты был сразу отвергнут. На помощь пришел паттерн проектирования под названием объектный пул. Когда машина выходила из области видимости или уничтожалась, то она отключалась и в момент когда требовалось подать новую машину в начало сцены – то она включалась и ставилась туда.
Чтож настал день релиза. Игра была оттестирована, предварительный показ друзьям проведен, теперь предстояло выйти в золото на Android Market. Регистрация в Android Market стоила 20$, оплачена. Добавлено описание, скриншоты. И в этот момент я понял что нужно записать видео.
Как записать видео для мобильного проекта? Неужели снимать мобильный телефон на камеру, а потом выкладывать? Решение было интересным, я использовал Андроид эмулятор, отыграл в игру с фреймрейтом два кадра в секунду, записав все происходящее на экране с помощью программы которая называется примерно так gtkDesktopRecorder. С помощью VirtualDub скорость видео была увеличена до 30 кадров в секунду. Потом в лучшей программе для редактирования видео – Windows Movie Maker я добавил все игровые звуки и музыку.
Теперь настал момент ошибок. В раскрутку проекта не было вложено ничего, ни усилий, ни денег. Я тогда считал что проект отобьет сам себя. Игра ушла на золото, я создал тему на форуме jpct-AE о Mad Racer. Я получил 12 установок по доллару за две недели. И обнаружил игру в бесплатном доступе на куче варезных сайтов на следующий же день.
Напевая песню FSF “Share the software” я решил сделать бесплатную версию, с рекламой. Игра была переведена в разряд AdWare, внизу появился рекламный баннер от сети AdMob. Интеграция с рекламной системой прошла гладко. За месяц игра была установлена на десять тысяч устройств. Из рекламной сети я получил 50$.
Вообщем не забывайте о рекламе, я считаю что это должна быть одна из главнейших статей расходов на ваш проект.
Из положительных сторон хочу отметить получение мной места iOS разработчика в одной из лучших компании нашего города. И конечно же бесценный опыт.
Главное знать, что ты можешь, а чему еще предстоит научиться. Говоря о качестве — я забываю о времени. Этот приоритет, который нужно научиться правильно ставить.
Привет всем, меня зовут Антон и я дизайнер. В основном я занимаюсь 3D графикой, но нередко люблю разрабатывать и UI дизайны. Мое хобби — музыка и фентези.
Илья Прохоров (позывной Demens Deum) – люблю создавать приложения, игры, музыку. Пишу на языках C/C++, ObjC, C#, Swift, Java, и еще 10 похожих на Ruby и Python языков для веба и скриптов. Люблю играть на нервах и гитаре. Напиши мне если хочешь поговорить за жизнь.
We use cookies on our website. By clicking “Accept”, you consent to the use of ALL the cookies. Мы используем куки на сайте. Нажимая "ПРИНЯТЬ" вы соглашаетесь с этим.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.