Hatena::ブログ(Diary)

新言語 Xtalを作る日記

2007-08-05

LL Spritに行ってきました 08:12  LL Spritに行ってきましたを含むブックマーク

こういうイベントは出るのはもちろん、行くのも初めてで、とても緊張しました。こんなイベントに呼んでいただき、とても光栄でした。ありがとうございました。何か失礼なことをしてましたら、それは緊張の所為だったと言う事でお許しいただきたいです。

イベントでは、緊張であること無いこと言ってしまったのですが、時々日本語すら間違ってましたね。例えば「Luaの速度にセッパクしている」とか。

言いながら、「切迫はおかしいだろう」と思ってたのですが、代わりの単語が「緊迫」「告白」しか脳から出てこず、「まぁ「緊迫」や「告白」よりかは意味として通じるか」と判断して通しました。

こうして冷静に考えると、多分「肉薄」と言いたかったんじゃないでしょうかねー。

まあ、いろいろありましたが、今後もがんばって開発していこうと思います。Language Updateに名を連ねてもおかしくないような言語になりたいですね。

あと、会場で出したベンチマークsvn最新ソースのもので、0.9.6.2ではLuaに結構負けます。もうすぐ0.9.7.0を出します。

SaitoAtsushiSaitoAtsushi 2007/08/06 23:13 gccでコンパイルする際に生成されるライブラリがxtallib.aとなっていますが、gccの作法としてはlibxtal.aにした方が良いかと思います。
どこに書いてよいかわからなかったのでとりあえず最新記事にコメントしましたが、掲示板などを用意されてはいかがでしょう。あるいはにちゃんねるでスレ立てるとか。MLだと通りすがりに気軽に感想を書くといったこともし難いですし。

ゆろゆろ 2007/08/07 00:11 はじめまして。
http://www.cubetype.com/ (またはhttp://www.triplus.jp) というところで
ゲームを作っているゆろと申します。
今作っているゲームに搭載するスクリプトを何にしようかな、と検討している際に
xtalに出会いました。
日記を読んでいて、やはりC/C++に慣れ親しんだ身としては、Luaよりxtalのほうが
親近感が沸いたため、ぜひxtalを使いたいと思うのですが、大きめなゲームに
がっつりxtalを組み込もうとした際に以下の点が気になりました。

・今現在、マルチバイト文字をベースにしていますが、defineオプションでもいいので
 unicodeに対応してほしい。
 過去の日記内でunicode対応云々を悩んでいる旨ありましたが、ぜひ検討して
 いただけたら、と。
 ただ、xtalソースコンパイル前にset_code_utf8()を実行するだけで問題なく
 動いているような感触ですので、もしかしたら対応済みですか?
 (文字列はそのままバイトデータとして保持している云々と日記にあったのでして
 そうな気も)

・事前コンパイルを行ったバイトコードの取り扱いが中途半端
 compile -> object_dumpでバイトコードを作成できますが、例えばlib().memberで
 登録時などにはバイトコードが使えないように見えます。
 やはり、ゲームでconfigデータ以外に例えば対戦用COMルーチンなどを大量に
 切り替えて使いたい場合などにその場でコンパイルってのは気持ち悪いです。

・入出力のカスタマイズが中途半端
 object_dumpなどは、Streamクラスを継承して入出力のカスタマイズが可能ですが、
 例えば先ほどのlib().memberなどは直接fopenを呼んでいます。
 ゲームなどでは、リソースデータを1つのアーカイブファイルにまとめて、
 独自の入出力関数でアクセスしたい、ということが多々あるかと思います。

・実行環境(VM, libなど)を複数作成したい & 切り替えたい & 複製したい
 現在のXtalでは実行環境がスレッド毎に1つしかないようですが、
 複数サポートは難しいでしょうか?
 例えば、ステージ管理用、プレイヤーキャラ管理用、敵キャラ管理用etcなスクリプ
 トをfibre & yieldでメインプログラム(C++)側に戻りながら切り替えたいとします。
 これが現在できないように見えます。
 また、xtalスクリプト側に公開する関数も用途別に異なり、スクリプト実行の速度の
 点からも関係ない関数は関係ない用途のスクリプトの実行環境に登録したくない
 などもできない気がします。

まだ軽く検討しただけですが、上記が特に気になりました。
まだ言語仕様制定中でそれどころではないって気もしますが、おいおい検討していただけたらな、と思います。
ゲームで使えそうな規模でありながら、違和感のない言語仕様がかなり気に入ったので、今後も日記を追いかけさせていただきます。:)
(そしてゆくゆくはゲームに搭載できたらいいな、と考えてます:)

tobytoby 2007/08/07 00:15 LL魂の資料upキボン、してよいですか?

ktatktat 2007/08/07 23:54 trackbackが打ててないようなので、コメントします。Makefileですが、xtalディレクトリのあるところに、xtalバイナリが作られるようになっているので、Linuxでは、作られませんでした。ご報告まで。

xtalcoxtalco 2007/08/08 08:56 皆さんご意見ありがとうございます。

>SaitoAtsushiさん
次回から改めます。

>ゆろさん
次回の日記で返答したいと思います。

>tobyさん
LL魂のサイトからダウンロードできるようになるという話のはずです。今はまだ無い?ようなので、少しお待ちください。

>ktatさん
はい、次のバージョンではbinフォルダ内に作ろうと思います。

お盆中にはバージョンアップをいたします。
本当はLL魂の前にアップするべきなのですが、用意が間に合いませんでした。

SaitoAtsushiSaitoAtsushi 2007/08/08 13:36 Cygwinでは gcc -o xtal とすると実際に作られるのはxtal.exeだから問題なく出来たんでしょう。私はmsysを使っていまして、拡張子についてはCygwinと同じ解釈のはずなんですが、makeは混乱したみたいでちょっとした手直しが必要でした。gcc的な作法からすると出力ファイル(実行ファイル)をbinディレクトリに吐くよりはソースファイルが入っているディレクトリ名をsrcなどとするのが主流っぽいです。ただ、これはライブラリ名の頭にlibをつけるのとは違い、特にツールがそれを要求するというわけではありません。一貫していればそれでよい話ですから要望でなくあくまで習慣としてそういうものがあるよという連絡ですので今後の構成ポリシーを決める上での参考にしていただければ幸いです。

xtalcoxtalco 2007/08/09 08:40 なるほど。詳しい説明ありがとうございます。
ソースの入ったディレクトリはxtalにしときたいので、やはりbinフォルダ内にしようと思います。

google-groupを作りました。掲示板のように使えるのかよくわかってませんが、とりあえず。
http://groups.google.co.jp/group/xtal-group?hl=ja