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/
772 名前:名前は開発中のものです。 mailto:sage [2006/10/15(日) 10:19:33 ID:TsWQJW5K] 766,768のやり方は軽くていいんだけどその代わり吉里吉里でいうvague値が使えないから トランジション用のテクスチャをUSAGE_DYNAMICで作って CPUでアルファ値を書き換えるってやり方もそのうち試してみてもいいと思うよ と流れを読まずに下記子
773 名前:名前は開発中のものです。 mailto:sage [2006/10/15(日) 10:51:53 ID:TsWQJW5K] ついでにSUBTRACTは古いグラボで対応してないのがあった気がするんで 機会があったら調べてみるのもいいかもね と流r
774 名前:691 mailto:sage [2006/10/15(日) 13:25:52 ID:ZmNwMkpc] あーもうあったまきた 見てろよこうなったらサーバに残ってたソース使って絶対完成させてやるからな! ただし明日からな! >>773 実はおれもその話が気になってた D3DTSS_ALPHAOPを使ったものと、環境依存のないPascalを使ったものの二種類を用意しておけば問題ないかもな
775 名前:名前は開発中のものです。 mailto:sage [2006/10/15(日) 19:31:36 ID:H7M4nsmQ] ご愁傷様です。 これに懲りずに頑張れ。 ついでに、これに懲りてバックアップ多めに。 >773 SUBTRACTが駄目でも、MODULATEを使えばそれなりに見せられないかな。 >772 これか。 ttp://devdoc.kikyou.info/tvp/docs/kag3doc/contents/Trans.html 確かに今のやり方だとvagueが最大?で固定されてしまうのかな。 うーん思いつかない。
776 名前:691 mailto:sage [2006/10/17(火) 21:43:49 ID:HTib+2UI] おいすー およそ>>760 程度にまで復旧できたぜ! 高速スキップ、トランジション、文字色変更、バックログ、ホイール操作、文字キャッシュ検索高速化など。 つーかカスタマイズしたライブラリまで消えちゃって、これを作り直すのに時間を割いたわけだが(´д`;) まったくおれの集中力と粘り強さには毎度まいど驚嘆させられるよな とはいえメッセージスキップから復帰すると100%落ちる(!)のでまだうpできねーです・・・ 一回作ったんだから何とかなりそうなものだけどなかなかうまくいかないなぁ >>775 そのページ読んでみたけどvagueって面白いパラメータだね αを計算するとき、しきい値を考慮すればできるかな? うーむ、境界がガクガクになりそうな予感・・・
777 名前:691 mailto:sage [2006/10/21(土) 04:53:57 ID:D3IMVVB2] members3.jcom.home.ne.jp/jellyjam/p/novel14.zip ・ウィンドウ位置を保存できるようにした ・トランジションの実行方法をPascalとDirect3Dの二種類から選べるようにした ・ループ内ループをさらに減らして最適化 負荷ちょっとだけ減りました。スキップ速度はこのくらいあればいいよね? あー、次は変数と条件分岐か・・・
778 名前:名前は開発中のものです。 mailto:sage [2006/10/21(土) 08:49:29 ID:5+bS6DmJ] >>691 「指定されたファイルが見つかりません。」ですた……
779 名前:691 mailto:sage [2006/10/21(土) 12:47:23 ID:D3IMVVB2] >>778 (; ・`д・´) 檄スマソ拡張子間違ってた! なんかJ-COM垢の機嫌が悪いみたいであっぷろーどできなくなっちゃたから、 ゲムデブにご協力いただくことにしますた ttp://gamdev.org/up/img/7904.zip ついでといっちゃあなんだが タイトルに戻るとき、音を全部消すようにできてなかったので直しといた
780 名前:167 mailto:sage [2006/10/21(土) 20:24:51 ID:veRCNjBt] 御久し振りで御座います(´Д`) 私は現在、プログラマが死後に堕ちるであろうリファクタリング地獄の三丁目に居りますorz 何時終わるのやら………誰かボスケテ(;´Д`) 一応、次回更新時には ・自動改行 ・Z座標の実装 ・プラグイン仕様の完全実装 を目標に出来たら良いなとか思ってみたりもしないでもないです。
781 名前:名前は開発中のものです。 [2006/10/22(日) 05:29:18 ID:0GnJFT5M] 良スレage
782 名前:名前は開発中のものです。 mailto:sage [2006/10/23(月) 23:15:09 ID:phivSpR5] >>779 いいですな〜。 軽快に動いてます。 トランジションも良い感じ。 作ってみたいという気になりますた。
783 名前:691 mailto:sage [2006/10/24(火) 06:22:55 ID:z/n6rwSL] >>782 おお〜ありがとう 感想をいただけると張り合いが出るなぁ このところ仕事が大変でなかなか進まないけど、今後ともこのスレともどもよろしく願いますよ(←偉そう if文のオペランドのとり方に少し迷ってるよ これまでの命令文の書式を踏まえるなら _if (Hoge=0), *labelname ってな感じだろうけど、分岐でラベルジャンプしかできないのはなんかかっこわるいよな 条件式のあとに好きな命令を複数入れられたらいいんだろうけど… _if (Hoge=0) then _Color $FFFFFF _Goto *labelname _endif; とか。 でもこれじゃパーサかコンパイラ作るのと同じじゃねとか思ったりして あくまで「ノベルツール」の本分を忘れないようにしないといけないよな
784 名前:名前は開発中のものです。 mailto:sage [2006/10/27(金) 10:41:03 ID:c6GTcHI3] どっちが見やすい・理解しやすいかは プログラマーとプログラマーでない人では感覚が全然違うかんね 難しいところだね ガンガレ
785 名前:691 mailto:sage [2006/10/29(日) 21:14:45 ID:uPpqMaj3] あんま進んでねぇーーー members3.jcom.home.ne.jp/jellyjam/p/novel15.zip ・リンカ(選択肢)のの色を動的に変更できるようにした( !LinkerColor !LinkerEdgeColor ) ・タイムウェイト( !TW )の挙動を直した 以前からタイムウェイトの挙動が気になってたんでこの際直しといた ちなみに0〜255までの数値を指定できるぜよ 今回もエラーチェックは甘めなので、添付のソース書き換えるにしても 変な座標とか数値とか指定すると簡単に落ちると思ふ 条件分岐? なにそれ( ´∀`) 条件式で凝ったことやろうと思うとけっこう大変なんだこれが
786 名前:名前は開発中のものです。 mailto:sage [2006/10/31(火) 22:38:08 ID:sRR/DbRF] 空気読まずスマソm(__)m スキャナー選びでもの凄い悩んでんだけどお勧めのスキャナーない?
787 名前:名前は開発中のものです。 mailto:sage [2006/11/01(水) 18:27:31 ID:VwaCyLKm] スキャナはA4までだと辛いよ
788 名前:名前は開発中のものです。 mailto:sage [2006/11/01(水) 18:59:30 ID:hxUT5DqW] ってことは結構高め?
789 名前:名前は開発中のものです。 mailto:sage [2006/11/01(水) 22:07:04 ID:p3enbp+j] >>785 おまえ元クロヒツジもとい元マグロ漁船のぬだろwwwwwwwwwwwwwwwww
790 名前:691 mailto:sage [2006/11/01(水) 22:16:11 ID:xDE8tosI] いまのとこ ・ゲーム中、テキストの表示・非表示を切り替えることができるようにした ・文字列型 と 32bit符号付数値型 、真偽値型の変数を使えるようにした うpはもう少し煮詰めてからにしよう。 変数の宣言・代入について。 現状、代入は即値のみ・オペランドによって変数の型を自動的に判断するようになってる。 例えば !var hoge, 255 //これは数値型 !var hoge, -255 //これも数値型 !var hoge, 'UNKO' //これは文字列型 !var hoge, True //これは真偽値型 とか。今後都合が悪くなるようなら仕様変更もありえるな。(←無計画すぎ! ちなみに数値型はオーバーフロー・アンダーフローが起きないように注意して使うのが必須条件さね。 考えることが多くてそこまで面倒見切れん。 if文の条件式、即値ならすぐできるんだけどなぁ !if (Hoge<255) //これなら簡単 !if (Hoge<255) and ((not Hage) or Unko) xor (Hige='ABCDE') //こんなのどうやったらいのか・・・ 逆ポーランド法とか応用したらできるかなぁ 以上、現状報告でした!
791 名前:691 mailto:sage [2006/11/01(水) 22:24:45 ID:xDE8tosI] >>789 ( `∀´)ケケケなんのことやら おいらはただの数字コテですぜ
792 名前:名前は開発中のものです。 [2006/11/01(水) 23:27:39 ID:3J8+zwro] >790 !if( Foo<>0 ) and ( 1000/Foo
793 名前:名前は開発中のものです。 mailto:sage [2006/11/01(水) 23:28:49 ID:3J8+zwro] 書きかけで送ってしまった。 >790 !if( Foo<>0 ) and ( 1000/Foo > 5 ) then... とかだとRPNだとアカンよ、
794 名前:691 mailto:sage [2006/11/02(木) 22:13:42 ID:Dhql3Jxs] >>793 むむ? なんでなんで? kwsk divide by 0 とかは関係ないよね
795 名前:名前は開発中のものです。 mailto:sage [2006/11/02(木) 23:08:39 ID:C7j+kj57] そのとおり、0除算が出るから。 常識的にはFooが0の時には( Foo<>0 )が成立しないので後が何であろうとも全体として不成立になるはず。 しかし、RPN処理の場合は正格評価になるので( 1000/Foo > 5 )を必ず評価してしまうことになる。 (Foo 0 <> 1000 Foo / 5 > and あたりになるかな?) これは望ましい状態とは言いがたい。 なお、notとxorは正格評価で問題ない。
796 名前:167 mailto:sage [2006/11/03(金) 10:28:34 ID:MzOzsI/Z] >795 横レスですが、成る程、参考になります(´Д`) とはいえ、RPNの便利さは捨てられませんが………orz
797 名前:名前は開発中のものです。 mailto:sage [2006/11/03(金) 11:49:55 ID:GIcTFPfW] おまけ:いくつかのスクリプト/プログラミング言語でのANDの評価(ORも同様)。 C/C++ && 短絡 *1 java && 短絡 VB And 正格 AndAlso 短絡 delphi and 短絡 scheme and 短絡 perl &&,and 短絡 TJS2 && 短絡 NScripter *2 *1 C++で演算子オーバロードした時は正格 *2 なし:式を扱えない
798 名前:691 mailto:sage [2006/11/03(金) 20:02:48 ID:LiNNIOVd] >>795 すごくよくわかった。795タンは物知りだなぁ(*´∀`*) それと>>797 を見る限り、短絡評価のほうが誤解がなくてよさそうだね うーん、どうしたらいいんだろう (a) Foo 0 <> 1000 Foo / 5 > and (a-1) Foo 0 <> (a-2) 1000 Foo / 5 > (a-3) <a-1> <a-2> and (a)をこういうブロックに大別して…、普通に上から順に式を評価していくだろ? 評価の過程で divide by 0 が出そうだと判明したら、 実際の計算はせず、「そのままだとエラーが出そうだ」という情報だけを記憶しておく。 んで(a-3)にきたら、まず<a-1>をみて、偽なら<a-2>の評価は無視して全体の評価として「偽」を返す。 <a-1>が真の場合、続いて<a-2>の評価を見るわけだが、「エラーが出そうだ情報」を記憶しているときは これ以上続けるわけにもいかんので、これまでの作業をすべて放擲して if 文を抜ける、とか。 なんだ・・・おれは何を書いているんだ?わけわかんなくなってきt ここまで↓作ってはしゃいでたら(-2*-5)とかの単項演算子が使えないことに気づいたorz members3.jcom.home.ne.jp/jellyjam/img/RPN.png 付け足していくより最初からやり直したほうがはやそうだ… また明日か…
799 名前:名前は開発中のものです。 mailto:sage [2006/11/03(金) 20:44:41 ID:GIcTFPfW] >798 こんなんはどう? RPN作る/処理するのが面倒になるけど。 A and B A #dup not #ifskip<N> #pop B #marker<N> A or B A #dup #ifskip<N> #pop B #marker<N> #dup スタックの一番上を複製する #pop スタックの一番上を捨てる #ifskip<N> スタックの一番上を取り出し、 trueなら#marker<N>まで読み飛ばす falseならそのまま続行 #marker<N> 読み飛ばされる ※入れ子になる場合があるのでNが重複しないよう気をつけること。 A and B and C A #dup not #ifskip<N1> #pop B #dup not #ifskip<N2> #pop C #marker<N2> #marker<N1> ( Foo<>0 ) and ( 1000/Foo > 5 ) Foo 0 <> #dup not #ifskip<0> #pop 1000 Foo / 5 > #marker<0> 三項演算子もできるかな A?B:C A #ifskip<N1> C #ifskip<N2> #marker<N1> B #marker<N2>
800 名前:名前は開発中のものです。 mailto:sage [2006/11/03(金) 22:23:23 ID:GIcTFPfW] >798 > members3.jcom.home.ne.jp/jellyjam/img/RPN.png (25*Hage/24)が 25 Hage 24 / *、つまり/が*より優先になってる(or 右結合になってる)けどOKなの?
801 名前:167 mailto:sage [2006/11/03(金) 23:12:17 ID:MzOzsI/Z] 複雑なRPNですね一度基盤を(自力で)作り上げたのに、今から組み直すのはぞっとします(;´Д`) とりあえず、今はVer1.0を目指して頑張っていこうかなと。作業が八割方終了したので、近々新Ver出せそうです(´Д`)
802 名前:名前は開発中のものです。 mailto:sage [2006/11/03(金) 23:15:24 ID:LErpqGYA] 【スクリプトをちょっと紹介させてください】 アドベンチャーゲーム用スクリプトシステム「MICoスクリプト」を開発しました。 軽いこと&商用ゲームでの使用可能な高性能を目指して設計しており 複雑な演出も簡単に作れるシステムです。 詳しい紹介は公開サイトにありますので、よろしければ使ってみてください。 公開サイト ttp://mico.x0.com
803 名前:名前は開発中のものです。 mailto:sage [2006/11/03(金) 23:37:17 ID:pcqCA54V] ダウンロードできません
804 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 00:20:08 ID:s0zwtZjj] URLに¥をつけるなんて、相当●●だなぁ。大丈夫か?>>802 ttp://mico.x0.com/files/MICo100c.zip ttp://mico.x0.com/files/Sample01.zip
805 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 12:59:51 ID:zX4Hlg4d] ぬはDelphiなんだよな。のらだいこさんとこのやつは見たのか?
806 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 14:03:18 ID:uWIJc3Ba] のらだいこ本人乙。
807 名前:名前は開発中のものです。 mailto:sage [2006/11/04(土) 20:39:01 ID:zX4Hlg4d] 俺は違うぜwwwwwww通りすがりのVIPPERwwwwwwwww
808 名前:名前は開発中のものです。 mailto:sage [2006/11/05(日) 14:24:28 ID:bBy3ooVM] 再び空気読まずスマソ ペンタって何インチぐらいがいい?
809 名前:691 mailto:sage [2006/11/06(月) 06:03:55 ID:/PkNNPJx] オハヨー members3.jcom.home.ne.jp/jellyjam/p/parser.zip ここ↓のを参考にして、Delphi に移植してみた。これはすごい! ttp://www.h4.dion.ne.jp/~zero1341/winback2.htm 実際の計算は行わず、中置記法を逆ポーランド記法に返還するだけのものだ。 ↑に倣って、式が変だったりするとエラーを出力するようになってるはず。 ちなみに演算子の優先順位は以下の通り。Delphi と一緒やね。 優先順位は括弧を使って変更できるよ。 1 位(最高) not,-(単項演算子、RPN 上では neg に変換される) 2 位 *,/,mod,and 3 位 +,-,or,xor 4 位(最低) =,<>,<,>,<=,>= しかし式が複雑になるほど変換するコストが気になるなぁ 果たしてループ内でストレスなく機能してくれるだろうか? インタプリタの限界はどこだ。
810 名前:691 mailto:sage [2006/11/06(月) 06:47:54 ID:/PkNNPJx] >>799 んー、難しい! これ、not はどこに掛かってるの? だめだ、仕事終わってからまた考えよう。 >>800 あと右結合、直ってると思いますぜよ >>801 ガンガレ。超ガンガレ >>805 情報thxですよ。こんな便利なものがあるとは知らなかった。 んでも、今やってることってそれほど難しいことじゃないから、まずは自分で作ってみたいんだよね。 などと大見栄を切ってみるテスト。もう後には引けないぜ? >>808 わかんないけど33インチぐらいでいいんじゃね ttp://www.pentaputter.com/products/index.html
811 名前:名前は開発中のものです。 [2006/11/06(月) 07:07:41 ID:WD4G+Tat] >810 A and B → A #dup not #ifskip<N> #pop B #marker<N> を例にする(A,Bは真偽値を返すRPN式)。 []はスタック状態(左がスタックトップ)、 //以降はコメント。 ●Aがtrueの時 [] A #dup not #ifskip<N> #pop B #marker<N> [true] #dup not #ifskip<N> #pop B #marker<N> [true,true] not #ifskip<N> #pop B #marker<N> [false,true] #ifskip<N> #pop B #marker<N> //偽だったので読み飛ばしは無し [true] #pop B #marker<N> //結果はBのみで決まるのでAは要らない [] B #marker<N> [B] #marker<N> //マーカは読み飛ばす [B] (END)
812 名前:続き mailto:sage [2006/11/06(月) 07:08:58 ID:WD4G+Tat] ●Aがfalseの時 [] A #dup not #ifskip<N> #pop B #marker<N> [false] #dup not #ifskip<N> #pop B #marker<N> [false,false] not #ifskip<N> #pop B #marker<N> [true,false] #ifskip<N> #pop B #marker<N> //真なので対応するマーカまで読み飛ばす [false] (END)
813 名前:167 mailto:sage [2006/11/09(木) 10:39:11 ID:FF84JFMS] ほしゅ(´Д`) ソースコードの変更は既に終わったのですが、パフォーマンスが極端に落ちてますorz なので、プロファイラを入れてあっちこっちを弄る日々………誰かボスケテorz
814 名前:167 mailto:sage [2006/11/09(木) 13:36:01 ID:FF84JFMS] 誰か見ている事を期待しつつ。何とか、パフォーマンスが極度に落ちている部分を発見しました(´Д`) ですが、何故落ちているのかが理解出来ず………誰か説明出来ますか?orz if((m_Log_Text.at(m_It)>=(char)0x81 && m_Log_Text.at(m_It)<=(char)0x9F) || (m_Log_Text.at(m_It)>=(char)0xE0 && m_Log_Text.at(m_It)<=(char)0xFF)){ m_It += 2; } を if((m_Log_Text.at(m_It)>=0x81 && m_Log_Text.at(m_It)<=0x9F) || (m_Log_Text.at(m_It)>=0xE0 && m_Log_Text.at(m_It)<=0xFF)){ m_It += 2; } と変えるとパフォーマンスが急激に悪化します、ただのキャストの有無だけなのに何故なのでしょう(´Д`)
815 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 14:38:01 ID:zlLv3Pnq] みてるよノシ けどサパーリワカラン
816 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 14:53:50 ID:+EWAYAdH] >814 increase warning level of your compiler!
817 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 15:17:42 ID:z1ieNEFL] パフォーマンスはさておき、一時変数作れよ 比較式を見直せよ unsigned char hoge = static_cast<unsigned char>(m_Log_Text.at(m_It)); if( !(hoge < 0xA0 && hoge > 0xDF) ){}
818 名前:167 mailto:sage [2006/11/09(木) 20:25:13 ID:FF84JFMS] 基本的に、そこでしか.atは使っていないのでたった4つの命令で一時変数を作るのもどうかと思い(´Д`) あと、直感的ではない比較式は極力使わないようにしています。オープンソースを前提に制作していますので('='
819 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 20:37:44 ID:+EWAYAdH] 多分そのif文には else ++m_It; が続くと思うけど、テーブル作っておけばいいんじゃね。 m_It += TABLE[m_Log_Text.at(m_It)+OFFSET]; か m_It += TABLE[m_Log_Text.at(m_It)&MASK]; みたいな感じで。
820 名前:167 mailto:sage [2006/11/09(木) 21:10:31 ID:FF84JFMS] >816 何か、警告が出るという事でしょうか? >817 呼び出し頻度が高くない部分なので、テーブルにするまでもないかと。 三角関数みたいな複雑かつ演算に時間を要するものでしたらテーブルを作った方が良いかもしれませんが、 上記のは比較的単純な比較式で出来ますし。テーブルを作る分だけ、余計にキャッシュを圧迫しそうです(´Д`)
821 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 21:53:59 ID:+EWAYAdH] 適当に補ってその部分だけコンパイルしたら a.cc:14: warning: comparison is always false due to limited range of data type a.cc:14: warning: comparison is always true due to limited range of data type a.cc:15: warning: comparison is always false due to limited range of data type a.cc:15: warning: comparison is always true due to limited range of data type とか。 > 呼び出し頻度が高くない部分なので、 ならそもそもボトルネックにならないはず。 > テーブルを作る分だけ、余計にキャッシュを圧迫しそうです が、分岐は排除できるぞ。
822 名前:167 mailto:sage [2006/11/09(木) 22:37:42 ID:FF84JFMS] >821 う〜ん、適当に補ったからだと思われますです。 /Src/AbyssLib/Command/Cmd_text.cpp内に、具体的なソースはあります(´Д`) 全体としての呼び出し頻度は高くないのですよ、ぶっちゃけスクリプトのtext命令が実行されている間にしか使われません。 だからこそ、何でこんなところが重くなるのか疑問なワケで………(;´Д`) あと、単純な分岐条件なだけにテーブル作るまでも無いかなと。
823 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 23:07:47 ID:oeKHxQcL] /Src/AbyssLib/Command/Cmd_text.cpp内、とか言われても、そのソースはどこだよ
824 名前:167 mailto:sage [2006/11/09(木) 23:30:24 ID:FF84JFMS] abyss-21.hp.infoseek.co.jp/Release.zip です、すっかり貼り忘れてました(´Д`) 最新Verではなく、ひとつ手前ではありますが………。
825 名前:名前は開発中のものです。 mailto:sage [2006/11/09(木) 23:35:47 ID:oeKHxQcL] 落とせないし、そもそもabyss-21.hp.infoseek.co.jp/ にもアクセスできないが?
826 名前:167 mailto:sage [2006/11/09(木) 23:37:39 ID:FF84JFMS] 確認しました、どうやらinfoseekが落ちている様ですね。 先日も落ちてましたし、落ち易いのかもしれません(´Д`)
827 名前:名前は開発中のものです。 mailto:sage [2006/11/10(金) 13:48:20 ID:n/BNIL0m] >基本的に、そこでしか.atは使っていないのでたった4つの命令で一時変数を作るのもどうかと思い(´Д`) >あと、直感的ではない比較式は極力使わないようにしています。オープンソースを前提に制作していますので('=' >三角関数みたいな複雑かつ演算に時間を要するものでしたらテーブルを作った方が良いかもしれませんが、 >上記のは比較的単純な比較式で出来ますし。テーブルを作る分だけ、余計にキャッシュを圧迫しそうです(´Д`) >あと、単純な分岐条件なだけにテーブル作るまでも無いかなと。 やれやれ こんな調子じゃ>>814 の疑問に回答したとしても理解できるとは思えんな
828 名前:167 mailto:sage [2006/11/10(金) 18:55:58 ID:5S9vD1uX] >827 理解出来るかどうかは分かりませんが、回答出来るのでしたらお願い出来ればと('='
829 名前:名前は開発中のものです。 mailto:sage [2006/11/10(金) 19:55:35 ID:jEDzoqtR] if((m_Log_Text.at(m_It)>=(char)0x81 && m_Log_Text.at(m_It)<=(char)0x9F) || (m_Log_Text.at(m_It)>=(char)0xE0 && m_Log_Text.at(m_It)<=(char)0xFF)){ m_It += 2; } と if((m_Log_Text.at(m_It)>=0x81 && m_Log_Text.at(m_It)<=0x9F) || (m_Log_Text.at(m_It)>=0xE0 && m_Log_Text.at(m_It)<=0xFF)){ m_It += 2; } は、意味が、結果が異なってるってのは分かってる?
830 名前:名前は開発中のものです。 mailto:sage [2006/11/10(金) 20:30:11 ID:5S9vD1uX] 上は右辺がchar型にキャストされるので比較時に左辺の返り値はそのまま、 下は右辺がint型なので比較時に左辺の返り値がintにキャストされる、でしょうか? 多分そうだとは思うのですが、確証は持てません(汗
831 名前:167 mailto:sage [2006/11/10(金) 20:37:23 ID:5S9vD1uX] ↑は167でした(汗
832 名前:名前は開発中のものです。 mailto:sage [2006/11/10(金) 20:41:34 ID:jEDzoqtR] 何言ってるのかよくわからんが、違う。 char + charはint型を返す。そんなことじゃない。 0x81は正の整数で、(char)0x81は負の整数だ。 WindowsのVCはcharは符号付の型だからな。 でm_Log_Textはstring型で、at()の戻り値はchar型だ。つまり下の >m_Log_Text.at(m_It)>=0x81 は必ずfalseになる。charは128以上を表せない。 よって、中途半端なマルチバイトが出来上がるわけだ。 これが表示されなかったり、生成が遅かったりすると、処理落ちしたように見える。 つまり、その式が遅いわけではない。 何がプロファイルとった、だよ。嘘付くな。取ってないだろ。
833 名前:167 mailto:sage [2006/11/10(金) 21:08:21 ID:5S9vD1uX] 成る程、理解出来ました。有難う御座いますm(_ _)m >何がプロファイルとった、だよ。嘘付くな。取ってないだろ。 嘘じゃあないですよ、実際とりましたがプロファイラでは分からなかったので、 原因が上記の部分だと断定するのに変更前と変更後のソースを比較してチェックしていました。 プロファイラの結果を役立てて断定したのかと問われれば、確かにそうではありませんが(´Д`) ともあれ、重ね重ね有難う御座います。
834 名前:名前は開発中のものです。 mailto:sage [2006/11/10(金) 21:40:30 ID:nTN0QHiT] なぜか科学者とノミのジョークを思い出した
835 名前:名前は開発中のものです。 mailto:sage [2006/11/11(土) 02:03:37 ID:fPVPryGm] なんだかんだ言っても、やることをやる>>832 に漢気を感じた。 ガンガレ!!>>167
836 名前:691 mailto:sage [2006/11/11(土) 22:58:51 ID:Y1RZBpHm] おっすおら>>691 ほぼ一週間ぶりのプログラミング。 なんで人間は好きなことだけをして生きていけないんだぜ? ごちゃごちゃやってみた結果、ようやく変数への式の代入ができるようになった( ゜д゜) これで if 文に取り掛かれるぜ 懸念してたパーサの動作速度はあんまり気にならなさそうなので安心した >>811-812 ありがとう!超よくわかっただぜ このPRNを作るのはそんなに手間じゃなさそうなので近近にはできると思うよ
837 名前:691 mailto:sage [2006/11/14(火) 05:58:13 ID:CtgyW8K3] members3.jcom.home.ne.jp/jellyjam/p/novel16.zip ・ゲーム中、右ボタンクリックやスペース押下でテキストの表示・非表示を切り替えることができるようにした ・スクリプト記述でインデントできるようになった(半角スペースまたはTAB) ・変数を使えるようになった ・命令の引数に変数を仕込めるようになった ・システム定数を定義した(True/Falseやトランジションとかに使うやつなどなど) ・!if、 !else、 !endif の実装 これまでのように変数名や命令名は大文字小文字を判断しません。 >>790 で書いた通り、変数の型は第二引数によって自動的に判断されます。 !var hoge, 255 //これは数値型 !var hige, 'UNKO' //これは文字列型 !var hage, True //これは真偽値型 !var UNKO, hoge+100 //これは「数値型変数+数値」なので数値型 なお演算は型が同じもの同士でないと行えません。 こんなのはだめ。 !var hige, 'UNKO' //higeは文字列型 !var hage, True //hage真偽値型 !var hoge, hige+hage //「文字列型+真偽値型 」なのでシンタックスエラー。この行は無かったことに いろいろ考えたのですが、数値に対しては論理演算は行えないようにしました。 !var hoge, "$0000FFFF or $FFFF0000" //こんなのはだめ こんなのあっても使わんと思うし。
838 名前:691 mailto:sage [2006/11/14(火) 06:03:12 ID:CtgyW8K3] んで、今回の更新分でこんなことができるようになった。 !var Hoge, true !var hige, true //スペースを含む式はダブルクォートで囲んでやってくだちぃ //そのうち、そんなことしなくていいように直すと思うだぜ !if "hoge and hige" あいうえお !TextDraw !cw //if文をネストさせてみる !if False かきくけこ !TextDraw !cw !else さしすせそ !TextDraw !cw !endif !else たちつてと !TextDraw !cw !endif これを実行すると 「あいうえお(クリック)さしすせそ(クリック)」 と表示される…、はず。
839 名前:691 mailto:sage [2006/11/14(火) 06:12:43 ID:CtgyW8K3] っと 今ふと思いついたが、!if 文の中で !goto とか !Linker が呼ばれたらifのネストが無茶苦茶になるな うわどうしよう、これは困ったぞ
840 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 09:52:42 ID:Gp2dNbIi] >837 *start !if "1/0=2" ほにゃらら !else ふにょらら !endif !TextDraw !cw !if "false and ( true and 1/0 )" へにゃらら !else ひにょらら !endif !TextDraw !cw
841 名前:名前は開発中のものです。 mailto:sage [2006/11/14(火) 09:57:23 ID:Gp2dNbIi] おっと、true/falseは先頭大文字。結果は変わらんけど。
842 名前:691 mailto:sage [2006/11/14(火) 13:57:56 ID:CtgyW8K3] ( ゚д゚) <ムシャムシャ >>840 テストしてくれてありがとう! !if "1/0=2" //ここで0除算エラーでてます。この行は無かったことにされる・・・ ほにゃらら !else ふにょらら !endif !TextDraw !cw !if "false and ( true and 1/0 )" //げ本当だ へにゃらら !else ひにょらら !endif !TextDraw !cw 二番目のほうは問答無用でFalseを返さなくちゃいけないのにな。 マーカーの挿入方法がおかしいのかも。帰ったら見直してみる。 つーかこの程度の不具合、開発段階で気づけよって話ですが。やはりおれは一度首吊る必要があると思う。 あと、評価の途中でなんらかのエラーが出たら、対応する !endif までジャンプさせないとだめだな。 っていうか、これもできていて当然の動作なんだよなー(;´Д`)
843 名前:691 mailto:sage [2006/11/14(火) 23:03:53 ID:CtgyW8K3] おっす > 評価の途中でなんらかのエラーが出たら、対応する !endif までジャンプ > マーカーの挿入方法がおかしい ってのを2秒で直した。2秒で直した。 あとスクリプトの1行目が空行だとエラーが出てたのでそれも直した。 今後のうpは、もっとしっかりデバッグしてからするようにします(;´Д`)
844 名前:691 mailto:sage [2006/11/16(木) 00:04:27 ID:nP5t6MYc] 改めて members3.jcom.home.ne.jp/jellyjam/p/novel16_2.zip ・and や or を使った if の評価式の結果がおかしかったので修正 ・if の評価式の文法がおかしかったりしたとき!endifまでジャンプするようにした ・スクリプトの最初のほうがが空行だとエラーが出てたので修正 (・Read Meにこのスレのことを書き忘れてたので追加テヘッ) 問題のif文だけど、いろいろなパターンを試したし、耐久テストもやったからもう大丈夫だぜ!(たぶん) とはいえ、まだ>>839 の問題を含んでいるので、if 領域内でラベルジャンプしないようにしてくだちい あー、どうすっかなこれ…。
845 名前:691 mailto:sage [2006/11/18(土) 07:30:59 ID:MpWhpoQC] members3.jcom.home.ne.jp/jellyjam/p/novel17.zip ・変数を展開してテキストとして出力できるようにした( !Text ) ・数値型変数の計算簡略化のための !inc !dec 命令を実装した ・タイムウェイトの引数に式が使えてなかったので修正 ・二重起動を禁止した ・命令検索の順番を変更してちょっと高速化? 変数の展開は !var Hoge, 5 !var Hage, True !var Hige, 'あいうえお' !Text "Hoge+Hage+Hige" これを実行すると「5Trueあいうえお」と出力される。 普通のテキスト出力は今までどおり命令名なしでいけるぜ なんでこんなこと(専用の命令を用意したか)になったかというと 1.変数を含まないテキストのほうが圧倒的に多いだろうということ 2.なるべくなら計算式を展開するコストを抑えたいという欲求 を考慮した結果である。もふもふ。 どうしても気になるなら !Text を、変数を含まないテキストでも使えばよろし。 !inc !decはDelphi互換です。数値型引数も渡せます。知らん人はこの際Delphiを勉強してみよう。 最後に、Read Me に高慢ちきな利用規約を書いてみたので読んでみてね。 うあわああーーこんなじかんだもういかなくてはあ
846 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 12:24:46 ID:aH09oUml] *start !var Foo 3 !inc Foo !Text Foo !TextDraw !cw Foo/ !TextDraw !cw !Text Bar !TextDraw !cw Bar/ !TextDraw !cw !inc 4 --End. !TextDraw *end !goto *end
847 名前:名前は開発中のものです。 mailto:sage [2006/11/18(土) 12:27:27 ID:aH09oUml] っと、!inc 4は要らなかった。
848 名前:691 mailto:sage [2006/11/18(土) 22:02:24 ID:MpWhpoQC] ありゃ、>>845 は不具合があったやつの修正前のをうpしてたみたい! inc/decで明示的に引数渡さないとだめになってるね。 こっちが本命でつ。失礼しまつた。 members3.jcom.home.ne.jp/jellyjam/p/novel17_2.zip (* !inc/!decの使い方講座 *) 1. 整数型変数を宣言します 2. !inc/!decの第一引数に整数型変数を渡します (3. このとき第二引数に整数式を渡すと、その数だけ加算/減算されます) 4. ヤター なお、第一引数の整数式に宣言されていない変数が記述されていると エラーが発生し、その命令がある行をスキップします。 第二引数が整数型でない場合も同様にスキップします。 以下インクリメントのテスト。 //整数型変数の宣言 !var 変数, 0 *label1 //変数の値を文字列に展開します !text "'変数の値は' +変数 +'です'" //5だけ加算します !inc 変数, 5 !TextDraw !cw !@@ !goto *label1
849 名前:691 mailto:sage [2006/11/18(土) 22:08:34 ID:MpWhpoQC] >>846 thx! > !inc Foo 文法は正しいですがアプリケーション側の不具合で動作してませんでした。(´・ω・`)ゴメソ > !Text Bar ここで定義されていない変数Barが参照されているので構文エラー発生。スキップ。 > !inc 4 4は変数ではないのでエラー。スキップ。 > *end > !goto *end 無限ループに突入してます。大ピンチ。
850 名前:846 mailto:sage [2006/11/18(土) 22:20:38 ID:aH09oUml] ttp://gamdev.org/up/img/8123.png ・★のとこで一回余分に(つまり3回)クリックが要る ・何故かBか消える ・さらに何故かその後字が黒くなる
851 名前:691 mailto:sage [2006/11/18(土) 22:48:06 ID:MpWhpoQC] >>850 y=ー( ゚д゚)・∵. ターン 毎度毎度すまん! !Text のエラーが出たときの処理がまずかったようだ! ∧∧ ( ,,) / | 〜(__) members3.jcom.home.ne.jp/jellyjam/p/novel17_3.zip (差分のみ)
852 名前:691 mailto:sage [2006/11/18(土) 22:50:47 ID:MpWhpoQC] 後ろに余計なものをつけたおかげでURLが変だな members3.jcom.home.ne.jp/jellyjam/p/novel17_3.zip
853 名前:691 mailto:sage [2006/11/20(月) 23:09:13 ID:TCoOZXSp] コンフィグ画面が手狭になってきたので改築してみた もうなんか自由すぎる members3.jcom.home.ne.jp/jellyjam/img/config.png
854 名前:名前は開発中のものです。 mailto:sage [2006/11/21(火) 06:01:22 ID:xZAgq/Gk] どうせならエフェクトの時間を半分にするもつけてくれ
855 名前:名前は開発中のものです。 mailto:sage [2006/11/22(水) 04:20:28 ID:ay/jEsPR] エフェクトのヘルプ画像を、多少追加してみました キャプチャーしてペイントで保存していくだけでも 時間けっこうかかった。これでヘルプ3割ぐらい終わったかな システム用のダミー画像の差し替え中で絵そのものが入っていないため exeは、スクリプトを動かす部分以外は正しく動作しない部分があります SYSTEM-NNN www2s.biglobe.ne.jp/~tinyan/nyanlib/index.htm
856 名前:691 mailto:sage [2006/11/23(木) 21:46:47 ID:2iFawqr+] 今日は中華街でイチャイチャした。 肉まん1個500円とか超高くね? members3.jcom.home.ne.jp/jellyjam/p/novel18.zip ・コンフィグ画面からスクリーンモードの変更をできるようにした ・>>854 の機能 ・「スキップ中はSEを再生しない」って項目 とりあえず動くバージョンなので最適化してない。 今日のソースの汚さは異常。 コンフィグ画面改造にあたっていろいろいじってたら、新たな問題が発覚した。 現在再生中の SE に対して音量を 0 にすると何故だか知らんが音量が MAX になる。 あとBGM/SEともにフェードアウト中に音量を変更するとこれまたおかしくなる。 いつでもコンフィグ画面を出せるのが原因なんだけど、なるべくならこの機能は残したい。。。 なんだよもうめんどうくせえな つか、もう DDSD 使いたくないなぁ…。BASS に慣れると使いづらいかも。 音量はいちいちデシベルに変換せないかんし。
857 名前:名前は開発中のものです。 mailto:sage [2006/11/24(金) 10:56:25 ID:GqXnQfEk] >>855 トップの真っ赤な背景にビビリました
858 名前:名前は開発中のものです。 mailto:sage [2006/11/25(土) 16:50:50 ID:CHSI80wS] >>855 誤爆の誤爆? 選考スレに書き込んでなかったっけ? >>857 HPのことなら、こっちでは深緑を薄めたような、明るめの緑色に見える。
859 名前:名前は開発中のものです。 mailto:sage [2006/11/26(日) 19:36:59 ID:AAKyS3Pm] また手狭になった。 スクロールバーも小さくしてみたんだけどなぁ。 members3.jcom.home.ne.jp/jellyjam/img/config_sound.png けっきょく、音再生ライブラリを全部作り直した。 > 現在再生中の SE に対して音量を 0 にすると何故だか知らんが音量が MAX になる。 > あとBGM/SEともにフェードアウト中に音量を変更するとこれまたおかしくなる。 も直ったですよ。 1フレームあたりの計算量(しかも少数の計算)は増えたけど、このくらいならまぁいいかって感じ。 固定小数使ったら負荷軽減したりするかな。 リファクタリングとかバグ取りもいい加減飽きてきたし、そろそろ自由スプライト表示でも作ってみっかー >>855 それ破片エフェクトってどうやってるんだろう 一枚の画像をバラバラに切り分ける方法が思いつかん
860 名前:名前は開発中のものです。 mailto:sage [2006/11/26(日) 20:24:42 ID:DQKfrVBZ] ぱっと見、ボロノイ図っぽく見えるけどどうかな。
861 名前:名前は開発中のものです。 mailto:sage [2006/11/27(月) 11:23:31 ID:wQG9Jm5U] >>857 おまえそれブラックTAINYANじゃね? おめでとう。かなり運が良かったぞ
862 名前:vvm-man mailto:sage [2006/11/28(火) 07:40:05 ID:aGW5KWsL] f58.aaa.livedoor.jp/~lionehar/new/ や、お久す。 まぁ、黙って色々更新はしてたんですけどね。 とりあえず、大分前の話だけど、ページの読み込みをAjax的にやってみました。 ちょっと読み込みが早くなったかも。 で、最近、System.jsの中を調整してMacサファリで結構まともに動くようになったす。 それに加えIE7に正式対応。 Opera、不具合ありだが、動作自体は可能。 あと、ツールとは関係ないけど、サンプルの人物紹介、月夜の立ち絵を更新しました。 ノートPCのタッチパネルで描いたわりには綺麗に描けたと思います。
863 名前:名前は開発中のものです。 mailto:sage [2006/11/28(火) 08:12:08 ID:yrb7qqAX] クリック待ちと改ページのアイコンは逆の方がいいんじゃね? セーブできないなら予想プレイ時間を書いておく。 ネクロマンサーってタイトルを書くんじゃなくて「ゲームスタート」とか「はじめから」と書く。
864 名前:名前は開発中のものです。 mailto:sage [2006/11/28(火) 22:09:16 ID:B8ch4/XT] 真っ黒 何も表示されないまま2分が過ぎた あと1分したらこのカップラーメンが出来上がるだろう
865 名前:vvm-man mailto:sage [2006/11/29(水) 02:36:40 ID:Kyo0fD77] >863 そうね。 >864 ブラウザとか言ってくんねぇとわかんねってば。 ただ、あんまし安定して動作してくれない兆候はありそう。
866 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 02:58:39 ID:GrMuZBJF] >>865 スレイプニル2.49とIE6 ノートンの馬鹿が邪魔してた 両方動いた ブラウザでここまでできるとは驚きだ
867 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 17:11:37 ID:J2RQ6icy] >>ノートンの馬鹿が邪魔してた これはなんとかしんと…
868 名前:vvm-man mailto:sage [2006/11/29(水) 18:23:08 ID:Kyo0fD77] (‘・ω・`)ノートン先生はなんて言ってブロックするの?
869 名前:名前は開発中のものです。 mailto:sage [2006/11/29(水) 19:13:51 ID:GrMuZBJF] >>868 単に.jsの実行結果をポップアップ広告と誤検知するみたい 「広告ブロック」と「ポップアップ遮断」を無効にすると実行できるようになった JSはよくわからんので技術的なことはアドバイスできない(´・ω・`)ゴメンネ
870 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 05:57:02 ID:8fYVUZ8f] members3.jcom.home.ne.jp/jellyjam/p/novel19.zip ・サウンドライブラリを書き直した ・選んだ選択肢をログに記録するようにした ・その他覚えてないほどいろいろ最適化 主にリファクタリング。1フレームの計算量はかなり減ったと思う。 一通り試験はしたつもりだけど、もしかしたら何か問題あるかも。 それにしても更新速度が前に比べて落ちてるなぁ。 これから忙しくなるからもっと落ちるかも試練…。年内には完成できると思ってたんだけどな。 ここからチラ裏─────── ところで、そろそろサーバ容量が圧迫されてきたので、以前のバージョソは消そうと思いまつ。 現在サーバ上に置いてあるのは novel14〜 です。 これよりマイナーのバージョソ(novel1〜)をご所望の方は個人的にでも連絡ください。 思いつく限りの種種の方法でアーカイブを送りつけまつ(`・ω・´)b ここまでの変遷をみてると結構感慨深いものがあるだぜ。 ─────────ここまでチラ裏 >>860 調べてみたけど全然理解できなかった(;´Д`) でもたしかにそんな感じだね。
871 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 06:02:11 ID:6MmDDvnh] エラー出るんだけど。
872 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 06:02:38 ID:8fYVUZ8f] ああそうだ、いつかお知らせしなきゃと思ってたんだけど、 「しねきゃぷしょん」っていうフォントがあるとおれと同じ環境(>>752 参照)になります。 今のところ使うフォントをこれに指定してるので使ってみるといいかも。 もしこのフォントが入ってないと「MS Pゴシック」になると思う。