さて先日開かれたカフェ・ミヤマ渋谷のパスタを食べてみる会(コモニャドセミナー)に行ってきたわけだが、レポートの類は既にたけをさんが書かれているのでそっちを参考にしてくださいということで。
ところで既に何度か書いている通り、今の俺の仕事は檜山さんの配下で世界を転覆させるソフトウェアを開発することなのだが、ここ数日はそこで使うための対話シェルとスクリプト言語の開発をやっていた。それらの詳細はまあここではどうでもいい。話題にしたいのは、対話シェルでのスクリプトの入力を解析して実行するのって意外と面倒だって事だ。
普通に何かしらの言語の構文解析を行うなら、まあぶっちゃけパーサジェネレータの類でかなりの部分をやってもらえる。だが対話シェルからの入力となると、例えば "if (expr) {" まで入力されて改行を押されて、その後に入力が続くというケースが考えられる。というか、それが出来ないと対話シェルとして使い物にならん。つまり完全なソース一式が入力されるなんてありえないと考える必要がある。もしかしたらそういった場合も ANTLR とかを上手く使えば入力が分割されたケースにも対応できるのかもしれないが、なんかもう自分で状態遷移を制御してった方が良さそうだと思ったので自力でやってみた。そしたら状態遷移をしつつ抽象構文木(っぽいもの)を作ってると二つの状態を管理するハメになって、要リファクタリングなちょっと泥沼なコードになってしまった気がする。
で、それがコモニャドセミナーと何が関係あるのかっつーと、コードが入り組んで泥沼になりがちな状態管理を切り分けるための考え方として、モナドのアプローチってやっぱもうちょいちゃんと学んどく必要があるなと思っただけなんだが。実際にやってみりゃわかるけど、ちょっとした DSL でも構文解析とかを軽い気持ちで書き始めると驚くほどコードが汚くなるぜ。いや、でも普通は ANTLR とか JavaCC とかあるから、そんなことで悩んだりしないのか。俺は今回、たまたま ANTLR に頼りっぱなしにできないことばっかやってるだけだし。
ちなみに俺が生まれて始めて作った言語らしきものというのはゲームのマップ/敵配置の記述言語で(大学2年の時)、確かその時はその言語から C++ のコードへのトランスレータとして実装していて、実装言語がよりによって Perlのバージョン4ぐらいという大変に頭の爆発した代物だったはず。今思えば何であんなバカなもん作ったんだろう。
そういや今月と来月は DS であんまり興味を惹かれるタイトルが出てないな。この調子だと、今年の後半は全然ゲームやらない期間になりそうだ。
で、今月までに発売されたゲームで俺が遊んだのは
というわけで、自分で思ってたよりも遊んでいたんだが、こうしてみると DQ9 は頭一つ二つ抜けて、いや凹んでつまんなかったかもしれん。特に目的なくキャラを育てるのが好きな人にはいいかもしれんが、ダンジョンの踏破とボスの攻略の手段の一つにしか思ってない俺にはちと辛い部分が多かった。
他人に自信を持って薦められるのはロックス・クエストで、キャラデザがアレだとかそんなこと言わずに遊んでほしい一品だ。あとは FFCC EoT も薦められるか。前作のカドを取って調整したような感じなので、アクション RPG が好きならどうぞ。
デスティニーリンクスは古き良き2Dアクションアドベンチャーで、俺は大変楽しく遊べたけど「古くさい」とか「地味」とかいわれても仕方ないゲームな気もする。お使い要素との付き合い方次第じゃ、全然面白くないと感じるかもしれない。同じく俺は満足してるが他人に薦められるかというとそうでもないのがセブンスドラゴンだな。こいつは見事に評価が真っ二つの問題作で、ぶっちゃけ「クソゲー」の烙印を押す人がいても全然不思議じゃない。ゲームのアイディアと世界観が気に入ればハマるが、そうでないといろいろ不親切過ぎて論外という何か去年のゲームだとアヴァロンコードみたいなポジションだ。いや、俺はアヴァロンコードはなんだかんだで結構気に入っていて、続編が出るなら間違いなく買うんだが。
ハチワンダイバーは原作ファンかつ将棋指しの俺にはとても良いゲームで、絶妙に弱い CPU や初級者を支援する各種システムなどもあって将棋入門にどうぞと思うんだが、どんなもんでしょ実際のところ。
デビルサバイバーは1周目はとても楽しかったが、2周目以降は緊張感ゼロの惰性プレイになりがちなのが引っかかった。仲魔やシナリオのコンプリート・やり込みが周回プレイ前提だけに、そこがちょっとマイナスか。
ダン←ダムは終わってみれば何となく面白かったと言うか割と遊べたんだが、ダメダメな部分も実に多かったなあ。他の作業の片手間に半ば放置してキャラクターを馬車馬のように働かせるという、腐れ外道な遊び方をするのが楽しかっただけという気がしなくもない。

この怪文書はクリエイティブ・コモンズ・ライセンスの元でライセンスされています。引用した文章など Kuwata Chikara に著作権のないものについては、それらの著作権保持者に帰属します。