- 1 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 21:45:09 ID:vk8ZBBdD]
- ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。 マルチポストはやめましょう。個人叩きも禁止です。 ※スレで質問をするときは※ KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、 FAQ、Google等で調べてからにしましょう。 努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ! 前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その16 pc11.2ch.net/test/read.cgi/gamedev/1227735828/ 吉里吉里2/KAG3雑談質問スレ_過去ログ ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ ttp://kikyou.info/tvp/ ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は 初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。 ■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。 大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。 ■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる 数々のTipsが記載されています。 必要に応じて>>3-5の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
- 160 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 17:56:50 ID:aE6zUcmg]
- 突然も何も最新って昨日じゃん。
とりあえずαって付いてるから以前のバージョンに戻して問題無いなら フィードバックしてみた方がいいかもね。 てか>>155のフォント変更はやったのか?
- 161 名前:名前は開発中のものです。 [2009/03/01(日) 18:11:19 ID:cUIuNaNG]
- >>160
環境設定とかいろいろ見てみたのですが、フォント設定がどこにあるのかわからなくまでやっていません。 バージョンを戻してもだめでした。 というか、以前のバージョンでだめだったので最新のにしたので… ところでフィードバックの方法がよくわからないのですが…(Googleでも調べてみたのですが…
- 162 名前:名前は開発中のものです。 [2009/03/01(日) 18:12:07 ID:cUIuNaNG]
- >>161
誤字が一部ありました。すみません
- 163 名前:名前は開発中のものです。 [2009/03/01(日) 18:14:58 ID:idjBCaEs]
- >>161
okwave.jp/qa1988707.html これみたかんじだと(ソフト違うけど)、単純に使えないフォントを指定しるっぽい indexに書いてあるからフォントを変更してみるのが吉
- 164 名前:名前は開発中のものです。 [2009/03/01(日) 18:37:34 ID:cUIuNaNG]
- >>163
すみません、indexとはどこのでしょうか?
- 165 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 19:34:29 ID:m86dBFqK]
- >>164
KKDEならサイトにBBSがあるんだからそこ使うべきじゃない? www.poringsoft.net/cgi/bbs/wforum.cgi
- 166 名前:名前は開発中のものです。 [2009/03/01(日) 19:43:09 ID:cUIuNaNG]
- >>165
それもそうですね。 皆さんお騒がせしました。 とりあえずフォントの変更してみます。 ご協力してくださった方、ありがとうございました。
- 167 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 20:09:27 ID:y0+TCaMq]
- KKDE名前変えてくんないかな。
"KKDE" -KDEで検索しないとKDEまでヒットするのが困る。
- 168 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 20:09:29 ID:aE6zUcmg]
- 試しにKKDE入れてみたが
設定>ファイルタイプ別設定から普通にフォント変更出来るやん・・・。 vistaでは表示されてないとかじゃなければちょいと厳しいレベルだ。 これで解決するかどうかは知らんが後は>>165だ。
- 169 名前:名前は開発中のものです。 [2009/03/01(日) 20:14:08 ID:cUIuNaNG]
- >>168
ちなみにそこは先ほど見つけたのですが、通常のMSゴシック体になってました。
- 170 名前:名前は開発中のものです。 mailto:sage [2009/03/01(日) 23:13:23 ID:0sIxknli]
- 作者に言え
- 171 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 04:43:56 ID:qJkLThJT]
- やったーKKDE2バージョンアップで起動するようになったー
- 172 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 08:37:28 ID:dgHr3DZJ]
- 誰も引っかからないね
- 173 名前:名前は開発中のものです。 mailto:sage [2009/03/02(月) 22:08:43 ID:rXSUEWY0]
- しばらく放置してましたがKagSciTEのβ2とソースコードを公開します。
ttp://colonq.s1.lo-ol.biz/ 更新内容はバグ修正と、前スレで誰かが言っていたマウスドラッグで 画像の位置を動かすツールを適当に作って追加してあります。
- 174 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 07:40:07 ID:1hdE0BNz]
- avastで検出するようになったんだが俺だけ?
2.30 Rev.2 ウイルスとおっしゃる 2.30 Rev.1 問題なし 2.30 問題なし
- 175 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 08:05:16 ID:1hdE0BNz]
- 訂正
2.30 stable rev.2 ウイルス 2.30 stable 問題なし 2.30 RC1 問題なし
- 176 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 10:31:42 ID:Ngqer5xf]
- >>174
おお、仲間がいてほっとした 昨日までkrkr.eXeを実行していても何も起こらなかったのに チェストに移動したら製作できないできないじゃないか>< 現作品のやつがまずアウト 他の作品作るのにコピーしたやつもアウト ずっと前にダウンロードした旧バージョンのもアウト kikyou.infoから最新版をダウンロードしてもアウト 昔ダウンロードした他の吉里吉里製の作品はおk www.virustotal.com/jp/ このページにファイルをアップロードしたらいいらしいが、 チェストに移動せずに何もしないを選んだら、ファイルを見ようとするたび警告音 アップロードできてるのかも怪しい 0バイトとか出てたような チェストの暗号化されたファイルのプロパティを見て、今日の日付のやつを アップロードしてみたら異常なしだけど、これは暗号化されてるから意味ないのかも? そちらは何か追加情報ありませんか?
- 177 名前:名前は開発中のものです。 [2009/03/03(火) 12:25:14 ID:vQ464eyf]
- avastのアップデートが理由だよ
avastの誤認はよくあること 誰かが(おそらく真っ先に企業が)avastに苦情入れるだろうから大丈夫 吉里吉里製の自社のソフトをウイルス扱いされたら企業も真っ青だねw
- 178 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 14:45:36 ID:Ngqer5xf]
- >>177
ありがとうございました どうやら誤検出の可能性が大きいようです
- 179 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 15:37:01 ID:ER9smOfC]
- 大変、底辺な質問で恐縮だが、TJSでファイルを出力する方法を教えて頂きたい。
コンソールに文字を追加する方法でOK。 デバックの際に大変苦労していて、最後に落ちた関数くらい分らんと時間がいくら合っても 足りんのです。 私がコピーして使っているスクリプトに「catch(e)とthrow e」ってのがあるのですが、 catchが例外が発生したさいに動くのはわかりますが、throw eはコンソールにその例外情報を 書き込んでるんでOKでしょうか? だとすれば、各関数の頭にthrow "関数名\n"; とかでいけますか
- 180 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 16:47:42 ID:LmpBV2TO]
- >>179
どういう状況なのかいまいち理解し切れてないけど、安易にコンソール出力方法を知るより 吉里吉里2リファレンスの目次で言う 『コントローラ 〜 コンソール』 辺りの項目を精読してTJSのデバッグってどういうものなのか確認し直すと良いと思います。
- 181 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 17:31:54 ID:RegTAcJq]
- KKDE2、入力補完のタグや属性の隣に
簡単な説明出してくれないかなあ フォーカス合わせないと表示されないのは地味に不便
- 182 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 18:16:29 ID:hnFqi3YI]
- >>179
エラーの発生箇所を知りたいって事かい? というか179の言うデバッグってどんな作業を指すのか良くわからねぇ・・・
- 183 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 18:35:01 ID:qajmozcE]
- avastでのウィルス誤認とのことだが、
うちのPCはAVGantivirus入れてるが検出されて隔離されたぞ。 2つのウィルスソフトに引っかかるなんてホントに誤認なのか?
- 184 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 19:16:31 ID:a97W8m/W]
- >>183
AVGも avast も誤認率高すぎで有名 まあ、これでも見て、なにが正しいのか自己判断してくれ。2.30rev2 の krkr.exeの結果だ。 ゲームエンジンの類は汎用の処理が大量にはいってる関係で誤認されることが多い www.virustotal.com/jp/analisis/fac33ccd5766a15afb2102d3d1b153d2
- 185 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 20:35:49 ID:qajmozcE]
- >>184
それ見る限りだとおもいっきり誤認みたいですな。 どうしてavastとAVGで同時に誤認したんだろう。 ウィルスって判断する情報でも共有してるのかね?
- 186 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 23:00:01 ID:T7Hg3i6F]
- >>179
e.messageをArrayに入れてsaveメソッドでいいんじゃないの ttp://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/index.htmlの 例外処理のところとArrayクラスのところ読んで
- 187 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 23:06:46 ID:0xvFD8cx]
- avast環境でavast無効化しないでやるにはどうすればいいんだ・・・・
例外に入れたのに相変わらず弾かれる・・・・
- 188 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 23:42:55 ID:yUdBM4Fv]
- >>179
どう考えても、真っ先にすべきことは リファレンスでcatchとthrowを見ることだと思うのだけど 見た?
- 189 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 01:51:13 ID:0P8uzQfh]
- AVG7.5でウイルス言われる!
って書き込みにきたら既に報告ありか
- 190 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 04:28:01 ID:81ocjiGR]
- avastで
2.30 stable rev.2 ウイルス 2.30 stable 問題なし 2.30 RC1 問題なし とのことだが、AVG8.0でも 2.30 stable rev.2 ウイルス 2.30 stable 問題なし と出た。RC1は調べてないけど。 rev.2の変更点のとこに誤認されるようなコードがあったのかな。
- 191 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 06:12:40 ID:81ocjiGR]
- 190を訂正。
AVGをアップデートしたらrev.2もウィルスがヒットしなかった。 アップデートで誤認が解除されて問題なしのようです。 ということでAVGの人はもうウィルス云々は関係ないってことだね。
- 192 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 06:15:31 ID:81IWlcm0]
- >>191
こちらAvastでも解除を確認 1日だけの騒ぎだったようです
- 193 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 08:15:43 ID:xstPUn85]
- なんで「車輪の再発明」が否定されるわけ?
Deeだったっけ?作者がある日突然有料化しますとか宣言した日にはどうすんの? 想定が甘い まぁ、もっとも すでに吉里吉里の入門本は完成して販売もされていいるわけでして・・・
- 194 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 09:31:14 ID:DQxdMA/E]
- 誤爆?それとも亀レスか?
「車輪の再発明」は目的に対して発生する物。 目的がゲーム作成”であるのに、基本となる機能であり、複数のツールで実装 されているテキストの編集機能や画面の操作機能を1から作るのが「車輪の再発明」。 仮にお前が吉里吉里を越えるゲーム作成ツールを作るなら、全ての機能は再発明に ならない。 また、DX機能をフルに使ったノベルを作成したいと思ったら、吉里吉里では無理 だから、仕方なく自分で作るのも「再発明」にはならない。 有料化を含めて、あらゆる面での可能性を元に自分で新規に作るのは、「再発明」 以前の問題。
- 195 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 11:26:12 ID:nJdN0q8J]
- >>193
ライセンスについて勉強しなおしてこい。 既にライセンスされてるものを後から変更することはたとえ作者でもできない。 仮に新バージョンから有料になったとしても、古いものがソース改変可能な 状態でライセンスされているため、必要となればいつでもそこから fork できるし、 そうするものが出てくるだろう。 「オープンソースで公開する」というのはそういうことだ。 そんなことは dee たんは当然わかってるからとうてい有料化はありえない話だけどな。 目的が「ゲームを作ること」で、ターゲットがPCでかつADV的な物を作る上でなら、 吉里吉里(や他の既存のものなんでもいいけど)を使わないのは、コスト意識が低いと 言われてもしょうがないな。そのぐらい吉里吉里は目的に対して良くできてる上にリスクが低い。 目的が「エンジンを作ること」まで含むなら文句言われ筋合いはないだろな。存分にやってくれ。
- 196 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 13:14:05 ID:vptNOMsJ]
- この時点では>>193が吉里吉里やNスク、FFD等を超える
超☆画期的なADVエンジンを開発するとは、まだ誰も予想していなかったのである
- 197 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:14:29 ID:xstPUn85]
- >>195
gif だったっけ? png だったっけ? いきなり有料化したの それが怖いのよ シナリオジェネレータは作らされてはいるが、無償だし、態度でかいし、作る気にはならないw とは言ったもののすでにあるんだろうね これは公開するとADVゲーム市場が崩壊するからね
- 198 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:28:04 ID:XuJ/qeAh]
- >>197
gifとjpeg(で、対応策として候補に挙がったのがpng)のはずだが あれらはオープンソースではなく会社の作った拡張子なので全然別物
- 199 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:36:49 ID:9QmAf7tL]
- >>197
>ぼくは小学生だけど まで読んだ。 中学生になったら、『オープンソース』といった知らない言葉が出てきたら ネットで調べたりすることをお勧めする。
- 200 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:45:12 ID:NvZ9Ci8y]
- >>197
あれは特許がらみ。特許と著作権は性質が根本的に違う。 特許の場合、仮に全部自分が作ってもひっかかるから吉里吉里とかオープンソースとか全く関係ない。 シナリオジェネレータ? 手直ししなくていいような実用レベルのものができたら、 ADV市場どころかどこでもひっぱりだこだよw 公開すれば一財産築けるね
- 201 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:48:07 ID:A5PV4jQB]
- これは酷いw
- 202 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 16:11:44 ID:nF+z85/G]
- ADVゲーム市場が崩壊するようなシナリオジェネレータとか
久しぶりに特大の発言来たな
- 203 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 17:45:52 ID:xstPUn85]
- なんだか意味不明なんで逃げますね〜
- 204 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 18:21:10 ID:DQxdMA/E]
- つ、釣りのつもりなんだろうか・・・・・?
それとも上でVBがどうのこうのって言ってた真性小学生か、既知外さんなの だろうか。
- 205 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 19:01:51 ID:idGHkHRQ]
- >>196に「シナリオジェネレータ」も追加な
- 206 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 19:23:28 ID:hkm+AIFp]
- 2chとは思えない親切な回答を聞いて態度デカいと言い
子ども向けのクソ丁寧な説明を意味不明と言う きっと大者になる
- 207 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 20:07:09 ID:CZhEe+7f]
- おおうましかがあらわれた!
- 208 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 21:24:45 ID:JxqtemYl]
- とりあえず腹筋を崩壊させる才能はあるかもしれん
- 209 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 03:12:13 ID:jy29upj0]
- 質問です。
文字を1ページ一括表示にしたいのですが、 できますか?
- 210 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 03:21:21 ID:TEfkdRE9]
- >>209
[nowait]
- 211 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 06:17:40 ID:KkTAAAeP]
- 初めての吉里吉里/KAG作品を製作中。
1対1のカードゲームで互いの札の大きさで勝負が決まるようなごくシンプルなものなんだけど ブラフも含めて相手の顔の表情を色々変化させようとしたらその思考ルーチンの複雑さに音を上げそうだ。 人間味のある思考って大変なんだなー。何かコツみたいなものってないだろうか‥ (´д`;)
- 212 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 06:25:47 ID:fJMQD4GX]
- よくある質問なのかもだけど、
掲示板とかでよくMainWindow.tjsに〜を追記してってのがあるけど、 これをAfterInit.tjsに書きたい場合(MainWindow.tjsを書き換えたくない) どうするのかがよくわかんなくて、 例えば、 KAGWindowのメンバ変数を追加するとか、 関数に処理を追加したりとかがどうやるのかわからない。 具体的には、kagに変数loadflag=false追加して loadBookMark内にloadflag=trueを追加したい。 これで栞ロード時に追加処理できるかなーとか思ったんだけど。
- 213 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 07:28:42 ID:7uJYexCl]
- >>212
関連事項になるかも知れない MessageLayer.tjsの変更点をAfterInit.tjsで書き換えるということを今してた function hoge(){ から } までをそのままコピペして変更したらできた 関数は再定義しても問題ないということなのかな
- 214 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 07:31:18 ID:7uJYexCl]
- と思ったら失敗してた orz
- 215 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 08:55:51 ID:uP8VSlYg]
- MainWindow.tjsにhoge(fuga)というメソッドがあったとすると、
AfterInit.tjsには、 kag.hoge = function(fuga) { System.inform(fuga); } incontextof kag; で上書きできるよ。 でもメンバ変数は別で管理した方が危なくなくていいんじゃないかな。
- 216 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 09:17:50 ID:u4AXJgBu]
- メンバ変数を追加したい場合、仮に変数名をtestとすると、Override.tjsに
global.KAGWindow.test = 0; って書くか、AfterInit.tjsに global.kag.test = 0; で出来る。関数も同様。 追加したい処理がちょっとしたものなら、>>215みたいに上書きするより tf.hoge = kag.hoge; kag.hoge = function(fuga) { //追加したい処理をここに記述 System.inform(fuga); //本来の処理を行なう tf.hoge(fuga); } incontextof kag; ってするのがいいと思う。 処理内容を根本的に変えたいのであれば>>215だね
- 217 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 09:20:54 ID:fJMQD4GX]
- 別に管理というと、
単純にシナリオファイル内でsf.loadflagとかにしたほうがいいのかな、安全性でいって。 シナリオファイル内(first.ksの最初とか)でsf.loadflag=falseとして、 kag.loadBookMark=function(num, loaduser = true) { // 栞番号 num からデータを読み出す sf.loadflag = true;//←この行を追加 return loadBookMarkFromFile(getBookMarkFileNameAtNum(num), loaduser); } でいいのかな。
- 218 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 09:39:20 ID:dAI8593+]
- メンバ変数追加する場合は処理の辻褄合わせるために
起動の始めの方に一行追加してはっきりさせておいた方がいいけど userフラグ(f、sf、tf)ならそれが必要なくなるから 手っ取り早く且つ解りやすく済むってのがある。
- 219 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 13:22:10 ID:iep/mgDw]
- >>211
情報としては、自分の札の大きさ、相手の表情(の変化)などが あるわけだと思うけど、 はじめから、ブラフを含めてとか考えると難しいことになりそうで 最初は素直なキャラから作り始めたらどうかな
- 220 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 13:32:39 ID:fJMQD4GX]
- 結局216を参考にして、AfterInit.tjsに
global.kag.loadflag = 0; tf.loadBookMark2 = kag.loadBookMark; kag.loadBookMark = function(num, loaduser = true) { //ロード時の追加処理 loadflag = true; tf.loadBookMark2(num, loaduser = true); } incontextof kag; でうまく動きました。ありがとう!
- 221 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 15:31:55 ID:jy29upj0]
- >>210
ありがとうございました
- 222 名前:211 mailto:sage [2009/03/07(土) 17:11:29 ID:faaX873R]
- >>219
RESありがとう、正にその通りで苦労してるところ。 割と素直な2人目までは出来たんだけど、だんだん強くなる3人目からがややこしくなってきた。 表情も最初は顔の他に手のポーズまで凝ろうとしたら1人の表情が200個ぐらいになって 整理がつかずバグだらけだったので、顔だけにしてさらに押さえて1人50個ぐらいにまで減らしたよ。 表情のファイル名も最初はsmile1、smile2とかだったのを"ああっ!"とか"ビクビク"に変えて ようやく整理出来てきた。 今のところこういう試行錯誤ばかり多くて、製作が進んだり戻ったりするのが一番ツライ。 思考ルーチンもだけど、そこから分岐した差分の管理とかがさらに難しいなー。 現在はテストプレイと称して、一番うまく動作してる1人目とダラダラ遊び続ける逃げモードだよ。
- 223 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 00:35:29 ID:joKXSO6O]
- >>222
初めは「強さ2程度の表情をした!」とか文章だけのゲームにしておいて 思考エンジンが完成してから絵に置き換えたらどうでしょう。 あとデータはTJSの配列で定義しておくといいです。
- 224 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 12:08:23 ID:sCuwdZMS]
- ここで聞いていいことかわからないけど質問です。
DirectX使った演出を組もうとしてるのですがCPU使用率が常時100%行きます。 フレームレート落としたり更新矩形を小さくすれば多少改善されますが、カクカクしたりします。 ■手順 1.DirectXでレンダリング ↓ 2.ピクセルデータを吉里吉里レイヤーに転送(memcpy) ↓ 3.Layer.updateで更新 どうも2の転送処理以上にupdateがボトルネックになってるようです。 もっとスマートだったり軽い処理手順にできる方法は無いでしょうか……
- 225 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 14:53:21 ID:5QzPfy2V]
- Layer.update は更新フラグたててるだけだからそれ自身は関係ないけど
全画面転送が毎回発生することになるからその後の更新処理は重くなる。 そういうことやりたい場合は drawdevice 機能をつかって更新系をのっとるのが基本 あと、なにをどうやって処理してる?>フレームレートの調整 まさか busy loop はしてないだろうとは思うけど念のため
- 226 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 15:33:06 ID:Msoi3EzX]
- 素直にDirect3Dでシステム作った方がいいんじゃね? とかいったらまずい?
- 227 名前:224 mailto:sage [2009/03/08(日) 16:31:45 ID:sCuwdZMS]
- >>225
PassThroughDrawDeviceのソースを読んでみたんですが、アップデート処理ではiTVPLayerManager::UpdateToDrawDeviceを呼んでるだけなので 描画処理をDirectXなりで高速化しようと思ったらレイヤ関連の低水準な部分から実装し直す必要がありそう? レイヤのピクセルデータをDirect3Dのテクスチャで持っておいて、更新時にレンダーターゲットに合成とか。 そこまでいくと既存エンジン使うことの意味が薄れるというか……。 環境依存になってもいいから速度が欲しいって層も結構いるはずなので誰か実装して公開してないかな。 欲しいなら自分で作れって話だけど、はい。 FPS調整は今のところContinuous Handlerで描画処理を呼んでるので、-contfreqで呼出頻度を変えてるだけです。 >>226 慣れ親しんだ吉里吉里(+KAG)で書きたいので、何とかどうにかしたい。
- 228 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:22:04 ID:5QzPfy2V]
- >>227
>レイヤのピクセルデータをDirect3Dのテクスチャで持っておいて、更新時にレンダーターゲットに合成とか iTVPLayerManagerはそのための処理を抽象化した機構だぞっと iTVPLayerManager 経由で吉里吉里側で把握してる更新領域分のビットマップだけを送り込んでくれるようになってる。 ただし、吉里吉里側の設計上、drawdevice におくりこんで制御できるのは、子レイヤの合成を全部把握してる primaryLayer のみ 既存実装での Update() はそのレイヤマネージャの更新処理の口を全部たたいてるだけ。 iTVPDrawDevice::StartBitmapCompletion, NotifyBitmapCompleted, EndBitmapCompletion が順次呼ばれてビットマップ情報の drawdevice 側への転送が行われるようになってる。 そのビットマップをどう保持するかは drawdevice の実装次第で、Direct3D ならテクスチャに 保持して、更新があった部分だけ lock してテクスチャを更新することになる。 そのテクスチャ化した吉里吉里レイヤの実際の描画処理は Show() で行う。 ソース眺めるなら、drawdeviceD3D とかも見るべし。複数の primaryLayer のビットマップ情報を テクスチャ化して、拡縮した上で合成かけるサンプルになってる。もっとも単純に生成した順に重ねてるだけだが、 最背面:吉里吉里の primaryLayer その1 中間: 任意の D3D の描画 最前面:吉里吉里の primaryLayer その2 といった形への改造なら簡単に作れるだろう。 ただし、これは、吉里吉里本体が内包してる D3D7 のインターフェースを使ってる から、自前で3D処理も作るなら今なら D3D9 で書き直したほうが良いとは思う。 実際の3Dエンジンとの複合例なら drawdeviceIrrlicht のサンプル実装もある。 Irrlicht 描画の内容を吉里吉里のレイヤに吸い込む処理ももってるから、 それはそれで参考になるだろう。それはやっぱり転送大量で重いけどね FPS処理はその実装でおk
- 229 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 05:04:31 ID:WZvWWyt5]
- >>211
こういう場合は、ルールを明確でシンプルにすること。 例えばパラメータがいろいろあるからといって、それらを一つ一つ表情に反映させようとすると めちゃくちゃになる。211が言っているようなゲームの思考ルーチンだと、例えばどきどき度など というパラメータを1つだけ作って(どきどきどの算出関数は他の複数のパラメータを参照して良い。 またこの関数をキャラのタイプ別に用意しても良い)そのどきどき度に応じてキャラ表情を1次元上に並べる。 そして、個性や強さは、そのどきどき度をどの程度補正できるかというパラメータで表現してしまう。 補正パラメータが適正値を超えると、逆の反応を示すようになるわけ。 これで、基本がシンプルになったから、後は性格付け(勝ってると補正パラメータが下がって いくとか、ゲーム数が増えると補正パラメータが下がっていくとか)と、プレイヤーの反応に 対するイレギュラー(大きくかけると驚くとか)をいくつか入れてやれば、プレイヤー側で 勝手に裏読みし始めるようになるので、それなりのものはすぐ作れるよ。 ポイントは、多数のパラメータを、表情を表示するために一元的なパラメータにしてしまうところだな。
- 230 名前:211=222 mailto:sage [2009/03/09(月) 06:51:51 ID:+2V/95PJ]
- >>223,229
アドバイスありがとう! でも実は‥ 関数は使ってないんだ。(´д`;) 処女作なので、条件分岐と変数に四則演算や1〜100の乱数を入れるスクリプトだけで 作れるものをと思って挑戦した次第。 何しろどういう計算の関数にしたら思うようなシステムになるかまるっきり思いもつかない。 それぞれをマクロにまとめてどうにか見られる形になったというレベルなもので。 ゲーム自体は2人がまず参加料のチップを出した後、1枚ずつの札を引いてチップを賭ける。 札の大きい方が勝ちでチップを総取りという実に単純なもの。 キャラの行動も個性を抜きにすれば、キャラが賭ける側(子)の時は見た札の大きさに反応して ベットする(賭ける)枚数を決める。キャラが受ける側(親)の時はプレイヤーが賭けた枚数に 反応してコールするか降りるか決める。というだけのごく単純なもの。 ただし表情は、札を配られる前、配られて札を見た時、プレイヤーの行動に反応する時、 自分の行動をする時、勝負の結果に対する時 etc..かなり多岐に渡るという。 やっぱりちゃんとTJSを勉強しないとダメだなー。でもそれを使えるようになっても、 どういう関数に組んだらいいかというセンスもまた必要なわけで。 とりあえず今回はここまで進んでいるのでこのまま力押しでいこうかと。 >>223のまず絵を入れる前に文章で仮製作するというのは今すぐそのまま使える手法でいいね。 >>229のアドバイスも、今後関数を勉強してぜひ試してみたいと思います。
- 231 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:12:27 ID:xRvvOvpc]
- タイトル画面のメニューのボタンを押したらpush音が鳴るようにしたのですが、
(linkタグのclickse属性でwavファイルを鳴らしています) 起動時の一番最初だけタイミングがずれてイヤです (1)ずれる原因は、次のうちどれでしょうか ・wavを鳴らすための準備(初期化?)をしている ・wavファイルがどこのフォルダにあるか探している ・その他初歩的なミス (2)2回目以降がきちんとタイミング良く鳴るわけは、次のうちどれでしょうか ・キャッシュデータ(って言うのだろうか)が残っている ・対象のwavファイルまでの道筋を記憶している ・その他 (3)これを解決するにはどのようにしたらいいのでしょうか
- 232 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:47:25 ID:FL2+xgM6]
- 解決法:oggにする
- 233 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:51:20 ID:xRvvOvpc]
- >>232
目から鱗! みなさんそうやってらっしゃるんですかあ
- 234 名前:名前は開発中のものです。 [2009/03/09(月) 15:19:00 ID:cWf/NN7v]
- >>231
どっかで、無音のWAVを最初にマクロとか色々読み込む段階で一回鳴らしとくといい ってのを見たことがあるよ 理由は忘れたけど 起動してから初めて使うWAVは、ずれるみたい
- 235 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 15:37:20 ID:xRvvOvpc]
- >>234
無音wav これはひょっとしたらと思ったやり方です やはりやってらっしゃるのかあ さっきコンソールを見たら、やっぱり初回wavの時に何かごちゃごちゃやってるようです (info) DirectSound Driver/Device found : プライマリ サウンド ドライバ 15:25:57 (info) DirectSound Driver/Device found : SoundMAX Digital Audio [C:\WINDOWS\system32\ ……以下略 wavファイルの方に問題ではなく、ドライバの起動(って言うのかな)に時間がかかるようですね 無音wavの利点は、wavファイル=効果音、oggファイル=BGM、と大まかな使い分けで分かりやすい この方法を試してみることにします ありがとうございました
- 236 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 17:31:27 ID:BBoPyAuw]
- クリック待ちアイコンをタグで変更できますか?
できるのならどうやるか教えてくださいお願いします
- 237 名前:名前は開発中のものです。 [2009/03/09(月) 17:40:09 ID:skZwU9FF]
- >>236
devdoc.kikyou.info/tvp/docs/kag3doc/contents/Tags.html#glyph リファレンスちゃんと嫁
- 238 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 18:32:09 ID:7gFS/87r]
- >>236
何をどうググったのか、知りたいところだ。
- 239 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 21:35:21 ID:AztcWJKK]
- メッセージレイヤに文字描画途中で[style]でalign="left"を指定すると、
直前まで描画していた文字が少し太くなるきがするのだけど、 原因がわからない。 具体的なソースは、 [current layer="message0"] ;フォント等の設定 [delay speed="200"] [font shadow="false" size="25" face="MS ゴシック" bold="false" color="0xFFFFFF"] [style align="left" linespacing="10"] ;文字描画 あああ[current layer="message0"] いいい[font shadow="false" size="25" face="MS ゴシック" bold="false" color="0xFFFFFF"] ううう[style align="left" linespacing="10"] えええ[p] このソースでうううの後のstyleタグのalign="left"が有るか無いかで、 微妙に表示が違う・・・。何故だ・・・。だれか教えてくれ〜!!
- 240 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 13:31:06 ID:TrSYriSF]
- >>239
いろいろ試していて面白いソースですねw フォントや太字が関係ないのは、文字サイズを大きくしてみたら分かります (少し太くなるように見える現象が、大きくしてもあまり変わらない) スクショを撮って拡大してみたら、アンチエイリアスが原因と分かりました メニューから「文字表示」「アンチエイリアス」でチェックを外してみたら、変化がなくなりました 以下は予想です すでに文字が表示されてる状態で左寄せをすると、再描画されることになり、 2重にアンチエイリアスをかけて、結果少しだけ太く見えた 吉里吉里内部のことは分かりませんw
- 241 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 15:36:26 ID:uuY2ymni]
- >>240
でたらめなソースですね、ほんと。 すいません。 何故コレに気づいたかというとマクロに処理を一括させてたんですが、 文字列をマクロにわたして出力させたときに、 通常1行ごとにわたしてたので気づかなかったんですが、 1行にこのマクロを複数呼び出すと、この現象が起こって。 それでどこに原因があるか調べるためにこのソース書いたんです。 アンチエイリアスが原因なんですか・・・。 正直聞いてもどう対処すればいいのかわからないw アンチエイリアス切るしかないのか・・・。
- 242 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 16:30:49 ID:TrSYriSF]
- >>241
再描画してることは分かりました 最初を左寄せ、後を右寄せとかに変えたら判明した これをよく考えてみると、アンチエイリアスが悪いのではないかも知れません 白の上に白を重ねても白に変わりはないけど、 アンチエイリアスのグレースケールの部分を重ねたことによって、濃くなったと そもそも[style]は、文字を表示する前に使うタグなのではと思ったりする 文字を途中まで書いて、[style]を入れるのは、期待されてない使い方なのかと このマクロを呼び出す時には、メッセージがクリアされてる状態であることか、 途中で呼び出すのなら、[style]をマクロから外すことで対処できるかと思います
- 243 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 17:00:30 ID:TrSYriSF]
- 微訂正
ごめん、今調べて分かったけど、根本的なことが抜けていた [style]は行のスタールを指定するタグだから、行の途中というのがまずかったみたい メッセージがクリアされてる状態でなくても、改行して次の行なら挙動は問題ない
- 244 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 17:08:26 ID:uuY2ymni]
- >>242
なるほど!メッセージレイヤーがクリア状態のみ実行すればいいのか! cond属性にクリア状態の判定を行えばいいかな? メッセージレイヤーがクリア状態か判定する方法を、 MessageLayer.tjsを見てできそうなの探したんですが、 [style align="left" linespacing="10" cond="kag.fore.messages[0].lastDrawnCh==''"] でいいんですかね? lastDrawnChって最後に描画した文字とのことで、 [er]とか[cm]でクリアすると空白になると予想したのだけど。。。
- 245 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 17:12:18 ID:uuY2ymni]
- >>243
ほんと色々ありがとうございます。 クリア状態の判定じゃなくて、行頭かの判定でもいいってことですよね? やり方がわからないですがw
- 246 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 21:18:35 ID:1sBYFFlG]
- >>239
今さらだが、kagのソース (MessageLayer.tjs) を解析してみた。 文字を描画するときはいきなりメッセージレイヤに描画ではなく、 行ごとに "行描画用浮遊メッセージレイヤ" に描画してから、 それをメッセージレイヤ本体に転写している。 で、"メッセージレイヤ" と "行描画用浮遊メッセージレイヤ" は 両方とも見える状態のため、転写後 "行描画用浮遊メッセージレイヤ" の文字をクリアしないと文字が重なり輪郭が太くなる。 (アンチエイリアスがかかていると輪郭部分で太くなる) で、この転写のタイミングは3つあって (1) 改行 (2) [locate]タグ (3) [style]タグ の align 属性 (1)(2) は 転写後に "行描画用浮遊メッセージレイヤ" を初期化 (文字もクリア)しているけど (3) は初期化していないから >>239 のようなことが起こる。 例えば同じ行で1文字ごとに [style align="left"] を入れると 今度はメッセージレイヤ上に重ね書きを繰り返すので 前の文字がどんどん太くなるし、メニューから "アンチエイリアス" を OFF にすれば文字は全く太らない。 また1文字ごとに [style align="left"], [style align="right"] を交互に入れると今度は文字の数が増えてしまう。 (続く)
- 247 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 21:21:36 ID:1sBYFFlG]
- >>246 の続き
で、対策なんだけど、行の途中で [style align] を変更した時の 動作(仕様)によって変わる。 (仕様1) 変更時点で行の全ての文字は新しい align に従う。 (対策1) MessageLayer.tjs の function setStyle(elm) で fixLineLayer(); を削除。(2箇所) (仕様2) 変更時点より後の文字だけ新しい align に従う。 (対策2) MessageLayer.tjs の function setStyle(elm) で fixLineLayer(); の後に文字をクリアする処理を追加。(2箇所) (仕様3) 行の途中で [style align] を変更してはいけない。 (仕様1)(仕様2) が本来の仕様なら kag のバグかな?
- 248 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 22:17:59 ID:uuY2ymni]
- >>246
解析ありがとうです。 やっぱりマクロで組むときに、仕様3で、 cond="current.x == current.marginL"と書いて、 行頭時のみstyleタグを使用するようにしようと思います。 助言を頂いたお二人ありがとう!
- 249 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 22:55:28 ID:uuY2ymni]
- cond="kag.current.x == kag.current.marginL"だった。。。
- 250 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 11:22:25 ID:61HDwFvy]
- >>248
仕様3で 使用するように しよう
- 251 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 14:27:43 ID:3KzMS1iA]
- おもしろいでちゅねー
- 252 名前:名前は開発中のものです。 [2009/03/11(水) 17:08:42 ID:+tS0RLY3]
- はじめての
はいはいワロスワロス
- 253 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 22:20:26 ID:JcAglrjg]
- バグ報告よろちくび
- 254 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 18:28:17 ID:OREavZTD]
- 初歩的なことだけど、
シナリオファイル内で[iscript]で関数を記述したとして、 その[iscript]通過後に、[jump]でその関数の記述前に飛んで、 もう一度[iscript]の所にきたらどうなるの? 関数を再定義するのかな? timer関数とかで、enabled=trueの時に、 同じ関数を読み込むとかエラーおきるのだろうか?
- 255 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 02:04:19 ID:QcRrk2h9]
- 自分で試せよんなもん
- 256 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 15:44:01 ID:EYxKsgP9]
- >>254
オーバーライドの仕組みを勉強してみるといいよ。
- 257 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 17:27:38 ID:4y2AAoc7]
- KKDE2で240桁以降って下のバーや右カーソル押しても潜っちゃって見れないんだけど
これは改行するしか対処方ないかな? 結構探したつもりなんだけど、指定行や右端で折りたたみってオプションないよね?
- 258 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 19:37:02 ID:r/LS/GQ0]
- >>256
それはオーバーライドとは違うような… オーバーライドって言ってみたかっただけならスマス
- 259 名前:名前は開発中のものです。 [2009/03/15(日) 19:07:43 ID:JjWHmm0Y]
- 最近プラグイン製作にはまってるんだ
今100種類くらい(使い道アルかは知らないけど)あるんだけど これってどっかで公開したら需要あるかな? 作るだけで満足しちゃって、俺自身は使ってないから不具合とかあるかもしれないんだけどね 主に、エフェクト系が多い Fateに使われてるようなエフェクトは全部作った 音響系も、MIDIを内部で変換してWAVで流す(つまり、基本的にやWAVを使用できる)プラグインとか作った 書いてて思ったけど重要なさそうなのばっかだな…… おとなしくゴミプラグインは削除して作品製作にはいるか。チラ裏すまん
- 260 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 19:11:06 ID:/7mOtL8f]
- >>259
興味あるから公開してほしい。
|

|