Lua話 + 化物というか・・・ライバル!!!

前回の記事:(http://d.hatena.ne.jp/studiokingyo/20051218
ちっす!大晦日です!d金魚です!!年越しそばはgoogle:どん兵衛で済ませてますか〜!!
でも書いているの12月30日です。おrz!!!


Mistyさん、前回は詳細なコメントありがとうございました。
では、早速MistyさんのLuaの素晴らしさを語っていただくと共に返信いたしましょう!







>もろこしヘッドの Misty です。Lua の素晴らしさを伝えるべく、toge 氏の日記より飛んでまいりました。笑
あざっすo(*^▽^*)o

>汎用ファイルフォーマットとしての Lua はとても便利です。
>現在開発中の MistEngine ver.0.45 では、シェーダ (GLSL)や、メッシュ (テクスチャを除く、頂点や法線に頂点インデックスなど) も全て Lua スクリプトとして書かれています。
なるほど、Luaはやっぱりかなり柔軟なんですね(といいますか、プログラム言語でスモンね・・・)BulletMLLuaで拡張されていましたし(google:LuaBullet
それから思い出したことですか、google:Ogre3Dのそのような定義は独自の定義形式だった覚えがあります。(http://www.ogre3d.org/docs/manual/manual_14.html#SEC23)

>Luaスクリプト言語なので、当然演算子も定義されてますね。
>なので、(簡単な例ですが) こんなことも出来ます。


window = {
width = 800,
height = width * 3 / 4
}
>width に値を代入すれば、自動的に 4 : 3 の比率で height を設定してくれます (この場合は 600 ですね)。
>うーん、色々と想像が膨らみますね。笑
ですね。Luaってソフトウェアを外部からイジるタイプに特化した?スクリプト言語ですからこの手の開発をしているプログラマにとっては憧れみたいなものがこめられていると思います。
http://d.hatena.ne.jp/ryoko_komachi/20000301より RYOKO氏も「プログラムから、外部のスクリプトを制御するのって憧れるんですよね」との事を前この記事で見てこれ超→分かる!と思ってました。特にソースコード内に#defien定義がconst int値があふれ再コンパイルするのがめんどくさくてたまらなかった経験があったものですから^^;

>> APIが解釈してC言語の変数として代入してくれる
>自動的に代入されるわけではありませんが、Lua 変数の get/set が可能なので問題無いですよ。

>> LuaAPIはスタックを意識してガシガシ組まなくてはいけない
>えぇ。それはもうバリバリに。爽
>C と Lua を結ぶデータのやりとりには必ずスタックが絡んできます。イメージとしてはこんな感じです。


 C <=> Stack <=> Lua
>慣れれば問題無いのですが、やはり面倒くさいです。
>そういうときは Luapper (るあっぱー) を使いましょう。

>→ http://d.hatena.ne.jp/toge/comment?date=20051218#c (toge氏の記事のコメントに書いてしまいました)

>ソースコードの URL もここに張っておきました。BSDライセンスで公開します。
ソースコードの公開に感謝します。( ・・)( -.-)( _ _)
http://mistyrain1st.nobody.jp/luapper.h
http://mistyrain1st.nobody.jp/luapper.cpp
分かりやすい良いソースコードですね。
あ、ちなみに私はgoogle:GameCatapult]([google:gctp])に入っていた[google:luna.hppというのに目を付けていました。
LuaSJISパッチの製作者さん(http://www.water.sannet.ne.jp/sowwa/)なんでもしかしたらご存知かもしれません。*1
詳しくは見ていませんが、どうなんでしょう?来年にでも比較しますね。

>では軽く宣伝したところで次へ。


>> LuaAPIのライブラリはライブラリサイズが重い!?
>私が現在使っている Win32用 lua.lib は 138KB、lualib.lib は 98KB です。あ、ちなみに Lua のバージョンは 5.02 です。
>ダイナミックリンクしているので実行ファイルは小さく済んでます。
なるほど、結構小さいですね。Luaをダウンして軽くコンパイルしただけでまだ使っていなくてしったかぶっててスンマセンデス。


>>P.S. 私もd金魚氏と同じく学生で、現在高校1年生です。負けてられませんな!
いや、負けておれませんな・・・というより、私が既に負けてしまっていますから・・・おrz!!!







と、言うこと結論。
  • 汎用ファイルフォーマットとしての Lua はとても便利。
  • LuaAPIはスタックを意識してガシガシ組まなくてはいけない。
  • ライブラリサイズは合計250KB以内(これを軽いか重いかは各自に任せる)
それから、d金魚はMisty氏に負けている!!!(笑)
高校一年生の時は酷い物ばら撒いていましたよ。(未だにとあるサイトでダウンできたりする・・・失言・・・)
いや、shinichiro.h氏もhttp://shinh.skr.jp/m/?date=20051225#p05にて化物と例えていますが、全く持ってそのとおり。
もう、氏のサイト http://rainer.blog7.fc2.com/ を見ればオーラ発せられてます。
すごいっすよ、いや、マジで!!怪物君ですよ。高校生1年で鬼ですよ。
その頃なんてもう、私はもう「何でだろうの教えて君」だったのですから・・・。ライブラリ製作技術なんて皆無でまともになり始めたのが2年くらい前なんですから・・・。
なんか、もう・・・こういう感じでしか表現できないけど・・・
ライブラリ製作に逃げている時点で負けかなと思っている。(爆)*2
てか、高校一年生のMisty氏・・・。来年のProCon2006*3であたるかもしれない(いや、トーナメントとかじゃないけどさ。)
私は来年のプロコンが最後のチャンスなので(年もろばれ)今までのPC人生かけるつもりだ。
是非Misty氏も来年プロコンに作品を出品してみては!と薦めてみたり^^
と、いいますか、絶対!出てください〜!!!!!!!!!!!!!!!!!!!(熱奨!半ば強引!?)
来年のプロコンはレベルが高いぞ〜ヽ(゜▽゜*)乂(*゜▽゜)ノ バンザーイ♪(私が低くしたりして・・・笑)
あわよくば表彰式で是非会いたい〜〜!!!!とLove call してみたり・・・(やりすぎ・・・)

*1:ちなみにこの方もLuaのラッパーを製作されております。

*2:なんかこういう文体いろんなサイトで見るんですよ。流行ですね^^調べてみたら元ネタ発見google:負けかなと思っている

*3:2006年度 U20プログラミングコンテスト