東京すごろくプレイマニュアル

マッシュアップアワードの作品をつくってました…。

あそびかた。

1.ゲーム画面にあくせす
ここにアクセスするかmixiの東京すごろくにアクセスします。
http://www.todotask.com/ma5/public_html/


2.ユーザー登録
ユーザー登録をしてください。登録済みであればログインをおしてゲームにエントリーしてください。


3.お金を貯めよう
最初は1000円持ってます。うまく移動を繰り返していけばお金がどんどんたまります。
無くなったらクイズでちまちまと稼いでください。


4.移動しよう
プレイヤーは現在地と目的地の途中経路のみ移動できます。
目的地に到達すると、ボーナスがもらえます。そして新しい目的地が設定されます。


5.茶屋をたてよう(まだ未公開機能かも)
お金が溜まると茶屋を立てることができるようになります。
茶屋がたつとボーナスが少し増えます。いっぱいたててどんどん稼ぎましょう。


使用API、言語、ロジックなど

昨日プログラマーズカフェで話したので、公開しておきます。
※今回のMA5への参戦はプログラマーズカフェでMA5の公開されているAPIを研究したのがきっかけになっています。
今回使用したAPI以外にもテストアプリをつくったAPIはけっこうあるかも。
プログラマーズカフェのページ(www.pgcafe.net)から他のコンテスト参加者の応募作品をみることができます。(そのうち、できるようになります。たぶん。4〜5人参戦してるので誰かはは受賞してくれることを願ってます。)

使用言語

クライアント側はFlex
サーバーサイドはPHP
DBはmySQL

使用API

APIGoogle Maps API
URL:http://code.google.com/intl/ja/apis/maps/

提供:株式会社ミクシィ
APImixiアプリ
URL:http://developer.mixi.co.jp/

提供:イースト株式会社(「駅すぱあと」)
APIRailGo
URL:http://www.railgo.jp/guide.html

提供:あたまソフト株式会社
API:「クイズ研」クイズAPI
URL:http://quizken.jp/api/ma5

提供:株式会社ユーザーローカル
API:SimpleAPI 最寄り駅API
URL:http://map.simpleapi.net/


追加で
提供:Youtube Flex API
APIYouTube ActionScript 3.0 Player API Reference
URL:http://code.google.com/intl/en/apis/youtube/flash_api_reference.html

ロジックとか

東京近郊の緯度経度をランダムで出力、その最寄駅をサーチ。
最寄駅情報から、駅の詳細情報をRailGoから取得、取得されたデータをもとに経路情報を取得、移動。
クイズはクイズ研のAPIを使用。10件ぐらいまとめて取得して、足りなくなったら再取得。
APIとの通信はPHP側で、soapやらxmlやら、josnやら(APIによってばっらばら)
FlexPHPの通信はxmlに統一。(ベタテキストのところもあるけど…内緒)
GoogleMAPがFlexのライブラリ提供に対応してて感動した。
Flexでできたので、JavaScriptmixiアプリ部以外使用してません。
mixiアプリとしてはまだ公開されてないよ。)
もしかしたらそのうちオープンソースにして、自由に機能をつけられるようにするかも。
(cafe内だけかもしれないけど)


他の人からの要望や質問まとめ

画面のコントローラーやフォントが醜いよ→典型的なプログラマーが作った画面でごめんね!

他のユーザーとかみれないの?→みれるようにしたよ
そもそもなんで目的地にいかないとダメなの?→・・・。
なんにしろ序盤もうちょっとチュートリアル的なものがほしいなー→がんばるよ
これ移動経路に色ついたりしたらいいのに→移動ログ残せばできるようにはなるかもだけど、直線的な線になっちゃうからよくないかもね


エラーが出たよ!→まだでると思うよ、教えてね!!



未実装

・茶屋の建設→実装したよ
mixiアプリ公開→実装したよ 東京すごろくで検索してね




既知の問題

・駅の位置
若干ずれてるよ。これは駅情報が帰してくれる緯度経度に度数が足りないからっぽいです。
ランダムで少し揺らして補正はしているよ。
→補正したよ

http://q.hatena.ne.jp/1185938940
「東京付近では、おおむね、日本測地系の数値から、北緯に12秒加え、東経に12秒減ずると、世界測地系の数値が得られる。」

だって…。Σ(゜д゜)ェー


・駅のランダム性
東京湾均衡に振られると最寄駅がとんでもないところになる可能性が多い。
デズニーシーとか、羽田とか…。
羽田周り、イレギュラーな感じの構造を返す駅が多くて大変…!


・変な駅
羽田の新整備場のイレギュラーには対応したのだけど、
羽田空港第2ビル(東京モノレール・ANA利用)こいつがまだ…。
Soapでエラー吐く…。そーぷって()ダメか、どうエスケープすればいいんだろ…
→違った、、
'羽田空港第2ビル(東京モノレール・ANA利用)'で、検索かけると
'羽田空港第2ビル'が一番目に帰ってきて、
'羽田空港第2ビル(東京モノレール・ANA利用)','羽田空港第2ビル'の移動が、
同じ駅同士の移動だと勘違いされてエラーになってるみたい。
んな。ばかな…。
→違った…。
羽田の第2ビルはどうも同じ駅だった。ゴール設定の時にとあるAPIからとってきている名称と、こっちのAPIからもってきている駅の名称が違うだけでした。
実質同じ駅。なので、スタート設定時に長い名称のほうをつかうように変更。
→うぉぉぉぉ!!
羽田からでれねぇぇぇぇ!!!! なんだこれぇぇぇ。。。



・リストの選択
リストコントロールにおいて、なぜか特定の項目が選択されなかったりする。
項目の内容によって再現性があり、原因は特定できていない。
ただし、これはコントロール上のバグであり、selectedIndexにはきちんと選択されたデータが入っている。
見た目と選択されている項目が違うので厄介。


・時計
現在、時計はローカルの時計とのマッチングをおこなっている。
行動可能になったときはサーバー内で再び問い合わせをするのだが、ここで環境によっては叱られる。
時間が過ぎたであろうころに電車で移動ボタンを押してもらうか、ログインしなおしてもらえば回避はできるが…
のちほど(なるべくはやい段階で)、サーバーの時間を取得して時計を表示するようにしよう。



・レイルGO API
遅い。駅情報を検索したうえで経路検索をなげているのだが素の状態で5秒ぐらい応答がないこともままある。
そしてたまにサーバーごと落ちていることがあるようだ。
認証系のエラーで落とされることもあれば、Soap系のエラーで落とされることもある。
結構、キリがない。ネックな部分だけに致命的。
そんでもって、API提供は期間限定


・セキュリティ関係の何か
チート可能なゲームかもしれないけど悪さしないでね。