好き勝手に・げーあにん?

ファミコンと同い年の社会人ヌルオタの日記

続:ゲーム開発現場で使われるオレオレ言語の意味はちょっと違う

うーん、ゲームシナリオの記述ってそんなに特殊なのかなあ。
既存言語 + DSL で十分書けそうな気がするんだけど、これはやっぱり門外漢の戯言なんだろうか。

続:ゲーム開発現場で多くのオレオレ言語が生まれるのはなぜ? - kなんとかの日記

DSL とかマクロで十分だと思います。

以上、言いたいこと終わり(どーん)。

前のエントリーは、“オレオレプログラミング言語は生まれてない”という事だけいいたくて、“オレオレスクリプト言語”が量産されていくことについては大して書かなかったので、その辺をテキトーに書き散らしておきます。本当にテキトー*1に。

ぶっちゃけ、私はゲームスクリプト言語が量産されているのは、悪しき習慣だとしか思ってないんですよね(爆)。ゲーム作るの大好きな人たちが、ゲームを自分の思ったとおりに動かしたいから、自分でスクリプト言語までつくっちゃってるんじゃないかと。その気持ちは凄くよくわかるんだけども! 見た目は趣味! 頭脳はプログラマ! その職種の名はゲームプログラマー! ‥‥というのは3割冗談ですが、今になって開発効率を考えたほうがいいとか、今さらですか?みたいな発言が出ているのは事実なわけでして。

実は、前のエントリーでは名前を出しておきながら、サンプルスクリプトすらみていなかったんですが(コラ)、吉里吉里のようなテキストが主体で、それにコマンドを入れていくようなタイプの言語で、組み込みやすそうなものってあるんだろうか。

[wait time=200]
*start|スタート
[cm]
ありがとう。[l][r]
‥‥[r]
だが断る。[l][r]

テキストをリテラルにするんじゃなくて、コマンドや制御文の方が特別なもので、テキストは括ったりせず書きたい、というのは ADV や RPG などの文字盛り沢山なジャンルなら思うことでして。「そんぐらい正規表現で」とか思うんだけど、デザイナーがみんな正規表現を手足のように駆使してくれたら苦労しないぜ! とか、結局、改行とかキー待ちは埋め込まないといけないから、一括変換できない→文字列括るのめんどくさい!みたいな*2

単刀直入に言うと、Lua で erb みたいなテンプレートエンジンが高速に動けば割と解決のような気がする。

私は、マクロか、一文字の関数作って付加軽減、とかで十分だと思ってますが。

erb とかをデザイナーさんに書かせるのが適切なのかどうかはさておき、とか書いておくと、Webの人たちにも気持ちが通じたりするんだろうか。テンプレートエンジンがそれなりにいっぱいあるのと、ゲームスクリプト言語がやたら量産されるのには、共通項があるかもしれないし、ないかもしれない。ちょっと話し変わっちゃうけど、HTML とか、Wiki記法とか、RD とか、はてな記法とか、TeX とか、文書を書くにもいろいろですよねーとか。


あとは、ライセンス関連がめんどくさいとかはあるかもなー。license.txt 含めろなんて言われたら、家庭用ゲーム機ではどうしようもない。いや、ゲーム中で表示すればいいのかもしれないけど‥‥ユーザー的にも見れても嬉しくないしなぁ。説明書に載せるのも変だし。わりとメジャーなライブラリでもアッサリとこの壁にぶち当たったりするよね。それ以外の方法もあるにはあるけどめんどくさかったりとか。

そういや、Squirrel を組み込んだらしい、スクエニのソフトはどうしてるんだろうと思ってライセンス読んだら、Squirrel はライセンス的にもゲーム向きなのかもなー*3。説明書見ても、Squirrel の S の字も見当たらない*4

ゲームだと説明書かパッケージにライセンスがらみの記述をのせないといけないのはめんどくさいなーとかありますよね。ゲーム用のものはちゃんとゲームの事を考えたライセンスになってるせいなのか、普通にみんな使ってるのに*5、ゲーム用以外のものを使うのを妙に躊躇う風潮はあるんじゃないかなー。‥‥たぶん。

触らぬ神に祟りなしってだけで、開発効率の悪い方法をとってるとしたらもったいないだけですが。


ライセンスの知識と Lua の知識でも仕入れとこうかなーとか思ったりしてたら、謀ったかのような素晴らしいタイミングで発売された本があるな。ライセンスの方は買ってしまった。Lua の方はさっき知った。

ソフトウェアライセンスの基礎知識

ソフトウェアライセンスの基礎知識

関連
オールドゲーム配信の裏にライセンス違反? | スラッシュドット・ジャパン
解析されてライセンス違反なんじゃないかと言われている話し。これは酷い。
ページ送り以外のプレゼンを考える - 好き勝手に・げーあにん?
そういや、ページ送りじゃないプレゼンを考えてたら、ゲームになってしまった話しを前に書いたな。
追記

しまったー、吉里吉里の中の人とちょっと内容被ってたー。主張は違うけど。

tjs2のようなほぼJavaScriptな言語をプログラマーではないスクリプターさんに触らせるのは無理です。

http://kikyou.info/diary/?200809#i28_2

ノベルゲームならともかく、RPGとか、アクションゲームのスクリプターには、そのぐらいはできてくれないと困るので、“無理”とまでは思ってませんが。

*1:適切に当てはまる、方ではなくて、若者言葉的な意味でテキトー

*2:ゲームシナリオを書くのに慣れてる人は、キー待ちぐらいは適当な文字(▼とか)を埋め込みながら書きますけどね

*3:私は英語が壊滅的に苦手なのでちゃんと理解できてるのか微妙である(爆)

*4:SQUARE ENIX の S の字はある(当たり前)。Wii Ware のソフトはWiiショッピングチャンネルで説明書が読めていいね

*5:ここ数年で発売されたゲームに大抵出てくる某ミドルウェアのロゴとか