Пользователь
0,0
рейтинг
26 ноября 2013 в 17:22

Разработка → Android NDK Game Development Cookbook

Наконец-то вышел наш сборник рецептов про С++ разработку под Android.

image



www.packtpub.com/android-ndk-game-development-cookbook/book

Книга посвящена тому, как разрабатывать портируемый С++ код для мобильных приложений на примере игр под Андроид. Т.е. когда игра большую часть времени разрабатывается на PC, а потом просто собирается и тестируется на мобильном девайсе. Никаких готовых движков не используется — только С++ и open-source библиотеки. Андроид-specific вещи тоже не используются: .apk распаковываем через libcompress, звук выводим через OpenAL, в сеть ходим через libcurl, JNI услугами пользуемся по-минимуму.

Пока писали книгу была не совсем понятна целевая аудитория. Бегиннеру многие вещи могут быть непонятны, а продвинутые разработчики сами могут с лёгкостью написать подобный минифреймворк. Думаю, что книга ориентирована на intermediate разработчиков, которые уже умеют писать простые приложения на С++ под Андроид. Вобщем, эта книга не должна быть самой первой книгой по Android NDK, с которой надо начинать знакомство с ним :)

К книге прилагаются исходники всех проектов. Свежая версия доступна на GitHub: github.com/corporateshark/Android-NDK-Game-Development-Cookbook

Теперь немного про сам процесс


Всё началось с того, что на нас вышел acquisition manager издательства Packt Publishing и предложил написать книгу под уже готовое название. Содержание книги нам можно было определить полностью самостоятельно. После нескольких итераций обсуждения вариантов появился черновой outline книги, с названием всех глав и описанием их содержимого. После этого нам был выслан типовой договор из которого нам удалось убрать несколько непонравившихся нам пунктов (первоочередный приоритет издательства знакомиться с будующими книгами авторов в течении N лет) и расширить сроки написания глав (3 недели против 2 недель на главу). Договор был подписан и началась работа над черновиком книги.

Когда приступаешь к написанию главы, то по-началу не понятно о чём писать. Но оказалось, что достаточно написать код для главы и после этого текст сам льётся рекой за 2-3 дня (около 30 страниц на каждую главу) и в оговоренные 3 недели мы укладывались с запасом.

Были определены майлстоуны, по мере выполнения которых издательство выплачивало часть аванса: сдача черновиков 1-5 глав, сдача черновиков 6-10 глав, сдача всех отрецензированных глав, релиз книги. Кроме этого был предусмотрен бонус, за сдачу всех черновиков в срок, определённый в договоре (и мы получили этот бонус).

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

Дальше начинается этап pre-production. Издетальство получает исправленные главы и принимает решение: «Да, мы будем издавать эту книгу!» и открывает страницу предзаказа книги на своём сайте. К этому времени (а прошло 6 месяцев с момента написания самого первого черновика первой главы) у авторов накапливается список багов исправлений и дополнений, который бы хотелось включить в книгу (например, технологии ушли вперёд и вышла новая версия Андроид и NDK). Даётся пара недель на переписывание всего текста книги. Можно добавлять/убирать любой текст, менять форматирование и.т.п. На этом этапе у книги ещё нет той визуальной структуры, которую увидят читатели. Вся работа пока идёт в Word'e.

После сдачи переписанного текста начинается этап production. Word'овские файлы сдаются в набор и в результате получается красивый .pdf, который уже очень похож на окончательную версию книги. На этом этапе можно внести мелкие дополнения и исправления в книгу. Также в работу включается корректор, который помогает исправить языковой стиль и грамматические ошибки. По прошествии ещё двух недель, когда все изменения внесены, авторам присылаются pre-final версии в .pdf. Книга уже почти закончена. В pre-finals можно исправлять только опечатки и серьёзные «ляпы». Просто так дописывать текст уже нельзя.

Через несколько дней после того, как автор подвердил качество pre-final версии, издательство выкладывает электронную версию книги на сайте. В тот же день начинается отгрузка печатных экземпляров.

Сразу отвечаю на некоторые предполагаемые вопросы:

  • Как происходит процесс оплаты труда авторов? Wire переводами по мере сдачи майлстоунов, прямо на счёт в Российском банке.
  • Ожидается ли русскоязычная версия книги Нет. Чтобы появилась русскоязычная версия должно найтись издательство, которое издаёт книги на Русском языке и его заинтересует эта книга.


P.S. Огромное спасибо Александру Павлову (Google, Санкт-Петербург) за дополнительное рецензирование нашей книги. Саша, ты не представляешь на сколько она стала лучше!
Sergey Kosarevsky @CorporateShark
карма
40,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (24)

  • +1
    В этом то и проблема что перевести книгу не проблема см читаешь и попутно переводишь. Конечно нужен редактор чтоб стилистику подправил и тп. А вот как заинтересовать издателя выпустить книгу вот это уже другой вопрос. Ибо одна часть программистов(админов) жалуется что нет книг на русском, а другая часть говорит на кой они нужны ведь лучше читать в оригинале.
    • 0
      На этот вопрос я пока не нашёл ответа. Издатель сам нашёлся и предложил написать книгу. Разве что темы не дали выбрать.
    • +2
      А если выпустят, то на какой-то вонючей бумаге, хуже туалетной
      • 0
        Например как серия в подлиннике (unleashed)
  • 0
    А каков размер вашей оплаты по сравнению с изданием в России (если у вас был опыт написания книги в России)? И какой тираж у книги?
    • 0
      Размер оплаты 16% от net sales. Тираж как таковой не оговаривался — это ebook и print on demand. В России опыта написания книг с издательством пока нет. Писал учебное пособие при ВУЗе, но там не было никаких денег вообще, только из любви к искусству.
      • +1
        В России у меня было 10%, причем стоимость книг в России ниже. Но есть же какой-то минимальный тираж при старте.
        • 0
          Минимальный тираж издательство с нами не обговаривало, поэтому не знаю. Сейчас скрестили пальцы и надеямся, что книжку всё-таки купят и мы увидим хотя бы какие-то выплаты сверх аванса. По нашим прикидкам, чтобы их увидеть их начало, должно продаться большее 500 экземпляров.
      • 0
        Написал не так давно книгу для того же издательства на тех же условиях. Прошло около трех месяцев с издания книги, а деньги все еще не перечислены даже за первый «майлстоун».

        У вас не возникало подобных проблем?
        • +1
          Нет. Все предыдущие выплаты проходили в срок, по договору это 30 дней с даты выставления инвойса. Сейчас ожидаем последнюю часть аванса — за релиз книги.
          • +1
            Спасибо! Значит для получения денег из европы именно «Промсвязьбанк» использует услуги банка «Комерц» (который теряет данные счета при пересылке денег). Думал что виноват банк отправитель.

            Стоит задуматься об использовании другого банка…
  • +1
    Большое спасибо за исходники на GitHub! У меня всегда была проблема с чтением технической литературы, и я не уверен, что буду покупать вашу книгу, но полистать исходники с примерами — бесценно
    • 0
      Спасибо! Как всегда бывает, почти все исходники не идеальны. Поэтому pull requests велкам!
  • +1
    Поздравляю с релизом!
    Ни на amazon'е, ни в packtpub не нашел оглавления.
    • 0
      Спасибо! Оглавление и превью-глава появятся на сайте издательства со дня на день.
  • +1
    Отлично, покупаю на амазоне, может и для себя что-то новое найду.
    К сожалению в реальных «business-oriented» приложениях без Java не обойдешься, обязательно найдется какой-нибудь партнер с которым надо сдружиться, встроив его рекламный или еще какой SDK, написанный на Java :-)
    • 0
      В «business-oriented» да. Но в книге основное внимание уделено переносу отладки с девайса на PC. Это очень сильно ускоряет разработку. В этом смысле на месте Android NDK может быть любая мобильная платформа, под которую можно писать на С++.
  • 0
    Немного оффтоп, но возможно подскажите на чем проще всего начинать осваивать создание приложений для Андройда?
    • +1
      В Android NDK в папке samples есть примеры. С них и надо начинать. Потом книжку для начинающих, а потом нашу.
  • 0
    Использование NDK при разработке игр под андроид даёт какое-то преимущество перед java?
    • +1
      Как раз об этом книга!
      • 0
        Судя по описанию, книга отвечает на вопрос «как», а я хочу знать «зачем».
        • 0
          В предисловии об этом рассказано. Коротко: если вы планируете стать серьёзным мобильнымй разработчиком, то скорее всего вы будете делать многоплатформенный проект, как минимум Android и iOS. А общая часть игры под Android и iOS как раз и будет на C/С++, а не на Java или Objective-C. Тут-то на сцену выходит Android NDK.
  • +1
    PACKT'овцы вобще шустрые чуваки, сам недавно для них писал книгу про oVirt, и точно также вышли на меня сами.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.