2011年5月29日日曜日

XOOM で Titanium の Kitchen Sink を動かす

Titanium Studio 1.0 RC1 と Titanium Mobile SDK 1.7 RC1 の組み合わせで XOOM 上で Kitchen Sink サンプルが動作したので手順等をメモ。

  1. Appcelerator の Developer Center から Titanium Studio RC1 をダウンロードしてインストール
  2. Appcelerator のBlog から Titanium Mobile SDK 1.7 RC1 をダウンロードして展開し、mobilesdkフォルダ配下にコピー


  3. ビルドすると [ERROR] Error locating JDK: set $JAVA_HOME or put javac and jarsigner on your $PATH というエラーが出るので環境変数を設定


    JAVA_HOME を追加して JDK の場所を指定。
    環境変数の CLASSPATH と PATH の末尾に JDK の bin フォルダのパスを指定
  4. tiapp.xmlを開いてターゲットを Android 3.0 に変更

ビルドに成功するとXOOMに転送されるのでプログラムを起動すれば無事動作しました。
Titanium の SDK も 1.7 に忘れずに変えています。このあたりの設定が正しくないと転送しても例外エラーで動作しなかったように思います。

これで環境が整ったので少し遊んでみます。

ところで Titanium って「タイタニウム」と発音するんですね。ちょっと違和感あり。

    Paradise Island の遊び方

    先日ハマったと書いた Paradise Island について基本的な遊び方をまとめてみます。

    ゲームの内容
    いわゆるCimCity系の街を発展させて楽しむシミュレーション。
    ゲームの舞台はどこかの南国の島で、船着場に定期的に到着する観光船から降りてくる人たちが楽しめるように宿泊施設や店や遊技場などの施設を開発していく。各施設には一定時間ごとに売上が計上され、それを軍資金として別の新しい施設を作って発展させていくというもの。

    ゲームの魅力
    ・きれいなグラフィック。毎回新しい施設を作るのが楽しみです。
    ・Awards。一定の条件をクリアすることで称号とポイントやお金がもらえます。
    ・効果音。BGMはぱっとしませんが、各施設の上に表示された$マークをクリックしてお金を回収するときの「シャキーン」というキャシュレジスターのような音は病みつきになります。もうすぐ4歳になる娘も「シャキーンする」と言ってこれをやりたがるくらい。

    ゲームの進め方
    基本的には以下のサイクル。
    1. 領土内に道をつくる
    2. 所持金で建設できる施設を選択して配置する
    3. 施設が完成するのを待つ(施設ごとに時間がきまており、お金を払うと期間短縮できる)
    4. 施設ごとに設定された時間が経つと施設の上に $マークが表示されるのでタップ(シャキーン)
    5. 1 に戻る
    ゲームのステータス要素としては「領土」「所持金」「従業員」「電力」「経験値」「施設」があり、基本サイクルをこなすことでそれぞれを増やしていくことになります。

    領土
    最初は島の半分より少し少ないくらいでしょうか。海と陸があり、境界に仕切りが設けられています。所定の経験値に達すると領土を追加購入して広げていくことができます。

    所持金
    $マークで表示されるお金と、€ マークで表示されるお金があります。通常の施設の売上は $で計上されるのでこちらで売り買いを行いますが、特別な施設(多くは魅力的)は € でないと買えないようになっています。
    € は経験値を貯めてレベルが上がったときにもらえる他、 Business center や Bank を建設することで少しずつですが回収できます。

    従業員
    各施設には必要な従業員の数が設定されています。
    島には Administrative building という管理建家があり、そこで雇っている従業員を各施設に配置していく仕組みになっています。従業員の数は管理建家のレベルアップによって増加します。

    電力
    各施設には建設に必要な電力も定義されています。電力は発電施設を増やすことで増加します。

    経験値
    このゲームは経験値を貯めていくことでレベルが上がっていくシステムになっています。
    施設や領土の購入にはそれぞれに定められたレベルを達成している必要があり、経験値を貯めることがゲームをすすめる上で重要な要素となります。
    経験値は施設の建設、修復、排除、売上などの操作で積み上がる仕組みです。

    施設
    施設には宿泊施設、商業施設、発電施設などの生産性のある施設の他に銅像、植物などがあります。
    生産性のある施設はお金をかけることでレベルアップができます。
    またこれらの施設は一定時間使用すると修復マークが表示されるので、お金を使って修復する必要があります。

    各種イベント
    所定の条件を充たすことでいろいろな称号が与えられます。
    道をたくさん作る、施設を試行錯誤で何度も移動する、施設をたくさん壊すなど、いろいろな操作に対して回数や時間などが設定されています。分かりやすいものは 1/4 のように現在どこまでクリアしているのかが分かるようになっているので励みになります。
    条件が明記されていないものもたくさんあるのですが、Hot dogs fan ってなんだろうと考えればだいたい想像がつくものばかりで、想像しながらトライしていくのも楽しみのひとつです。
    また海に宝箱が浮いていたり他にも色々と面白い仕掛けが仕組まれていそうです。

    注意点
    ・施設を壊す操作は結構簡単にできます。開始当初目標にしてようやく建てたカフェを娘にあっというまに壊されました。
    ・画面左上の [+] と左下の [★] の先はリアルマネーと連動するようになっているみたいです。要注意
     同様に [★]には虎の子の € を一瞬で消費するボタンも配置されているのでこちらも誤操作に注意です。
     私はバンガローを一軒修理するのに誤って € を3つ使っていまいました…

    最初観光客の動線とか考えて道を設計したりしたのですが、実際のゲームに関しては施設の場所はパラメータに含まれないです。

    ちなみに最初の画面キャプチャは Android SDK の ddms のキャプチャを使っています。XOOM のせいかどうか分かりませんが、アプリについているキャプチャ機能で Facebook に転送した画像はすべて真っ黒で使い物になりませんでした。
    ddms でキャプチャする方法は以下の画像の通り(自分用のメモ)


    2011年5月26日木曜日

    Titanium を試す

    今度は Titanium を試してみた。

    Titanium Studio と Titanium Mobile SDK 1.7 をダウンロードしてインストール。
    事前に Titunium Developer を試したんだけれどビルドするくらいしか機能がなくてどうしたものかと思っていたら Titunium Studio は Eclips ベースではないですか。
    これならすんなりできそう。

    というわけでサンプルアプリの Kitchen Sink をインポートして実行すると・・・

    できました。
    実行速度も充分に速く、これなら面白いものが作れるかもしれません。

    Build a Contacts Application With jQuery Mobile & the Android SDK

    せっかく XOOM を持っているのだから何か作ろうかと思って色々と調べる。
    会社の同僚が Android でサンプルアプリを開発しているんだけれど GUI をそれっぽく作るのが結構面倒な様子。
    ということで何か楽な方法はと調べていると以下のページが目に留まる。
    Build a Contacts Application With jQuery Mobile & the Android SDK
    さっそくサンプルをダウンロードしてエミュレータ(重い...)で実行。
    なるほど jQuery Mobile の威力かきれいな GUI が表示されました。

    ということで今度は実機で・・・

    動きませんでした。


    起動時は動くんだけれど DetailPage.html を開くところでなぜか404エラー。

    ソースを改変して URLパラメータを削除するとエラーにならないので Android3.0 の WebView の不具合かな?
    ためしに www フォルダを省略してもだめなのでちょっと手詰まり。

    ちなみにこっちは動きました。
    http://mobile.tutsplus.com/tutorials/mobile-web-apps/jquery_android/

    2011年5月18日水曜日

    久しぶりにゲームにはまる

    Paradise Island これはヤバい。