Jul 23, 2007
アドベンチャーゲームで覚えるLispプログラミング
OSC2007-Kansaiで面白かったもののひとつが、コレ。λ組の「魔法言語 リリカル☆Lisp」という同人ソフト(であっているのかな)。アドベンチャーゲーム形式でLispを覚えていけるんだそうです。
Lispというのは、けっこうややこしいプログラミング言語なので挫折した人も多いはず。私も、なんのことやらさっぱりわからんのですが、それをこういう形式でやられると、何だか簡単なんじゃないかと勘違いしてしまうのです。
もう少し詳しく説明すると、こういう感じです。まず、NScripterというツールがあって、これは高橋直樹さんが開発しているアドベンチャーゲームを作成するためのスクリプトエンジンなんだそうです。これを簡易プログラミング言語として使うと、オリジナルのアドベンチャーゲームが作れてしまう。Wikipediaにも項目が立ってます。NScripterオフィシャルガイドも売ってます。
で、zickさんという人が、このNScripterを使ってLispインタープリタを作ったと(^^ つまり、プログラムを解釈・実行するためのLispというプログラムをNScripterで作成した。これが、NScLisper。スゴイです。スゴすぎます。
さらに、λ組+鳥御堂の皆さんが、NScripterを使ってLispのプログラミングを覚えるためのチュートリアルゲームを作ったトです。NScLisperを内蔵しているので、ゲーム内でLispを試せます。それが「魔法言語 リリカル☆Lisp」。OSC2007-Kansaiでは、CD-ROM+オフィシャルガイドブック+アドバンスドオフィシャルガイドブックの3点セットを500円で販売していました。えー、あまりのスゴさに買ってしまいましたとも。
ホテルに戻って、まずは冊子のほうを何気なく読み始めてみたところ、なにやらねマンガになっとる訳ですよ。どんな設定なのか、なんのパロディなのかもさっぱり分かりません。それでも、アドバンスドオフィシャルガイドブックまで読み進めていくと、これにはなんとLispの作り方が解説してありました。
方言はたくさんあるけれど、核となる部分はいずれもシンプルで、小さいけれど非常に強力な言語なのよ
という具合に本体のチュートリアルの中でも説明していますけど、Lispというのはとてもシンプル(でエレガントな)プログラミング言語なんだそうです。だから、仕組みもいたってシンプル。
プログラミングをする人は、結構多いんだけれど、そのプログラムを解釈・実行するプログラムがどのように作られているか、気にすることは意外と少ないんじゃないか。一般的によく使われているプログラミング言語と比べると、特殊な言語の場合は特に。それが、この説明を読んでみたら、本当に単純でエレガント。え、コレだけなの、これでプログラムを実行できるの? とビックリするくらい。
そんな訳で、魔法言語 リリカル☆Lispにハマっております。ようやく、第6話まできました(全12話)。一応、簡単なストーリ展開もあって、飽きさせません。プログラムを1行にまとめなければならなかったり、以前の説明を読みに戻れなかったりするので、やりにくいところもありますが、それでも面白い。脳味噌がグルグルしますネ。
第2話までが体験版として公開されています。NScLisperのソースコード自体はオープンソースになっているので、それを眺めても面白いかも知れません。すでに通販は終了ということですが、Vectorあたりでシェアウェアにしておくと、けっこう人気になりそうだよね。
wikieditish message: Ready to edit this entry.
A quick preview will be rendered here when you click "Preview" button.