- 1 名前:名前は開発中のものです。 [03/07/31 21:37 ID:L/7S/kPx]
- ノベルゲームツールを制作中の人達が集うスレです。
新たなノベルツールを作ってやるというチャレンジャー歓迎。 前スレ ▼ノベルゲームツールを作っちゃうぞ!Ver2.0 pc2.2ch.net/test/read.cgi/gamedev/1040118471/ 前々スレ ▼ノベルゲームツール作っちゃうぞ! pc2.2ch.net/test/read.cgi/gamedev/1013170036/
- 893 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:04:36 ID:ZjHXEGS3]
- Delphi使うのは10年ぶりなのでちょいと無駄はあるかもしれん。
ファイルのロードにTStringList.LoadFromFileを使用したのは>>870にあわせたため。 # TStringList.LoadFromFile、ものすごく遅いな。27〜28秒かかってる。 W/O Scan #1 28078 #2 28687 #3 28953 #4 29219 W/Scan #1 28625 #2 29125 #3 29453 #4 29719
- 894 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:05:29 ID:ZjHXEGS3]
- 訂正:27〜28秒 ⇒ 28〜29秒
- 895 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:16:52 ID:ZjHXEGS3]
- あ、そうそう補足。
>893でも書いたとおり10年ぶりなこともあり古いバージョンのDelphiを使っている。 最近のバージョン(ってBorlandなくなったんだっけ?)ではこの時間より 速いかもしれないし、遅いかもしれない。
- 896 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 23:55:37 ID:lXvaYQxz]
- なにこの変な空気
- 897 名前:名前は開発中のものです。 mailto:sage [2006/12/03(日) 07:45:41 ID:Pf/Dcb2V]
- >891-892のコードを試してみた。
シナリオファイル:約5.6MB、100000行(内ラベル10000行) PC:Pen4 1500MHz、メモリ256MB、win2000 言語:Delphi7とTurboDelphi timeGetTimeを使用。 Delphi7 TurboDelphi >891 >892 >891 >892 141 250 125 187 140 250 125 203 141 250 125 203 Delphi7で110、TurboDelphiで80ミリ秒程度の差が出てる。 「起動時に全シナリオを走査して、ラベル位置を内部的に把握しておく」ってのはありかも。 ただ、上から一行づつラベルを検索するコストがどの程度かって事にもよるけど。 ># TStringList.LoadFromFile、ものすごく遅いな。27〜28秒かかってる。 いくらなんでも遅すぎるな、それ。 ファイルがでかいのか、Delphiのバージョンが古いのか、裏で何かが動いているのか...
- 898 名前:名前は開発中のものです。 mailto:sage [2006/12/05(火) 05:43:16 ID:o7a/zfXd]
- もーにん
members3.jcom.home.ne.jp/jellyjam/p/novel20.zip ・サブルーチン(!Gosub, !Return) ・一部の画像をキャッシュしておく機能 ・テキスト背景の濃度を調節できるようにした ・その他ちょこちょこ手直し サブルーチンの使い方はソース読むなりして知れ!( `д´)甘ったれるな!氏ね! 他に目に見えないところの変更点を挙げるなら、背景の描画方法も変更してます。 お陰でちょっとだけ計算量増えた(;´Д`) そのうち実装するであろうスプライトのZ値を考慮する形での改造。 計算量が増えたこともあって、トランジションするときはなるべく「Direct3Dを使う」にチェック入れてね。 こっちのほうが明らかに負荷が少なくてCPUにやさしいので。 ラベル検索について。 いろいろ試してくれてありがとう! 特に LoadFromFile の読み込み時間のことはあんまり考えてなかったので参考になった。 結果から計るに、やはりファイルは適度に分割してもらなくてはな。 つーかこのスレで Delphi のコードをみることになるとは思わなかったよ。 つд`)グス 長くなったので続く↓
- 899 名前:名前は開発中のものです。 mailto:sage [2006/12/05(火) 05:44:59 ID:o7a/zfXd]
- やっぱり「ラベルの位置をあらかじめ把握しておく」という考え方がベストだと思う。
具体的には C++ のヘッダファイルみたいに宣言するか…、もしくはシナリオファイルを 別売のコンパイラにかけて、ラベルを抽出・定義したファイルを生成してもいい。 この方法なら、シナリオファイルを読むとき同時に対となるラベル定義ファイルを読むことで、 実行するシナリオファイルの全ラベルの位置を知ることができる。 そして実行時に余計な抽出作業をしなくてすむ。 短所として、今みたいにシナリオファイルを書いて即実行テスト、みたいな瞬発力は失われる。 ただ、実行時のパフォーマンスと天秤にかけたとき、どっちが優先されるべきか考えたら やはり犠牲になるのはこちらだろうと。 アドバイスとして「起動時に全シナリオを走査して〜」ってのを挙げてもらったけど、 そもそもラベルのデータって「ノベルクラス」が保持すべきデータだと思うのね。 こういった、できるだけデータを隠蔽しようとする姿勢が、これまで目指してきたカプセル化に 適ってると思うし(実際のコード内容がどうなってるかはともかく!)、 「データを起動時から終了時までグローバルに保持する」ってのにはちーと抵抗があるなぁ。 ノベルクラスがおはようからお休みまで存在するような構造ならいいんだろうけど…。 もちろん、上の方法で結果が出ないようなら他のどんな方法でも試さないといけないだろうな。 目的と手段を見誤らないようにしなくては。 ともあれ他の機能を充実させることのほうが先だ。やることはまだあるし! つかなんかよくわかんあくなってきた まだ眠いし
- 900 名前:名前は開発中のものです。 mailto:sage [2006/12/07(木) 02:47:55 ID:SWdlq209]
-
そして誰もいなくなった・・・・ THE END
- 901 名前:名前は開発中のものです。 mailto:sage [2006/12/09(土) 09:10:42 ID:h/zOxyeP]
- >>893
結局お前がバカだったって結論だな。 なんでPerlでやったの?アホは死んでね。
- 902 名前:名前は開発中のものです。 [2006/12/09(土) 11:38:50 ID:jj3TKGxP]
- 勝利宣言乙。
- 903 名前:名前は開発中のものです。 mailto:sage [2006/12/09(土) 14:08:11 ID:8/hGWVEK]
- まあどっちもどっち、薄い知識を頑張って見せてもぼろは出るさ。
- 904 名前:名前は開発中のものです。 mailto:sage [2006/12/10(日) 11:45:36 ID:OYpqnO30]
- うおおぉぉおおぉやる気でねえーーーーーーーーー
>>899から MainTex.Visible := False; の一行しか書いてないぜ
- 905 名前:名前は開発中のものです。 mailto:sage [2006/12/11(月) 13:35:07 ID:ScPcGfEF]
- がんばれ
- 906 名前:名前は開発中のものです。 mailto:sage [2006/12/12(火) 06:12:08 ID:yBbIoFAM]
- なんとかやる気出してみた。
簡易的なスプライトの表示はできるようになった。 立ち絵とか描いて members3.jcom.home.ne.jp/jellyjam/img/stand.png 表示 members3.jcom.home.ne.jp/jellyjam/img/sprite1.png 文字を消した状態。画像のフチもきれい! members3.jcom.home.ne.jp/jellyjam/img/sprite2.png Zオーダーのテスト。フキダシはトランジションよりも上位にあるので影響を受けてない members3.jcom.home.ne.jp/jellyjam/img/sprite3.png スプライトの移動とか拡大とかできたほうがいいんじゃねとか考えてみた。 実際的なコードの青写真はできたつもりなので、あとは実践するのみだぜ? つか絵とか描くの超めんどくせええええええええええええ 久しぶりにペンタブ使ったけど、最初通電しなくて壊れたかと思った いろんなとこにガンガンぶつけてたらいつのまにか使えるようになったよ( ´∀`)
- 907 名前:名前は開発中のものです。 mailto:sage [2006/12/12(火) 08:32:57 ID:h7Kt54mJ]
- おまいノベル作るより絵を上手くして公開汁と直感的に思った。
- 908 名前:名前は開発中のものです。 mailto:sage [2006/12/14(木) 05:56:41 ID:mSVXN2jW]
- ここから独り言────────
スプライトクラスに簡易的なタスクシステムを仕込んでみる。 複数の移動先座標を同時にプッシュすることで、複雑な動きもできるかも。 応用として、プッシュされた座標等から円運動やベジエみたいな軌跡も作れる…はず。 作ってて気付いたけど、サイズの違う画像へクロスフェイドさせるとき、 変化前の画像座標と変化後の画像座標は同じじゃ駄目なことに気付いた。 えーと、つまりスプライトを描画するとき、単純に左上の座標を基準にしては駄目だってこと。 こうじゃなくて こうならないとおかしいよな ┏━┳──┐ ┌────┐ ┃ ┃ ..│ │ ┏━┓ │ ┣━┛ ..│ │ ┃ ┃ │ │ ..│ │ ┗━┛ │ └────┘ └────┘ こういうふうにしたいときもあるし ┌────┐ │ │ │ .┏━┓│ │ .┃ ┃│ └─┻━┻┘ 画像がキャラクタのだったりすると、とくに気になっちゃう。 変化前の座標と変化後の座標、両方を指定しておく必要がありそう。 こんなのあたりまえの話か…。 ────────ここまで独り言 >>907 ( >д<)、;'.・ ィクシ
- 909 名前:名前は開発中のものです。 mailto:sage [2006/12/15(金) 23:37:18 ID:ughJgmM0]
- おーい、だれもいないのー?
members3.jcom.home.ne.jp/jellyjam/p/novel21.zip ・スプライト機能 ・暫定的な措置として、ゲーム中にマウス中ボタン押しでコンフィグに突入 ・よくわからないが垂直同期(?)ってやつを待つようにしたような気がする スプライトできたよー。詳しくはサンプルを見ておくれ。 背景も同じようにタスク仕様っぽくしたから、組み合わせていろいろできるかも。 ちなみにエフェクト中にボタン押したりするとエフェクトカットできるよ。 けっこうよくできてるなぁ。<自分でいうな 垂直同期はどんな役割があるのかよくわからないのでそのうち元に戻すかも。 なおこのバージョンは問題を内包していることに注意。 タイトル画面の「スタート」を押したあと、マウスボタンやエンターキーなどを連打しているとリストの範囲エラーが出るの。 なんとなく原因はわかってるような。 あとこれは問題とまではいえないかもだけど、背景フェイドアウト時にスプライトごとフェイドアウトしてくれないのが困る。 うー、なんというか説明しづらいので割愛。アプリが落ちたりはしない程度の不具合ってことで。
- 910 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 14:01:24 ID:iJHEhuvY]
- >>909
立ち絵の移動中にリストのなんちゃらとか出て終了すら出来なくなってるぜwww 強制終了はできた。
- 911 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 16:20:53 ID:c5UW9I5g]
- >>910
(;゜∀゜)ウホッ それはこちらでは再現できてないなぁ。 たぶんそのエラーは移動処理の終了と同時にで発生してるんじゃないかと推測してるんだけど。 >>909でも書いたけど、リストの範囲エラーが出てるのは確かなので、その辺を見直してみたぜ。 リストの範囲を超えた参照をしそうな場所のチェックを厳しくしてみた。 members3.jcom.home.ne.jp/jellyjam/p/novel21_2.zip これは差分のみなので、>>909に上書きしてください。 とりあえずおれの環境ではエラーはでなくなったみたいです。 ついでに((((;゚д゚)))ガクブルのテストしてます。 サンプル参照。
- 912 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 19:12:33 ID:iJHEhuvY]
- エラー出なくなったよGJ!
- 913 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 19:50:34 ID:c5UW9I5g]
- >>912
おおーありがとう! よかったよかった。 不具合に気付いたのでさらに手直し。 エフェクトをかける命令において、エフェクトに要するフレーム数を指定するんだけど、 その数値が小さい場合にエフェクトスピードを x1.0 以外にしたとき表示が変になってたので直した。 members3.jcom.home.ne.jp/jellyjam/p/novel21_3.zip この修正でガクブルの表示が直るはず。不具合はもうないかな? 最適化がすんだらデータの保存に取り掛かる予定。 いよいよ最終盤か…。
- 914 名前:167 mailto:sage [2006/12/16(土) 20:54:09 ID:Q/zqu0Nt]
- 御久し振りです、実はスランプに陥っており全く進んでおりません(´Д`)
ですが、製作は継続致しますとも…約一週間前から、製作を再開致しました。 現在、デバッグ用のシステムを製作中…それを終えたらセーブ/ロードを実装して、Ver1.0は感性でしょうか(´Д`)
- 915 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 21:01:47 ID:z6KIXRa8]
- !BgDraw Transition, -10
で余分なクリックが要求されるっぽい。
- 916 名前:名前は開発中のものです。 mailto:sage [2006/12/16(土) 21:40:28 ID:c5UW9I5g]
- >>915
クッ! 所要フレーム数にマイナス値を指定するとは、なんてひどいやつだ! ありがとう! マイナス値が指定されたら無視するように4秒で直した。 こういうミスはまだありそうだな。 members3.jcom.home.ne.jp/jellyjam/p/novel21_4.zip ちなみに !SpriteDraw はちゃんとそういうふうになってた。本当に簡単なミスだったようだ。 所要フレーム数だけじゃなくて、その他のスプライト番号とかも変な数値は弾くようになってるんだぜ。 まったく、この開発者志向・ユーザ志向には恐れいるばかりだよな!( ´,_ゝ`) ちなみに !BgDraw CrossFade, 0 とか !BgDraw Transition, 0 みたいにフレーム数に 0 が指定されると、 !BgDraw Immediate, 0 と同じ振る舞いをするようになってる。 Immediateは即時反映、エフェクトなしの合言葉。第二引数は無視されるぜ。 つーかマニュアルが無いのが問題だよな。 おれは作るの面倒だから、代わりに誰か作ってくれよ。無償で。何の対価も無く。非営利法人よろしく。包み込むような愛を以って。 …昨夜はあんまり寝てないせいか変なテンションだと自覚している。 今日はもう(´Д⊂ ネルポ
- 917 名前:名前は開発中のものです。 mailto:sage [2006/12/18(月) 10:18:38 ID:TGH4Q3EG]
- 頑張れ〜
- 918 名前:名前は開発中のものです。 mailto:sage [2006/12/20(水) 00:43:20 ID:fK7YcqYj]
- members3.jcom.home.ne.jp/jellyjam/p/novel22.zip
・背景の描画方法がちょっと変更? 少し面倒になった ・!SpriteLoad/!SpritePos においてスプライトのサイズ・座標を即座に反映させるようにした ・キーボードのボタン設定ができるようになったかも 今回もソースは見難いぜ。気をつけろ。 最適化するとか言っといてこれじゃあ、立つ瀬がないってものよ。 命令名と定数名が衝突したりしてるし。分かりづらい。 おまけ機能のボタン設定は、キーの重複チェックをしてないので変なことしないように注意な。 ところでスプライトを動かすとき、垂直同期?って奴を待ってないとティアリングが発生するみたいだ。 もう! なんなのこれは! ばか! たいした処理じゃないのになんでこうもうまくいかないのか。 あとちょっと聞きたいんだけど、フルスクリーンからウィンドウモードに復帰するとき、 他のウィンドウが左上に寄っちゃうんだけど、これどうしたらいいの? 再現性があるんだかないんだか…、なるときもあるしならないときもあるから困ってるんだけども。
- 919 名前:名前は開発中のものです。 mailto:sage [2006/12/20(水) 01:08:52 ID:8V7aEVfE]
- EnumWindows
GetWindowPlacement
- 920 名前:名前は開発中のものです。 mailto:sage [2006/12/20(水) 22:22:22 ID:CA5iLqvy]
- >>918
ttp://gamdev.org/up/img/8396.zip 俺がむかーし作ったのあげる。適当に使ってちょ。著作権フリー。
- 921 名前:名前は開発中のものです。 mailto:sage [2006/12/23(土) 17:50:46 ID:vy9OXCiI]
- >>919-920
やっぱ自分で何とかしないとだめかー、めんどいよな。 ときに、どういうときに左上によってしまうのか、いろいろ試しているうちに分かってきたぞ。 (1)ウィンドウモードで起動⇒フルスクリーンモード⇒ウィンドウモード これはほとんどの確立で左上に「寄らない」。しかし、 (2)フルスクリーンモードで起動⇒ウィンドウモード この場合、ほぼ100%左上に寄ってしまうようだ。 んで、教えてくれたウィンドウを列挙して状態を復元して…、ってのをやってみたけど、どうにもうまくいかないぜ。 具体的には、位置は復元できるけどサイズが元に戻らない。 復元するタイミングを変えてみたりしたけどうまくいかなかった。 もしかしたらDirectXでスクリーン解像度を変更してるのが原因なのかもしれないなぁ。 もうあれだ、この不具合は気付かなかったことにしてセーブ・ロードを作り始めちゃうか。
- 922 名前:名前は開発中のものです。 mailto:sage [2006/12/25(月) 00:14:40 ID:8rnjShSU]
- おとなしく以下の手順でヤレ。
全画面化 (1) 画面全体を覆うサイズでTOPMOSTのウィンドウを表示 (2) Direct3D初期化(解像度変更) ウィンドウ化 (1) 画面全体をDirect3Dのオーナウィンドウで覆った状態で解像度元に戻す (2) ウィンドウサイズを戻す
- 923 名前:名前は開発中のものです。 mailto:sage [2006/12/25(月) 23:15:12 ID:EgMygRvY]
- あー、だめだ
完全に詰まった感がある。 ちょっと悩む時間をくれ…。
- 924 名前:855 mailto:sage [2006/12/27(水) 18:21:13 ID:U+WOWC8d]
- サンプルタイトル画面の背景を動きのあるフィルムに変更。
実際にフィルムを作る部分の解説を少し追加しました ヘルプのチュートルアル-作ってみる-演出をつける。に簡単な解説があります。 もしくは、nnnExe.exeを実行し、 [NEW GAME] - [チュートリアル] - [タイトルのバックスクリプト]で動く解説が確認できます
- 925 名前:vvm-man [2006/12/29(金) 03:01:49 ID:tgdf+svf]
- スクリプトの実行速度を改善してみた。
と言ってもコンパイラ側で連結をするようにしただけだが。 あと、画面構成がどれくらいカスタマイズできるかやってみた。 いつもの(デフォ) ttp://f58.aaa.livedoor.jp/~lionehar/new/ ちょっといじった画面+地震スクリプト実行 ttp://f58.aaa.livedoor.jp/~lionehar/talk/
- 926 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 03:11:45 ID:zUVxDgus]
- >>925
相変わらずすごいなー 擬似ウィンドウにしてるのは意味あるの? 例えば、ツール類が横に来るとか 表示画面は中央固定でもよくない?
- 927 名前:vvm-man mailto:sage [2006/12/29(金) 03:31:45 ID:tgdf+svf]
- >>926
サンクス。 擬似ウィンドウは今のとこ大した意味はないなぁ。 ただ、ゲーム画面の大きさを固定してるないと、作り手側が画像の配置やら、文字の開業やらの計算が出来ないからって理由ですな。 あーあと、これのメリットとして、ウィンドウ自体をモジュール化してAPIのようなもんにしてるので、やろうと思えば、一つのブラウザ画面に複数のゲームのウィンドウを立ち上げることも可能っちゃあ可能かな。 ただ、そうするとゲームのシステムの殆どを大域で制御してやってるので、互いに不具合起きないように組むのが面倒だろうな。 あと、中央固定にしないのはぐりぐり動かせるのを自慢したいのと、 無料レンサバ使ってるので、広告への配慮。 無料レンサバでもプロバイダに文句を言われずに、ジャンジャンバリバリ動くゲームを作るってのがコンセプトの一つなので、広告邪魔と言われてもそこは譲れない。
- 928 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 04:43:12 ID:zUVxDgus]
- 個人的にはweb上でこれだけ動かせるなら使いたいね
ぜひがんばってもらいたい
- 929 名前:名前は開発中のものです。 mailto:sage [2006/12/29(金) 09:14:47 ID:nhf1Rnll]
- >>924ってどっかのコピペ?それとも本物のたいにゃん先生?
- 930 名前:名前は開発中のものです。 mailto:sage [2006/12/30(土) 00:32:41 ID:3VaFPP0X]
- おらああああああああ仕事納めきたぜーーーーーーーーーーーー
ロバートがクリスマス休暇でブリテンに帰っちゃったのでなにかと大変だったぜ! 氏ねよプロテスタント野郎!ファックユアジーズだぜ セーブロードは12%ぐらいできた。 いまデータ読み込み用の手続きを各クラスに仕込んでいる最中だ。 もうなんか超つまんねえ作業だしすげえ面倒だ。心が折れそう。 ところでひとつのデータサイズが3MBぐらいになるんだけどこいつをどう思う? >>921の問題は、なにやってもうまくいかないのでもう後回しだ。 そのうちソース晒すので、試行錯誤のあとをソースから読み取ってほしい。 今やってる作業は一段落つくまでもうしばらく掛かるから、公開できるのは先になると思う。 書き込みがなくなるかもしれんが、投げ出したりはしないつもりなのでそのときまで正座して待っていてほしい。 つか>>924これすごくね? ツールもそうだけど、とくに猫語へのこだわりが。
|

|