迷亭ブログ

迷亭さんの思うとこ

仕事の話とかゲームとか

GT5

いやー、もうご存知の方が多いと思いますが、GT5の発売が決まりました。
4Gamerやその他のいろんなサイトで話題になっていました。
4Gamer.net ― [E3 2010]充実のオンライン要素も明らかとなった「グランツーリスモ5」プレス向け説明会。GT5のクルマのクオリティは,もはや「その先の世代」レベルだ

発売は11月と言う事なんですが、今からもう待ちきれないですね〜。
プロローグが出てからもう3年も待ちましたからね。
とりあえず事前に練習して腕を磨いておかないとですね!

あと、車種は最多の1000モデル以上だそうで、クオリティも最高です。
公式サイトを見てもらえると分かりますが、コクピットはもちろん、タイヤやシートに至るまで忠実に再現されています。
http://www.gran-turismo.com/jp/news/d9358p1.html
3年もかかるのも納得な気がします。。。

あと、別のゲームで気になった記事。
E3 10: 次世代のレース体験?『Forza with Kinect』デモンストレーション動画 | Game*Spark - 国内・海外ゲーム情報サイト
Kinectを使ったドライビングゲームのデモ動画が紹介されていました。
机にハンドルを設置しなくても楽しめるようですが、ブレーキとかどうするのかなとか思ったりw

なんと言うか、いろんな意味で次世代を感じた記事でした。

おまけ
次世代と言えば、電気バイクがかっこ良かったり。
電気バイクレースの優勝車『MotoCzysz E1PC』|WIRED.jp
なんかでも音とか静かなんだろうなぁ〜。。

DVD鑑賞

今日は、前から見たかったDVDが着てたので鑑賞。
パラノーマル・アクティビティ」。
怖い物好きとしては外せません。

これ、130万も掛かったのかなー?w
まぁでも内容は面白かった。
けど、肝心の怖さが微妙ーなところ。
日本の怖さとはまた違って、あくまで普っつーに仕上げようとしてる感じがちょっと出すぎたかな。
すごい怖がっている観客とかCMに出ててちょっと期待しすぎたOrz

Adsense

いあー、すっかり昼夜逆転状態です。
なかなか治りません。。Orz

今日はちょっとAdsenseについて調べてみたんですが、ネット上の広告費用ってこんなに高いんだーと今更驚いたり。
自分が知らなかっただけなんですが、1クリック数円の世界かなーとか勝手に考えていたのですが。。
見積もり計算ツールで出してみた結果↓

これで見てみると、平均百円くらいになります。
もちろん、1回クリックされる毎の料金です。
クレジットカードに関してはクリックしたら300円以上支払わないといけません。
もう、私のような貧乏人にはありえない価格帯ですww
まぁ、確かにこれだけ登録すればクリック数は1日に6000−7000程稼げるようですが、費用も1日に50−70万円ほど掛かるようです。

ネットの世界もこんな感じで収益を上げる仕組みが確立しているんだなぁと今更ながら考えたり。
普段の何気ないクリックの裏に、こんなお金の流れがあったんですね。
頭では分かっているつもりだったのですが、実際に金額を見るとちょっと複雑。。
ネットはみんなの共有物で、みんな平等に使えてるけどその費用はこういう所から出てるって考えればいいのかな。

では。

GAEについて

おはようございます。
昨日はいつの間にか寝てしまって、早く起きすぎてしまったのでブログでも書きます。


この前は書ききれなかったのですが、GAE(Google App Engine)の大変なところ。
っていうと結構ありがちなんですが、他の人が書いてなさそうな事も。
最初の難関は、DBがRDBMSじゃないことですね。
もちろん、フレームワークSlim3とか使えば、ある程度誰でも?直感的に書けると思いますが、制約が半端無い。
詳細はSlim3のサイトを見てもらえばいいのですが、

  1. 1クエリー内の不等式(<, <=, >=, >) は1つのプロパティにしか使えない。

 プロパティはエンティティ内の項目です。
 因みに、Slim3のサイトには書いてありませんが、startsWith(前方一致)も不等式に含まれますw

  1. 不等式を使ったら、ソート順の先頭にそのプロパティを指定する必要がある。

 これはそんなに困らなかった。

  1. 部分一致が使えない。

 これは参りました。部分一致というと、SQLでいうところの

 項目名 LIKE '%文字列%' 

って言う書き方です。
色々と調べまくったのですが、今のところ楽に組む方法は無さそう。。
一応、slim3にてcontaints(文字列)ってメソッドは用意されているんですが、inmemoryなので検索した結果に対してフィルタが掛かります。
つまり、検索文字列に該当するレコードが検索数の上限を超えた位置にあるとアウトです。
また、該当する1件を検索するために全件取得するのも効率が悪いです。
色々悩んだ末、組んだほうが早くね?って思えてきたので、結局、全文検索(N-gram)を自分で実装しました。
仕組み自体は簡単で、まぁググってもらえば分かるんですが、検索させたい情報のインデックスをあらかじめ作っておきます。
私はここのサイト見て作りました。mixi engineer blog
インデックスのサイズは大きくなりますが、遅すぎることもないです。
ただ、注意として、インデックスを作るときは文字数によっては処理を分割したほうがよいです。
300件の登録とかだと、30秒ルール(処理は30秒以内に終わらせないとエラー、細かくは10秒ルールもあるらしい・・)に引っ掛かったので、処理を分割してQueueを利用したほうがよいです。(削除も同じ)

あとは、はまりどころとか。
開発環境のリソースをそのままUPしても動かない。
もちろん、開発環境ではちゃんと動作するんですが、開発環境だとインデックスをあんまり意識することはない。(正確には意識しなくても出来るw)
が、きちんとインデックスを書いてあげないと検索走った瞬間に落ちます。
因みにインデックスは、開発環境に勝手に作ってくれていますので、名前変えてデプロイするだけ。
WEB-INF\appengine-generated\datastore-indexes-auto.xml → WEB-INF\datastore-indexes.xml
ただし、デプロイしてもインデックスの作成が完了するまでは数十分から1時間近く掛かるので、早めに作成しておくこと。

エンティティの親子関係は結構はまる
個人的には、あんまり親子関係にするメリットが感じられません。
他のエンティティへのキーを持たせておいて必要なときにデータを持ってくるのがシンプルで良いかと。

開発環境で動いたのに動かないVer2
以下、複数のキーで検索する例なのですが、これは本番環境では動きませんでした。

List list = Datastore.query(entityMeta).filter(entityMeta.key.in(keys)).asList();

正しい例。

List list = Datastore.get(entityMeta, keys);

しかもこれ、com.google.appengine.api.datastore.DatastoreFailureException: internal error. って出るんで、理由が良くわかんないw
内部サーバエラーって曖昧すぎる・・Orz

と言うことで色々書いたのですが、書ききれないのでとりあえず今日はこれまでww

結論、多少のお金に余裕がある(月数千円程度払える)人は、Amazon EC2とかにしたほうが楽かも。(でも苦労して作ると愛着はあるw)
ちなみにAmazon EC2は、最近シンガポールのデータセンターが出来て、近々、日本にも出来るらしい。

早いですね

いあー、あっという間に6月ですよ。
もう半分近く過ぎてしまいましたよ。。
いろいろやりたいことあるけど出来てない・・。


まぁでも、とりあえず、サイトを一つ作ってみました。
http://www.mincale.com/


材料はこちら。


いあー、初めて使うものばかりだったので楽しかったです。
特に、デザインとかは苦労しますね。。ホント。
作ったことのある人には分かるでしょうけど、
ちょっとした画面に何日かかることやら。
しかも、今ってHTMLにtableはあまり使わないらしいですね。
知らなかった・・Orz

しかし、これだけのことがやれて、ほとんどタダですから。。
かかったのは、ドメイン料が年間に千円くらい。
すごい時代になったもんだ。

あーでもデザインはちょっと見直しがいるな、
あとパフォーマンスチューニングも・・。

さて次は何やろう。
有力なのはiPhoneアプリかなぁー。

IXA

そいや忘れていたが、IXAという新しいゲームのCβ当選のお知らせが本日来た。
ほんとに忙しいのにやる暇無いってのに、、まぁやりますけどねww
戦国IXA(イクサ)公式サイト - オンライン戦国体感ゲーム -

Cβだから、まぁワイプするんだろうけどちょっと様子を見てみよう。
オンライン系のゲームって日本が作ったのが少ないから、ゲーム機だけじゃなくてPC向けの面白いゲームをどんどん作って欲しいと思う。
PC向けって市場が微妙なのかなぁ。
携帯向けは結構あるのにね。

と思って調べたら、文化の違いっぽい。
http://oshiete.goo.ne.jp/qa/5156010.html

ゲームも良いのですが、
仕事の方は、TwitterのOAuthを実装中なのですが、意外にめんどくて苦戦しています。
明日には片付けたいな。。

情報化について思う事。

ブログのアイデアとか皆、どうやって管理してるのかなとか考えたり。
なんかネタ思いついても、しばらくしたら忘れてる。
メモとか取らないとだめかなー。。。

情報化とか大層な題を付けてますが、ここ何年かで情報に触れる機会が増えていると思うんですよね。
いつもそんな事ばっかり書いてますがww

なんというか、インターネットって未だ過小評価されていると思います。
一昔前なら、質の高い情報を取り入れようと思ったら、それなりの知識人の本を読むなり、講演を聞くなりしないと駄目だったのが、今ならいろんな知識を持った人のブログなりtwitterを見る事で、彼らがどんな事を考えて行動しているのか何となく分かる。

また、本を読むにしても、評価の高い本を優先して読む事もできるし、本の紹介を行っているサイトを皆が読む事で、全体的な知識の底上げが進んでいると思う。

私がいつも思う事が、人って人類の中での1つの細胞に過ぎないんだなってこと。
で、インターネットによって人同士の繋がりがニューロンのように連結する事で、さらに飛躍的に情報化が進むのではないか、と考えるんですよね。
まあ、人間の場合、意思があるのでサービスの使い勝手が悪いとかあると繋がりが滞っちゃったりしますけど。。

そういう面では、マダマダ情報化は進んでないと思います。
これから良いサービスがどんどん出て、光の道?(個人的には100%じゃなくてもいいのでは?と思ってる)によるインフラが整備されればさらに豊かになるのではないかなあ。
それで、余った時間を人間らしい時間、例えば知識欲を満たしたり運動したり、趣味に使ったりとすればいいんじゃないかなと。

といった事を風呂で考えてましたよっと。
ではー。