- 1 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 15:10:32.28 .net]
- LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです まとめwiki(なにか質問する前に必ずみること!) wikiwiki.jp/lua/ その他の参考URLは>2から ■前スレ 【Lua】組み込み系言語総合 その5【Squirrel】 toro.2ch.net/test/read.cgi/tech/1321063450/ ■過去スレ その4 hibari.2ch.net/test/read.cgi/tech/1301414458/ その3 hibari.2ch.net/test/read.cgi/tech/1272643397/ その2 pc12.2ch.net/test/read.cgi/tech/1243210301/ その1 pc12.2ch.net/test/read.cgi/tech/1205208141/ プログラミング言語 Lua その3 pc11.2ch.net/test/read.cgi/tech/1160799232/
- 301 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 20:51:22.29 .net]
- そんなのは簡単な独自言語のほうが使いやすいしツールも作りやすい
安直に汎用スクリプト使おうじゃなくて、まずはユースケースを洗い出してみろ それほどいろんな機能も自由度もいらないことがわかるはず
- 302 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 00:21:21.85 .net]
- セーブの実現性考えてつくるべし
下手に高級言語にすると死ぬ 人に使わせること考えると、プレーンテキストにタグ埋めるスタイル以外はあり得ない
- 303 名前:デフォルトの名無しさん [2013/12/16(月) 00:49:52.86 .net]
- 同意
セーブや細かい制御のことを考えると、汎用言語を使っても結局 言語内DSL的なものでデータとして埋め込むような形にしかならん 汎用言語の機能をほとんど活かせず、インタプリタを作る手間も無くならず、 ただスクリプトを書くのが面倒になるだけ
- 304 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 01:33:50.36 .net]
- 途中セーブって鬼門だしな…
- 305 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 18:01:34.83 .net]
- >>299-302
ありがとうございます、セーブ完全に考えてませんでした。 途中セーブ考えると難易度かなり上がりますね。
- 306 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 21:48:48.52 .net]
- 独自スクリプトなら好きなように出来るから、どうとでもなるよ
ADVゲームなんて保存しておくデータは少ないしな
- 307 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:06:48.55 .net]
- if文の中のwhile文の中のif文のさらに中のwhileの途中でスクリプトを停止してセーブ、ロードしてそこから再開、とか。
- 308 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:22:15.85 .net]
- stateパターンでも使えば?
- 309 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:35:40.70 .net]
- >>305
ADVは普通そんなとこでセーブする必要ないよ もし必要になってしまってるなら設計がおかしい
- 310 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:54:56.69 .net]
- DSL専用の言語ってあってもいいのにな
ADVのスクリプトみたいなプル型のインタプリタを作りやすい簡単な言語仕様で ライブラリにソース渡したら構文解析だけやってくれればいい
- 311 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:41:18.53 .net]
- 「設計がおかしい」ってさ、
言うのは簡単だしいかにもそれっぽいけど単なる思考停止くさいよね
- 312 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 23:00:23.25 .net]
- >>308
EclipseのXtext/Xtendみたいなのでネイティブアプリに組み込める ものがあったら俺も欲しいな。
- 313 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 23:01:36.14 .net]
- ターン制と言うか、区切りよく設計しない?
大枠のwhileループとifはあるにせよ、更にその中のwhileの中でセーブはともかくロードはやろうと思わない。
- 314 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 23:38:35.63 .net]
- 任意のObjectをセーブ、ロード
↓ Object is a String ←設計がおかしい
- 315 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 01:55:56.71 .net]
- >>305
フラグでメッセージが変わる、とかいうのを複雑にしちゃったらそういうのが発生しそう。
- 316 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 12:14:01.98 .net]
- フラグで文章が変わるなら、変わる文章の手前で条件分岐するだけじゃね?
- 317 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 17:12:52.37 .net]
- 変わるのがメッセージだけなら、
flg ? "msg-a" : "msg-b" って書けるならそのほうがシンプル。
- 318 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 21:11:54.76 .net]
- それだと既読フラグがめんどい
- 319 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 08:21:18.69 .net]
- シンプルだけど読みにくい
- 320 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 12:54:39.25 .net]
- 慣れの問題
- 321 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 08:32:10.39 .net]
- 慣れないとダメというのがそもそもおかしい
- 322 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 11:28:02.04 .net]
- 逆だよ
時間がかかってはダメというのがおかしい だからゆっくり時間をかけて慣れることが許される
- 323 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 12:34:02.63 .net]
- >>319
俺が慣れてないからforもwhileも禁止、全部ifとgotoで、って言ってた人が昔いたぞ。 >>316 既読を管理する関数 mng_read ってのを作って、 flg ? mng_read("msg-a") : mng_read("msg-b") とするのはどう?
- 324 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 22:24:13.34 .net]
- >>321
ADVで文章部分に関数使うとか論外だろ… それにスクリプト打つのはド素人も想定するもんだ
- 325 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 22:49:00.75 .net]
- >>321
そんなBASICでプログラミングを覚えたジジイなんて、 玉切り落としてグズの家系を根絶やしにしてしまえ。 GOTO LESSが推奨されて何年立ってると思っているんだ
- 326 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 09:54:37.59 .net]
- IFとGOTO以外理解できないド素人も想定しなきゃダメですよw
- 327 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 13:19:00.89 .net]
- そりゃシステムの部分でわざわざGOTO使う事はないけど
シナリオスクリプトと
- 328 名前:オて考えたらはGOTOは大事だろ
IFとGOTOだけで書けばセーブデータの問題も解決するわけだし [] - [ここ壊れてます]
- 329 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 13:43:33.10 .net]
- チャートの類をつくろうとすると、たとえADVのスクリプトでもgotoもifも禁止だね。バグの温床になる
そういった場合は、遷移は別ファイルにまとめて定義が妥当
- 330 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 17:08:31.18 .net]
- プログラムではまずありえないけど、ループのド真ん中に外から飛び込むジャンプって、
ゲームのシナリオ的にはありそうじゃない。そういうのってどうしてるの?
- 331 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 19:11:38.28 .net]
- gotoは、終了タグを省略したhtmlとか、breakしないswitchと同じだと思う
逆に言えば終了タグを必ず書くgotoなら使っていいんじゃね
- 332 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 19:40:46.56 .net]
- come from文?
- 333 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 20:16:45.26 .net]
- 途中でセーブしてそこから続きが出来るようにしないのなら、どんな組み方してもOKだけどな。
- 334 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 21:28:56.06 .net]
- >>326
条件分岐使わずどうやってフラグ分岐するんだ? >>327 そんなの見たことないが、どういうのだよ?
- 335 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 23:30:35.65 .net]
- >>331
だから別ファイル どのシーンの次にどのシーンになるのかの 状態遷移だけを記述する言語というか データ構造を別に準備するのさ
- 336 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 23:50:48.99 .net]
- 想定してるのがどういうゲームかで違うのかも
例えばLiveMakerのシナリオ部分は文章とか画像とかの指定で 条件分岐は別になってる シナリオ書き変えたら分岐も変わってた…なんてことはない 単純に選択肢で話が大きく分岐していくノベル用にはわかりやすくていい でも細かいフラグ管理やパラメータ要素を入れると難しい 分岐ごとにいちいち分けて考えてたら バグは出ない以前に途中で投げ出す可能性大
- 337 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 01:12:07.86 .net]
- 適当にシナリオ用のVM作ってステートセーブさせれば良いんじゃないかな・・
- 338 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 07:14:27.71 .net]
- プレーンテキストに命令タグを挟む方式だとあかんのですか
ノベルゲーって基本テキスト主体でしょ? 逐次処理できるし、ステートの保存はフラグ一式と行番号の保存でいいし ループ処理の構文をわざわざ用意する必要ないと思うんだけど・・・
- 339 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 10:33:19.18 .net]
- >>332
あぁ、なるほどね。 確かにそういう作り方をしてるゲームを見た事があるわ。
- 340 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 01:56:07.59 .net]
- ノベルゲーのスクリプトに、Cレベルの制御構文、クラスやコルーチンとかまで入れて欲しいとか言われた事あるわ。
- 341 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 10:34:40.60 .net]
- 文章やマクロを使う部分のスクリプトはオリジナルで
クラスやコルーチンのスクリプトは組み込み言語使えば良かろ
- 342 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 10:38:32.16 .net]
- プログラミング知識がある奴用なら
爆速コンパイルのFPCでいいと思うな
- 343 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 10:48:29.28 .net]
- コルーチンはプログラミング言語では直接のサポートがない言語も多いけど、
ゲームのスクリプトとしては需要あるんじゃないかな。 たとえば、ある場所に来るたびに、その場所での「さっきの続き」とか。
- 344 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 11:18:48.57 .net]
- stateパターンでいいじゃん
オーソドックスにフラグ立てていくなりstackでやるなりでいけるでしょ
- 345 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 11:41:00.70 .net]
- 手続き的なものは、スクリプトの手続きとして直接記述したいじゃない。
stateパターンというかインタプリタパターンで、その場用のミニ言語を作るんじゃなくて。
- 346 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 11:56:29.21 .net]
- コルーチンのことをIteratorと言う人とStateと言う人とInterpreterと言う人がいるけど
気分で名前が変わるくらいなら名前つけない方がよいよね
- 347 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 12:15:58.74 .net]
- いきなりどうした
- 348 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 12:24:14.01 .net]
- いや全部別のものだし
- 349 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 12:28:28.45 .net]
- >>342
> 手続き的なものは、スクリプトの手続きとして直接記述したいじゃない。 すればいいじゃない > stateパターンというかインタプリタパターンで、その場用のミニ言語を作るんじゃなくて。 フラグ立てていくだけだからeval出来るものなら既存の言語で簡単に出来るよ 記述が冗長でという話ならpegかなんかでちょろっとgeneratorを書いてやらいい
- 350 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 02:26:08.74 .net]
- 動的型のスクリプトの凄さわからなかったんだけど
クラスじゃなくって、インスタンスをバインドして そいつがファクトリ的な関数いっぱい持ってたら もうスクリプトの中でやりたい放題なんだね
- 351 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 13:42:09.78 .net]
- リモートでバッグが容易
かつ、お作法も確立してるので楽ちんなんだよな
- 352 名前:デフォルトの名無しさん mailto:sage [2013/12/29(日) 23:59:20.84 .net]
- 最近VLCビデオプレイヤの機能拡張言語がLuaだったのにやっと気づいた
- 353 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 00:02:51.79 .net]
- おめ
- 354 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 00:32:29.40 .net]
- DXライブラリでゲーム作ってて、スクリプトを組み込んでみたいんですが、
メインループ中にスクリプトをどのように組み込んでいけばいいのかまったく検討がつきません。 RPGのマップ上のイベントであれば、マップロード時にスクリプトファイルを読み込んで イベントを関数化しておく、などは想像できるのですが・・・ それとも、主要クラスをスクリプトエンジンへバインドしてしまって メインループ自体をスクリプト側で記述するという方法なのでしょうか?
- 355 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 01:54:24.29 .net]
- 一般的には各オブジェクトのフレーム毎処理なり、メインループの段階ごとなりにスクリプト用のフックを準備して、それ経由で呼び出しされるようなイベントドリブンな書き方をすればいい。これは別に普通にCで書くのと特に変わらない
luaとかsquirrelのようなコルーチンありのスクリプトなら、メインループから、実行中のコルーチンスレッドのresumeを個別に呼び出しする形も作れる それぞれのスレッドで suspend()するたびに 次のフレームに処理が継続されるので、UI処理書くのにとても便利 両方実装して使い分けるのも有り。いずれの場合も、参照するオブジェクトはスクリプトから見えるようにバインドする必要はでてくる
- 356 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 17:04:01.21 .net]
- >>352
ありがとうございます! コルーチン勉強しようと思います
- 357 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 01:28:40.37 .net]
- AngelScript|Д`)ノ<遅くなったけどあけおめ。今年もスクリプトエンジョイしよう
- 358 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 01:32:56.88 .net]
- おっそーい
- 359 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 18:55:31.97 .net]
- ZekamasiScriptの登場が待たれる
- 360 名前:デフォルトの名無しさん [2014/01/16(木) 23:05:15.79 .net]
- C++でクラス定義を公開してバインド。
Suirrelでインスタンスを生成したとき、 boost::shared_ptrを用いたインスタンスにするにはどうすればいいでしょうか。 C++とSquirrelとで共通の参照カウンタを持たせたいと考えています
- 361 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 23:29:03.57 .net]
- luaならレジストリを使ってやるから同様の逃げ道はあるだろうけど
そういうのが必要なケースってあるのかな? 設計を見なおしたほうがいいかも
- 362 名前:デフォルトの名無しさん [2014/01/17(金) 00:50:30.25 .net]
- luabind使ってる時は自然と出来たものですから、
こっちでも使いたいなーと思ってました。 ・C++でHogeクラス定義、公開 ・Squirrelでインスタンス生成 ・C++から公開しているオブジェクトマネージャへ登録 ・C++側でさっきのHogeインスタンスを更新 みたいな構造を考えてました。 Hogeを継承したFooクラスとかも登録したいと考えてました。 設計考えてきます。
- 363 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 02:10:14.78 .net]
- 対応したバインダかくだけじゃね?
squirrel側の参照カウンタとはダブるだけで共通にはならんけど動作自体は問題ない
- 364 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 04:46:37.29 .net]
- HogeをC++で定義、公開。
g_HogeManagerをC++で定義、インスタンスをSquirrelへ公開。 で、次のスクリプト関数実行。 function Func(){ local inst = Hoge() g_HogeManager.add(inst) } で、C++側でg_HogeManagerの要素に対してupdateとか呼び出したいです。 Funcのスコープ抜けた時点でSquirrel側のinstの参照カウンタが0になり、 望まない形でインスタンスが破棄されてるようです。 ので、共通の形を取りたいと考えてました。 設計が悪いってのは、この周りの考え方が怪しいのかと。
- 365 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 04:48:04.70 .net]
-
- 366 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 08:09:28.29 .net]
- //
/ / パカッ //⌒)∩__∩ /.| .| ノ ヽ / | | ● ● | / | 彡 ( _●_) ミ Lua!! / | ヽ |∪| /_ // │ ヽノ \/ " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
- 367 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 16:23:55.46 .net]
- >>361
そりやsquirrel側はC++側の参照を知らないもの。当然かと squirrelから渡されたものは、HSQOBJECT のかたちで取得して、保持するときには sq_addref()して、不要になったら sq_release() するのが正解
- 368 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 18:31:37.39 .net]
- あ、gHogeManagerがなんのためのものかにもよるけど、addrefしたものは当然C++側でもreleaseしないと消えなくなるから注意な
メモリリークの原因になりやすい
- 369 名前:デフォルトの名無しさん mailto:sage [2014/01/22(水) 20:05:40.98 .net]
- AngelScript|Д`)<ASの得意分野の話をしてると聞いて
- 370 名前:デフォルトの名無しさん mailto:sage [2014/01/31(金) 16:55:15.38 .net]
- squirrelって文字列比較できないんでしょうか?
自分で関数を作るしかない?
- 371 名前:デフォルトの名無しさん mailto:sage [2014/02/01(土) 23:19:13.62 .net]
- Squirrelのthreadを外部からidle状態にさせることはできるのでしょうか。
現在、threadをidle状態にさせるために、wakeupで終了条件を渡して threadとして実行する関数内でreturnなりさせてidle状態にさせていますが面倒です。
- 372 名前:368 mailto:sage [2014/02/02(日) 00:01:58.47 .net]
- 手法変えて自己解決しました
- 373 名前:デフォルトの名無しさん mailto:sage [2014/02/02(日) 00:31:12.85 .net]
- (´\r-、 ┼ + /`/`) +
┼ (\. \! * // ,/) * + * (ヽ、 \ + * / /) + ⊂ニ ) * + ( ニ⊃ * + ⊂、 ( ∩___∩ ノ ⊃ + * (/(/ ヽ | ノ ヽ / 、)ヽ) ┼ + (/ ∨ ● ●レ /⌒) 、)ヽ) * (/' | ( _●_) ミ' /、)、)´ + + (/'ヽ 彡、 |∪| ノ / AngelScript!! + / __ヽノ / * + ┼ (___) / + / / (_ ⌒丶.. | /ヽ }. し )) ソ トントン
- 374 名前:デフォルトの名無しさん mailto:sage [2014/02/03(月) 05:51:52.94 .net]
- Cocos2dx + lua が最強
- 375 名前:デフォルトの名無しさん mailto:sage [2014/02/05(水) 23:25:39.46 .net]
- Squirrelでthreadの実行関数内でスタックダンプってどうやってとるの?
sqstd_printcallstackをラップしたのをバインドしてthreadの関数内で呼び出しても、 thread.callとかthread.wakeupんとこまでのスタックしか見れなくてデバッグが面倒
- 376 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 01:00:28.57 .net]
- そこから上は別のVMだから当然では
- 377 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 13:14:51.80 .net]
- あ、なるほど。
ってことはsq_getthreadとかと組み合わせれば出来んのかな。 助かったよ、ありがとう
- 378 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 16:31:10.12 .net]
- AngelScript|Д`)<AngelScript2.28.1記念カキコ
- 379 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 16:34:11.87 .net]
- >>374
スレッド制御してるVMがグローバルに一つなら、そのwakeup呼び出ししてる間は とくに変化無いから、もうグローバルに直接参照して表示してしまうってのも一つの手だね 俺はそれぞれのスレッドのwakeupは、全部C++のメインの一カ所からしか呼ばない(親VMは登録とかにしか使わない)から上をたぐる必要は特に無い
- 380 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 19:41:13.19 .net]
- なるほど、そういう方法もあるのか。検討します。
で、早速また分からんことが。 ・スクリプトでnewthreadで生成したスレッドをC++にてsq_getthreadで取得 ・取得したvmに対してsq_newclosure,sq_seterrorhandlerで ランタイムエラーハンドラを設定したんだけど、 スレッド実行中にエラー出ても呼ばれないんですが原因なんでしょう。 同じノリでC++からsq_setprintfuncで出力関数をセットすると期待通りに動作するんだけど。
- 381 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 20:13:41.72 .net]
- sq_notifyallexception しとかないと常にはよばれなかったような記憶
- 382 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 20:42:06.75 .net]
- おぉ、呼ばれた!ありがとう!
- 383 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 11:35:20.59 .net]
- スレチか悩んだがココで。
トゥイッターで「#squirrel」を検索するとマジもんのリスばっか出てくる。 どのハッシュタグならココで扱ってるSquirrel拾えるの?
- 384 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 11:43:35.22 .net]
- 本家で聞けよ…
- 385 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 21:55:32.80 .net]
- ゲーム用途のスクリプトのことを学べば学ぶほど、最終的にはマップエディタや、
アイテムデータを打ち込むためのフォームなどを自作しておかないと、 スクリプトの良さを生かせないなぁ、というところに行き着いてしまうのですが、 個人製作の方々はそういったものを自作していたりするんでしょうか? むしろ、そんなところに拘るくらいならUnityや他のゲーム製作ツールについて 勉強してた方がマシでしょうか?
- 386 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 22:11:10.98 .net]
- まず、自作するまでもなく
一般的なものならinport/exportで定番どころのフォーマットは対応してるので困ることはないのではないかな 対応してないとしてもconverterを書くだけだから簡単に書ける
- 387 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 22:15:28.12 .net]
- スクリプトの良さを生かそうという発想が生まれる時点で
既に道を踏み外している ゲームを完成させたいなら計画を立て直せ そうでないなら合理性なんか考えず好きなように楽しめ
- 388 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 22:17:33.95 .net]
- スペルミスってるな
まあいいや
- 389 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 22:31:38.48 .net]
- >>383
既存のモノで、マップエディタならJsonあたりで出力できるものや、 データ入力ならCSVエディタや、既存DB用ファイルを出力するエディタあたりでしょうか? >>384 確かに、そうですね・・・ まだ数回しかチャレンジしてないのですが、どうしても毎回、 「プログラムで直書きしたのと変わらんやんけ!」か、 「CSVで十分やんけ!」という状況ばかりになってしまって、 そこから一歩ステップアップできない感じなのです
- 390 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 23:01:28.08 .net]
- AngelScripterさんがいたら教えてほしい
RegisterObjectType に asOBJ_POD を渡すとコンストラクタ、 代入演算子その他諸々が自動生成されるって話だけど、 asOBJ_POD | asOBJ_APP_CLASS_CONSTRUCTOR みたいにして コンストラクタだけ独自拡張する使い方は仕様的にできるようになってるの?
- 391 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 07:44:24.61 .net]
- >>386
目的と手段が逆になってんじゃないの?
- 392 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 10:43:43.37 .net]
- >>387
普通にコンストラクタも登録できるから 公式リファレンス見ろ
- 393 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 11:25:09.70 .net]
- Lua自体はC++を使ってなくて「Cで十分やんけ!」という状況なので
もしC++を使ってる人がLuaは不要だと言えば、C++の方が不要だと言い返される気がする
- 394 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 12:09:22.88 .net]
- >>382
コンシューマだったり、プログラマ以外の作業員がいたり アドベンチャーゲームみたいなジャンルだったらメリットが大きいと思うけど 個人製作だったら別に無理して活かす必要は無いような
- 395 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 13:21:37.93 .net]
- スクリプト使えば最コンパイルなしで高速に微調整ができるっていうけど
個人製作だとスクリプトファイルとかその他リソースを再読み込みする時間の方が 長かったりするのは俺だけ?てかみんなはスクリプトファイルどれくらい分割してる?
- 396 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:07:27.08 .net]
- >>392
ゲームは再起動するんだから、 他のリソースふくめたロード時間は スクリプトつかっててもつかってなくても大差ないかと スクリプト単体のロード時間は誤差の範囲だよ。確実にコンパイル&リンク時間のが長い
- 397 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:08:56.52 .net]
- LOVE使っててそれは思った
- 398 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:29:29.09 .net]
- >>392
修正したファイルだけ再読み込みできるようにしておくといい感じ
- 399 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:29:47.45 .net]
- >>393
392じゃないけど どのリソースを読み込むかスクリプトで指示されているから スクリプトの再読み込みはその他リソースの再読み込みとほぼ同義で 時間がかかるって話じゃないの だから スクリプト単体のロード時間が誤差の範囲なのは自明で それをコンパイル&リンク時間と比較するのはこの文脈ではナンセンス
- 400 名前:デフォルトの名無しさん mailto:sage [2014/03/01(土) 15:47:17.62 .net]
- >>396
スクリプトがコンパイル時間がかからなくて便利って話は、そもそもその単純比較の場合の話だから、そのメリットが得られてないならそれは作りが悪いってことだよね。結局のところ
|

|