今作っているゲームの組み込みスクリプト言語どうすべきか。
主にデータの定義や宣言に使う。
今は、パラメータは、xmlで書いているけど、素のxmlだと計算ができないので痛い。
やっぱりちゃんとした、スクリプト言語を組み込みたいところ。
以下、候補。
- Lua
- Squirrel
- Xtal
- Ruby
- Python
Rubyは、Pythonは、ゲームの組み込みにはちょっとデカイ印象。
■Lua
Luaは、グラフィオンというプロジェクト(未公開)で、以前に使ってみたことがあるけれど、
テーブルの扱いがなんかキモかった。
namespaceとして、テーブルを使おうとすると、文末に、"," がくるのがウザイ。
(どーでもいいところが気になるもの)
あと、関数呼び出しで、スタックを操作するってのがなんかキモイ。
キモイというか、脳が死ぬ。
■Squirrel
Squirrelは、どうだろ。
実は、まだ試してないのだけど、
Luaの仕様にブチギレた FarCry のプログラマが作ったというので、
かなり期待をしている。
(そーいや、FarCryってLua使ってたなー)
つまり、ベターLua 的存在。
しかしながら、Squirrel の Delphiバインディングは、まだないみたいなので、
使うなら、作る必要性がでてくる。
そもそも、もし、C++依存だったり、DLL化を意識してない作りなら、
簡単に作れるかわかんないわけだけど。
Squirrelで、長いコードを書く気はさらさらないのだけれど、
一応、SQDEVなるEclipseな、開発環境兼デバッグ環境もあるらしい。
(どーでもいいけど、Squirrelって、末尾再帰対応するっぽい?そんなの組み込み言語にいるのかよ!)
困ったことに、素のSquirrelは、Lua同様スタック操作必須。
キモイヨー。
■Xtal
Xtalは、期待の新星。
たぶん日本人によって作られている、ゲーム用組み込み言語です。
Luaや、Ruby、Python なども参考にされている様子。
まだ、ver 1.0 になってないようなので、
使うには早々かもしれないですけど、
機能や、言語仕様などを見ると非常に期待できます。
ただし、C++依存のようで、Delphiへの組み込みはちとつらいだろう。
DLLにして、依存部分をラップして……と、考えるとやはりつらそう。
■参考リンク
カテゴリ: [ 開発 ]
コメント (5)
Luaはコンシュマーでよく使われてるとかどうとか。
個人的には複雑な機能は必要ないので簡単でコンパクトでCっぽいのがいいなーと思います。サブルーチンジャンプ、ローカル変数ぐらいあれば構造体とか別に無くても:Q。
案外自分で作っちゃったほうが解決が早いかもしれませんねー。
投稿者: Ko-Ta | 2007年05月25日 12:04
日時: 2007年05月25日 12:04
> 案外自分で作っちゃったほうが解決が早いかもしれませんねー。
いやー、たぶん早くないと思うw
前にでっち上げで、ネームスペース指向のスクリプトを作ったのですが、機能が足りずw(関数呼び出しなしw)
一週間くらい時間あったら、作れるかもだけど、バグ取りとか大変だし、ありものを使おうかなーというのが本音です( ´∀`)
投稿者: TOBY | 2007年05月26日 00:52
日時: 2007年05月26日 00:52
Luaは使ってましたけど、確かにスタック操作系は非直感的。最近はSWIGで回避してます。テーブルは個人的には大好きですね、緩さがたまりません。
xtalはぼくも注目してます。今度機会があれば使いたい候補No.1。そして、最近はDelphi使わずC++ばっかり・・・。あぁIDE作りたい。
投稿者: izariuo440 | 2007年05月28日 00:12
日時: 2007年05月28日 00:12
勢いだけでdelphiでluaを実用までこぎつけましたが、改めて使えるかときかれると、ソースを外部に出せるのでユーザ向けかなーという評価です。
言語自体の開発まで話が行くとは、さすがtobyさんやko-taさんというか。
投稿者: 偽山岡 | 2007年06月06日 00:52
日時: 2007年06月06日 00:52
ども。Lua人気ですね。
> SWIG
あ、そんなものが!忘れてた。
3DエンジンのPython版とか、SWIGで作られてたり、結構実用的らしいですね。
Delphi版SWIGとかあればいいのになー。
> 言語自体の開発まで話が行くとは
言語開発は、プログラマの3台欲求(というか罠)と呼ばれているくらいのものですからw
しかし、安易に踏み込むと、泥沼の最大級の罠です。
投稿者: TOBY | 2007年06月06日 17:01
日時: 2007年06月06日 17:01