1 名前:親父PG [04/03/30 02:40 ID:phIrC7nN.net] C++やC、アセンブラは昔こなしたし、プログラムの事なら自信はあるけど ゲームは作った事が無い方。現場からも引退したし(w。 ここは一つ趣味でDirectXでも勉強して、ゲームでも作ってみようかなぁと思った、 オジサンPGのスレッドです。 一緒にマターリライブラリから作りませんか?
27 名前:名前は開発中のものです。 [04/03/30 23:32 ID:fcRSAwJm.net] 個人的な好みだけど、前回のループのカウンターサンプリングからの経過時間冲 を、実数で持ってたほうが何かと便利かも。おじさんの頃はFPUが遅かったので 固定小数点命だったろうけど、今じゃ、バリバリ浮動小数点使います。 Real fInversedFrequency; LARGE_INTEGER liPrevCount; void init( void ) { LARGE_INTEGER liFrequency; bResult = QueryPerformanceFrequency( &liFrequency ); errorCheck( !bResult ); //カウンターサポートなし。 fInversedFrequency= 1.0f / Real ( liFrequency ); liPrevCount = 0; } void gameLoop( void ) { LARGE_INTEGER liCount; Real dt; //凾 (sec) QueryPerformanceCounter( &liCount ); if( liPrevCount != 0 ) { dt = Real( liCount - liPrevCount ) * fInversedFrequency; } else { dt = 0; } 処理:UpdateAI(), Render(), etc..... }
28 名前:親父PG [04/03/30 23:58 ID:phIrC7nN.net] >>25 サンプルに自分が書いた部分を書き足すと、ちゃんぽんになってしまう事があります。 気をつけないといけませんね(汗 >>26 参考URL有難う! >fpsの調節をするためにビジーループでQueryPerformanceCounterを呼び出していると どのようなループか気になりますね。素でループしたら変な事になるのかも知れませんね。 あと対策はどのくらい遅れたか? を計測して「移動やその他計算処理に」 その係数を掛け算する程度しか思いつきません。 DirectXのサンプルのタイマーユーティリティを覗くと、高精度タイマーを使用しています。 dxutil.cpp 確か高精度タイマーを選択した最大の理由はコレでした(もう忘れかけてるorz 「サンプルで使ってるし大丈夫だろう!」 ご意見お待ちしています(チョットコワイ
29 名前:親父PG [04/03/31 00:13 ID:Idf3f6lw.net] >>27 コードサンクス! オープンソースっぽくなってきましたね。 タイマーのブレをうまく吸収してくれそうですね。 ゲームの種類によっては、これが解決になるかも。 [タイマー系の処理は(時間が)くるまで動かないではなく 「(時間が)越えれば動く」ように設計する] ですかね^^
30 名前:名前は開発中のものです。 mailto:sage [04/03/31 06:26 ID:gs6uGany.net] 何気なく覗いてみたけど良スレの予感。 親父PGさんがんばれ。
31 名前:親父PG [04/03/31 07:43 ID:Idf3f6lw.net] ども有難うガム張ります。 タイマーの話だけではアレなので(滝汗 私が目標にした全体の設計指針を書きます。 プログラム内部で登場するものは、全て同じ基底クラスを持ち Create 命令で作成され、その時に「オブジェクトハンドル番号」を返すようにする。 *ポリゴン ライト テクスチャなどは全てこれで管理する。 命令は全てオブジェクトハンドルを使って指示する。 Commander[i]._mesMoveObject(hOBJ,OBJtype,Counter); Commander[i]._mesShowObject(hOBJ,OBJtype,Counter); (Commanderクラスは_mesで始まるオブジェクト処理集合体クラス ビューポートごとに1つ定義される。) ポーリングループにおいて一定周期にコールが行われ、このときに カウンター(命令の回数)のデクリメントと各オブジェクトに記録されている 命令にしたがってデータを可変させる。また各クラスは動きマトリクスを一つ 内包していて、カウンタが尽きるまでマトリクス演算を繰り返す。 これによって ポリゴンやライトなどの制御が簡単に動的に処理する事ができる。 (RPG系のマクロ言語のサポートを視野に入れている) 各オブジェクトには(マウスが押された時など)に予め指定してある 番号をもって共通のインターフェース関数を呼ぶようにする。 これによってソースコードの奥深く(笑)で発生したトリガーが 一箇所に集約され、ここでも一括処理ができるようになる。 (ボタンやダイヤログ機能の実装)動的に作成されたものにも対応できる。 1枚のテクスチャの部分コピーをおこないテクスチャの管理を楽にする。 半年かけてこの辺までは作りました。データの扱いをメインにくんでいたせいか DorectXの機能っぽい部分に触っていません。orz いやこれからですコレから(汗
32 名前:名前は開発中のものです。 [04/03/31 09:17 ID:t5cBxtOK.net] おまえらタイマーを何に使うか決まっててモノ言ってんのか? おまえら10秒でできる判断に1日かけてんじゃねーぞ?
33 名前:27 [04/03/31 09:49 ID:uLEtiF6X.net] >>32 ゲームの物理世界は ∫f(t)dt ってことだよ。
34 名前:名前は開発中のものです。 mailto:sage [04/03/31 10:00 ID:t5cBxtOK.net] >>33 プw 遅れてるねぇ
35 名前:名前は開発中のものです。 [04/03/31 10:37 ID:uLEtiF6X.net] >>34 アフォですか? 世界を1フレームに微分して捉えるのは、CPUの能力が有限である以上 当たり前だよな?それ以上の何がある? とんちんかんなシロートさん。
36 名前:名前は開発中のものです。 mailto:sage [04/03/31 10:43 ID:t5cBxtOK.net] 時間の概念が古いんだよw
37 名前:名前は開発中のものです。 [04/03/31 11:43 ID:uLEtiF6X.net] >>36 おもしろんじゃん。その新しい時間の概念とはなんだよ? 何にも提示するものはないのに一応偉ぶって見たいだけですか? どうせ逃げるんだろうケドナ。
38 名前:名前は開発中のものです。 mailto:sage [04/03/31 11:52 ID:J7xQt3Sm.net] 煽りに釣られてんなよ低脳
39 名前:名前は開発中のものです。 mailto:sage [04/03/31 11:54 ID:Jboy7uue.net] 親父PGさんは仮性ですか?
40 名前:名前は開発中のものです。 mailto:sage [04/03/31 11:58 ID:e/u8FsRY.net] ↓何事もなかったかのように親父PG登場
41 名前:名前は開発中のものです。 mailto:sage [04/03/31 12:40 ID:cyUqzRML.net] こういう親父は せいぜいライブラリ作りで終わりそうな予感・・・
42 名前:名前は開発中のものです。 mailto:sage [04/03/31 13:00 ID:P6HXZMmb.net] んで、ゲームは何つくるの?
43 名前:名前は開発中のものです。 mailto:sage [04/03/31 13:23 ID:t5cBxtOK.net] >>37 2,3年前で頭止まってんじゃねーの? 世の中進んでるのはグラフィクス技術だけじゃないぜw
44 名前:親父PG [04/03/31 13:34 ID:7Yj92Zqq.net] スレが伸び取る! 2ちゃん的に(w >>34 タイマーについては一度議論するのも悪くないと思います。もっともご指摘のように いつまでもすることではないですか(w >>41 ライブラリ作っていると「無駄に複雑」な仕様になりがちです。戒めて前に進まないとorz >>42 ゲームですが、キャラクターデータ−を中心に(制約はあるものの) ゲームの内容は後から追加できるように考えています。 まだ具体的にゲームの内容までは絞り込んでいません。 グラフィックは嫁にメタセコイア覚えさせないと(笑 スクリプトエンジンを設計して、実装したらゲームの具体的な部分を考えます。 プログラム初心者程度でも、データを設計できる難易度に落とし込みたいと考えています (野望)幾つかのモジュールはDLLで配布して他の方もゲームシナリオが作れるような環境も 提供していければなぁと。これってある意味ツクール的かも知れないですね。
45 名前:名前は開発中のものです。 mailto:sage [04/03/31 15:02 ID:XPmjXdZE.net] 3DもOK、かつスクリプト使うってことはRPGかな? 変な荒らしに負けずガンバレ
46 名前:親父PG [04/04/01 02:48 ID:M2APFMNg.net] >>45 どうも^^.. 荒しなんてUP前の仕様変更(納品後)に比べればなんともないですよ(笑 以前作ったライブラリを覗いたら、バグどころか設計そのものが間違えていた事が判明! 自分で仕様変更おこしてしまいましたorz ダメスギル 今回は論理フォントを作るクラスです class cFonttypes{ NONCLIENTMETRICSstNCMetrics; public: LOGFONT defFont; cFonttypes(){//Constractor stNCMetrics.cbSize = sizeof( NONCLIENTMETRICS ); ::SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof( NONCLIENTMETRICS ), &stNCMetrics, 0 ); memcpy( &defFont,&stNCMetrics.lfMessageFont,sizeof( defFont ) ); defFont.lfWeight=FW_MEDIUM; defFont.lfHeight=32; defFont.lfItalic=false; defFont.lfQuality=PROOF_QUALITY; } virtual ~cFonttypes_Barracks(){} BOOL SelectFontType(int _nType_,int _size_ ,bool _italic_ ); BOOL SelectFontType(char* _cFontName_,int _size_ ,bool _italic_ ); };
47 名前:親父PG [04/04/01 02:53 ID:M2APFMNg.net] .cpp BOOL cFonttypes::SelectFontType(int _nType_,int _size_ ,bool _italic_){ //名前登録済み defFont.lfItalic=false; defFont.lfHeight=_size_; defFont.lfItalic=_italic_; switch( _nType_ ){ case 0:{lstrcpy( defFont.lfFaceName,"Arial" );break;} case 1:{lstrcpy( defFont.lfFaceName,"MS 明朝" );break;} case 2:{lstrcpy( defFont.lfFaceName,"MS ゴシック" );break;} case 3:{lstrcpy( defFont.lfFaceName,"HGP創英角ポップ体" );break;} case 4:{lstrcpy( defFont.lfFaceName,"HG丸ゴシックM-PRO" );break;} case 5:{lstrcpy( defFont.lfFaceName,"HG正楷書体-PRO" );break;} case 6:{lstrcpy( defFont.lfFaceName,"Impact" );break;} case 7:{lstrcpy( defFont.lfFaceName,"Times New Roman" );break;} default: lstrcpy( defFont.lfFaceName,"Arial" ); }// end of Switch if ( CreateFontIndirect(&defFont)!=0 ){//論理フォントの選択&作成 return(true); }else{ return(false);} } もう一つは割愛 フォントは環境に依存するので初期化ファイルにユーザーが登録できるようにする 仕様が望ましいのかなぁ。などといいつつプリセットを作ってる私でありますが。 こういうのを作った後で(最初はユーザーは難しいことさせるなという仕様なのに) 後からやっぱりユーザー定義で作って! なんて事はよくありますな。 仕様書作成=作る人 って楽で良いね(笑
48 名前:親父PG [04/04/01 03:44 ID:M2APFMNg.net] 訂正 if ( CreateFontIndirect(&defFont)!=0 ){//論理フォントの選択&作成 HFONT ReFont CreateFontIndirect(&defFont); return( ReFont ); 関数の型 BOOL > HFONT またやってしまったorz 落ち着け俺
49 名前:名前は開発中のものです。 mailto:sage [04/04/01 04:30 ID:CzMeYUkg.net] 既に環境依存してますって(汗) HG系はリコーの商用フォント。Windows標準では使用不可能 MS-Officeについてくるから勘違いされることが多いけどね フォントを複数種類使いたいならEnumFontFamiliesEx使ってフォントを列挙し、 ユーザーに選ばせるのが一番安全
50 名前:名前は開発中のものです。 mailto:sage [04/04/01 19:33 ID:ZC0PnnRp.net] ちょっと低レイヤー過ぎるような。 3Dっしょ?フォントとかそんなとこから作ってたら平成が終わっちゃうよ。 D3Dサーフェイスに乗せられるテキストボックスとかがいいんじゃね?
51 名前:親父PG [04/04/01 23:04 ID:M2APFMNg.net] >>49 >HG系はリコーの商用フォント。Windows標準では使用不可能 >MS-Officeについてくるから勘違いされることが多いけどね そうでしたが....Windows2000にも入っていたので標準かと思ってましたよorzダメスギル 少し改造すれば(最終的な)ユーザー選択可能にもできますので^^ そこはなんとかいたします >>50 この部分は(表示まで含む)以前に作った事があるのですが、のべで5日ぐらいでしたので大丈夫ですorzタブン それよりTextOutでビットマップに出力するとアンチシェアリングかかってないんですよね。 そのぶん速度も速いですが。 GetGlyphOutline を使うべきなのか.... ttp://www.mikenekoworks.com/develop/getglyphoutline.html このあたりは要求仕様によって変わりそうではありますが
52 名前:名前は開発中のものです。 [04/04/01 23:34 ID:snPiYnSW.net] つかフォント(´д`)イラネ BMPで用意してケロ。 12x24、16x32の二つあれば十分でゲス。
53 名前:親父PG [04/04/02 01:02 ID:5nHc263h.net] >>52 (理論文字数65535文字) *12*24bit*8/8 18874080byte 1ピクセル深度8bitで計算 1.8Mですな(65535の部分はうそ臭い) まぁ1Mぐらいかな。昨今の環境では無問題かもね(汗 ということはプログラム開始時に作ってしまうのがいいのかな。 全フォントピクセルBMP(横に糞長いBMP) 全フォントBMPで管理する時、面倒なのはカーニングですねぇ。どうしましょ(W コードから半角を割り出すか(W 昔やったねコード判別で半角or全角判断 いっそカーニングデータ−にも対応して!(やばい泥沼だ 昔PC98のころはフォント用のLSIをからフォントデータ−を取得して表示してましたね。(サイズ固定) というかテキスト専用のVRAM(空間)があって、そこに2バイト書き込めば文字が出るというレイヤー構成だった。(グラフィックVRAMは別) グラフィックVRAMは微妙にメモリアドレス空間ズレテルシorz DOSVで文字データ−をメモリに載せるシステムを見た時!メモリ大丈夫か!と関心したものです。(当時の互換機はメモリ16Mが標準) 僕らより先輩の時代には、[コンピューター漢字不要論]なんてのもありましたorz.......
54 名前:親父PG [04/04/02 01:43 ID:5nHc263h.net] 現時点でのFONT周りの基本動作 PG開始時 テキストBMP用作成 tbitmap以外で取得したリソースは全て破棄 論理フォント作成 指定フォントでBMPにtextoutで書き込み 文字貼り付け用ポリゴン作成 ポリゴンに書き込み 初期化終了/ループ開始 文字列に変更がない場合、BMPはそのまま 変更があった場合 BMP書き換え ポリゴンとテクスチャの貼り付け レンダリング 表示 ループエンド 追加機能 文字の後ろにはグラフィックが置ける 現在、OR加合処理 利点 (システムにあれば)どのようなFONTにも対応できる 動的に文字列を変化できる 比較的高速 カーニングはシステム任せ イタリック、太字なども関数へのパラメーターのみで対応できる 文字色も自由に変更できる(1文字ずつも可能) 文字データ−>テクスチャデータ−の時にエフェクトなどが付けられる(グラデーションとか) 欠点 アンチシェアリングがかかっていない為、3Dでポリゴンが視点に対して垂直でないと文字が崩れる。(これは考慮しないと他でも当てはまる) テキストっぽい(w (テキストだけどね) システムの環境に依存する 文字列の変化する時に、ループ内でGDI操作が発生する(BMPだけの書き換えで対応できるかな?? 後から長い文字列がきた場合の対応...) でかい文字はNG 列挙すると、現在の仕様での不備点は基本的に品質への問題が大きいみたいですね。なんだかテキストエディタ用のライブラリ作ってるみたいだ。 結局文字用のBMP用意から以降は、同じにできそうなので、文字用のBMP書き込みの部分を「文字の品質対する要求」パラメーターを追加して textOutかGetGlyphOutlineで用意するか切り分けると良いかな。 あとエリア書き込みには対応しないとね(汗 文字列にCRLFがあったら書き込み位置の移動。これは大丈夫だね。
55 名前:名前は開発中のものです。 mailto:sage [04/04/02 05:15 ID:nXT82zKM.net] プログラムは良いけど、まず企画が無いと設計できないんじゃ…
56 名前:名前は開発中のものです。 [04/04/02 05:55 ID:XRR6zDrg.net] >>55 まぁいいんじゃないの。自分の得意な所から切り込んで行くのは モチベーションを保つのに有効だと思う。
57 名前:親父PG [04/04/02 07:24 ID:5nHc263h.net] >>55 密かに「企画」はありますが、ここで公開するにはまだ未整理な部分があるので また公開していません。現在作っているところはどのような形態のゲームでも、 取り合えずは利用する汎用部分だと思っています。 ところで、スクリプトエンジンについては、これから設計を始めるのですが、 どのようか形がやり易いのでしょうかね? ターゲット>ゲームの企画(シナリオ)担当(if文の意味ぐらいは知っている人) サポート予定の機能 スクリプトで(ゲームから見た)下レイヤーに対するオブジェクト命令が可能 (このフォーマットで作成しているので実装済み WINDOWダイアログ、ボタンサイズ、ビューポートの数とサイズなどを 予めリソースエディタで編集可能(作成済み ボタンに割り当てるグラフィックを複数パターンの割り当てができる。 マウスMOVEでアニメーション マウスHITでアニメーション 常にアニメーション 等のボタンの実装(作成済み マウスクリック時の反応に、INDEX番号が割り付けることができる(実装済み ○問題はシナリオライター側の表現方法の実装方法 本体とは別のエディタを用意//Delphiで作成予定 1)ポインタがないC言語のような言語を書かせるタイプ 2)プリセット式してプルダウンメニューで一行ずつ書いていくタイプ 3)シーンごとに必用なデータ−を埋めていくタイプ どういうのがいいんだろうね? それこそゲームの企画ありきな話かもしれませんが^^ ご意見お待ちしています。
58 名前:名前は開発中のものです。 [04/04/02 10:05 ID:WZRWRsbY.net] >>57 作るゲームが決まってなきゃスクリプトエンジンなど書けません。 何か最初の方は3Dゲー目指してる感じだったけど、スクリプトエンジンの 内容はノベルゲームを目指してるようにも聞こえるのだが… フォントとかってアクションゲームなら使わないし、イマイチ最終的に 何を作りたいのかが分からないのだが。
59 名前:名前は開発中のものです。 mailto:sage [04/04/02 10:17 ID:17ySoK39.net] >>58 どんなゲームだろうとフォントを全く使わないって事はないだろう。 今までどんなゲームやってたのか知らんが、 お前さんのいうアクションゲームって たとえばどんなのよ?
60 名前:名前は開発中のものです。 mailto:sage [04/04/02 10:48 ID:d2sSL+xq.net] >>59 ここでは厳密なフォント周りが必要ないといってるだけでは? たとえばSTGなんかもスコアとかは表示するけどあれは 厳密なフォントのライブラリ使うようなもんじゃないだろってことかと 数字10種と「score」と表示するビットマップでいい そしてRPGやAVGのぞくとフォント周り意識するものはほとんどない 最初は遅くてもOS標準の描画でなんの問題もない やはり何作るか決まってないってのが一番の原因
61 名前:今現在この名前は使われておりません [04/04/02 10:51 ID:DFmUogFA.net] 403 :心得をよく読みましょう :04/04/01 03:32 ID:1xz8AXwW よろしくお願いします 【板名*】ゲ製作技術 【スレ名*】親父PGがゲームを作り始めるスレッド 【スレのURL*】pc5.2ch.net/test/read.cgi/gamedev/1080582036/ 【名前欄】 【メール欄】sage 【本文*】↓ 既に環境依存してますって(汗) HG系はリコーの商用フォント。Windows標準では使用不可能 MS-Officeについてくるから勘違いされることが多いけどね フォントを複数種類使いたいならEnumFontFamiliesEx使ってフォントを列挙し、 ユーザーに選ばせるのが一番安全
62 名前:親父PG [04/04/02 11:20 ID:5nHc263h.net] >>58 59 60 議論有難う。 ゲーム(種類)によって必用か不要であるかという議論は、確かにあると思います。 特に納期に追われている職業PGではなおさらでです。 その辺の議論は置いといて、「作ってしまえ!」のノリで8割型完成しましたorz フォントの種類については、ユーザーが後からいくらでも追加できるようにして 静的配列>STL(動的配列)に変更(フォント属性をまとめて記録) 構造体のコンペアをかけて同じフォント属性を登録しないチェック 呼出回数の記録をとって、使用頻度の低い論理フォントは破棄する。 (破棄しても次回呼出の時に、自動的に再登録される) ※ご指摘いただいた問題点がとても役に立ちました しかし、このへんはプログラマの趣味の世界に突入していますねぇ。 ゲームによってはまったく使わないかもしれなけどorz... 実は何を作りたいというのは漠然とはあるのです。 目標の物を作成する為には、FONT周りをきちんと整理しておかねばなりません。 ちょっと過去を話すとDTPの仕事(デザイナー)も経験がありまして 文字が汚いのはいやなのですorz また趣味の世界に突入してる.... >>遅くてもOS標準の描画 DirectXの描画ループでそれをやると、ちょっと問題が起こります。 いずれのゲームでも以下の処理は必要かと思われます。 テクスチャ作成>BMP作成>文字描画>ポリゴン貼り
63 名前:名前は開発中のものです。 mailto:sage [04/04/02 11:50 ID:koF3jQIY.net] 内に秘めたり、趣味に走るのは全然問題無いのですが、 目的が分からないとアドバイスしようがないよ、という話だと思います。
64 名前:親父PG [04/04/02 12:08 ID:5nHc263h.net] >>63 なるほど、では今、思案中で是非アドバイスして欲しいことがあります >>57 にも書きましたが、ゲーム用のスクリプトの仕様決定の為の指針についてです。 ゲームは取り合えずRPG用と仮定してください。(カードゲームや其の他にも応用化) 画面形態はドラクエと仮定します。(画面形態は固定しない仕様を考えています) この場合、シナリオを作成する側はどのような機能が欲しいか? どのようなレベルまでPG的な事を理解できるか? ということです。 フラグ管理機能なども必要でしょうし; 文字列を解析してデータ−を作成するというのは、自作でコンパイラを作るようなものですねぇ。 数値計算とかポーランド記法。。。 いろいろ待っていそうですね(汗 そういえば昔、電卓作ったなw それとも今ではフリーのMASMのマクロで組むかな....
65 名前:名前は開発中のものです。 mailto:sage [04/04/02 12:12 ID:hbuLfTYl.net] テキスト出力なら、 フォントサイズを計算 -> テクスチャの生成 -> GetGlyphOutlineのイメージをテクスチャ -> レンダリング 出力先の大きさを固定するのならサイズの計算はいらないけど。 BMP作成というのが意味不明。
66 名前:名前は開発中のものです。 mailto:sage [04/04/02 12:27 ID:2mBUdLBh.net] >>65 素人は引っ込んでろよ。 >>64 文字主体のゲームだとしても漢字全部を入れる必要はないかと。 使用している文字吐き出して必要な分だけ抽出する仕組みを用意すれば効率いいよ。
67 名前:名前は開発中のものです。 mailto:sage [04/04/02 12:48 ID:hbuLfTYl.net] だいたいBMP作成なんて訳の分からないことをしたら、 GetGlyphOutlineで得られるα成分はどうするの? なんちゃって玄人の>>66 よ、素人にも分かるように説明してくれ。
68 名前:名前は開発中のものです。 mailto:sage [04/04/02 12:55 ID:CnIYY+bY.net] なんかBMPを画像(フォーマット)としてのBMPとかと勘違いしてる?
69 名前:名前は開発中のものです。 [04/04/02 12:58 ID:WZRWRsbY.net] >>67 お前ゲーム機用の開発した事ないだろ?
70 名前:名前は開発中のものです。 mailto:sage [04/04/02 13:03 ID:hbuLfTYl.net] >>68 GetGlyphOutlineのイメージをテクスチャ に転送する際に、 BMPがDIBや自分で確保したヒープであっても、 余計なものを経由して、わざわざ動作を遅くする理由は? >>69 DirectX経由の話であって、コンシューマーの話ではないはずだが、 何を言っているのかますます意味不明。
71 名前:名前は開発中のものです。 mailto:sage [04/04/02 13:05 ID:sbRQNnGs.net] >>57 作業がしやすいなら(使いたい機能を感覚的に探せる)どんなタイプでもかまわない。 最低限の改行/改ページ指定の入った文章をスクリプト書式に変換(もしくはデータ化) でき、可能ならその逆(スクリプトからほとんど文章のみの形にする)もできるようにして欲しい。 校正しやすい形でシナリオを書きたいからね。
72 名前:名前は開発中のものです。 mailto:sage [04/04/02 13:08 ID:hbuLfTYl.net] BMPを経由する理由というのがあるのなら、 その時点で私のよけいなお節介だったというだけの話なんだが。 話が別のところへ行きそうな予感。
73 名前:名前は開発中のものです。 mailto:sage [04/04/02 13:53 ID:2mBUdLBh.net] いやもうウザイんで消えて。なにやるか判ってないのにアドバイスできると 思ってる池沼にはうんざり。
74 名前:名前は開発中のものです。 mailto:sage [04/04/02 14:09 ID:2oL9ZmmW.net] >>73 何故BMPなんて余計なものを経由するのか、明確な説明があれば即消えるけど。 なんで理由を書かずに、高圧的な書き込みだけ残していくの? 理由があればそれでよし、無駄な部分なら省けばいいだけの話題なんだが。
75 名前:名前は開発中のものです。 mailto:sage [04/04/02 14:12 ID:MlWn9c9H.net] けんかやめれ 抱きしめてやるよ俺が
76 名前:名前は開発中のものです。 [04/04/02 14:20 ID:J12mvrUf.net] テクスチャを利用する場合は、アルファで透明色の設定が必要になるから、 例えば、 TextOut>DIB>テクスチャ なんかの場合は、透明色をテクスチャに設定し直さなければならないので、 GetGlyphOutlineからダイレクトの方が効率がいいのでは?
77 名前:名前は開発中のものです。 mailto:sage [04/04/02 15:04 ID:UR9wlBoP.net] 俺も>>68 とか意味がわからんので教えて欲しいな。 しかし、このスレはいろんな意味でマズーだなぁ・・。 いいのかこんなんで、みたいな。
78 名前:名前は開発中のものです。 mailto:sage [04/04/02 15:16 ID:WZRWRsbY.net] >>77 お前プロじゃないだろ?
79 名前:名前は開発中のものです。 mailto:sage [04/04/02 15:24 ID:2oL9ZmmW.net] 結局なにも説明できず、煽ってごまかすことしかできないとは。 それがプロの仕事なのか? 文句があるのなら技術的に突っ込みを入れればいいだけなのに。
80 名前:親父PG [04/04/02 15:26 ID:5nHc263h.net] >>76 ダイレクトというのはこういう形ですよね 文字データ−GetGlyphOutline V DIB(背景)> OR加合 > テクスチャ>ポリゴン貼り付け (DIB(背景)はなくてもOK) ○TextOutを使う場合 透明色については単にORで演算すると抜けてくれますので大丈夫です。 DIB(BMP)そこに背景の画像も同時に保持する為です。 textoutの為に(内部に)BMPが必用なので作成しております。 ループ開始前にハンドルで保持できるという、運用上のメリットもあります。 ○GetGlyphOutline ループの中で文字データ−を作成するのは、文字列が変更した時意外は極力避けるべきなので 事前に何処かに置いておく必用があります。 TextOutの時にはBMPがありましたので、そこに保持しています。 (メモリと同じ扱いですね) 同じロジック上で動くならその上に置いておけばいいや!という考えなのですけどね... ところでこの関数は1文字ずつしか機能しないのですが、そのへんの速度って大丈夫なのでしょうか? まとめ 当初 TextOut命令でFONTデータ−を作成する仕様だったので、当然(内部)BMPを作って ハンドルを保持する形が生まれた。 しかしそれではアウトラインが汚いので、ユーザーが切り替えられる仕様を追加した。 既にBMP経由のロジックが出来ているので、単にGetGlyphOutlineデータ−を置いておくメモリとしてBMPを使用した。 ざっとこういう理由でBMPがこの中に残っています。 保持するBMPは1ピクセル8ビット深度フォーマットで作成。これなら両方のデータ−を収めることが可能 こんな感じかな... 俺はなにか間違えているのだろうか orz.....
81 名前:名前は開発中のものです。 mailto:sage [04/04/02 15:28 ID:koF3jQIY.net] 理由を書かないやつは>>75 に抱きしめてもらえ
82 名前:名前は開発中のものです。 mailto:sage [04/04/02 15:40 ID:2oL9ZmmW.net] 根本的なところに考え方に食い違いがあるようなんだけど、 なぜレンダリング時にハードウェア側で背景とフォントを合成しないの? >文字列が変更した時意外 背景と分離しておけば、背景が動的に更新される場合も、 文字列に変更がなければ、文字列用のテクスチャを書き換える必要が無い。 背景は更新されないことが前提?
83 名前:親父PG [04/04/02 15:58 ID:5nHc263h.net] >>71 校正の容易さについては重要な指針とさせてもらいます。 ============================================================== 言語仕様のプラン 1)Cライク if (fg[24]==25){ PUTMES(1,1,'メッセージ出力'); } 2)単純化したもの [24]==25,PUTMES,メッセージ出力; 3)EXCELを前提 PUTMES,'メッセージ出力'(24,=,25); こういう形よりWEBのツリー型の掲示板のような形のほうがいいのかなぁ... Parlで組むか!(orz スミマセン ジョウダンデス
84 名前:親父PG [04/04/02 16:00 ID:5nHc263h.net] >>82 ごめんなさいorz データは背景用と文字用と2つ持っています。 レンダリング直前に加算してます。
85 名前:名前は開発中のものです。 mailto:sage [04/04/02 16:05 ID:2oL9ZmmW.net] レンダリング直前というのが謎なんだけど、 テクスチャを使っているのなら、なぜレンダリング時に、 ハードウェア側で合成をかけずに、その前過程で合成するのかが疑問。
86 名前:名前は開発中のものです。 mailto:sage [04/04/02 16:18 ID:MlWn9c9H.net] 世の中にはいろんな人がいるものさ
87 名前:親父PG [04/04/02 16:20 ID:5nHc263h.net] >>85 ポリゴンに張り込むテクスチャ1枚目に、データ−を放り込んだらうまくいったからというのが理由です。深い意味はありませぬorz 加合用の2枚目のテクスチャをさらに別途用意して、データ−を他所からもってくるなら(他にいろんな可能性があるとはいえ) テクスチャは1枚でいいような気もするのですが...
88 名前:名前は開発中のものです。 mailto:sage [04/04/02 16:34 ID:2oL9ZmmW.net] ハードウェアとソフトウェアでは合成速度に雲泥の差があるんだけど。 それにゲームの内容にもよるけど、サウンドノベルでもなければ、 普通は背景が一枚絵である場合は少ない。 複数のパーツを結合して背景やキャラクターを合成して、 一つのフレームを生成するわけなんだけど。 もしかして3Dデバイス経由でノベルのシステムを作るという話だったの? だったらすまなかった、この話は忘れて。
89 名前:名前は開発中のものです。 mailto:sage [04/04/02 16:55 ID:d2sSL+xq.net] >>88 とりあえず目標はRPGらしいぞ だからフォントなんかで速度がネックになるところはないと思われ 最適化に目がいくのはいいが、さっさとゲーム作り始める方がいいような ネックになる場所とかもそれではじめてでてくるとかあるかもしれんし #そういや親父のわりに真っ昼間から時間あるんだな
90 名前:77 mailto:sage [04/04/02 17:01 ID:UR9wlBoP.net] 普通D3Dなら、フォントテーブルはD3DFMT_A8で作って マルチテクスチャブレンディングで加工・表示するもんだと思っていたが。 確かに俺は素人だが、、、まあいいけどさ。
91 名前:親父PG [04/04/02 17:05 ID:5nHc263h.net] >>89 今日は非番で休みです。 明日は仕事ですorz...
92 名前:名前は開発中のものです。 mailto:sage [04/04/02 17:34 ID:d2sSL+xq.net] >>91 スマン 非番という言葉使っていることからタイムシフト系か つらそうだな
93 名前:名前は開発中のものです。 mailto:sage [04/04/03 22:06 ID:od+9QL8M.net] おやっさん、頑張れ。 密かに応援しているぞ。
94 名前:親父PG [04/04/03 23:27 ID:0WOw9AyH.net] >>92 93 どうもありがとう。その言葉を励みに頑張ります。 今仕事から戻ってきました。土曜日は電車が空いてるので、ひざの上でPG組んでました(w 電車には携帯電話禁止と書いてあるが、携帯パソコン禁止とは書いてないからな。 GetGlyphOutline って結構面倒ですね。まだ動きがおかしいorz 文字列からひとつひとつコードを取り出さないといけないし、 UINTに対応して上位バイトと下位バイトを入れ替えなど... ほんとにこんな処理をループ中にして大丈夫なのかな。 毎フレームやることじゃないな。この処理
95 名前:名前は開発中のものです。 mailto:sage [04/04/04 01:15 ID:jA6y2hbu.net] ライブラリとかフレームワーク作るだけで力尽きないように SDLとか使うのもいいのではないかと。
96 名前:親父PG [04/04/04 09:51 ID:6UsE36R6.net] DIBについてトリビアを発見しました。 BITMAPINFOHEDERのbiHeight メンバを−にしてDIBを作成すると 左上原点のボトムダウンDIBになる。 既に概出かもしれませんが.....orz
97 名前:名前は開発中のものです。 mailto:sage [04/04/04 11:59 ID:KpeQdK+f.net] それって10年前からやってたんだが そのまま書き出しても一部対応してないビューアとかあるけど 内部で使うだけなら問題ない
98 名前:新人PG mailto:sage [04/04/04 12:24 ID:yroz7+Kx.net] 面白そうなので参加したいな。 当方C,C++,C#,VB,Java,Perl,ASM何でもOK。DirectX触った事なしです。 親父PG様の進行を妨げない、便利屋PGとして徹しますので。
99 名前:親父PG [04/04/04 13:51 ID:6UsE36R6.net] >>97 1994年から? win3.1の頃からそうだっけ? orzオレハ10ネントテツモナクムダナコトヲシテタノカ.... >>98 おお!参加表明有難う。 もし、やってもらえるなら、前にも書きましたが シナリオエディタとデータ−規格の設計をお願いしたいです。 フラグ管理も「履歴」機能を追加して「過去4回きてれば」というようなものも欲しいですね。 データの規格が煮詰まれば、こちらでもツールを作ります。 ここでデータの設計を進めましょう。 現在動いている下位レイヤーでは、引数として 「対象ビューポート」、「対象オブジェクト」、「呼出タグ」などが設定できます。 ※ピューポート画面分割だと思ってください。 現在、プログラム起動時にビューポート数とその大きさ、「ボタン128個(反応レクト領域数)」、テクスチャファイル名 が入ったファイルを読み込んで画面が変化するようにしています。 またこのプロファイルは何度でも読み直しができます。(画面デザイン切替可能) (※以上は稼働中) 作成する(予定)の物は 昔、(今もか)ソーサリアンというゲームがありましたが、そのシステムを拡大.拡張する予定です。 (シナリオはヨコスクロールに限定しない) あと、DirectX SDK落としてきてサンプル覗いてみてください。 経験のある方なら動かすぐらいは簡単にできると思います。^^)|~ アイテムデータの作成は本体PGに持たずに、外部にDLLとして実装して、 他のアプリケーションからも使用可能にします。 うーむ勢いで...公言してしまった。orz ダイジョウブカナ...
100 名前:名前は開発中のものです。 mailto:sage [04/04/04 14:08 ID:ppxkrtRX.net] ソーサリアンの拡張版!? それは楽しみ。 絵とか音楽とか必要な段階になったら、 状況が許せばお手伝いします。
101 名前:新人PG mailto:sage [04/04/04 14:53 ID:yroz7+Kx.net] >>親父PG 快い回答ありがとうございます。 いきなりそんな重要な部分の設計を任せてもらって感謝とガクブルが半々ぐらですw 勝手ながら、まとめページを作ってしまいました・・・いらなかったら消します(^^; www.geocities.jp/oyajipg/index.html うpローダとか考えたのですが、ちょっと様子見ということで個人サイト形式です。 シナリオエディタとデータ規格ですね? 先にデータ規格の方の設計を考えておきます。でわ。
102 名前:名前は開発中のものです。 mailto:sage [04/04/04 15:15 ID:KpeQdK+f.net] 最初からソーサリアンみたいなの作りたいとかいっとけば 流れ分かりやすくてよかったかも ソーサリアンシステムの概要はしっとるかな? まぁ、今なら参考にすることはあんまり無いと思うけどね winはwinでもNT3.1、3.5あたりのお話 win32apiは「new」とかついてたような 新人PGさんのほうがシステムの設計か なんか逆のような気がしないでもないがw こういうのはシステムとプラグイン部分の分離が最重要だから そのへんどうにでもなるようにUTF8でXMLで書き出せておけばいいようなツール類を 量産すべし・・・かな 知っている言語にjava、C#があるのでそのへんは楽っしょ
103 名前:新人PG mailto:sage [04/04/04 15:32 ID:yroz7+Kx.net] >>102 実はソーサリアンって知りません・・・w とりあえず、親父PGの意向のままに〜と思っています。 最初同じくXMLでの規格設計を考えていたんだけど、結局はパーサ介してC++で 実装すると思うと、ちょっと躊躇してしまうんすけどね。 いや、C#やJavaでXML処理なんて全然大した事じゃないんですけど、C++だとちょっと 敷居が高いじゃないですか。データ処理をするのにパーサー理解などの学習コストが あるんですが、そこん所どうなんでしょ? こちらは一応、Xerces-C++使った経験多少あり。日本語処理とかって今どうなっているんだろう・・・? ICUとか使うのかな?規格よりも実装に目が行ってしまう、典型的プログラマですなw
104 名前:名前は開発中のものです。 mailto:sage [04/04/04 15:41 ID:PaXg2AQi.net] ソーサリアンか。懐かしいの選ぶねぇ。
105 名前:親父PG [04/04/04 16:27 ID:6UsE36R6.net] >>101 こちらこそよろしくお願いします。 というか教わることが多いかも^^; HP有難う立派なもの作って頂いて! 感動ですよつ∇;) >>102 データ−をUTF8ですか...メリットとデメリットを考えていきましょう。 ツール類に関してですが、私はdelphi使おうかと思ってます。 なにかと文字操作するのは「言語的に得意」なので... でもCビルダーもいいかもしれませんね。 ちなみに私はVC++(2002)NETとThinkPad(セレ2G)Windows2000で開発してます。 よってこのマシンで動くように作ります(W GPUはintel82855です。この石でサポートしない機能は使わない。 自分中心でハード仕様決定です。 ノートで動くならサポートする環境も増えると思うので
106 名前:親父PG [04/04/04 16:45 ID:6UsE36R6.net] 文字のアウトラインを取得する為のコード取得ルーチン ○文字は2バイトと1バイトコードが混じる可能性あり UINT string_code; char c1; unsigned short int c2; char Moji[48]; for ( int iC=0; iC < lstrlen(Moji);++iC ){ c1= Moji[iC];//1バイトコード取得 c2= ( (Moji[iC]<<8 ) + unsigned char (Moji[iC+1]) ) ; if ( 0<c1 && c1<128 ){//-の価をチェックルーチンに回すとランタイムエラー if ( __iscsym(int(c1))!=0 ){ string_code=c1; } }else {1byteではないなら2バイトコード int cc0=_ismbcl0(c2),cc1=_ismbcl1(c2),cc2=_ismbcl2(c2),cn=_ismbchira(c2),ck=_ismbckata(c2); if ( (( cc0 =! 0)||( cc1 =! 0)||( cc2 =! 0)||( cn != 0)||( ck != 0)) ){ //2バイトコード if ( _ismbcl0(c2)!=0 )こういう書き方できない為 iC++; string_code=c2; }else{ string_code=c1;//BPt置いて監視 上から漏れてくるコードあるかな? } } fsize=::GetGlyphOutline( hDC, string_code, GGO_GRAY4_BITMAP, &stGlyphmtrics, 0, NULL, &mat ); ... }//end of for もっといい方法ありますかね? orz....コンナショリ ビョウガループにイレラレルノカ????
107 名前:新人PG mailto:sage [04/04/04 16:58 ID:yroz7+Kx.net] >>105 とりあえず、データ規格の概要の構想を提案します。 1)基本的に、データと実装部の分離は出来る限り行う。 2)スクリプトは簡易インタプリタ言語 3)実装部とスクリプトはイベントドリブンの関係 1)はゲーム進行そのものをスクリプトに持たせようってな設計構想です。 しかし、汎用的なものを考えてはいません。あくまで現ゲームに必要最小限の規格を考えています。 2)は企画者やシナリオライターにプログラムを覚えてもらうものです・・・てのは嘘で、 ツールによる作成が出来る程度の簡易インタプリタを考えています。 変数をハッシュ化させて管理する機能などで、フラグ管理などを考えています。 3)は、まだ頭の中でモワモワしています。そのうち図などで詳しく書きますw データ形式ですけど、XMLでも独自形式でもいいような気がします。(ダメ?) ここは、自分の裁量で決めかねるので親父PGさんが決めちゃってください。 ツール作りはDephiでつか・・・。 C#.NETとかだと、ツール作りに参加できそうなのですけど・・・。
108 名前:新人PG mailto:sage [04/04/04 17:21 ID:yroz7+Kx.net] >>106 ぜんっぜん試してないので、嘘こいているかもしれないですけど・・・。 一度、GetGlyphOutlineをコールしてバッファサイズを取得してから、実際のバッファを いれてやれば良いような話がありました。 ttp://www.twin-tail.jp/contents/pg_tips/tips000.htm こういうのではないでしょうか・・・?
109 名前:名前は開発中のものです。 mailto:sage [04/04/04 17:34 ID:D8QJdaIr.net] 1バイトでなければ2バイトってのはどうかと。
110 名前:親父PG [04/04/04 17:50 ID:6UsE36R6.net] >>108 どもどもお気ずかいありがとう。 それはバッファサイズの話ですね。 先ほどのコードはその前の「文字コード」を切り取る部分です。 あの関数(GetGlyphOutline)は1文字ずつしか処理できませんので、 LOOP 文字列>1文字切り取り>バッファサイズ取得(GetGlyphOutline)>バッファ作成> アウトライン取得(GetGlyphOutline)>バッファから目標へコピー バッファ開放 文字列ポインタインクリメント 目標のポインタを文字幅分加算 LOOPEND このような流れになりますです。orzナンカクロウノワリニ.... データ形式についてはもう少し、デメリットとメリットを合わせて決めましょう でツールですが、データ−の形式さえ決まっていれば、データ−互換で各自つくればいいかなぁと。 あんまり色々ケチって悩むより、作ったほうが早いというのが持論なのでorz..ソレデイタイメニアッテルケド シナリオ作成については実績のある「ツクール」等を参考にしたほうがいいのかもしれませんが 実は見たこと無いので今度買ってきますかね^^;orz見てイヤニナルカモシレナイケド 私が大昔にゲームのシナリオ作成方法を聞いた時には、担当のPGの方は TASM(ターボアセンブラ)のマクロで作成していました。 ライターの方は制御文を含めてシナリオを書いていたようです。 ライターにはBASIC作成能力ぐらいは求めていたようです。 昨今どうなのでしょうかね? 私もこのあたりが知りたいです。
111 名前:親父PG [04/04/04 17:56 ID:6UsE36R6.net] >>109 よく見ていただけでは解りますが、ます1バイトでチェック 次に2バイトでチェック チェックの結果がTRUEの場合のみ実際に2バイトコードとして扱っています (is関数) 第一水準第2水準 基本 かな かたかなの全てチェックしておりますです。 うにこーどとマルチバイト文字はサポートしてません。 チェックを入れることは可能ですが、それは別のところで一括変換されるべきでしょう。
112 名前:名前は開発中のものです。 mailto:sage [04/04/04 18:17 ID:KpeQdK+f.net] Xerces-Cでいいんじゃないの?最近のはしらんけど 本システムはVCでもツール類はちょこちょこつくって軽くテスト、 軽く改良って感じなので作りやすいのがいいと思うよ そうなるとGUIが容易でとなるのでBCB、Delphi、java、c#くらいが まず選択肢になると思う あ、Delphiで気軽に使えるXMLパーサってあったかな UTF8って選択はXML扱うならどの環境でも必須条件なので扱いやすい たとえばmacユーザーにマップツール使ってもらうとか考えるとjavaも悪くない 複数の人に使ってもらうという前提が必要ならね ソーサリアン知らないとなるとどう説明していいのやら こんなあたりが参考になるのかな ttp://www.ipc-tokai.or.jp/~ytanaka/pc88/sorc_pi.shtml
113 名前:新人PG mailto:sage [04/04/04 18:45 ID:yroz7+Kx.net] >>110 全然違う話だったのね・・・鬱だ(ry とりあえず、規格設計だけは作っておきます。 それからXMLか独自で組むかは、決めたほうが良いかなと思いますんで。 >>112 日本語処理が多いとUTF16という選択もあるんだけど、ゲームの概要が見えてないのでダメポ。 とりあえず、今はWindowsで動くものをw 機会あればやってみますわ<ソーサリアン デモもありましたし。
114 名前:親父PG [04/04/04 19:14 ID:6UsE36R6.net] >>112 あらためて偉大さを感じますね。紹介のHPをしみじみと読ませて頂きました。 メモリが足らなくなったら、メモリの内容をそのままDISKに保存。 プログラムをスワップするとかやってましたなぁ。 >>113 全然違う話ではないのですけどね^^ そうそう実際にコード切り取る時どうします? あの関数についてぐぐって見たけどコードを切り取る部分は、書いてないのが多いので.... XMLについては「XMLのフォーマットがゲームデータ−の表すのに適しているか?」 の一点で評価しましょう。 現状ではXML形式に保存(できる)というスタンスで良いと思います。 そもそも「何をどのように保存するか?」が煮詰まらないと、決められないと思いますので。 これから夜勤です。orz
115 名前:名前は開発中のものです。 mailto:sage [04/04/04 19:24 ID:KpeQdK+f.net] XMLは慣れると内部データにも使いやすいよ domツリーそのままというよりはElementを多用するというか MapとListを自由に組み合わせれるコレクション型と考えればいいかな CPUが1GHz超えているのなら メインループでDOMツリーガリガリ操作していても余裕で60fpsくらいでますぜ
116 名前:名前は開発中のものです。 mailto:sage [04/04/04 22:15 ID:PaXg2AQi.net] というかXMLで表せないデータなんかあるのかねぇ。 今は猫も杓子もXML使っとけという流れだけど。
117 名前:親父PG [04/04/04 22:17 ID:3txQVYNu.net] ゲームのデータ-について 草案を書きます。●トリガーテーブル ●シーンデーター という2つのデータ形式から構成される ●トリガーテーブル トリガーテーブルには(selfNO)トリガー条件とトリガー番号が固定長で収納する 編集時はエクセルでの編集を可能にする。 最終的に数値セルをバイナリに落す(要コンバーター) NO INT 比較先場所FG BYTE 比較先FGNO INT (直接値の場合もあり) 比較先場所FG BYTE 比較先FGNO INT (直接値の場合もあり) 比較条件 BYTE == != > < >= <= ! トリガー種類FG BYTE (MOVE FG値操作 次処理 シーン呼び出し) トリガ用パラメーター1(処理先NO)INT トリガ用パラメーター2(処理先NO)INT トリガ用パラメーター3(処理先NO)INT リザーブ(24か32Byte境界) ●シーンデータ- シーンデータ-にはメッセージやウインドの処理などが書かれる。 またシーン終了時にどのトリガー条件に戻すかが書かれている。 ※トリガーテーブルデータ-は、純粋に条件の表現だけに特化しゲーム特有の処理を含ませない。 シーンデータ-は実際に行いたい具体的な処理を書くようにする。 ------------------------------------------------------ 一定周期、ないしはアクションが会った後、トリガーテーブルを参照する。 ●その他のデーター ・キャラクターデーター 本企画はキャラクターデータ-を中心に考えている(ソーサリアン的) ・アイテムデータ- DLLで供給 ・魔法?のデータ- ・プレイヤーのデータ- TRPGのD&Dは有り余る金で城建てたり、ダンジョン掘ったり、タワー建てたり、いろいろできるんだよね。テキストレベルでいいからそういうのもエミュレーションしたいねぇ。
118 名前:親父PG [04/04/04 22:28 ID:3txQVYNu.net] >>100 ああ すみません読み飛ばしていましたorz 画像班もいてくれると大助かりです。宜しくお願いします
119 名前:ミVミlPG mailto:sage [04/04/04 22:36 ID:yroz7+Kx.net] www.geocities.jp/oyajipg/up/format.GIF www.geocities.jp/oyajipg/up/data.xml 以上適当に雛型っぽいのを作ってみました・・・。 が・・・草案を見る限り、XMLではないのでしょうか・・・。
120 名前:新人PG mailto:sage [04/04/04 22:42 ID:yroz7+Kx.net] >>119 うご、文字化けてる。 一応XML互換と言う事で、>>117 の草案を元に練り直します。
121 名前:親父PG [04/04/04 23:07 ID:3txQVYNu.net] >>120 ご苦労おかけします。orz
122 名前:新人PG mailto:sage [04/04/04 23:42 ID:yroz7+Kx.net] >>121 ちょっとトリガーテーブルの記述が判りにくかったので解説求む。
123 名前:名前は開発中のものです。 mailto:sage [04/04/04 23:48 ID:D8QJdaIr.net] >>119 プロパティ多用なんかキモイ
124 名前:新人PG mailto:sage [04/04/04 23:58 ID:yroz7+Kx.net] 寝ます。 平日の書き込みペース&進捗はかなり落ちますので、そこんとこよろしくお願いします。 >>123 もうちょっと踏み込んで設計していたらもっとキモイフォーマットが出来ていたかと思います。 XmlSchemeなんてこんな物では?
125 名前:名前は開発中のものです。 mailto:sage [04/04/05 00:15 ID:C13/cZA5.net] 俺も>>123 のいうことがわからん
126 名前:名前は開発中のものです。 mailto:sage [04/04/05 00:16 ID:C13/cZA5.net] ま、ゲームで扱うものならdtd程度でいいとは思うけどね
127 名前:名前は開発中のものです。 mailto:sage [04/04/05 02:34 ID:aEWGS1EG.net] www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9818&forum=9&13