from __future__ import katryo

カリフォルニア州マウンテンビュー在住のソフトウェアエンジニアがいろいろ書きます。

昨日、今日の出来事

Scalaスケーラブルプログラミングを読み始めた。Scala, GCのあるSwiftという印象。コンパイルが遅いのも似ている。

実際はScalaのほうが先行して作られた言語なので、Chris LattnerがScalaを参考にしたのだろう。もっというと、Scalaは既存の言語のいいとこどりを狙った言語で、SwiftはさらにScalaを含めた最近の人気言語のいいとこどりなので、似てくるのは当然かなと思う。

New ニンテンドー3DSを購入してゼノブレイドを遊んだ。まだチュートリアルを終えたところ。RPGを遊ぶのは本当に久しぶりで、これからのプレイ体験が楽しみ。上記のScalaとあわせてモナドの力を使いこなしたい。

イシューから始めよ読んだ。今年は結果を出したいと思った。

投資信託の本を読んだ感想

投資信託をやりたくなったので、本を購入した。

投資信託はこの9本から選びなさい全面改訂 超簡単 お金の運用術を読んだ。

資産の運用についてそろそろ考えておかねば知らないうちに知らない勝負に負けてしまうのでは、という危機感から購入したものだ。

読んでみて気づいたのだが、この二つの書籍はどちらもだいたい似たような事を書いている。

  • 日本の投資信託はダメ。手数料狙いのステークホルダーが多すぎる。手数料狙いの連中を関わらせない運用をすべき
  • 金融機関で投資信託の相談をするな。なぜなら、金融機関の営業担当は手数料を狙う人間であり、投資の成否に興味を持たないからだ。
  • 金融商品はネットで買え。どうせ対面と違いは無い。むしろ手数料が抑えられて得する。
  • 10年以上の運用を前提にしろ。それ以下では投資信託の価値はない。

こういうことが書き連ねてある。

当然ながらポジショントークではある。著者は両者ともネット証券の人間でだ。特に投資信託はこの9本から選びなさいの著者はセゾン投信の代表取締役だ。セールスの一環でないはずがない。嘘は書かないにしろ、真実とはあえて離して描いた部分があるだろう。が、そのことを前提にしても、一読の価値があった。

資産を増やすには、投資信託よりも給料を増やしたほうが効率良い、という「ですよね」な結論に至った。資産運用に精を出したところで大儲けはできないし、長期的に見てほぼ確実にちょっとだけ得をするだけ。そのことを知った。それだけで読んだ意味はあったというものだ。

それにつけても金のほしさよ。

428 〜封鎖された渋谷で〜 の感想

428 〜封鎖された渋谷で〜 をクリアした。

端的に感想を述べると、求めているものとは違った。

パズル的な試行錯誤の楽しさはある。ここまで高レベルのノベルゲームはそうそうリリースされないだろう。しかし、小説として読むと、全然入り込めない。自分がノベルゲームをプレイするときはいつも「ちょっとすごい小説」を期待して読み始める。その観点から見ると、428は僕が望んだゲームではなかった。

どうして期待と違ったのか

入り込めなかったのは、キャラクターの行動理由が陳腐なことと、プレイヤーが彼らの感情を把握できるよう、過剰にわかりやすい神の視点で物語が進むからだ。

誠実な小説なら、キャラクターの目的や思考に読者が納得いくよう、丁寧に背景が語られる。だが428ではそれが深く描かれず、とってつけたような安直なエピソードが行動原理として提示される。

ゲームシステムを考えると、それも仕方の無いことだと思う。428において、プレイヤーは第三者のアングルで物語に入り込む。複数のキャラクターの思考を覗き込み、選択肢から答えを選ぶ。視点のジャンプは頻繁で、クリアまでには何十回もの切り替えを行わねばならない。当然ながら、迷いそうになる。キャラクターの目的、抱える問題、人間関係、それらを何度も思い返しながら進めることになる。だから、すぐに理解ができるよう、陳腐にも見えるエピソードでキャラクターの目的が描かれる。

思考や背景を過剰に説明する文体も、即時のわかりやすさを優先した結果使われたものだろう。制作チームは最善の策をとったのだ。ゲームとして楽しめるよう完成するため、小説としての味わいをあえて消した。だから、428は安定して面白いゲームになったし、小説にはならなかった。

カナン編

なお僕はカナン編もプレイした。こっちは僕が求めていた「ちょっとすごい小説」だった。そして完全に奈須きのこワールドだった。

カナン編は428本編の実写画像はなくなり、キャラクターと背景は作画で描かれる。立ち絵はなし。イベントCGのみで、静止画像をパンさせるアニメーションが頻繁に使われる。

で思ったことなのだけど、立ち絵はなくて正解だった。ノベルゲームとしてプレイヤーを没入させる目的に対し、立ち絵はむしろマイナス要素になる。僕がいま考えている新作ノベルゲームがあるのだけど、それも立ち絵なしで作ろうかと思っている。あるとしても、表情を強調する使い方をするだろう。

まとめと蛇足

  • 428はいいゲームだけど優れた小説ではない
  • みゆきちの声かわいい
  • スペシャルシナリオほかエンディング後のボーナスがいくつか残っているけど、めんどいしもうやらなくていいや……

iTunes 428 〜封鎖された渋谷で〜

スパイク・チュンソフト

沙耶の唄 感想

沙耶の唄をクリアした。すごくよかった。

ストーリー

沙耶の唄には余分なものがない。四時間もあれば全ルートクリアできる。週末に一気に読み進めたのだが、濃厚に煮詰めた要素をじかに飲み込むような没入感を味わえた。サブヒロインとかおまけイベントとかは一切ない。最初から最後まで、沙耶の物語にどっぷり浸れるのだ。

短さはノベルゲームの魅力を強める。実は沙耶の唄のあと、名作と言われているCross†Channelをプレイしてみたのだが、20分で飽きた。問題が発生するまでが長いと、辿りつくまえに飽きてしまう。その点沙耶の唄は冒頭から主人公は問題の渦中にいるし、ホラーだし、不快だし、その環境から脱出したいという主人公の目的がわかる。行動原理がわかるから、自然と次の行動を想像するし、発生するイベントとそれに対するリアクションが気になってくる。最初から本題に入れると、最後まで読み進めたいという欲求が強く湧いてくる。

キャラクター

僕は虚淵玄の作るキャラクターが好きなのだが、それは、害意に耐える普通の人が描けているからだと思う。普通の人が普通のまま、がむしゃらになって異質な恐怖に立ち向かう。結果的にはバッドエンドになるけれど、ちゃんと敵に挑んでから負けている。彼らは簡単には諦めない。強い心を持ちながら、どこにでもいる普通の人間だ。それを納得感を持たせながら両立させているのだ。

安っぽいホラー映画だと、こんなシーンがよくある。謎の悪霊が現れて、主人公たちに襲いかかってくる。絶体絶命の危機。悲鳴をあげるヒロイン。何もできず、呆然と立ちすくむ主人公。

それを虚淵玄が描いたらどうなるだろうか? まず主人公はショットガンを持っている。だが冷静ではない。嫌悪感と絶望に飲み込まれ、叫びだす直前だ。しかし彼は恐怖に耐え、狙いを定めてトリガーを引く。初弾は外すが、二発目は敵の急所を射貫く。

「怖いけど、すぐには負けない」。これに、僕はものすごく惹かれてしまう。

そして、とってつけたような異常人物はいない。攻撃的な人間は、ちゃんと攻撃的になるだけの理由を持っている。出来事と設定に、律儀に因果関係で説明づける、職業人らしい仕事ぶりだ。

なお、登場するキャラクター、けっこう虚淵玄おなじみのタイプだ。ソウドオフショットガンを持った人を見たとき「あっこのお姉さんFate/Zeroでみた人だ」と思った。あと余談だけどこのゲーム、主人公にもボイスが入っている。CVは氷河流という緑川光だ。イケボを延々と楽しめる。ヤッター!

まとめ

沙耶の唄、急いでプレイしよう。

ちなみにグロ肉描写が苦手な人のために絵が薄くなるセーフティが用意されているのだけど、OFFにしてやろう。そっちのほうが楽しいから。

外部キーNightに行ってきた #fk_night

外部キーNightという勉強会に参加してきた。Validation NightテンプレートエンジンNightページャNightでおなじみのなんとかNightシリーズで、今回はDBの外部キーがテーマだった。

実況

まとめ

自分なりのまとめです。

外部キーは大いに使うべきだ。外部キーは、暗黙のルールを制約として明文化し、かつDBの中身もそのルールに沿わせるもの。ルールの遵守により誤解、ミスを減らせる。

ただし、注意点もある。デッドロックやON DELETE CASCADEといった挙動により、予想外の損害が発生しうる。制約から得られる利益は十分に大きいため、外部キー制約に対する各RDBMSの仕様を理解することで、これらの問題に対応すべき。

理想的にはDBに触れる人すべてが外部キーの仕様に馴染んでいてほしいが、そうでないときも詳しい人が一人いると全然違う。ミドルウェアに精通したRDBMSおじさんを理解するととても頼れる力となる。RDBMSを使うときは(もしおじさんがいるなら)外部キー制約についてよく話しあってルールを決めてから設計すると、一貫性がありメンテナンスしやすいDBになる。

コンピュテーションをアンダースタンディングした

アンダースタンディング・コンピュテーションを読了した。本文中のコードを書き写し、本文と見比べながらじっくり進めて、年末から一ヶ月をかけてようやく終わらせられた。

この本、相当によい本なので、ぜひ読んでほしい。

電子書籍もあります

本書は、Rubyコンピュータサイエンスを学ぶ本だ。

どうしてRuby

なぜRubyか? というと、たぶん現在もっとも人口に膾炙した言語だからだろう。Ruby人口とLisp人口、どちらが多いかと問われたら、Rubyに軍配を上げざるを得ない。Schemeのほうが直接的だけど、わざわざコンピュータサイエンスのために、苦労してまで学ぶべきではない。

Rubyの美しいところは、ノイズが少ない点だ。セミコロンも、変数の前に妙な記号も(たいていの場合は)つけない。これがPerlだったら大変だったろうな、と思いながら、僕は -> を繰り返しタイプしていた。

PythonRuby同様に人気だけど、ラムダを記述するときにRubyより面倒な書き方をせねばならない。その点、RubyはMatz Lispと呼ばれるだけあって、ぽいぽい気軽にラムダが書けて気軽だ。

計算というものを抽象化していく過程で、リストや配列、連想配列といったデータ構造とは別れを告げねばならない。このとき、シンプルな構造体をシンプルなコードのまま表現できるという特徴は、このうえない美点になる。たとえ言語仕様で規定された専用のリテラルを使えなくても、Rubyで作られた構造体はとてもきれいに書ける。

そういうわけで、Rubyが選ばれたのだと僕は思う。

読み進め方

本書は、学部で学ぶような計算機科学の基礎を、Rubyのコードで表現しながら理解してゆくスタイルをとっている。

つまり、実装することで、理解しやすい形に切り分けているのだ。

大学でオートマトンチューリングマシンの講義を受けたとしても、すぐに理解はできない。処理をひとつずつ追っていって、詰まったところは繰り返し考えて、ようやくひとつの節を進められる。

実装で概念を掴んでいくやりかたは、科学的なアイディアをすぐには飲み込めない僕みたいな普通の人間にとって相当に効率がいい。説明を読むだけではわからない論理展開も、コードになれば体感しやすい。

この本を手に取ったら、Rubyのコードを実際に書きながら、じっくり進めていってほしい。思った以上にあっさり最後まで読み終えられるはずだ。

おすすめ読者層

これからコンピュータサイエンスの講義を受ける、学部一・二年生くらいの大学生に、特に本書を薦めたい。

実際のところ、コンピュータサイエンスとプログラミングの間には断絶がある。コードを書くことはコンピュータサイエンスではない。科学の一端が言語にあるにせよ、それは結果であって、プログラミングのためにコンピュータサイエンスがあるわけではない。

大学でコンピュータサイエンスの授業が始まると、その違いに戸惑ってしまって、学習が嫌になるかもしれない。そうなるまえに、本書に触れて、断絶をつなぐ練習をしてほしい。

コンピュータサイエンスを学ぶ道のひとつに、プログラミングがあると僕は思っている。実用的な言語で最初の数歩を踏み出しておくことで、その先に進みやすくなると思う。

あ、Lispをdisってるわけじゃないです、はい。

ルートダブル -Before Crime * After Days- Xtend edition のレビューと感想

ルートダブル -Before Crime * After Days- Xtend edition のPSVita版をクリアした。

正直に言うとおすすめ。Ever17が好きな人はプレイすべき。

しかし、だめなところもかなりあって、コレは傑作だー! と言い切れない歯がゆさもある。

でもノベルゲーム好きならやっといて損はないよ。

http://www.yetigame.jp/w/

面白いところ

このゲームの物語は一直線には進まない。時系列が組み変わりながら、視点を交代しつつ、事件の側面と背景を複数の位置から語ってゆく。事件そのものや人間関係の謎がどんどん積み上げられてゆきながらも、前半まではほとんど解明されない。ルートA、Bをクリアすれば、事件そのものの全体像がようやくわかってくるのだが、その裏にある秘密までは到達しきれないのだ。

後半のCルートで状況が一変する。

筋が通った答えが解き明かされ、それまでの思い込みを反転し、謎だったものが一気に繋がってゆく。これが面白い。

さらにつけ加えると、数字に象徴的な意味を持たせる演出、現実の理論に架空の設定を入れ込んでくる攻め口などは中澤工のゲームおなじみのもので、プレイしたことがある人ならちょっと楽しくなるはずだ。自分も「あっこれEver17で見たやつや……」と思った。

だめなところ

長い。

ルートBが特に長い。緊張感のないキャラクターのセリフを眺めながらぽちぽちボタンを押す作業は結構つらぽよだった。たとえばFate/stay night に比べたら物量的には短いけれど、ルートダブルの日常シーンはほんとプレイ時間が長く感じる。

なんで長く感じるかというと、キャラクターが好きになれないのが一番の原因かなーと思う。

主人公の夏彦はルルーシュみたいなポーズでドヤるのがなんだかなーだし、渡瀬とかいうおっさんは「俺は男なんだ」とかめんどい発言するし、ましろとかサリュとか悠里とかとってつけたような性格だし。

問題は、キャラクターが役割に沿った安易な言動を選んでいることにあると思う。「ここで正気を失うことになってるんで、気が狂ったようなセリフを言います」と、筋の決まった演劇のように、ストーリーの都合にあわせてキャラクターが動いている。だから不自然に感じるし、キャラクターを好きになれない。

そうそう、悠里がメインヒロインのはずなんだけど、一番なじめない存在だった。こういう儚いキャラ、好きじゃないです。もっとこう、予想外の活躍してほしいです。

まとめ

欠点もあるけど面白いのはたしかなので、Ever17が好きならプレイしよう!

http://www.yetigame.jp/w/

PS3PSVitaダウンロード販売専用)、Xbox360版があるよ。