from __future__ import katryo

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

沙耶の唄 感想

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

ストーリー

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

短さはノベルゲームの魅力を強める。実は沙耶の唄のあと、名作と言われている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版があるよ。

スノーボード体験

一月と二月の頭に、都合二回、会社の同僚とスノーボードに行ってきた。

スノーボードに挑戦するのは初めてだったわけだけど、よくあんな不安定な遊びを楽しめたなと振り返って思う。

10974522_833331203400247_1677825360691680851_o

ゲレンデで、いかにも上手そうな人があっさり転ぶのを何度も目にしてきた。スノボはスキーに比べると明らかに転びやすいスポーツで、転倒に対する意識というか価値観を変えないと楽しめない。

楽しくはあったけど、スキーのほうがよかったかなー転ばなくても進めるしなー、と後悔せざるを得なかった。

あと、滑った翌日は筋肉痛に苦しんだ。足じゃなくて、肩と背中と腹筋が痛くなった。どうしてそうなるかというと、起き上がるのに上半身の筋肉を使ったからだ。五十回くらい転んだから、全身をかなり鍛えられた。

10498461_833331306733570_2485997482673953514_o

ちなみに、男だけで行ってきた。

夕食のあとに酒とお菓子を買い込んで宴会をしたのだけど、夜が深まるにつれノリがどんどん男子校になってきていた。具体的な内容は書けないのだが、あの場に集った面々は中学生並みの知能指数になっていた。

社会人とはなんだったのか。

サイコパス劇場版を観にいった。

なお鹿矛囲桐斗の事件とはまったく関係のないエピソードだった。二期とはなんだったのか。

続編がいくらでも作れるシステムになってたので、次のTVシリーズは月村了衛さんとかがシリーズ構成をすればいいんじゃないですかね……。

年末年始で読んだ本まとめ

年末年始で読み終えた本の感想を端的に書く。☆は5点満点での評価。

読んだ本

のうりん

☆☆☆☆


本気で笑えた。

最初から最後までパロディ尽くしだった。自分はだいぶわかるけど、これ、元ネタ知らない人は面白いんだろうか。

当然ながら、自分でも気づかなかったパロディが多数ある。元ネタが気になった人はのうりん元ネタwikiで確認しよう。

ケモノガリ 2

☆☆☆☆☆

楽しい。

とにかく、速い。不自然さや強引さにつっこむ暇を与えず、とてつもない勢いで物語が展開される。

1作目は映画「ホステル」のノリだったけど、本作では拷問も少なめで暴力描写が苦手な人にもおすすめできる。うそ。できない。

丘ルトロジック

☆☆☆

ちょっと退屈。

高校の部活で、オカルトと殺人鬼に挑む話。予想以上にテンプレ構成のチームだった。

もうちょいびっくりしたかったな。

USJのジェットコースターはなぜ後ろ向きに走ったのか?

☆☆☆☆

感想はこっちに書いた

関数プログラミング実践入門

☆☆☆

俺、この連休が終わったらHaskellを始めるんだ……。

gihyoの電子書籍版

臨機巧緻のディープ・ブルー

☆☆☆

こんだけ設定を積み上げておいて、続編なしですか!?

小川一水さんに直接サインをもらった本なので、思い入れはあるのだけど……。1巻だけでは、浸りきれなかった。

感想を書いての感想

これらのほとんどは、読みかけのまま、実家に置いていたものだ。せっかく帰ってきたのだからと、まとめてこうして読み終えた。

本は、読みかけのまま放置するとよくない。内容を忘れて、読み直したときに続きを楽しみにくくなる。読み切っていない本の記憶が、なんというか、自分の人生におけるノイズになっていると感じる。

今年は、読みかけの本みたいに、これまでやり残したことを整理していく年にしたい。

それと。ひとつまえの記事でやり忘れていたけれど。

明けましておめでとうございます!