このページの本文へ

前へ 1 2 次へ

Windows 7対応の裏側に見た国内ISVの秘めた実力 第2回

イーフロンティア「AI将棋 Ver.17 for Windows」

マルチタッチで将棋の駒を指す感覚を再現した老舗ブランド

2009年11月18日 06時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

マイクロソフトからの情報提供で
開発がスムーズに

―― 開発で特に苦労したのはどのあたりですか?

二本指操作のデモ

中島氏による二本指操作のデモ

中島 まず開発当初は、Windows 7のマルチタッチが利用できるハードウェアは国内に2つしかなく、そのうちの1つを入手したのですが、どうにも反応が悪くてうまく動きませんでした。プログラムが悪いのか、ハードウェアに原因があるのか、理由が分かりませんでした。
 そこで単純な小さな矩形を表示して、これを拡大/縮小するジェスチャー検出のテスト用プログラムを作って調べてみました。すると、おかしなタイミングでメッセージが来たり、異なるメッセージが来るといった奇妙な現象に遭遇しました。それでも時には正しく動くこともあって、コードに間違いがあるのか? と疑うこともあり、開発がなかなか進まない状況でした。
 開発はマイクロソフトにも相談しながら進めたのですが、テストコードを動かしているとき、「ハードウェアが特定の状況下で動作不安定になる可能性がある」という情報をいただきました。タッチパネル自体が誤動作する等のいくつかの現象が確認されている、とのことでした。この情報を得てからはタッチパネルを正常に動かせるようになり、開発もスムースに進みました。

―― ほかにも開発時のご苦労はありましたか?

中島 たとえば、ユーザー側の操作が正確でないこともあります。最初ちょっと触ってすぐに指が離れてしまい、慌ててもう一回タッチしてしまうようなケースです。非常に短い時間なので、ユーザー自身も誤操作したと思わないでしょう。このような場合、APIレベルでは最初のメッセージを受け取ったあとで、もう一回同じメッセージがくることがあるのです。
 プログラムとしては、この2つのメッセージを同じものとして認識します。たとえば、画面をスクロールさせる「パン」という動作であれば、連続した動作(画面移動)と認識する必要があります。これはアプリケーション側で吸収しなければならない作業です。

―― マウス操作で、シングルクリックのメッセージが来た後にダブルクリックのメッセージが来るのと同じような処理でしょうか?

中島 そうですね。似たような処理です。二本指での動作と一本指の動作を共存させるには、同様に考える必要があります。人が操作していると、必ずしも両方の指が同時にタッチパネルに到達するわけではないので、最初に一本指でタッチされ、その後で二本指でタッチした状態になりますから。

―― この操作部分が一番大変だったのですか?

中島 そうですね。二本指での移動の部分が、開発作業では一番大変でした。

企画開発統括部マーケティンググループの大森 博氏

企画開発統括部マーケティンググループの大森 博氏

大森 ここは本当に苦労した部分で、簡単には真似できないことですから、ほんとうはWindows 7の発表会でもデモしたかったのですが、あいにくそのタイミングには間に合いませんでした。実際、製品出荷のスケジュールぎりぎりまで開発にかかりましたから。

―― その苦労は、Windows 7のマルチタッチに最初にチャレンジした開発者しかわからないですよね。

中島 ユーザーから見ると、一本指でも二本指でもそれほど違いがないと思うのでしょうが、プログラム側からいうとものすごく大変な部分でして。開発者としては、ぜひここに注目してほしいのですが……。

―― マルチタッチ以外で、Windows 7への移植で苦労されましたか?

中島 そのほかでは、Windows 7互換性ロゴを取得するときの条件に、難しい部分がありました。これまで互換性ロゴの取得には費用がかかったので、取得を見送っていたのですが、Windows Vistaからは、自分たちでテストを行なえば安価に取得できるということもあり、互換性ロゴを取得しようとしたのです。
 ところが、必要条件の1つがどうしてもクリアできなかったため、Windows Vistaでは取得を断念しました。
 そのときに問題になったのは、システムがシャットダウンするときに、情報をセーブして再起動後にアプリケーションの状態を復帰するというものです。これは、Windows UpdateなどでOSの再起動が必要な場合に起こる状況で、「シャットダウンマネージャ」というシステムの機能に対応する必要があります。
 以前から棋譜(将棋の駒の動きの記録)の保存と読み出しは可能でしたが、対局途中の状態を再現するとなると、さまざまな情報をすべて記録しなければなりません。セーブ/ロード機能を改良することは、セーブファイルのフォーマット変更にも関わるため、作業的にはかなり大きくなり、Windows Vistaのときには対応できなかったのです。
 Windows 7対応に当たってはこの部分を改良して、動作モードなども記録できるようにしました。Windows 7対応とは直接関係ないのですが、これも作業的に大きなものになりました。

大森 互換性テストを社内でできるようになった点は大きなメリットです。これまではソフトウェアを送ってテストしてもらい、結果が出るまでに1ヵ月程度はかかっていたため、自分たちのスケジュール通りには進められませんでした。  これが、自分たちの手でテストできるのであれば、開発スケジュールを自由に組めるからです。開発が難航したようなときに、ぎりぎりのタイミングでテストするといったケースもあり、自分たちの都合でできるので助かりました。

―― 今後のバージョンアップで対応していきたいWindows 7の新機能はありますか?

中島 Windows 7のタスクバーやジャンプリストへの対応は考えています。
 AI将棋 Ver.17でも対応を考えたのですが、実はこのAI将棋のパッケージには、「AI囲碁」、「AI麻雀」が同じディスク内に入っていて、あとから別ソフトのライセンスだけを購入すれば、すぐ遊べるようになっているのです。
 そのために、3つの開発を同時進行させなくてはならず、Windows 7で新しくなったタスクバーの対応には十分なリソースを割り当てられませんでした。
 ユーザーにとっては、ジャンプリスト(タスクバー上での右クリックメニュー)から「詰め将棋」などを直接起動できると、毎日のプレイにも便利になると思いますので、次回はぜひ対応したいと思います。


■Amazon.co.jpで購入

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ