[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 17:59 / Filesize : 301 KB / Number-of Response : 931
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

▼ノベルゲームツールを作っちゃうぞ!Ver3.0



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/

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ゴシック」になると思う。

873 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 06:09:13 ID:8fYVUZ8f]
>>871
工 エ エ ェ ェ (゚Д゚; ) ェ ェ エ エ 工
ぜひ詳細きぼん!

つーかレスはやっ!

874 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 06:20:30 ID:6MmDDvnh]
あ、直ってる。さっきはクリックしてもダウンロードできなかっただけ。

875 名前:名前は開発中のものです。 mailto:sage [2006/11/30(木) 23:29:49 ID:8fYVUZ8f]
サブルーチン機能を組み込んでみた。案外簡単にできたなぁ。
サブルーチンに飛んだ先でさらにサブルーチンに飛ぶこともできる。
実質2億回のネストが可能。

ラベルジャンプには、その名のとおり目的地となるラベルが必要だけど、
このラベルを検索するコストが気になってきた。上から一行づつラベルを探しているのが問題だ。
添付のサンプルシナリオぐらいの規模ならまだしも、これが5000行、あるいは1万行クラスの
規模になったとき、今のやり方ではかなりの検索コストを支払う可能性がある。

解決方法として、
 1: ラベルの行番号をプロトタイプのようにあらかじめ宣言しておく
 2: そもそもラベルを廃止して、行番号のみでジャンプ先を指定するようにする
 3: 一度通ったラベルは記憶しておく。二回目からの検索は高速になる
とか考えてみた。

1,2 はともに強力だろうけど、シナリオに不備があったときの修正で、
行番号がずれる可能性を考えるとイマイチかなとも思う。
3 は根本的な解決になってないので駄目。

どうしたらいんだー!
とりあえず後回しにしておこう。

876 名前:名前は開発中のものです。 mailto:sage [2006/12/01(金) 16:54:57 ID:7vJA/jaU]
起動時に全シナリオを走査して、ラベル位置を内部的に把握しておく
もしくはシナリオを暗号化するときラベル位置を把握しておき、それをどっかに紛れ込ませるとか?
どっちも「手軽さ」からはちょっと離れてしまうが

877 名前:名前は開発中のものです。 mailto:sage [2006/12/01(金) 20:34:51 ID:cfQDTSNd]
シナリオファイルを複数に分ける

878 名前:名前は開発中のものです。 mailto:sage [2006/12/01(金) 23:52:23 ID:3ltBEf8r]
画像キャッシュを有効にするかどうか選べるようにした。
いまのところキャッシュを有効にすると、最大でVRAMを22MBぐらい占有するようになる…。
ノベルゲームで22MBも使うってのはどうなの?(;´д`)
おれ普段ゲームしないからよくわかんないや。これって高スペックなんだろうか。

>>876
ん、結局のところ、そのあたりに落ち着くんだろうな。
あとはどうやって実装するかの技術的な話になるってだけで。

>>877
現状でシーンごとの管理や、単にファイルサイズの肥大化を防ぐ目的としてシナリオの分割はできるように作ってあるけど、
これをさらに発展させて行数制限するってのもひとつの手かもなぁ。
ただ、サンプル程度の内容ですでに200行越えだから、簡単に5000行とか超えてしまいそうな気もする。
シナリオを書くとき、常に分割を念頭においておかなきゃいけないのが手間になるんじゃねとか思ったり。
行数制限ってのは結構厳しい縛りになるんじゃないかと。
これはプレイヤーではなくて製作者側の都合だけどね。

879 名前:vvm-man mailto:sage [2006/12/02(土) 06:07:38 ID:reS/o3fC]
テキストをそのまま読み込むんでなく、中間ファイルでテーブル構造をしたものを作れば?
>>876
が提案した起動時に、ってんだと起動が遅くなるじゃん。


んで、こっちの開発の話。
人物紹介画面でキャラを背景の前に立たせて見ました。

IE6,Opera,FireFoxでは不具合はなし。
何かあったら教えてください。

>>869
ポップ……それは心当たりないけど、広告はなんか分かるかも。
報告39th。

この板じゃあJavaScript分かる人って少ないよねー。

880 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 08:19:43 ID:ZjHXEGS3]
>879
> >>876 が提案した起動時に、ってんだと起動が遅くなるじゃん。

測ってみた?
手元のマシンで以下の条件でラベルスキャンの有無で約40msecしか違わなかったが。
条件が変わったとしても1000倍遅くなると言うことはまあ無かろう。
# 40msecを起動が遅くなるとして問題があるというなら止めはしないが。

[計測条件]
対象スクリプト:ランダム生成したスクリプト10万行、内ラベル10001行(10%)
PC:AthlonX23800,メモリ4G,FreeBSD6.0R
プログラム言語:Perl5
計測方法 timeコマンド、4回実行で最初の1回を捨てた3回の平均値

881 名前:vvm-man mailto:sage [2006/12/02(土) 08:56:26 ID:reS/o3fC]
>>880
いや、測ってない。
その程度か。

普段扱ってる相手がJavaScriptなんで過剰に高速化を意識してしまったよ。



882 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 11:06:34 ID:4YZh1zne]
> PC:AthlonX23800,メモリ4G,FreeBSD6.0R
(;^ω^)

883 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 17:10:41 ID:346dJ8KD]
つーか、Perlで測ってどうすんだよボケ。
まるで意味が無いベンチマークだ。

884 名前:vvm-man mailto:sage [2006/12/02(土) 17:37:57 ID:reS/o3fC]
何だ。
実際のツールで測ってねぇ上に、そんな怪物マシンかよ。
朝だったんでよく読んでなかった。

885 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 17:39:24 ID:ZjHXEGS3]
>883
阿呆はおまえだ。言語が違ったところで高々プラスマイナス2桁ほどしか違わん。
"起動が遅くなる" といえるほど遅いわけでないことを立証する程度にオーダーが
わかれば充分なのだから問題は無い。

886 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 18:11:32 ID:ZjHXEGS3]
あ、そうそう補足。
スクリプト読み込み時スキャンが問題となるほどのことは無い、と言うだけで
中間言語化が悪であるとは言ってないので念のため。

# ネットワーク越しなら通信速度がおそらくボトルネックになるだろうから
# 圧縮可能なら中間言語化してその際ついでにラベル解析るのは
# むしろ妥当と思われます。

887 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 20:05:11 ID:8NIJ4z5J]
>言語が違ったところで高々プラスマイナス2桁ほどしか違わん。
2桁って事は40msec→4000msecだな。大きく違うように思えるんだが。

せっかく計ってくれたんだが、やっぱり実際のツールでないと意味が無いぞ。


888 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 22:35:44 ID:346dJ8KD]
>>885
ドアホかお前。知能0だな。

どんなPerlのプログラムで測ったのかも示さない糞が。
それでベンチマークとったつもりなんだから笑える。

お前のような糞は黙って死ね。

889 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 22:53:47 ID:zKHoHUMu]
ID:ZjHXEGS3さん、薄い知識をフルに使っても…^^;

890 名前:名前は開発中のものです。 mailto:sage [2006/12/02(土) 22:59:15 ID:ZjHXEGS3]
>887 と言うわけでDelphiで書いて謀ってみた。
入力データは880と同じ内容だが、改行コードはCRLFに変換したものを使用した。
以下の条件で約480msec差。

[計測条件]
対象スクリプト:ランダム生成したスクリプト10万行、内ラベル10001行(10%)
PC:PIII866x2,メモリ2G,W2K
プログラム言語:Delphi
計測方法 GetTickCount、4回実行で最初の1回を捨てた3回の平均値

>888 論破されたら別理由でっちあげか。必死だな。


891 名前:計測部(スキャンなし) mailto:sage [2006/12/02(土) 23:00:05 ID:ZjHXEGS3]
procedure TOKBottomDlg.NoScanBtnClick(Sender: TObject);
var
list:TStringList;
start,stop:Cardinal;
begin
list := TStringList.Create;
start := nowmsec;

list.LoadFromFile( FileNameLabel.Caption);

stop := nowmsec;
list.Free;
TimeLabelS.Caption := IntToStr(stop - start);
end;



892 名前:計測部(スキャンあり) mailto:sage [2006/12/02(土) 23:00:49 ID:ZjHXEGS3]
procedure TOKBottomDlg.ScanBtnClick(Sender: TObject);
var
list,labels:TStringList;
start,stop:Cardinal;
line: String;
i: integer;
begin
list := TStringList.Create;
labels := TStringList.Create;

start := nowmsec;
list.LoadFromFile( FileNameLabel.Caption);
for i:=0 to list.Count-1 do begin
line := Trim(list.strings[i]);
if( length( line ) = 0 ) then continue;
if( line[1] = '*' ) then begin
delete( line, 1, 1 );
labels.Add( Concat( line, '=', IntToStr( i )));
end;
end;

stop := nowmsec;
list.free;
labels.free;
TimeLabelN.Caption := IntToStr(stop - start);
end;

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これすごくね?
ツールもそうだけど、とくに猫語へのこだわりが。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<301KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef