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
834 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 15:12:21 ] >>831 は公開しなきゃいけない場合、ライブラリその物を変更した時の話だよ
835 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 15:15:22 ] 修正BSDとかMITならなあ・・・・
836 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 15:21:39 ] >>834 うまくライブラリと分離すりゃいいだけでしょ?
837 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 15:44:09 ] 自分のプログラムと静的リンクした場合は、全体を公開しないといけない。 wikipediaを読めば大雑把だが把握できる。
838 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 17:19:27 ] 会話も危うい奴が自分は何でも出来る様な事を書くとか 春だな
839 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 17:20:22 ] LGPLだとパッカー系(アーカイブ形式で配布するタイプ)、コンシューマ系が封じられるんだよな。 結構痛い。
840 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 17:25:45 ] >>839 パッカー系ってzipやlzh?それともexe?
841 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 20:30:38 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ○ ○ | / | ( _●_) ミ/ <…… 彡、 |∪| / / __ ヽノ / (___)
842 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 20:33:48 ] zip同梱でソース開示義務が及ぶなんて聞いたことないな。
843 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 07:38:40 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
844 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 09:25:06 ] 俺もGPLもLGPLも敬遠してるわ。LGPLは839の理由で。
845 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 09:33:45 ] だからなんで? 同梱するだけのものにはソース開示は及ばないのに。
846 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 09:37:51 ] LGPLライセンスで配布されたライブラリAについて、 * ライブラリAにリンクしたプログラムBを配布する場合、Bのライセンスにリバースエンジニアリングを禁止する条項を含めてはならない。(LGPLv2-6、LGPLv3-4) * ライブラリAに静的リンクしたプログラムBを配布する場合、Bのソースコードまたはオブジェクトコードの配布を拒否してはならない。(LGPLv2-6a、LGPLv3-4d0) * ライブラリAを改変して作成されたライブラリA'を配布する場合、A'のライセンスはLGPLまたはGPLである必要がある。
847 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 13:43:43 ] Lがついてようとやっぱり汚染は免れないんだな
848 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:01:34 ] ほんとGPLはゴミだな
849 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:16:53 ] ようは静的リンク=直接実行できるexeにしなけりゃいいっとこか。 じゃあパッカー系は大丈夫だな。ほっとした。 .jarも.airも影響受けず大丈夫なのね…
850 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:18:09 ] exeでも、rubyscript2exeとか中身は実質パッカー系だから大丈夫だよな?
851 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:22:32 ] 俺なら黒に近いグレーと判断する>>850 要するに「入手した人がライブラリだけさしかえて再構築できるか」 がライセンスの想定なので、一般的にばらす手段が認知されて ないようなものは基本的にダメだと思う
852 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 20:26:10 ] そうしたら、.jar .airはバラせるからOKで、rubyscript2exeは駄目ぽだな
853 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 21:34:29 ] >* ライブラリAにリンクしたプログラムBを配布する場合、Bのライセンスにリバースエンジニアリングを禁止する条項を含めてはならない。(LGPLv2-6、LGPLv3-4) コンシューマだとサードパーティライセンスの関係でこれをクリアできないってことか
854 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 23:48:29 ] ライセンスネタは大抵荒れてスレを浪費してしまうからそろそろ次スレの話も。 >4はXtal以外全く話がないからXtal関係を>3に移して4を削除してよくね? このスレでは幸いにして問題にならなかったけど>10-12も配慮お願い。 関連スレの中で移行済のもの。 LLスレは流れが速いからスレ立て時に確認お願い。 「コンパイラ・スクリプトエンジン」相談室13 pc12.2ch.net/test/read.cgi/tech/1233143342/
855 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 07:20:26 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
856 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 08:35:50 ] \ l´⌒\⌒\ \\ \ \ ヽ ) ) \\ \\ ( \ \∩___∩ \\ \ \ ⌒⌒| ノ ヽ \\ \ \ / ● ● ト、\ \\\ \ Y | ( _●_) ミ\ \\\ \ / 彡、_ |∪| ノ \ \\\ (____)―ヽノ' ヽ  ̄ ̄ ヽ\\ \, j l l .l } Lua! l (_ノノノノ
857 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 08:41:41 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Luaまピョーん☆ 彡、 |∪| / / __ ヽノ / (___)
858 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 16:22:42 ] IGDA Japan chapter - ニュース www.igda.jp/modules/news/article.php?storyid=1622 13:10 - 14:00 「ごく簡単な並列処理スクリプトシステムの設計と実装」 □講師 小久保啓三(HAL東京) (株)スクウェアでの代表作「ロマンシング・サガ」「FF5」「クロノトリガー」「FF7」。クロノトリガーとFF7では、スクリプトシステムの設計と実装に携わる。 14:00 - 14:50 「『サクラ大戦X』でのスクリプト運用事例」 □講師 秋葉晴樹(セガ) 株式会社セガ 第三CS研究開発部 リードプログラマ。 代表作は、サクラ大戦シリーズ、のび太の新魔界大冒険、ブレイザードライブ。 サクラ大戦シリーズは3から参加、主にADVパートのプログラムを担当。 15:20 - 16:10 「汎用スクリプト言語Xtal 設計と実装」 □講師 石橋立宣(バンダイナムコゲームス) NBGI プログラマ。 PSP塊魂のエンディングミニゲームやシステム周り担当。 PSP太鼓のADV部分やシステム周り担当。 趣味で、C++組み込み用スクリプト「Xtal」を開発。 16:10 - 17:00 「Squirrelスクリプトを使った実装と活用」 □講師 神尾隆司(スクウェア・エニックス) Wiiウェア 小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル の開発に関わる。 北出智(スクウェア・エニックス) PS2 聖剣伝説4、Wiiウェア 小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル 等の開発に関わる。
859 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 17:13:42 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
860 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 17:16:30 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Luaまピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
861 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:33:21 ] そうか。Xtalの作者は現役のゲームプログラマだったのか。 仕様、ソースのできもなかなかいいし、 今後日本ではやって行く可能性もあるなぁ……。
862 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:40:29 ] schemeが流行るよりは可能性高いと思う
863 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:47:29 ] 誰が流行らすのかという問題がな……。 LuaとSquirrelの2強を打破してくれることを祈る。
864 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:05:22 ] >>851 > 要するに「入手した人がライブラリだけさしかえて再構築できるか」 > がライセンスの想定なので、 都合のいい風に読み替えるなよw
865 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:12:56 ] >>863 Squirrelは2強というほど普及もしてないぞ。 いろいろ話聞いた感じでは、Luaが圧倒的に強くてPAWN、Squirrel、StacklessPythonがポストLuaな感じ。 XtalやCRIScriptはまだ産声あげたぐらいだしなぁ・・・もう数年必要かな。
866 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 22:24:28 ] Xtalタンには頑張って欲しいね 俺では有効活用できないんだけどね…
867 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:41:09 ] >>864 どのへんが間違えてるか解説きぼん ソース公開 / リンク用OBJの公開 / ダイナミックリンク から選べる、 ってのは平たくいえばそういうことだという認識なんだが。
868 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:51:54 ] >>865 スレ違い。 『GPL/LGPL等ライセンスとゲーム製作_2』 pc11.2ch.net/test/read.cgi/gamedev/1036512390/
869 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:53:27 ] 865 -> 867 ね。スマン。
870 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 17:58:59 ] LuaInterfaceって使っている人あまりいないのかな?
871 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 18:33:33 ] これから使おうと調べてるところだ
872 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 09:40:18 ] SexlessPythonのゲームの組み込み向け解説ってどこかにない?
873 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 09:41:46 ] ごめん、オナ禁してたから間違えた Stackless Pythonね
874 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 12:40:48 ] ちょセックスレスってw
875 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 12:46:55 ] >>873 GameDeveloperの2009年2月号にちょっと特集されてるよ
876 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 16:31:11 ] >>875 おお、これか。ちょっくら読んでみるぜ > Snakes on a Seamless Living World > By David Hawes > As a scripting language, Stackless Python is meant to serve the needs of > multi-threaded environments, namely each of the current gen home consoles > and PCs. Here, author David Hawes details how to get the language working > in-engine on consoles. Game Developer Magazine www.gdmag.com/archive/feb09.htm
877 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:18:08 ] \ l´⌒\⌒\ \\ \ \ ヽ ) ) \\ \\ ( \ \∩___∩ \\ \ \ ⌒⌒| ノ ヽ \\ \ \ / ● ● ト、\ \\\ \ Y | ( _●_) ミ\ \\\ \ / 彡、_ |∪| ノ \ \\\ (____)―ヽノ' ヽ  ̄ ̄ ヽ\\ \, j l l .l } Lua! l (_ノノノノ
878 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:29:28 ] OBAMA思ったより強気だw
879 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:30:50 ] すまん誤爆した
880 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 14:34:48 ] SIG-GTでのCriScriptの講演資料(2009年1月17日)がおいてあった www.cri-mw.co.jp/event/2009/sig-gt-12.html
881 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 09:21:56 ] >>865 俺の大好きなAngelScriptはダメですかそうですか。
882 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 10:22:16 ] これってgta4のアレ?
883 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 16:04:28 ] >>881 いや、悪くはないと思うよ。 ただ情報が本当に少ないので、布教も兼ねてCEDECとかもっと小さいセミナーでもなんでも講演してくれる人がいると、 使い手も増える思うんだよなぁ・・・ そういった草の根的な活動を担ってくれる人がいないと組み込みスクリプトはなかなか盛り上がらないと思う。
884 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 01:46:45 ] Xtalは作ってる人が飽きてきてるかんじなんだよな
885 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 07:42:04 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
886 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 14:22:19 ] RubyとかJavaじゃないけど、10年は開発続ける気じゃないと広まらないよ。 Luaは言語仕様がどうとか言われているけど、よく続けたナーって幹事。
887 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 05:31:36 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
888 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 07:48:17 ] >>886 たしかに言語ってだいたい10年ぐらいしてから普及しはじめるからなー javaもいじってた頃はまだまだ普及しそうになかったし
889 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 09:56:11 ] Javaは登場当初から流行る雰囲気に満ち満ちてましたよ。
890 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 10:01:26 ] Javaは、その当時使ってた環境がSolarisかWindowsかLinuxかで、 印象がだいぶ違うと思う。
891 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 10:54:49 ] それは関係ないんじゃないかな。
892 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:05:46 ] 当時使ってた環境が98か286かで、印象がだいぶ違うと思う
893 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:07:58 ] Javaはアップレットをプッシュしていた頃は正直ただのオモチャに見えたな が、流行るのに10年はかかってないっしょ
894 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:17:15 ] あの薄い灰色の背景がなんかダサかった
895 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:55:55 ] 昔はオモチャに見えたといえばJavaScriptの方だろ。
896 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 13:54:14 ] Windowsだったからか、JavaもFlashもwebで重いサイトに使われているくらいにしか思ってなくて (WindowsでJava=Java appletの時代w) こんなの流行るわけないだろ!と思ってたら、このありさまだよ! まあ、Windowsでは今でもJavaは、金融関係(証券会社とかトレード関係とか)しかみない気がするけどさ
897 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 21:49:47 ] 昔:Javaって(動作が)重いよな 今:Javaって(言語仕様が)重いよな
898 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:02:59 ] 言語仕様はそんなに膨れてないだろ。 もしかしてGenericsに挫折しちゃった人?
899 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:44:23 ] >>896 どんだけ見る目ないんだw
900 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 16:29:46 ] Java Applicationは携帯ゲームで花開いたな。今は使い物にならないJavaFXもそのうち化けるかな?
901 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 02:30:32 ] どちらかっちゅうと、考えるべきはAIRやAndroidじゃね? まあ、そろそろスレ違いかもしれんが。
902 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 06:25:14 ] 翻訳 - Python製のソーシャルブックマークエンジンRedditはなぜLispをやめてPythonを使うようになったのか ? TRIVIAL TECHNOLOGIES 2.0 coreblog.org/ats/japanese-translation-why-reddit-uses-python > Pythonを使い続ける最も大きな理由... そうだなあ,大きな理由が2つあるよ。 > ひとつめの理由はライブラリ。Pythonには全部のライブラリがそろっている。 > 僕たちは開発を進めてきた課程で,たくさんの技術や,たくさんのアーキテクチャを学んできた。 > たとえば,僕がコネクションプールについて理解していなかったとしても, > 僕はただ単にライブラリを探してきて使うことができる。それからコネクションプールについて理解して, > 自分たちでライブラリを書けばいい。Webフレームワークについても理解する必要はない。 > 自分たちのフレームワークを作る時が来るまで,他の人が作ったフレームワークを使うだけだ。 > その他の多くの技術を使う前に学ぶ必要はないんだ。 > だってPythonにはほとんど全ての種類のライブラリが備わっているのだから。 > これからも,僕たちはもっと多くの技術を学び続ける。 > そして自分たちの手でライブラリを作る。技術を自分たち流に変えるためにね。 > このような手法を使うことで,自分流に変換する作業をとってもとっても簡単にすることができるんだ。 > > > もうひとつ,僕たちをPythonにつなぎ止めておく理由は,これは最も大きな理由なんだけど, > Pythonのコードが読みやすく書きやすい,ということなんだ。 > たとえば僕たちが新しい技術者を雇うとき。Pythonが書ける技術者を雇うことはまずないわけだけど。 > 僕はただ「ぜんぶPythonで書いてね」と言うだけだ。 > そう言うだけで,彼らの書いたコードを僕は読むことができる。 > これはすごいことなんだけど,僕は部屋越しにコードが良いか悪いかを見分けることができるんだ。 > というのは,良質なPythonのコードはとても明確な構造を持っているから。 > これが僕の仕事をより楽にしてくれるんだ。Pythonのコードはとんでもなく表情豊かで, > とんでもなく読みやすく,そしてとんでもなく書きやすい。 > だから僕は仕事をスムーズに運べるというわけさ。
903 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 06:46:47 ] 便利なツールとしてのスクリプト・・・あるいはWeb用スクリプトとして言語を選択するのと、 組み込み用スクリプトとして言語を選択するのは視点が若干違うと思うな。 もちろん、手馴れた言語でスクリプトが記述できるのであれば大きなプラスポイントだとは思うけど、 実行速度やメモリ使用量、組み込みやすさ、本体とのやりとりの容易さ、デバッガetc... と単独で実行するときとは事情がけっこう変わってくるので、そのスクリプト言語の仕様が素晴らしいからといって、 採用するかどうかは考えどころだったりするね。
904 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 07:26:48 ] Squirrelで基本的な部分に詰まっちゃて、知ってる人いたら教えてもらえませんか? C言語と同じようにnut側にmain関数を書いておいて、それを呼び出すようにしたいんですが if(SQ_SUCCEEDED(sqstd_loadfile(v,filename,SQTrue))) { SQInteger top = sq_gettop(v); sq_pushroottable(v); sq_pushstring(v, _SC("main"), -1); if(SQ_SUCCEEDED(sq_get(v, -2))){ sq_call(v, 1, SQFalse, SQTrue); sq_settop(v, top); } } と書いたんですが、sq_getで失敗してしまいます。 printなどの組み込み関数だと成功するんですが・・。 nut側は function main() { } しか書いてないんですが、nut側の書き方が悪いんでしょうかね?
905 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 08:20:55 ] > そして自分たちの手でライブラリを作る。技術を自分たち流に変えるためにね。
906 名前:902 mailto:sage [2009/04/12(日) 08:59:48 ] 誤爆・・・・まじスマソ
907 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 09:27:52 ] ここはクマスレじゃないぞ
908 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 10:55:13 ] >>902 キニスルナ プログラム作るのに何の言語を使うかは絶対的なものではなく相対的なものでしかないわけで、 日ごろ使わない他の言語の良さを語ってくれるテキストは参考になる。 それが実績のある開発者の言葉ならなおさらのことだ。
909 名前:902 mailto:sage [2009/04/12(日) 10:57:22 ] Pythonは組み込み言語につかわれているし、趣旨の1つにライブラリたくさんある言語いいよねー って話だから、あながちネタフリとしてはスレ違いでもないかw
910 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 13:08:55 ] >>904 sqstd_loadfile はスクリプトをロードしてスタックの先頭にのせるだけ。 その中身の function main() を登録するにはまずそれ自体を sq_call する必要がある。 sqstd_dofile にすれば思い通り動くと思われ。
911 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 14:30:01 ] まあ、同封されたSquirrelインタプリタの挙動を真似することからはじめることだな。
912 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:09:46 ] >組み込みやすさ、本体とのやりとりの容易さ この2点に関してはAngelScriptが一番だと思うんだがどうだろう。
913 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:13:08 ] COM用のスマートポインタがそのまま使えたのにはびっくりした
914 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:25:51 ] >>912 C/C++とイディオム的に同じことしかできないんじゃなぁ。 無名クロージャーとかコルーチンとかのサポートはあるんだろうか。
915 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:33:59 ] >>914 コルーチンは言語的にはサポートされておらず、C++側でそれのための仕組み作ってやらないとダメ。 簡単にできるけど。
916 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:10:01 ] じゃあ駄目じゃん
917 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 23:38:07 ] 本屋で「はじめてのLuaプログラミング」って本見かけたんだけど、全然話題になってないね。 もしかして地雷?
918 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 23:48:15 ] ところで914の言うコルーチンは、Luaでいうところの、 ・スクリプト側でcoroutine.createで作るやつ ・C++側でlua_yield呼び出して止めるやつ のどっち指してるんだろう。
919 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 23:48:25 ] スクリプト言語による効率的なんたらの方を買って読んだ。 そっちの薄いのは言語仕様を書いてあったな。入門用っぽかった。地雷ではないだろう。
920 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 01:55:58 ] 個人的には、 ・はじめてのLuaプログラミング は地雷 ・入門Luaプログラミング は良書 ・スクリプト言語による、効率的ゲーム開発C/C++へのLua組み込み実践 は 地雷ともまでは行かないが、そう受け取れる。 パン食い競争でぶら下げられてるフランスパンって感じ。 一部の実装の例に一貫性がない。しかも大事なところ。 ゲーム作りを謳ってるのに、徐々に作りながらじゃないくて、 「こういう時は、こんな感じでいいでしょう」みたいに書かれていて、 実際に積み重ねてく訳じゃないから使いたい時に使えない。 自分で考えて実装しろって事なんだろうけど、全体的に動かないもの見せられてる感は個人的には困り所。 だけど、Cへ実装の例に関しては一番詳しいのも事実。 入門Luaプログラミングと合わせて使うといい感じに分からない所同士を補ってくれたりするような関係。
921 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 03:58:47 ] >>920 >スクリプト言語による そっかなー。動作するゲームのソースコードは入手できるわけだし。 コラムなんかを見てもなかなか参考になることが書いてあるように思える。 動くか動かないかはソースコードを読めばいいわけで、必ずしも本で全体を解説する必要はないんじゃないかしら。 別に作者の回し者ではないが、一通り目を通したものとして。
922 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 07:44:16 ] ちと質問 Luaってgotoある? スコープ違うとwhileやifで逃げるのは面倒なんだよな〜 >スクリプト言語による これの不満点はLuaで全部やる必要ないじゃんというところ toluaはクラスのポインタを渡してやってLua側で制御するために使ってて 管理そのものはC側でやった方がいろいろと楽だと思うんだよね 俺は一部のメンバ関数をLuaで書き換えるみたいな使い方してる
923 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 09:20:20 ] 調べてすぐに分かることは、人に聞くほうが時間の無駄だと思うんだが。
924 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 23:21:45 ] スルー推奨
925 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 11:36:10 ] Squirrel on Flash Player ttp://ruriko.denpa.org/200904b.html#2001
926 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 06:04:10 ] >>925 Adobe AlchemyでSquirrelがFlash上でうごくのかー。すげえw
927 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 02:45:52 ] ちょっと詳しい人教えて欲しいんだけど Luaを組み込んだコンシューマゲームの製作の際に、 Luaのライセンス(MIT License)ってどういう風に処理したらいいのかな? ソースのどっかにライセンス表記するのでいいのか、 それとも取説とかに明記する必要がある?
928 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 02:54:01 ] >>927 ソースだけじゃダメ。取説の類に記載が必要。っていうかライセンス嫁。
929 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 06:52:41 ] >>928 ∧__∧ (´・ω・) いやどす ハ∨/^ヽ ノ::[三ノ :.、 i)、_;|*く; ノ |!: ::.".T~ ハ、___| """~""""""~"""~"""~"
930 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 08:48:53 ] >>928 ありがとう 調べはしたんだけど、ヘッダにでも書いときゃOKとか 言ってるサイトもあって混乱してたわ
931 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 08:54:16 ] >>930 それはソース配布の場合の条件 バイナリ配布時は取説か、あるいは実行ファイルそのものでユーザが参照できる状態にしておく必要がある。
932 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 10:40:36 ] バイナリを入手したユーザーが参照できるってのがポイントだよな ユーザーが見られるなら、CD内にreadme.txtでも置いてインストーラーでリンクはっておけばいいのかも試練が、 家庭用なら誰も見ないし(or 見れないし)、鳥説が自然でしょう
933 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 10:41:42 ] と書いて、思ったけど、中古だとどうなるん? あとダウンロード販売は。 ・中古は無視 ・ダウンロード販売は、ゲーム内クレジットをつくってそこに記述 って感じでしょうか
934 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 20:19:56 ] Xtalがもうすぐ1.0か
935 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 22:22:00 ] 洋ゲーとかでタイトルロゴの下にいっぱいコピーライトが羅列してあるじゃん あれみたいにしたら
936 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 22:47:51 ] 洋ゲー風にするなら、クレジット表示をメニューの中に入れてしまう手もあるな。 選択するとスタッフロールとかが流れるようにしておく。
937 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 23:11:47 ] へーそれいいね
938 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 03:14:16 ] それって、取説に載せずにゲーム中に表示してしまうってこと? そんなんでもいいのか
939 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 12:14:35 ] ゲーム起動時のデモで、Luaのサイトにある、青い丸に「Lua」って書かれた画像を出すのはOKなんだろうか。
940 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 12:27:51 ] ライセンスのページには必須じゃないけどいれてくれるとうれしいな的なかんじでかかれてるね>ロゴ
941 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 17:08:17 ] ∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < Lua!! ⊂/ 9) \____ q( / > >
942 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 11:17:04 ] 今組み込み言語を制作中で、Cから言語へのインターフェイスを考えてるところなんだけど、 どういうのがいいのか悩んでる。 二つ案があって、ひとつはLuaと同じくスタックを介する方法。 もうひとつは、オブジェクトハンドルを経由してアクセスする方法で、 Handle globalhash, funcobj, symbol; globalhash = getglobal( state ); symbol = intern( state, "globalfunc" ); funcobj = getfield( globalhash, symbol ); arg_pushinteger( funcobj, 10 ); call( funcobj ); handle_drop( funcobj ); handle_drop( symbol ); handle_drop( globalhash ); という感じになる。ちょっと長いけど、グローバルハッシュから特定シンボ ルの値を得るというのはありそうな処理なので、実際には専用のAPIを用意する。 ただこちらのほうはスタックに比べて、 ・ハンドル開放処理を忘れるとメモリリーク ・遅い という問題がある。 前者はスタック操作でも同じ(スタックトップを戻し忘れるのがそれにあたる)だけど、 後者は頻繁に行う処理な分、結構致命的。 ただ後者の方法のほうがスタックの状態を覚えなくてよい分、直感的といえば直感的 なんだよな。 両方用意したほうがいいかな?
943 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 11:31:29 ] とおもったけど関数呼び出しをハンドルに対して行うのは非常に無駄が多いな… やっぱりスタック操作かOTL
944 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 22:13:00 ] ごめん、何がいいたいかサッパリだわw 自前で実装するんだった、luabindとかxtalみたいにバインダがあると直感的で楽だと思うけど。 C++じゃなくて純粋なC言語でインターフェース作りたいの?
945 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 22:47:39 ] >>942 LuaではluaL_refとluaL_unrefでハンドルを使えるよ
946 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 14:25:22 ] >>945 ああ、そういやそうだった。やっぱり両方用意するのが得策か。 Pythonではハンドルしか扱えないようだったから、どうかなーと思ったんだけど。 ありがd
947 名前:デフォルトの名無しさん [2009/05/06(水) 17:02:58 ] Luaって非OOの動的型付言語ですけど、 AWKやBASICと何が違うんですか? なんか、単なる先祖帰りのような・・・ Cとの連携が楽とか、 そういう違いは分かるんですけど。 AWKやBASICを拡張しただけでも代わり映えしないんじゃないですか?
948 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 17:11:36 ] >>947 ttp://www.lua.org/about.html ここに全部書いてあるから読んでこい。納得しなければそれはそれで
949 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 21:01:08 ] >>947 >Luaって非OOの動的型付言語ですけど、 Luaはオブジェクト指向言語として十分な機能は備えてる。 言語のパワーなんて口で説明するよりも実際に触ったほうが理解がはやいと思う。 もし触った上での疑問なら、もうちょっと詳細に違和感を説明したほうがいいんじゃないかな。 自分がLuaを使ってるのは単純明快、 Luaでドメインを書くコスト+C++でその他を書くコスト < C++ですべて書くコスト という不等式が(自分の場合)成り立つから。 お前さんもAWKやBASICがC++より生産性が高いと思ってて、かつそれが組み込み可能 ならば、それを使えばいいんじゃないの?
950 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:26:00 ] |Д゚)ジー |Д゚)ノ<AngelScriptもよろしく! |ミサッ
951 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:46:11 ] 単なる先祖返りなわけないだろ ちゃんと計算されてる。アングルとか
952 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:47:42 ] 最近、Squirrelはポロポロと新しいバインダが出回るな。
953 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 01:49:18 ] >>952 そうなん?みてみたいからポインタよろ
954 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 02:11:32 ] >>953 事件は2ちゃんねるで起こってるんじゃない。公式フォーラムで起こってるんだ!
955 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 03:14:51 ] ttp://squirrel-lang.org/forums/thread/3198.aspx これか。コードが整理されてて sqplus よりはるかにわかりやすいですな getter/setter の実装がちょっとトリッキーなのが要注意なかんじ。
956 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 03:17:58 ] ttp://squirrel-lang.org/forums/thread/3129.aspx すぐ下にもう一つあった^^; なるほどぽろぽろだな
957 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:57:59 ] scratイイ!luaから乗り換えようかな
958 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 09:14:24 ] ∩_ 〈〈〈 ヽ 〈⊃ } ∩___∩ | | | ノ ヽ ! ! / ● ● | / | ( _●_) ミ/ Lua!! 彡、 |∪| / / __ ヽノ / (___)
959 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 12:32:10 ] lua_tointeger の unsgined int バージョンが欲しいんだけど、 strtoul(lua_tostring(L, -1), NULL, 0) みたいにするしかないの?
960 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 12:36:11 ] (unsigned int)lua_tonumber(L,-1) じゃだめなん?
961 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 17:20:34 ] C/C++とバインドするときの話なら別の論となるが、 スクリプト上のプログラミングならunsigned整数など考えないで済むコードを書いた方が楽だぞ。
962 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 21:01:47 ] 色コードが書いてあるテキストファイルを読み込みたいんだけど、 "0xAARRGGBB" の形式で書いてあるから lua_tointeger だと読めないんだよね そうか lua_tonumber は double だから 32ビット符号なしでもちゃんと変換できるのかな? 試してみます
963 名前:962 mailto:sage [2009/05/20(水) 21:34:17 ] テキストファイルというか lua でかいた設定ファイルという感じね
964 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 07:26:38 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
965 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 07:42:45 ] // / / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Luaまピョーん☆ / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
966 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 13:39:45 ] Luaのコメントが//か#だったら最高だったんだが... -- だと構文ハイライトされないエディタで見たときにコードに埋もれてよく見えん。
967 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 14:21:38 ] そういう人は squirrel にうつると精神衛生的には楽になるよ!
968 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 15:29:42 ] Luaの向上心のなさは最低レベルだから 宗教論争の火種になりそうな「改良」は、いくら提案してもむだだと思う。
969 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 22:07:43 ] -- は伝統的な構文だからもっと賢いエディタを使えばよろし
970 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:01:14 ] >>968 向上心のなさ、というか後方互換性が最大限に考慮されている気がする。 だから、商用プロダクトにも安心して採用できるんだろうけど。 最近、web周りでRubyとかRailsとかも使っているんだが バージョン上がると全然違う挙動とか、書き方換わったりするのがザラだったりするんだが、これが結構キツイ 書籍が出ても、すぐ陳腐化しちゃったり…書籍の日本語訳が出たころには、次のかなり変わったバージョンがなんて (Ruby 1.8はいいんだけど、Railsは本当にヒドイw しかも次期バージョンで他のフレームワークと統合されるのが決定しててちょオマ…)
971 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:49:52 ] //でコメントか。 AngelScriptの出番だな!
972 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:57:55 ] いやさ、エディタにあわせてライブラリ諸々変更なんて 誰も本気で言わないから
973 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:29:20 ] つーかそんな程度もカスタマイズできないエディタを持っていることと そんな程度も我慢できない根性でLuaを選んだ自分の浅はかさを呪うがいい
974 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 09:56:26 ] 我慢しないで、カスタマイズができる「普通の」テキストエディタを使ってください
975 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 12:52:22 ] 自分は普通にエディタ使うけど、客が使ってくれるとは限らないじゃない。 メモ帳で開けないから、設定ファイルの拡張子は xml じゃなくて txt にしてくれと言われたのに。
976 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 12:58:22 ] メモ帳で開くような設定ファイルを XML にする時点で仕様バグといってもいい。まじで。
977 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 13:02:46 ] それは拡張子xmlをメモ帳に関連付けるだけで良かったんじゃないか
978 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 13:33:11 ] 細かく設定したいから、可能な限り設定項目多くしてくれといわれたので、 ini形式よりもxmlのほうが楽だったんだよね。 メモ帳に関連付けるだけで終わりだし、そもそもxmlエディタいれればそれで終わりなのに。
979 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:35:22 ] xmlなんかは1行目に文字コードセットが定義されているから、 下手にメモ帳で開いて保存すると、文字コード変わっちゃうしメンドクサイことになりますよね あと、xmlはMSからエディタ出てるけど微妙に使いづらいのが難点 個人的に、スクリプト言語で使うオススメの設定フォーマットはJSONだと思う
980 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:37:08 ] 素人さんにさわらせる場合は CSV 以上のものは使っちゃダメだってのが経験則
981 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 14:41:20 ] >>980 同感ですな xmlは素人には無理 フォーマット決めうちなtxtか、ini程度でokな気がする
982 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 16:29:30 ] 質問。 C からlua の関数を呼ぶ -> 呼ばれた関数は、lua 内の別の関数 A そのものを返す -> C 側でそれを保持して、必要なときに A を呼びだす てことをやりたいんだけど、どうすればいいですか? lua の関数オブジェクトやみたいなのをスタックから取得する関数が見当たらないのですが。 lua_getglobal(L, "getfunc"); lua_call(L, 0, 1); myfunc = スタック[-1]からlua関数を取得 ... しばらくたってから ... myfunc をスタックにpush lua_call(...) ということがやりたいです。
983 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:09:08 ] >>982 Lua はオブジェクトを直接C側で参照する機構を持たない。よって単純には出来ない。 一般的には luaL_ref を使ってオブジェクトのリファレンス(絶対重ならないint値)をとって、 それをつかってレジストリテーブルにつっこんでおいて、必要になったらそのリファレンスを つかってレジストリテーブルから引っ張り出してくる、という手法がとられる。 そんなややこしいのはいやじゃって人は、リファレンスを C側で保持できる squirrel オススメ
984 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:58:18 ] いまのプロジェクトにはC縛りがあるのでC++なsqurrelはダメなんです。 luaL_ref が一番素直そうなのでそれでやってみます。どうもありがとう。
985 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:58:12 ] SquirrelってC++だっけ? bindは確かにC++だが、直叩きだったらCの範疇でいけたような・・・
986 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:07:48 ] squirrel のソース自体は c++ だよ。 class でなくて struct なのは趣味かね。 ただ、インターフェース的には全部C合わせなので、普通にリンクして使える。 例外とかも全く使ってないから問題になるところはどこにもない。 プロジェクトが C縛りってのがいまどきだと意味不明だねぇ