将棋の神様〜0と1の世界〜

「三間飛車のひとくちメモ」管理人、兼「フラ盤」&「チェスクロイド」作者がおくる、将棋コラム

Android向け対局時計アプリ開発中(1)

2010/09/21追記

Android Marketに登録しました。詳しくは下記を参照下さい。

(追記ここまで)

「チェスクロイド」

つい先日、「Google I/O」にて最新版「Android 2.2」(開発コード名「Froyo」)が発表され、盛り上がりを見せるAndroid


Android 2.2は、WebブラウザーAndroid Browser」内でFlashコンテンツを再生できるほか、Android端末を無線LANホットスポット化する機能を追加する。独自開発のJavaScriptエンジン「V8」を採用するなどして高速化を図った。

それに合わせていたわけでは全くないが、先月から、Android向け対局時計の開発を始めてみた。まだ完成しておらず、今後本当に正式配布できるかもわからないが、先走って「チェスクロイド」(チェスクロ+アンドロイド)という名称を付けさせていただいた。ベタなところが私らしいといえると思う*1
UI(ユーザーインターフェース)には未着手なのだが、いわゆる日本ルール(持ち時間+秒読み)で動くプロトタイプができたので、その動画を紹介しておきたい。

これは、PC上で動かしたAndroidエミュレータの様子を動画キャプチャしたものだ。私のPCの性能が良くないため、持ち時間設定および秒読み設定切り換え時のフリックアニメーションが全然スムーズでないのはご愛嬌。

この後、UIを作りこまなければならないし、またアクティビティのライフサイクルの考慮も不十分なので、まだまだ作りこみが必要だ。開発時間とスキルが不足しているため、完成までにあと1ヶ月はかかるかもしれない。フィッシャールールなど他のルールへの対応は、一度完成させてから考えたい。

実機デバッグができない

ここで、大きな問題がある。私はiPhoneユーザーで、Android端末を1つも持っていないため、実機デバッグができないのだ(笑)。携帯電話端末でなくてよいので、お手ごろな値段で購入できるAndroid端末の日本での発売に期待したい。
ところで、なぜiPhoneユーザーなのにiPhoneアプリを開発しないかというと、以下の理由が挙げられる。

  • Macを持っていない。
  • iPhone用ネイティブアプリ開発機能を持ったAdobe Flash CS5の発売を心待ちにしていた(Flash MXを購入して以来になる)のだが、Appleがその機能で開発したアプリを閉め出す方針を打ち出した(下記参照)。


Flash CS5は「Packager for iPhone」という、Flash開発者がiPhone用ネイティブアプリを構築する機能を備える。ところがiPhone OS 4向けSDKのライセンス規約では、3.3.1項でiPhoneアプリの開発がObjective-C、C、C++JavaScriptなどのプログラミング言語による記述に制限されている。またコンパイルによって規定のAPI群にアクセスできるのもObjective-C、C、C++で記述されたコードに限られる。

Flashだったら少しは経験値を活かせるところだったが、その選択肢が無くなってしまった。残る選択肢(iPhoneObjective-cまたはAndroidJAVAAndroid)は、いずれにせよ未経験。手軽に開発環境が手に入るAndroidを選んだ。あとは前述の通り実機の入手を図るばかりだ(笑)。

*1:ちょっと「ミセスロイド」みたいでしゃくではある。