Google Developer Day参加セッションのまとめ2

まとめ1の続きです。AndroidとWaveの話は特に大枠だけメモってきた感じですが、今後の技術動向を把握するのに有益だったように思います。

Google & Open Source

  • なぜオープンソースを使うのか1万人に聞いてみると、「上に行きたい」「分かち合いたい」「MSが嫌い」「使ってほしい」というものが多い
  • Googleはオープンソースを使う理由は、ひとつのメーカーに依存すると実権を握られる恐れがあるから
  • 実際、次のバージョンリリースまで18ヶ月待たされたりすることもあるし
  • 自分たちでコントロールできるようにすることが要だと考えている
  • Googleはソースコードをリリースするのが大切だと思っており、週1回は何かしらのコードをリリースしている
  • 大きなプロジェクトとしては、GWT(Google Web Toolkit)、Chromium、
    Androidがある
  • コンテストを毎年開催しており、学生にも機会を提供している
  • GoogleはGPLを使いたがらず、ほとんどがBSDライセンスかApatch

Android でリアルタイムゲームの開発方法

  • 楽しく、再利用可能で、20%ルール内で出来るものを検討し、2Dスクロールものをやることに
  • タイトルは「ワンダのレプリカ島」(スーパーマリオみたいなもの)
  • Javaで書いているけど、C++みたいに書くといい(らしい)
  • スレッド:メインスレッド(入力イベント管理)/ ゲームスレッド(描画以外の処理)/ レンダリングスレッド(キューに溜まったレンダリングコマンドをOpenGLに投げる)
  • 高速なゲームを作るには、パフォーマンスと拡張性のバランスが重要
  • Javaの高速化ステップ:1. メモリ管理(メモリ管理ツールが用意されている)→ 2. 関数呼ばない(無理だけど)→ 3. なるべくローカル変数を使う
  • 描画はCanvasとOpenGL ESが利用可能
  • Canvasはパズルなど、オブジェクトが少ないもの向き
  • OpenGL ESは3Dだけでなく2Dでも使える
  • 背景はレイヤーを3つ合成
  • アプリは容量を2〜3MBくらいに(重いと最初に削除される)
  • ハードウェアキーボードやトラックボールがないデバイスがあるので、それらに依存しないこと

Google Wave APIs

  • 近日中に参加者にはアカウントが発行される(wavesandbox.com)
  • APIはEmbeddingとExtensionの2種類
  • EmbeddingはWaveを外部に持っていける
  • Embed API:LoadWave、SetUIConfig、AddReply、Follow
  • 例えば、SNS内のコミュニケーションツールなどに使える
  • ExtensionはWaveの中に別のサービスを持ってくる
  • ExtensionにはGadget型(クライアント側)とRobot型(サーバー側)がある
  • Gadget型には地図のどこを見ているのか、状態を共有するAPIもある
  • Robot型はPythonとJavaのライブラリが用意されている
  • Robotの事例:「Polly」「Bloggy」「Searchy」「Buggy」

Related Entry


About this entry

Cashbook