[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 10/12 20:25 / Filesize : 241 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Lua】組み込み系言語総合【Squirrel】



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は要約しているだけのように見えるけど。

ところで、このライセンスだと、ソースコードを配布しない場合も
ライセンス文を書く必要があるってことだよね?

商用ゲームだと、マニュアルの半ページくらいうはめになりそうだ…






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<241KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef