やらなイカ?

たぶん、iOS/Androidアプリの開発・テスト関係。

Mastering Android NDK(PACKT)の査読をした話

Packt Publishing Ltd. から出版された『Mastering Android NDK』の査読をお手伝いさせていただきましたのでご紹介。

f:id:nowsprinting:20151212122627p:plain

PACKTでeBook版を購入すると、PDF、ePub、Mobi*1でダウンロードできるほか、Kindleのコレクションに直接送る(send-to-kindle)こともできます。 Print版(ペーパーバック)もキレイな作りです。

www.packtpub.com

もしくは、Amazonでも購入できます。

www.amazon.co.jp

サンプルコードはPACKTのライブラリからダウンロードできますが、同じものがGitHubにもあります。

github.com

本書の内容・想定読者

本書は、Android NDKを使って、Android SDKだけでは実現困難なグラフィックスやサウンドの実装方法を紹介し、最終章でゲームを一本完成させる、という構成です。

Chapter 1でNDKアプリのビルド、Chapter 2でよく使われるC++ライブラリの組み込み方法を紹介した後、以降Chapter 10までC++の本。UnityやUnreal Engineといったゲームエンジンの台頭により、「クロスプラットフォームのゲームをAndroid NDKで作る」というケースは減っていると思いますが、もっと下のレイヤーまで知りたい、C++を駆使して実装したい、という方には参考になるはずです。

参考までに、目次は以下の通りです。

  • Chapter 1: Using Command-line Tools
  • Chapter 2: Native Libraries
  • Chapter 3: Networking
  • Chapter 4: Organizing a Virtual Filesystem
  • Chapter 5: Cross-platform Audio Streaming
  • Chapter 6: OpenGL ES 3.1 and Cross-platform Rendering
  • Chapter 7: Cross-platform UI and Input System
  • Chapter 8: Writing a Rendering Engine
  • Chapter 9: Implementing Game Logic
  • Chapter 10: Writing Asteroids Game

査読を頼まれた経緯

私のまわりでPACKTの査読をしたという話を聞いていないので、経緯などをざっくりと。

日本では、著者が自身の知り合いに査読を依頼し、その査読反映をもって著者脱稿として編集者に渡る、という流れが一般的だと思いますが、PACKTでは以下の流れで進められました。

  1. PACKTの「レビュアー獲得責任者」が、本書の査読ができそうな人を探して打診する。GitHubリポジトリなどの実績から選んでいるそうです
  2. 原稿は、著者とも編集者とも直接やり取りはせず、本書のコーディネータ経由で送られてくる(まとめてではなく、章ごとに数週間間隔で)
  3. 受け取った原稿に対し、テクニカルな指摘のほか、章ごとに内容の過不足や満足度といったアンケートも書いて返送する

本書に関しては、Android NDKやGradleまわりのサンプルをGitHubに上げていたのが目に止まったのだと思います*2。ニッチなものでも(ものこそ?)公開しておくものですね。

英語は義務教育レベルも怪しい私ですが、文法や言い回しに関してはちゃんとPACKTの編集者さんが付いており、我々レビュアーはテクニカルなところだけ見てくれればいい、ということでお受けしました。 とは言え、テクニカルなところも、オーディオとか門外漢なので余りお役に立てていないのですが。

なお、PACKTの書籍をお持ちの方はご存知だと思いますが、Reviewerは紹介文付きで載ります。

f:id:nowsprinting:20151212115359j:plain

「ぜひ書店でお手にとってー」と言えないのが洋書の辛いところですが、GitHubに上がっているサンプルコードを見て良さそうなら本も買う、という判断がいいように思います。

また、Print版を持っていますので、勉強会などでご一緒するときに事前に言って頂ければ持参し、お見せすることはできます。

*1:Kindle向けフォーマット

*2:噂のトニーモリス氏からはメール来てません