新システムのW95GDをUPしました。2010/08/09 20:49

新システムのW95GDをUPしました。

ちょっと勘違いしてらっしゃる方がいらっしゃいますので説明します。
弊社のシステムは、

エンジン->マクロシステム->スクリプティング

の3階層になっており、

自分としては、新しい圧縮、全てがGPU合成で3Dで描かれている
(シェーディングや3Dオブジェクトなどにも対応で、3Dダンジョン程度なら直ぐに作れます)、
ワイド対応、仮想スクリーン対応、新しいフォントラスタイズのエンジン部分の実証実験なのです。

マクロシステムとコンフィグ画面で、
いくらでも変更できる部分の実証実験では無いのです。

限られたマスターアップ期間(最短1日)でどこまで効率よく打ち込みできるかと、
UI関係はマクロシステムが負担するところです。

この部分は、今は要望を聞き、また時間がたったら検証します。

以下はこれからの部分です。

音声展開にアセンブラを使う
セカンダリ側でのクリック
Vistaのマルチディスプレイ対応
マルチモニターでの挙動
次の選択肢へがバグる(CGが変化しない)
バックログでの音声聞き直しが正常に動作しない(バックログ全体にバグ有り)
演出時にフレームレートを変更できる機能を追加
install時にブランド名のディレクトリをほる
バックログでスロットル2を使い、音声の中断を避ける
メッセージBOXでのマウス追従->UI設計者と相談の上、実装
クリック時のボイス処理 : すぐに停止する/次の台詞で停止->UI設計者と相談の上、実装
キャラ別ボイスon/off機能を付ける->UI設計者と相談の上、実装
演出時にフレームレートを上げる機能のon/off機能を付ける->UI設計者と相談の上、実装
AUTOボタンを付け->UI設計者と相談の上、実装

以上です。
欲しい機能などがありましたら、おっしゃって下さい。

http://www.blackpackage.co.jp/products/w95gd/download.php

コメント

_ 通りすがり ― 2010/08/09 23:39

あまり機能を増やしても、今のシステムと同じになってしまうのではないでしょうか。
それに3D演出は必用ある物なのでしょうか。
現行システムの継続使用を望みます。

_ (未記入) ― 2010/08/09 23:56

バグフィックスの確認が出来ました。
当方はデュアルデスプレイではなく、それ以外は直っていました。
このシステム特有の演出などを見せていただけないでしょうか。

_ (未記入) ― 2010/08/10 00:42

今風になってて、驚きました。
しかし、今までの軽快なシステムとはうって変わって重くなりましたね。
あと、このシステム特有な物を見せていただきたいです。

_ ないしょ ― 2010/08/10 01:53

新しいバージョンを確認しました。確認中に新たな問題点も出てきました。EXEの更新時間タイムスタンプで以下のように表記します。
Ver.1 8/5 17:34
Ver.2 8/6 03:57
Ver.3 8/6 19:12
Ver.4 8/9 20:13

1.スクリーン切替のキー割り当てが無い。Alt+Enterも使えない。->最初から実装済み
W95GB(ぬるぷり)に無いという感想だったので。で、試したら動作したのですが……メニュー画面でAlt+Enterでスクリーン切替をした際に、ウィンドウ→フルスクリーンはいずれも問題ないのですが、フルスクリーン→ウィンドウで以下のようになります。
【PC1+Vistaマルチモニタ/シングルモニタ】
 Ver.1/2 : ゲームが開始されてしまう
 Ver.3 : 問題なし
 Ver.4 : 勝手にまたフルスクリーンに戻ってしまう(設定画面からは変えられる)
【PC1+Win7シングルモニタ】
 Ver.1/2/3 : 切替は問題なしだが、そのあと何かクリックすると応答なしになる。
 Ver.4 : 勝手にまたフルスクリーンに戻ってしまう(設定画面からは変えられる)
【PC1+XPマルチモニタ】
 Ver.1/2/3 : 問題なし
 Ver.4 : 勝手にまたフルスクリーンに戻ってしまう(設定画面からは変えられる)

何か関係があるか分かりませんが、Ver.4が勝手にフルスクリーンになったものを設定画面からウィンドウに戻すとVista・Win7でW95GDのウィンドウのみがAeroが切られた(Aero Basicの)ウィンドウになっています。

2.マルチモニタの環境への対応
 ・PC1+Vistaでの背景ウィンドウのリサイズ : 直っていません
 ・PC1+Win7でのフルスクリーン化 : 直っていません(応答なしになります)

3.>現行システムも確かタイトルバーをダブルクリックすればフルスクリーンになると思います。
XPでは問題ないのですが、Vista・Win7で100%再現するバグを確認しました。
W95GB・W95GD(全バージョン)でタイトルバーの文字(ぬるぷり~)と上の枠の間の領域でダブルクリックするとフルスクリーンではなく異常な「最大化ウィンドウ」になります。
その際にW95GB・W95GDでわずかに挙動が異なり、W95GBでは最大化窓の左上に800×600画面が描画され、W95GDではアスペクト比を無視して領域内いっぱいに画面が引き伸ばされます。

4.Win7で新規に増えた最大化ショートカットキー(Winキー+↑キー)でW95GB・W95GD(全バージョン)共に3のように異常最大化される。
他社でもそうですが、Win7の新機能「スナップ」やこの最大化ショートカットキーとかは結構見落とされるようです。

5.最前面固定ウィンドウになってしまっている。->直った
確認しました。

6.[alt]+[tab]に対応->作った
Ver.3まではXPでもフルスクリーン時にフォーカスを失うと最小化してその後正常に復帰しない状態でしたが、Ver.4ではフルスクリーン時にフォーカスを失うとウィンドウ化するのでAlt+tabで切替可能、ということでいいでしょうか。


また、この辺りはこのあとの調整になるのでしょうが、文字間が詰まりすぎていてアンチエイリアスがデフォルト設定でも「プ」や「ポ」などの半濁点(丸)が半分消えてしまっていますね。

_ KENJI ― 2010/08/10 15:10

通りすがり様。
ご意見ありがとう御座います。
現行システムで問題なければそちらで行く予定です。

未記入様。
確認、ありがとう御座います。
システム特有の物は、自分がオブジェクトを作ったので、恥ずかしくてお見せできません。すみません。

未記入様。
はい、ユーザーインターフェースの考え方を一新しましたから。
DirectX9の3DGPU合成を使っておりますので、どうしても重くなってしまいます。
特有な物も、素材を自分が作らなくてはならないので完成度が低く、ちょっとお見せできません。すみません。
同システムで、3Dダンジョンで3Dオブジェクトを常時移動表示し、雨を降らす演出などを実証済みです。

ないしょ様。
ご検証、ありがとう御座います。
マルチモニターと文字の調整以外は全てやりましたので、お暇なときにでも見ていただけたらと思います。
毎度、申し訳ないです。

_ KENJI ― 2010/08/10 15:37

ないしょ様。
マルチモニタ環境ですが、これから上げる、08/10 16:00バージョンにて、どのような挙動をするか教えていただけますか?
可能な限り対応いたします。

解像度変更の件はnvidiaのドライバーですとD3DERR_DEVICENOTRESETの時に、テクスチャーが破棄されるという仕様上のバグ(多分、高速化のため)があり、そこにはまっていました。

DirectXのフルスクリーン時のバグは、デバッカが使えないので難しいですね(^^;)

_ (未記入) ― 2010/08/11 13:05

3レイヤーと言うことは、UI関係は全て外注に出すことが出来るのでは?

_ KENJI ― 2010/08/11 14:05

未記入様。
はい、UI関連は全て自分以外の人が2レイヤー目で組むことが出来ます。

以下の3個以外は全てtukune君でも組めますが、
コストを掛けたくないので可能な限り自分で組む予定です。
UI関係は自分にセンスがないので、可能な限りtukune君にお願いしますが。

マルチモニタの環境への対応
画面切替(一部のCGの表示の時)に異常に時間がかかる。
メッセージBOXでのマウス追従

_ ないしょ ― 2010/08/11 20:57

Ver.5 8/10 15:27

・Win7マルチディスプレイ環境でもフルスクリーン可能になりました
・Vistaマルチディスプレイ環境での背景ウィンドウのリサイズは発生します

という結果でした。
PC1だけでなくPC2もモニタを繋いでマルチディスプレイ環境でテストしました。

1.Win7マルチディスプレイ環境でのフルスクリーン
 PC1・PC2ともに正常にフルスクリーンになりました。

2.Vistaマルチディスプレイ環境での背景ウィンドウのリサイズ
 PC1・PC2ともにVista環境でのみ発生しました。

3.ウィンドウ起動中に解像度変更した場合の動作
 PC1・PC2ともにマルチディスプレイ・シングルディスプレイのいずれでもハングすることなく動作継続するようになりました。

4.フルスクリーンからのAlt+Tab動作/セカンダリ側でのクリック
 Ver.5ではXP・シングルディスプレイも含めた全ての環境で異常動作します。 http://bit.ly/a15Rpp
この状態でもハングしている訳ではなく描画がおかしい、マウスクリックに反応しないなどだけなのですが。
 なお、Ver.4でもAlt+Tab動作が正常なのはXP・シングルディスプレイなどの限られた環境だけだったようです。


余談ですが、明日から秋葉原電気外・コミケとイベント期間に突入なので、もしその間にバージョンアップがあっても確認できるのは月曜日以降になると思います。

またこれは個人的な意見ですが。
「オート時にクリックしてもオート継続」は「操作の一貫性を欠く」とのことですがユーザーにとってはスキップとオートは別の操作で、統一されているという実感はないと思います。そしてオートが継続できた方が便利と感じるユーザーがいます。
※フルスクリーン派はオートに戻すのに2アクション必要なので、機能が付けられないならテキストウィンドウに「AUTO」ボタンが欲しいですね
フルスクリーン時にフォーカスを失うとウィンドウ化/最小化するというのが「Windowsの作法」として正しくてもマルチディスプレイで使っているとフルスクリーンを維持してくれた方が便利だと私は感じます。
こちらで○×を付けているようにそういう対応をしているものもあります。 http://green.ribbon.to/~erog/Wide.html
セーブデータをインストールディレクトリに、というユーザーの要望にも「ガイドラインに従いDocuments固定」から「場所を選択可能」「無理矢理に権限を付与してUAC下でもインストールディレクトリに固定」など、いろいろな対応があったりします。
こういったユーザーの要望・利便性とアプリとしての統一性・Windowsガイドラインのどれを優先するかは考え方なのでどちらかが正しい訳ではないとは思いますが。

_ KENJI ― 2010/08/12 12:50

現状で1024*1024のテクスチャを16枚重ねてるので、こいつを800*600に変更すれば、ずいぶんと軽くなります。
色々なグラフィックチップを触っているとスクエアで2の2乗のテクスチャしか作れない物はほぼ存在しないことが分かっていますので、軽さのチューンも行いたいと思います。
それが出来れば早めの実践投入も可能かと思います。
それと、特殊演出も拙い物ですが、早めに見せられたらと思います。

ないしょ様、いつもお付き合いいただき、本当に感謝しております。
AUTOボタンを付け、Vistaのマルチディスプレイ対応と、[ALT][ENTER]のバグとマルチモニターでの挙動は、可能な限り対応いたします。
9/1に、マルチモニター環境が来るので、Xp/Vista/7の全ての環境でしっかり動くように頑張ります。

_ KENJI ― 2010/08/12 13:08

それと、W98GBを長く使いたいのは、弊社はDL販売が売上の半分を占めています。
その中で、やはりネットブックのお客さんが多いわけです。
抜きゲーですし、そう言った方は、演出より動作スピードの方を重視します。ですので、二極端にあるPC事情を考えてW95GBの併用を考えております。

_ KENJI ― 2010/08/13 03:39

ないしょ様。
色々試してみたのですが、winキー(ctrl+escも含む)、alt+esc、alt+tabは全てゲームをwindows化するキーに割り当てるしか、今のところ良い方法が見あたりません。申し訳ないっす。マルチディスプレイの捕捉は出来たのですが、どうも挙動が安定しなくて(^^;)

それと、テクスチャサイズを1024*1024から800*600の16枚に変更したら、ずいぶんと軽くなりました。しかし、945でも、どうにか動く感じで、出来の悪い、XPのGS45は軽々動いたので、テクスチャ16枚をもっと減らせば、もっと早くなると思います。

_ 同業者 ― 2010/08/13 15:24

システムの内部構造がどうなっているか、少しだけ見せていただけませんか?

_ KENJI ― 2010/08/13 16:34

http://www.ne.jp/asahi/kenji/pda/h00wins.lzh
に、ミドルウエア関連を乗せました。中位レイヤーです。

コンパイラのW95CCは乗せていませんので、コンパイルは出来ませんが、cg圧縮のmake内蔵のpt1sを乗せてるので、適当に触ってみてください。

autoボタンなどを増やしたい場合は、h00win.macのtbarをいじくってください。
丁度、windowを動かすボタンが無効になっているので、それをむさぼれば良いと思います。

#amacroの展開が気に入らなければ#macroか#define(VC6.0準拠)を使ってください。
まあ、このh00win.macがミドルウエアなんですよ。

let r10=0(add,sub,dec,inc,sto,lod)とかやってますが、10年前の古いコンパイラ時代の盲腸で、平文でr10=r20+r30とかできます。

#calcは、プリプロセッサ中に解決できる式を解決するための物です。
#ifだけでは、解決できない問題もありますので。

文字列の展開には、<str>と"str"がありますが、<>は多重に展開するのですが""は一度しか展開されません。
これもどうしても必用な命令なのです。
メッセージ中に#defineされたストリングを表示したり、ストリング名と同じ名前のメッセージをmacroで使いたいときに使います。

ifはc言語と同じですが、if(rskip==1)とも書けますし、if rskip==1とも書けます。
代入式と比較式に違いは設けていませんので、if radv=rpreadv*5 とかやったらアウトです。ワーニングすら出ません。

savesave.soc/saveload.socはセーブデータを外部からロードするための物です。

setup/setup2は自身を登録するための物です。
setup.exe/uninstall.exe/h00win.exeは演出機能と魔乳フェスト以外は同じ物です。

a0_subは色々なルーチンの下請けで、バックログもここで組んでます。

a0_keyはキーのスキップなどを受け持つルーチンです。

a0_menuはmenubarや右クリックメニューの挙動を受け持ち、他のルーチンに飛ばす物です。
menubarや右クリックメニューを増やすなら、a0_menuとa0_subとh00win.macをもさぼれば良いと思います。

h00_op01は、スクリプターやシナリオライターやデバッガが触るレイヤーで、メッセージ中に使われている/は手動改行です。

禁則エリアはポイント指定で何文字分でも使えますが、シナリオライター的には美しくないようで、1文字にして気になったところは手動で/を打ってやっています。

それもこちらでコントロールできるのですが(手前の記号までさかのぼり改行)、どうやら美しくないようです。
ワードラップも嫌みたいです。

メッセージが、1行、2行、3行の時には自動的に真ん中に補正してくれる機能もありますが、それも嫌みたいですね。

メッセージ、メッセージウィンドウで、おのおの別レイヤーなので、キャラを間に入れて、
主人公「メッセージ読み辛い!」
少女「じゃあこれは(ラージ文字)」
と言って、メッセージの前にしゃしゃり出てきたりしたら面白いですね。
あと、メッセージフレームを押していって、どんどん文字が大きくなるとかも良いですね。
それとラスターとかのピクシェルシェーダの演出でしょうか。

_ KENJI ― 2010/08/13 16:43

まあ、ミドルウエアを使わずに、ハードコーディングすれば945Gでも軽いのは実証済みなのですが、マスター前には極力EXEを触りたくないので、ミドルウエアでの実装になってます。
メッセージを1つ表示する命令の #amacro m( string0,string1 )()(1)が100個を越えるミドルウエア命令が実行されるので、必然的に重くなってしまいますね。ldcgも相当な命令を使ってますね。

しかし、こうしておけば、時間のないマスターの時には助かるんですよ。

まあ、ケースバイケースでしょうか。

_ (未記入) ― 2010/08/13 20:04

コンパイラのW95CCも見せてください。

_ (未記入) ― 2010/08/13 22:41

マクロ分のオーバーヘッドをどうやって吸収してるののでしょうか?

メッセージ表示に100命令以上、使ってますよね?

とても軽い現行システムも同じシステムになっているのですか?

いや、正直驚いてます。

thukuneさんがマクロ部分を全部担当するのですか?

_ (未記入) ― 2010/08/14 00:38

DLLとかとのリンクやインターフェイスはどうなっていますか?

_ (未記入) ― 2010/08/14 00:43

マクロは高レベルと低レベルがあるのでしょうか。

_ KENJI ― 2010/08/14 01:29

未記入様。
見せてもかまいませんが、何に使うんですか?

未記入様。
マクロ分のオーバーヘッドの吸収は低レベル命令で吸収します。
現行システムも全く同じシステムですので、メッセージ表示には低レベル命令を100個以上発行しますが、うまくいってますね。
現行システムでthukune君が低レベル命令を触ることは無いですね。
新システムではコンフィグ画面を担当することになったので5%位だと思います。
あとは自分が組みますね。
なので、macroはmasm、式はcと言う、自分の使いやすい形にしています。
おかげで60KBのシナリオファイルは1MBに展開され、それをコンパイルするW95CCは、スピードを稼ぐために色々なことをしています。
もう二度と組みたくない仕様ですねw

未記入様。
DLLはgif、ogg等のインターフェイスがあり、GPL関係に問題が出た場合にも最小限の被害で済むようにしています。
エフェクト関連もDLLで登録できます。
しかし、マスターアップ前の6時間前に声切りが終わるような弊社ですと、圧縮スピードの速い、自社開発の物しか使えませんね。

未記入様。
低レベルがW95GD.Hで定義され、高レベルがH00WIN.MACで定義されます。
高レベルでも、ldcg系の簡単にCGを表示する命令とmove_l等の細かく演出をする、2レイヤーに別れていますが、未だかつてmove_l系命令を使われた事がないですね。
2MB位のシナリオを1日でスクリプティングですから。
デバッグ期間が3日取れれば多い方です。
しかし、バグはつぶします。
今調べたところ、動作に関わるバグは錬金術の娘(1998年)以来、出してないようですね。
致命的なバグは少ない方なのではないのでしょうか?

_ (未記入) ― 2010/08/14 04:48

システム+低レベル言語+高レベル言語 で
高レベル言語→低レベル言語に変換(可能かどうかは別にして、そういう関係)
基本は高レベル言語でほとんど記述できるのでしょうか。

_ KENJI ― 2010/08/14 05:11

未記入様。
何のために三層に分けたか考えてください。
あなたのおっしゃていること、
・システム+低レベル言語+高レベル言語->各セクションが他のセクションのことを考えずにゲームを作れます。
・高レベル言語→低レベル言語に変換->変換可能は当然です。
・基本は高レベル言語でほとんど記述->ほとんどではなく全てです
全て可能です。
とても強力なマクロがあるので、ほとんどのことをスクリプターに下位レイヤーを意識させずに打ち込みをしてもらえます。
去年は年6本、多い年は年9本、スクリプターの打ち込みは1日で、自社タイトルを作っていたので、バグを出さずに連作するには各々のレイヤーは自分より上位のレイヤーだけを考えれば良いように作ってます。
これでよろしいでしょうか。

_ KENJI ― 2010/08/14 20:13

945Gでも快適に動くようになった。なんて事ない。十数枚のテクスチャーを5枚にすれば良いだけだった。
他社のピクセルシェーダを使ってるゲームを2本ほどやったが、両方とも演出時にはメッセージウインドウを消してテクスチャーの数を削っていた。その上、重ねキャラなども最小限に抑えていた。どこもテクスチャー容量には苦労しているみたいだ。
これでは自分のやりたい演出は無理だ。
素直にGM965が主流になるまで待つとするか。

_ KENJI ― 2010/08/14 20:50

話しは簡単だった。60FPSではなく、15FPSでやれば945Gでも軽く動く。
演出の時だけFPSを上げるかON/OFFを付けよう。

_ KENJI ― 2010/08/14 21:18

暇な方は、新しいバージョンを945Gのネットブックでやってもらいたい。
しかし、まだ、FPS切り替え機能を付けてないので、速いマシンでも遅いマシンでも、キャラのムーブはガクガクだ。
その点は承知して欲しい。

_ KENJI ― 2010/08/16 20:09

音声の圧縮のアルゴリズムを変えて、より小さくなるようにして、展開はアセンブラを使い、早くなるようにしました。
しかし、h00winは表情変化が多い上に表情変化にクロスフェードを使ってるから、新システム検証の素材としては余り良くなかったかも。

_ (未記入) ― 2010/08/16 20:43

アセンブラはインラインですか、それともMASMですか?

_ KENJI ― 2010/08/16 21:18

インラインとMASMの両方ですね。
EBPをよく使うので、インラインだとプラグマで抑制しないといけないのが面倒ですね。

_ KENJI ― 2010/12/09 07:38

あと、W95GDが落ちるという話ですが、原因かもしれない箇所を一つ見つけまし
た。
a0_chip01.pt1の画像サイズと実際にW95GDで確保されている画面エリアが
異なっています。
750x360のサイズなので、原因ではないかと思います。

_ tips about seo ― 2013/12/21 01:14

bZkjCQ Wow, great blog.Thanks Again. Want more.

_ stunning seo guys ― 2013/12/31 03:29

mVYWjt Thanks for the post.Thanks Again. Great.

_ check it out ― 2013/12/31 18:05

tl1BVZ Thank you ever so for you blog.Really looking forward to read more. Great.

_ Fat Loss Factor ― 2014/01/09 23:54

Looking forward to reading more. Great blog article. Want more.

_ have none ― 2014/01/10 01:26

Appreciate you sharing, great blog.Thanks Again. Fantastic.

_ summerhouses log cabins essex ― 2014/01/10 01:34

Thanks again for the blog.Really thank you!

_ log houses pictures ― 2014/01/10 02:48

Enjoyed every bit of your article post. Want more.

_ Buy Facebook Likes ― 2014/01/10 02:59

Thanks a lot for the article post.Really looking forward to read more. Great.

_ Drop ship lifestyle review ― 2014/01/10 04:01

I appreciate you sharing this article.Thanks Again. Fantastic.

_ Presentation Video ― 2014/01/10 04:31

Im thankful for the blog post.Thanks Again. Fantastic.

_ got safelist review ― 2014/01/10 05:13

Thanks again for the blog post.Really thank you! Will read on...

_ shiva-eye ― 2014/01/10 06:02

Muchos Gracias for your article post.Much thanks again. Great.

_ craigslist auto ad poster ― 2014/01/10 06:19

Really appreciate you sharing this blog.Much thanks again. Really Great.

_ sleep cycle ― 2014/01/10 07:34

I loved your post.Much thanks again. Really Cool.

_ How to Lose Weight Loss Fast for Women ― 2014/01/10 08:48

I loved your blog.Thanks Again.

_ Corey ― 2014/01/10 09:05

I really liked your blog.Much thanks again. Really Cool.

_ handmadejob ― 2014/01/10 09:53

I loved your article.Really looking forward to read more. Much obliged.

_ penis enlargement pills ― 2014/01/10 10:38

Thanks-a-mundo for the blog.Really thank you! Want more.

_ UNIVERSITY OF PETRA ― 2014/01/10 11:07

Muchos Gracias for your blog post.Really thank you! Keep writing.

_ minecraft compte premium gratuit ― 2014/01/10 12:11

Appreciate you sharing, great blog post.Really looking forward to read more. Really Great.

_ great website ― 2014/01/10 12:27

Thank you for your blog article.Really looking forward to read more. Keep writing.

※コメントの受付件数を超えているため、この記事にコメントすることができません。

トラックバック

このエントリのトラックバックURL: http://kenjikakera.asablo.jp/blog/2010/08/09/5277092/tb