2013年8月13日火曜日

Google App Engine - That user can undo the transaction with "appcfg rollback"


このエントリーをはてなブックマークに追加
Deploy 中に Google App Launcher を閉じてしまったところ、タイトルのようなメッセージが出て Deploy に失敗するようになりました。プロジェクトのフォルダでコマンドプロンプトを開いて、以下のコマンドを実行して解決。
appcfg.py rollback ./
解決方法を提示してくれてる時点で大分ありがたいけどもう一声、
実行もワンボタンでできるようになってればいいのになー。

2013年8月7日水曜日

GAE - DataStore でデータが重複して登録されるのを防ぐ


このエントリーをはてなブックマークに追加
重複を防ぎたい内容を id に指定してデータを作成すると、同じ id の物は上書きになるので複数登録されなくなります。

2013年8月4日日曜日

逆転裁判5 感想


このエントリーをはてなブックマークに追加
プレイ終わったので、つらつらと思ったことをメモ。
ネタバレをがっつり含むので、未プレイの方は読まないように。

とりあえず

良作でした。逆裁シリーズのイメージを取り戻すのに十分なクオリティを持っていたと思います。

ストーリー・難易度

2章→3章→4章序盤→1章→4章中盤以降→5章
だったかな?1, 4, 5章の事件の時系列の流れがややこしい。。。
事件の全体像は複雑で掴みにくく感じるものの、個々の矛盾自体はわかりやすく難易度は低めで、ヒントも出まくり。ヒントをオプションにするなりして、もう少し考えさせて欲しかったなーと思います。
ストーリーは盛り上がるところで盛り上がれて、惹きこまれました。全体的に「こういう事かな?」→「やっぱり違うよな」→「いやでもやっぱりそうか?」→「いやでも…」みたいに、自分の中で仮設を作っては否定しての繰り返しが多く、作者のいいように思考を誘導させられた気が(黒幕の正体や7年前の心音など)。
結局4章と5章が同じ事件で、1章もその間に入ってるので事件数は少ないですがそんなにボリューム不足は感じませんでした。欲を言えば、葵が生きて登場する事件があれば王泥喜くんの行動にもう少し納得いけたかなとは思います。

ココロスコープ

都合の良い記憶の混乱が増えた気がしますが…システムとしては悪くなかったです。見た目も可愛らしくて好き。音楽も雰囲気が良い感じでした。最後に「言いがかりだ!」と言われたのが裁判長が許したからオッケーみたいなのはちょっと残念。裁判長の見せ場と言えば見せ場ですが、何か傍聴人が納得できるような仕掛けが欲しかったところ。

サイコロック

見た瞬間に少しテンションが上がりました。『懐かしさ』というのはシリーズもののゲームの強力な武器と改めて実感。

アニメーション

個人的にはあってもなくてもどっちでも、といったところ。なくてよいですが、なくせ!と主張する程嫌いではないです。あったほうが CM とかしやすそうですし、売れ行きにつながるならあってもよいんじゃないでしょうか。

3D モデル

結構よく出来てると思いました。顔が不自然に感じるところもあったしドット絵の方が好きですが、モーション作るコスト考えれば仕方ないのかな。。。

音楽

相変わらず音楽は良かったです。ココロスコープの暴走時音楽が気に入りました。
追求シリーズはかっこよすぎて違和感を感じるほど。サントラ手に入れました。

以下、キャラクターごとに一言二言。

成歩堂

空白の7年間なんてなかった(一応7年間の間も御剣からの依頼を受けて仕事をしてたそうですが)かの如く、普通に良い先輩・上司でした。
「証拠があります。……あってほしい!」は、さすがなるほどくんと言うべき今回一番インパクトのある台詞。

王泥喜

親友がいる設定なんてありましたっけ…?親友を失うという憂き目にあいましたが、今回は主人公ズの1人として活躍してたと思います。良い印象を与えるための周りの台詞も多かったような(しのぶとかみぬきとか)。しかし事務所離脱後はほとんど空気で、突然乱入してきて「成歩堂さんなんとかして下さい!」なのはなんとも悲しいところ。逆転の鍵となる証拠を持ってきてくれる事を期待してたのになー。3章までで上がっていた評価が少し落ちてしまいました。それでも、魅力を感じられるようにはなっていたので次回作でも出演を期待。

心音

元気の良い女の子は見ていて気持ち良いです。表情も豊富で面白く、全体的に 3D モデルのモーションも好き。照れた(?)顔で髪を撫でるモーションがヒットでした。分解のシーンの回想は怖い…。アメリカ育ちで18才で弁護士という事で、どこかで冥との接点を期待したんですがさすがにそれはなかった模様。

主人公ズ

もし 6 が出るとしたらどうするんでしょう?トリプル主人公制はお祭り感があって好きですが、今回は王泥喜の親友の死と心音の因縁という軸があっての繋がりだと思うので、今後また3人を繋げる事件を作るのは難しいかなと。まぁ無理に繋げなくても良いですけど、見せ場作りや出番の配分が難しそうですね。一部メンバーを引き継ぎつつ、誰か独立なり留学なりで出なくなるのはありそう…?どうなるにせよ 6 出て欲しいです。売れろー。

夕神迅

ゴドー検事に続く白髪キャラ。結構ブラックなことも言ってましたが、捻くれてるってだけで嫌なキャラではなかったです。まぁライバルキャラをただ嫌なキャラにするということはないですよね。でもそろそろ狩魔豪みたいな敵検事も欲しいところ。

番轟三

最初の方は、今回の刑事は(比較的)有能だなーと思ってました。
4章途中くらいから、黒幕候補が彼くらいしかいなくなったので、あやしいか…→でもこいつはないような…と繰り返し疑ってましたが、結局確信したのは亡霊に感情がないという話が出た辺り。最後までジャスティース!でいて欲しかった気もあります。亡霊候補として尋問に呼ばれてからは、それなりに手強い感じで良かった。狙撃されても死ななかったので、今後の出番もありえる…?

森澄しのぶ

1章プレイ時に生徒会長感が全くなく、森の中に住んでるという事だったので、3章の事件で何かあって学校を辞めるとかそういうことになるんだと思ってました。ただの私服とは…。王泥喜くんに恋愛フラグが立ってめでたしめでたし?

厚井知潮

ギプス外したらグラマラスだと思いました。インパクト考えれば絶対そうくると思ったのですが 3D モデルの都合かなぁ?

綾里春美

いつ出てくるかと思っていたら、最終章。普通に大きくなってましたね。ようやくでてきた最終章でもサービス出演としての役割が大きかったと思います。でも、やっぱり出てくれるとなんとなく安心感が。

出て来なかった人々

糸鋸、茜辺りは出てくると思いましたが新規に 3D モデルを作るほどではない、という判断でしょうね。個人的には残念です。。。


ちなみにクイズ逆転推理はクイズのレベルは低く微妙なものの150円なら許せるレベルでした。RYUちゃんセーター取得のために最後までやろうかと思います。追加配信の事件にも期待。とにかく 5 は良作だったので、逆裁シリーズが返ってきた感じで安心しました。6以降もぜひ作って欲しいところです。

2013年8月3日土曜日

Python + Google App Engine で Twitter から呟く


このエントリーをはてなブックマークに追加
リマインダーや Tips を呟く自分専用の BOT を作ろうと思ってやってみました。
python-twitter を使います。
ライブラリの設定などで躓いたところをメモしておきます。

ライブラリの設定


python-twitter は simplejson, oath2, httplib2 が必要なので、これらのライブラリを Google App Engine(GAE) 上のプロジェクトで実行できるようにします。ライブラリのコードをプロジェクトに入れることで解決しました。

  • プロジェクトのルートディレクトリに python-twitter ライブラリの build/lib から持ってきた tiwtter.py を置きます。
  • oath2 ライブラリの build/lib 以下にある oath2 ディレクトリをルートディレクトリに置きます。
  • httplib2 ライブラリの build/lib 以下にある httplib2 ディレクトリを oath2 ディレクトリの下に置きます。
  • simplejson ライブラリの build/lib 以下にある simplejson ディレクトリをルートディレクトリに置きます。

最終的なディレクトリ構成は以下のとおりになりました。
│  app.yaml
│  cron.yaml
│  favicon.ico
│  index.yaml
│  main.py
│  twitter.py
│
├─oauth2
│  │  _version.py
│  │  _version.pyc
│  │  __init__.py
│  │  __init__.pyc
│  │
│  ├─clients
│  │      imap.py
│  │      smtp.py
│  │      __init__.py
│  │
│  └─httplib2
│          cacerts.txt
│          iri2uri.py
│          iri2uri.pyc
│          socks.py
│          socks.pyc
│          __init__.py
│          __init__.pyc
│
└─simplejson
    │  compat.py
    │  decoder.py
    │  encoder.py
    │  ordered_dict.py
    │  scanner.py
    │  tool.py
    │  _speedups.c
    │  __init__.py

python は __init__.py があるフォルダをライブラリのフォルダとして認識するので、これで twitter.api からは oath2 と simplejson が見えるようになり、oath2 からは httplib2 が見える…という寸法です。

twitter.Api のキャッシュの無効化


Google App EngineでTwitter(OAuth対応)を使うためのメモ

参考サイトから引用すると
Google App Engineでは、スタティックなファイルを作成等はできない。python-twitterはキャッシュとして、ファイルを作るために、そのままでは動作しない。APIオブジェクトを作成する際にcache=Noneをキーワードとしてつけておくこと。
です。なので、twitter.Api オブジェクトを作成するときは
api = twitter.Api(consumerKey, consumerSecret, accessToken, accessSecret, cache=None)
のようにして cache を無効化してオブジェクトを作成します。

アカウントの登録


BOT 用のアカウントを登録します。
PythonでTwitter BOTを作る を参考にしました。

ソースコード


GAE の URL にアクセスしたときに呟きます。これを cron の JOB に登録すれば、一定時間毎に呟く事が可能になります。
cron.yaml は以下の様な感じ。頻度は適当に。
cron:
- description: job
  url: /
  schedule: every 2 hours
あとは呟く内容を変える仕組みを作れば、自分専用の BOT としては形になりそうです。