1 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 13:02:21 ] LuaやSquirrelなどアプリケーションへの組み込み用途で 使われるプログラミング言語についてのスレッドです まとめwiki(なにか質問する前に必ずみること!) wikiwiki.jp/lua/ その他の参考URLは>2から ■過去スレ その3 pc11.2ch.net/test/read.cgi/tech/1160799232/ (前スレ) その2 pc8.2ch.net/test/read.cgi/tech/1063711237/ その1 pc5.2ch.net/tech/kako/1034/10341/1034182349.html
94 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:35:46 ] 79の言ってることがよくわからないんだけど、 あらかじめ変数に読み込んでおいてというのは、 ファイル開いてファイルサイズ分メモリを確保して、そこにreadするということか? それでそのバッファのポインタを渡して読み込ませたいってこと?
95 名前:79 mailto:sage [2008/05/01(木) 02:06:38 ] 忙しくてレスできませんでした。 >>80 とりあえずソース読んで分からなかったらまた尋ねるかもしれません。 >>94 94さんの言うとおりファイルサイズ分メモリを確保しておいて、そこにファイルを読み込ませ、そのメモリからオブジェクトにデータをロードさせようと 思っています(do_fileやload_fileなどを使うといちいちファイルにアクセスして負荷がかかるため)。 現在はchar*にスクリプトを読み込ませておいて、オブジェクト生成時にコンパイルしていたのですが、 コンパイルにかかる負荷がバカに出来ないと考え「コンパイル済」のスクリプトをメモリに保存しておいて運用したかったのでその方法を質問させていただきました。
96 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 03:37:06 ] コンパイルドバッファだったと思う。 ttp://wikiwiki.jp/lua/?Squirrel か もんしょの巣穴っていう個人さんのサイトに解説あった気がする。 違ったらヘッダをcompで検索すれば出てくると思う。 眠いからこれ以上は書けないZzzz
97 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 03:41:20 ] ああ勘違い、コンパイル済みスクリプトをバイナリで保存しておいて読み込みたいのね? 役に立てないZzzz
98 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 11:25:29 ] 本人が言ってるとおりsq_readclosureでいいんじゃないのか
99 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:14:36 ] 私はLuaの方の人だから見当違いかもしれないと前置き。 sq_readclosureでよさそうだけど解説があまりないから 断片的な情報とソースから推測するしかないって感じかな。 ソースはsqstdio.cppにあるsqstd_loadfileの実装が参考になりそう。 ところでsqstd_loadfileは関数を評価せずにスタックに 積むだけみたいだから、その参照を保持しておくだけで 用が足りたりしないのかな。
100 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:18:42 ] 流れぶった切るけどスマソ。 Lua側の関数に引き渡した0xFFFFFFFFってリテラルが、C側からlua_tonumberで取ってくると0で返却されるのは既知? さらに、0xFF00FFFF -> 0xFF010000なんて取れてきたりする。 どうもVC8だと起こるらしくて、gcc系だと引き渡したリテラルが正しく取れるんだけどなぁ。
101 名前:79 mailto:sage [2008/05/02(金) 02:27:06 ] sqstd_dofileは内部でsqstd_loadfileを呼び出していたため、sqstd_loadfileの中を見てみました。 sqstd_loadfileの中には外部から読み込んだファイルがバイナリであるかテキストであるかを判定する文があり、 バイナリの場合はコンパイルせずにそのままsq_readclosureによってスタックに読み込んでいることが分かりました。 そこで、sqstd_loadfile冒頭のsqstd_fopen(fopenと同じ働き)を削除し、loadfileの引数のファイル名の変わりに(FILE*)型のポインタを 渡してやるようにし、また、(テキストファイルは扱わないため)テキストであった場合の分岐を削除してみました。 これは成功すると思ったのですが(おそらく)こちらのコーディングミスでメモリ関係のエラーが出てしまいました。 こちらを直して正常に動作するようならまた報告したいと思います。 >>99 スタックトップに積むようなので、sq_move(dest, src, -1)といったように設定してやればいいんですかね? 試してみます。 ただ今回の件でSquirrelのスタック周りの操作についてほぼ無知であることが分かったため、もう少し勉強してからトライすることになると思います。
102 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:13:56 ] >>100 Luaは整数を小数として扱ってるからその辺りが関係あるのかなぁ。 あと、高速化のためか整数←→小数の変換には 単なるキャストを使っていたり、アセンブラ命令を直で使っていたりする。
103 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 17:37:50 ] >>102 luaconf.hの中のlua_number2intの定義の所ね。 _MSC_VERでifdefしてる個所もある@5.1.3 LUA_ANSIをdefineして直ったらここが原因だろう。
104 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:16:36 ] >>100 Direct3D使ってたら浮動小数点演算の精度が24bitになってる可能性あるんで D3DCREATE_FPU_PRESERVE を調べるといい。 ただ値の受け渡しだけはできるはずの気がするが。
105 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:16:35 ] lua_xmoveが使える条件に、「同じグローバルステートの異なるスレッド」ってあるんですが これってどういう事なんですか? 同じlua_Stateから派生したスレッド同士なら良いということですか?
106 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 17:37:37 ] >>105 それを使ったことはないけども・・・ coroutine作ると新しいlua_Stateが作られるけど、それは元のlua_Stateとグローバル情報を共有してる。 だからxmoveが使えるのは、元のVMから作られたcoroutineを示すlua_State(および元のVM)間だけ、ということかと。 「スレッド」って言うとOSスレッドのように聞こえるから、混乱を招くので敢えて使いたくないんだよね・・・。
107 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 03:48:30 ] >>101 FILE*つかってんなら load_file を忌避する理由がさっぱりわからんわけだが……。 バイトコード判定は残しておくほうがいいよ。作業中はテキストにしておいて、 リリース時に sq.exe つかって全部バイナリにしてしまえばおk // データ保持用クラス。ポインタだけだと終端がわからんので必要 static class DataBuffer { const u_char *data; u_int size; u_int pos; public: DataBuffer(const u_char *data, u_int size) : data(data), size(size), pos(0) {}; u_int getLeftSize() {return size - pos;} void copy(void *buf, u_int size) {memcpy(buf, data+pos, size); pos += size;} }; // sq_readclosure 用 SQREADFUNC static SQInteger buffer_read(SQUserPointer file,SQUserPointer buf,SQInteger size) { DataBuffer *data = (DataBuffer*)file; u_int dsize = data->getLeftSize(); if (size > dsize) {size = dsize;} if (size > 0) { data->copy(buf, size); return size; } return -1; } // スクリプトのメモリからの読み込み SQRESULT readscript(HSQUIRRELVM *v, const u_char *data, u_int size, SQBool printerror) { unsigned short us = *(unsigned short *)data; if (us == SQ_BYTECODE_STREAM_TAG) { DataBuffer buf(data, size); return sq_readclosure(v, buffer_read, &buf); } else { return sq_compilebuffer(v, (const SQChar*)data, size, "memory", printerror); } }
108 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 11:17:07 ] どうにも理解しがたいので、質問させてください。 Lua 5.1.3 @ VS2005Proです。 #include <stdio.h> #include <lua.hpp> int main(int argc, char* argv[]){ lua_State* Lbase = lua_open(); lua_State* L[10]; for(int count = 0; count < 10; count++){ for(int i = 0; i < 10; i++){ L[i] = lua_newthread(Lbase); // 何か実行 if(luaL_dostring(L[i], "a = 0;")){ printf("err : %s\n", lua_tostring(L[i], -1)); } } } return 0; } これを実行すると、i = 1の時のlua_newthreadで落ちるんですが これはどう対処すればいいんでしょうか・・・
109 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 12:06:07 ] >>108 lua_newthreadはあくまでコルーチンを作る関数だから、 それで作られたlua_Stateはコルーチンの流儀でしか使えないんじゃないかな? つまり、lua_resumeを使えと。 あとlua_newthreadはスタックにスレッド(コルーチン)オブジェクトを積むので、 使い終わったらpopするとか、グローバルに置くとか、なんとかしてやる必要がありそう。 思うに、Lua側からcoroutine使ったほうが余計なことを考えずに済むような気がするけど。
110 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:24:33 ] >>109 ありがとうございます。 そもそもこんな使い方をするものじゃない、ということですかね。 どうやら根本的に考え方がおかしかったようですね・・・ >>105 も私の書き込みです。遅れましたが、>>106 さんありがとうございます。
111 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:29:29 ] >>72 lua_tofunctionでググれば出てくるよ
112 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 22:54:29 ] Python スレに行くべきかとも思ったのですが、一応 Lua の話題なので こちらで質問させてもらいます。 The Implementation of Lua (ttp://www.jucs.org/jucs_11_7/the_implementation_of_lua/jucs_11_7_1159_1176_defigueiredo.html) の5章第3パラグラフの最初に "Most procedural languages avoid this problem by restricting lexical scoping (e.g., Python)" と書いてあるのですが、Python のレキシカル・スコープはどのような点が 制限されているのでしょうか?ご教授いただければと思います。
113 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 12:01:15 ] クロージャ関係のようだけど... なんか今そのLuaのドキュメントのあるサイトが落ちてるみたいなので 覚えてたらまた見てみますね。
114 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 16:40:29 ] 5章の最初のところね。そこで言いたいことはわかるんだけど、Pythonに、そこで 言ってるような制限は無いように思うんだな。昔のバージョンではそういう制限が あったのかもしれないけど。 実際、Figure 3. が意味しているコードはPythonで問題なく書ける。 def add(x): def tmp(y): return x + y return tmp add2 = add(2) print add2(5) その Most procedural ... の前の 2 パラグラフが言いたいことはわかってるよね?
115 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 17:45:25 ] wikiのsquirrelのAPIリファレンスが行数オーバーとか言われてるけど
116 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 01:46:31 ] >>114 5章の最初のパラグラフは、add によって返される関数はその内側のスコープにない変数 (レキシカル変数?でいいんですよね)x を参照しているから、add の処理から抜けて スタックから x の情報がなくなってもその情報も保持してないとまずくて、そのために 必要なのがクロージャですよ、って話ですよね。 僕も >>114 さんのいうように、Python にここでいうような問題点はないように思い、 質問させてもらいました。 今日も少し調べてみました。まず、以下の議論からもわかるのですが ttp://groups.google.co.jp/group/comp.lang.python/browse_thread/thread/dc4a74fd67f99614/fd1ad89d9b36c633 Python はレキシカル変数は immutable である、という制限(仕様)があるようです。 ひょっとすると、たしかに Python には制限があるものの、Figure 3 で例示されているの は飽くまでクロージャの必要性を示すためのコードで、Python の制限を示すためのものでは ない、ということではないでしょうか?
117 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 09:51:37 ] 別のサンプルでmutableに見えたのでうっかりしていたのですが、 def init(x): def chg(y): x = y def get(): return x return (chg, get) chg, get = init(0) print get() chg(1) print get() 実行すると 0 0 になりますね。そういうことでいいと思います。
118 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 11:26:01 ] >>117 やはりそういう理解でいいんですかね。 お付き合いいただきありがとうございました。
119 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 02:34:29 ] You can download Squirrel 2.2.1 stable here
120 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 06:39:16 ] 月とリス
121 名前:デフォルトの名無しさん [2008/05/19(月) 23:52:06 ] >>108 ,109さん関連で 同様なことやって、lua_newthread関数を連続で呼び出したら。 60前後スレッドを作った時点でエラーが発生してしまった。 これの対策として、109さんのようにLUA_GLOBALSINDEXに突っ込むのも良いと思うけども luaL_refでLUA_GLOBALSINDEXに突っ込んでも良いのではと一意見を言ってみます。 ちなみに、この関数でリファレンス化したものを消そうとする場合。 luaL_unref(L,LUA_GLOBALSINDEX,(luaL_refの返り値)); って感じで良いのでしょうか? 使っている人が居ましたらご教授お願いいたします。
122 名前:デフォルトの名無しさん [2008/05/20(火) 04:29:05 ] 北陸先端科学技術大学院大学情報科学研究科組込みシステムコース(博士前期課程、博士後期課程) ttp://www.jaist.ac.jp/satellite/sate/tokyocampus.htm 東海大学専門職大学院組込み技術研究科組込み技術専攻(専門職学位課程) ttp://www.u-tokai.ac.jp/kumikomi/ 信州大学大学院工学研究科情報工学専攻組込み技術者育成コース(博士前期課程) ttp://www.cs.shinshu-u.ac.jp/embedded/index.html
123 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 05:43:41 ] >>122 組み込みの意味違うし
124 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 11:39:43 ] version5.1.2でluac -lしても定数やらUpvalやらのリストが 出てこないんだけど、なんでかな?
125 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 16:39:11 ] >>124 騙されたと思って -l 2つつけてみ・・・ バグっぽいけど。
126 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 18:21:46 ] >>124 ホントだ。man見てもさっぱり理由が分からなかったから 結構まいんってたんだけど・・・。 とにかくありがとう。
127 名前:126 mailto:sage [2008/05/20(火) 18:23:42 ] 安価ミス失礼 >>125 ありがとう
128 名前:デフォルトの名無しさん [2008/05/23(金) 13:37:46 ] DLLなどなしで使えるポータブルな組み込み言語を探していてWSHに行きついたのですが、 WSHの組み込みってありなんでしょうか? webページを検索してみてもサンプルみたいなものが全然ないのですが、 どこかにないかな・・・
129 名前:デフォルトの名無しさん [2008/05/23(金) 14:01:07 ] あった・・・ Windows Script https://www.microsoft.com/japan/msdn/scripting/default.aspx
130 名前:デフォルトの名無しさん [2008/05/24(土) 02:38:46 ] Squirrel+SqPlus使い始めたんですが。 C++で記述されてるclass AをSqPlusでSquirrel側に公開 ↓ Squirrel側でAをextendsしてclass Bを定義 ↓ Class BのインスタンスをSquirrelで作成。 結果としてSquirrelでBのインスタンス、C++でAのインスタンスが出来上がっていて C++でAのポインタを掴んでるとします。 この状態でC++から呼べるのは、まぁ当然Aのメンバ関数だけなんですが、 Bのメンバを呼ぶ方法って、なんかないでしょうか?
131 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:12:17 ] >>130 SquirrelFunction<void>(SquirrelVM::GetRootTable().GetValue("instance_of_B"), "member_function_of_B")("argument1", "argument2");
132 名前:デフォルトの名無しさん [2008/05/24(土) 19:40:34 ] >>131 これだと、RootTable上にinstance_of_Bという名前で生成されているという情報を C++側がつかんでないと実行できないですよね? 現状の設計だと、 ClassAのコンストラクタでstaticなClassA*のListへ突っ込むという処理を入れとく。 ↓ あとでそのリストをぐるっと回してClassAの派生Classのメンバーを呼んでいく という処理をしたいので、 C++側ではそのインスタンスの名前とか生成されたスコープとかは掴んでないんですよね……。 と、今思いついたんだけど。 GetRootTable().GetValue()が返すのはHSQOBJECTだから、 PostConstructが動いた時点でそいつを掴んどけばいいのか?
133 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:24:40 ] class B の constructor() 内で A.constructor() を呼び出すのはどう?
134 名前:132 mailto:sage [2008/05/25(日) 00:39:57 ] int construct_A(list<A * > *, HSQUIRRELVM v){ A *pA = new A(p); int nRes = SqPlus::PostConstruct<A>( v, pA, SqPlus::ReleaseClassPtr<A>::release ); StackHandler sa(v); pA->SetHSQOBJECT( sa.GetObjectHandle(1) ); return nRes; } こんな感じのconstructorをStaticFuncでぶち込んでやれば Squirrelで生成したHSQOBJECTをC++のClassAで保持することは可能っぽい。 で、constructorに渡してるlist<A*>経由でBのメンバーを呼ぶことも可能だった。 HSQOBJECTがGCタイミングとかで変化したりとかしなければこれでいけっかな?
135 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:06:06 ] wikiのLuaチュートリアルのサイトでlua_dofileって関数あるけど、 これもうなくなったの?
136 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 19:55:44 ] luaL_loadfile 名前が変わったとかなんとか。
137 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 20:10:18 ] luaL_dofile
138 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 23:14:47 ] DSのLuaはスレチだよね?
139 名前:デフォルトの名無しさん [2008/05/30(金) 11:10:06 ] >>138 URLplz
140 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:20:10 ] つdslua.7mc.org/wiki.cgi?page=Menu 起動できなかったorz..
141 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 20:09:59 ] そこのページにある >NDS用のテキストエディタがあれば、NDSだけでプログラミングも可能です とい文章に質問。NDS用のテキストエディタってどこにあるの?
142 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 20:13:51 ] ttp://7mc.org/2006/09/tarseditor_1.html
143 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 03:52:48 ] scriptsフォルダはルートに置けよ。念のため。
144 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:12:35 ] Luaって組み込みに関する日本語の解説ページ少ないよね? Squirrelの方がまだ多い気がする
145 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:08:36 ] >>144 本家のテキストの和訳が出てないんだからまだこれからじゃないの? Erlangだって和訳が出てから急激に増えたんだしさ。
146 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:27:33 ] Luaでバイナリ出力ってどうするんですか? luaL_loadfileでスクリプト読み込んで lua_dumpで出力でいいんでしょうか? lua_dumpの解説で関数をバイナリ出力すると書いてあるので、 ファイル丸ごと出力するのはまた別にあるのかと思ったのですが、見当たりませんでした
147 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:57:19 ] >>146 luac.c調べればいいんじゃないかな
148 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:02:47 ] Luaの内部の挙動理解するの難しい… SquirrelはVM内のデータのひとつひとつの役割とか挙動とかもわりと簡単に追えたけど Luaのステートはメンバ変数の意味もよくわからんし、ソースも追いにくい どうしようこれ。突破口が見えん
149 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:30:15 ] 何となくわかってきたスレ汚しスマソ
150 名前:デフォルトの名無しさん [2008/06/13(金) 13:15:11 ] C++側で定義したクラスをSquirrelで継承したクラスを作って SqPlus::CreateConstructNativeClassInstanceでインスタンス作ったんだけど 戻り値のSquirrelObjectからどうやってそのメンバにアクセスすりゃいいんだろう? SquirrelObject obj obj = SqPlus::CreateConstructNativeClassInstance(SquirrelVM::GetVMPtr(), _T("hoge") ) ClassA * p = (ClassA *)(obj.GetInstanceUP()); とかでいけるのかと思ったら、そんなメンバねーよ、とVCに言われてしまった。
151 名前:150 mailto:sage [2008/06/13(金) 14:47:05 ] すみません、私はキチガイでした。 なんでこれでビルド通ったんだ???
152 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:36:00 ] 自分で自分を放送禁止用語で貶めなくても。
153 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 21:19:14 ] Luaってlua_loadfileで読み込んだ特定のファイルのデータだけ解放する方法ってありますか? 例えば自分で作成したテーブルにスクリプトを読み込ませて、それを削除する、とか。
154 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:03:55 ] グローバルに追加した物を削除してGCかければいいとは思うけど… 方法としては、ロード前にグローバルテーブル入れ替えちゃう方法もいいかも。
155 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:43:38 ] SquirrelのコンパイラがFILE*使ってるのを何とかしたいんだけど、 sqstd_fopen、sqstd_fread、sqstd_fwrite、sqstd_fseek、sqstd_fclose、 sqstd_feof、sqstd_ftell、sqstd_fflush これ全部書き換えればなんとかなるかな? 誰か実証した人いない?
156 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 08:08:00 ] >>155 うちは2.2.1でそれで一応動いてるよ。squirrelの全機能の検証まではしてないけど。
157 名前:デフォルトの名無しさん [2008/06/23(月) 01:17:20 ] >>154 それをやる方法がAPIで見つからなかったんですが… ひょっとしてlua_Stateのl_gtメンバを 直接書き替えるんですか?
158 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 07:49:48 ] >>157 >ひょっとしてlua_Stateのl_gtメンバを >直接書き替えるんですか? さすがにそんなことを推奨しないよw setfenv()使えばいいかと。 CでやるならluaB_setfenv()あたり参考に。 ただグローバルそのまま置き換えると元のグローバルにあったAPIとか全部使えなくなるわけだけど、 新しいグローバルのメタテーブルの__indexに元のグローバルでも入れとけば なんとかなるんじゃないかなぁ。
159 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:40:50 ] ttp://sankei.jp.msn.com/topics/affairs/8181/afr8181-t.htm 職務質問で勝手に手を突っ込んだポシェットの中の、ツールナイフの剥き身の刃を触ったら切れて公務執行妨害だとか もう警察も秋葉原で事件さえ起これば何でも良いみたいだな
160 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:52:37 ] test
161 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 15:24:10 ] tolua++ってオワタんですか? サイトにアクセスできないけど…
162 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:13:16 ] まだ繋がる。 プロキシを使うと接続できるという報告例あり。
163 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:29:25 ] よくわからんけどそれは串のキャッシュを見てるだけなんじゃ…。
164 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 03:29:45 ] あーやっぱtolua++つながらない人いるんだ。 うちも基本繋がらないんだけど、串とか携帯とかhtmllintゲートウェイとか経由すれば大抵いけるんだよね。 調べた限りではその付近のIP一帯につながらない。どっかでルーティングが狂ってそう。
165 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 12:46:37 ] LOVEっていうLua用?の 2D Game Engineみつけた チュートリアルは知りたかったこと扱ってるし簡単そう!
166 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 12:49:28 ] love.sourceforge.net/
167 名前:デフォルトの名無しさん [2008/06/30(月) 13:21:17 ] そういや、後輩が持ってたけどLuaの本っていつの間にでたん?
168 名前:デフォルトの名無しさん [2008/06/30(月) 14:13:00 ] ググレカス
169 名前:デフォルトの名無しさん [2008/07/05(土) 17:30:37 ] ゲーム向け組み込みJavaScript(まだベータ版) CRI Script - Trac criscript.com/trac ・ゲームへの組み込みを念頭に作られた ECMAScript の処理系 ・PC と Xbox360 で動作確認 ・BSD ライセンスに近い独自ライセンス ・バイトコードにコンパイルして実行 (=実行時オーバーヘッドが少ない) ・マルチスレッドサポート; resume() という言語拡張も。 ・C++ との相互利用が簡単 ・PowerPC, ARM に向けた最適化 ・Eclipse によるデバッガ ・コンポーネントをカスタマイズ可能で、メモリ使用量が小さい ・GC のタイミングをコントロールできる ・Vector とか Matrix とか 参考URL ※箇条書きは書きサイトより引用 ゲーム組み込み用の ECMAScript 処理系 CriScript - Game Scripting Memo d.hatena.ne.jp/epics/20080506/p2
170 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 18:23:12 ] なんで60MBもあるんだよ・・・
171 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 20:44:47 ] boostのライブラリのせいかな? srcのほとんどがboostのヘッダだ。 リリースとデバッグのライブラリで合計400MBもある。
172 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 23:03:55 ] bisonとか使うなつーの
173 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 00:34:15 ] 後発なんだったらせめてLuaあたりは軽くこえてもらわんと
174 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 01:05:39 ] Cから使えるJavascriptといえば spidermonkeyはどうなんだ yieldも使えるし
175 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 16:52:05 ] >>172 なんで? 使いたいの使えばいいじゃん。
176 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 17:06:10 ] やりたいようにやればいいじゃん
177 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 22:34:18 ] ライセンスは?
178 名前:デフォルトの名無しさん [2008/07/10(木) 13:03:11 ] セデックでスクワラルのセッションがある
179 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 13:47:56 ] >>177 ttp://www.gnu.org/licenses/gpl-faq.ja.html#TOCCanIUseGPLToolsForNF
180 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 16:50:30 ] luaでゲーム作る人ってやっぱりそんないないのか
181 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 22:32:01 ] 小規模なゲームだと使うメリットがあんまりないし 使うほど大きな規模のゲームがそもそも作られない ・・・んじゃないかと思う あと組み込み言語自体がいまいち一般的じゃないよね
182 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 00:30:14 ] 海外ゲーはMOD改造しやすいように組み込み言語やXMLなどを使っている。 一方、日本は海外のようなMOD文化が弱い。あっても、バイナリ解析によるデータ変更や画像差し替えが主。 日本のゲームは書き換えを許容する文化でないから、汎用言語を使って間口を広げる必然がないのかも。
183 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 00:50:19 ] homeworldシリーズはluaだったよ
184 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 03:56:17 ] luaやsquirrel使ってたとしても あえて公表する理由がない
185 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 15:15:50 ] >>184 luaはライセンス表記しないとダメだろ
186 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 19:17:01 ] luaはMIT、Squirrelはzlib
187 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 20:53:24 ] 今気付いたんだが、MITライセンスに関するOSG-JP参考訳とWikipediaの内容が全然違うような? ttp://sourceforge.jp/projects/opensource/wiki/licenses%2FMIT_license ttp://ja.wikipedia.org/wiki/MIT_License
188 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 21:57:26 ] >>181 DSluaおもしろそうだと思ったんだがな・・・
189 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 23:46:37 ] 組み込み系の言語はそもそもゲーム本体作るのに向いてないしな。 アクションゲームの敵の動きや敵の配置とかをスクリプトで記述するのには向いてるけど。
190 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 00:20:11 ] >>182 XMLってまじっすか
191 名前:デフォルトの名無しさん [2008/07/12(土) 01:13:13 ] >>190 Rise of Nationsとか思いっきりXMLだったな。 改造し放題。 AoE3も確かそうだった気がする
192 名前:デフォルトの名無しさん [2008/07/12(土) 01:15:06 ] >>189 embeddedの言語はあくまでDSLだからねえ Pythonとかのレベルになるとそうでもないんだろうけど
193 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 02:17:26 ] Pythonはbattery includedだが電池を作るのに向いてるわけじゃないだろ。
194 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 02:37:33 ] >>187 そう? 言っていることは同じで、Wikipediaは要約しているだけのように見えるけど。 ところで、このライセンスだと、ソースコードを配布しない場合も ライセンス文を書く必要があるってことだよね? 商用ゲームだと、マニュアルの半ページくらいうはめになりそうだ…