1 名前:親父PG [04/03/30 02:40 ID:phIrC7nN.net] C++やC、アセンブラは昔こなしたし、プログラムの事なら自信はあるけど ゲームは作った事が無い方。現場からも引退したし(w。 ここは一つ趣味でDirectXでも勉強して、ゲームでも作ってみようかなぁと思った、 オジサンPGのスレッドです。 一緒にマターリライブラリから作りませんか?
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
128 名前:親父PG [04/04/05 03:55 ID:OF5lxvl4.net] >>124 ●トリガーテーブル トリガーテーブルには(selfNO)トリガー条件とトリガー番号が固定長で収納する 固定長にするメリットは内部で高速に動作させる事と、EXCELで簡単に編集できるなどを 考慮してです。 struct { int SelfID; //シリアル番号 byte CmpSeed1; //int CmpTarget1が何を示すかの種類 FGテーブル デバイス 関数戻り値 値 int CmpTarget1; //値 byte CmpSeed2; //int2 CmpTarget1が何を示すかの種類 FGテーブル デバイス 関数戻り値 値 int CmpTarget2; //値 byte CmpOP; //上の値の比較方法 byte CmpOP; //真/偽どちらを使うか? (追加 short int ActCommand ; //何をするか? MOVE FG値操作 次処理 シーン呼び出し int ActValue1; //値 ActCommandによって扱いが異なる int ActValue2; int ActValue3; //リザーブ(24か32Byte境界) }; 値を比較するときに、「何処の値」を示すのが CmpSeed1 このように値の前に「何処の」というフラグをつけて対応します。 255種類もあれば大丈夫でしょう 何かご意見があればドシドシ募集中です。まだこれは草案なので こんなものも追加したほうがよい! などまだあるはずです。 トイレで考えたのを書いただけだから^^;.. こんな説明でよろしいでしょうか?orzワカリニククテスマン...
129 名前:親父PG [04/04/05 04:03 ID:OF5lxvl4.net] >>119 画像のほうのリンクで「モビットの広告画像」が出てきて、ツボニはまりました >>127 興味深いお話ですね。フラグチェックループのことを考えると、XMLの生データーを 本体では直接は持たないと思います。(翻訳エンジンで先ほどの形に落とし込みます)
130 名前:親父PG [04/04/05 06:49 ID:OF5lxvl4.net] 先日から行っていた文字ライブラリの速度計測 セレ2.0G 1024*768 WINDWモード の平均fps105に置いて 高精度アウトライン文字使用 マウス座標を表示 文字数1-4 フォントサイズ40程度 において 3-4fps消費しました。 少し重いねorz
131 名前:名前は開発中のものです。 mailto:sage [04/04/05 10:35 ID:tRuvkc6W.net] 親父PGって何歳なん?
132 名前:名前は開発中のものです。 mailto:sage [04/04/05 11:46 ID:C13/cZA5.net] 1024*768のウインドウモードでその程度ならなんの問題ないと思うんだが
133 名前:親父PG [04/04/05 11:49 ID:6z0RwfU5.net] >>131 現在のLVではそれは使用できません。orz嘘ですゴメンナサイ 取り合えず、妻子持ちという事で^^ あと2〜3週間を目処にいったんあぷします。
134 名前:名前は開発中のものです。 mailto:sage [04/04/05 12:26 ID:tRuvkc6W.net] 親父PGたんのスペックおしえて。 身長、体重、血液型など。
135 名前:名前は開発中のものです。 mailto:sage [04/04/05 14:01 ID:405E+F+V.net] >>130 どこが重いの? 同じ大きさのビットマップを同じ数 AlphaBlendとかTransparentBltしてみると それに近い数値で減ると思うけど。
136 名前:新人PG mailto:sage [04/04/05 21:20 ID:1nSnHjPt.net] ただいま帰りました。 >>126 勉強も兼ねてXmlSchemeで・・・(^^; >>128 Excel編集可能な規格はちょっと考えつかないっす。 CSV形式(独自フォーマット)でよければ作れますが・・・。 (XMLデータ)⇔ツール編集 → コンバータ → バイナリ 上記みたいな構成でいいのでしょうか? バイナリを直接Excelで編集する事を考えています? #DirectXの本を買っちゃいました。(DirectX9実践プログラム 工学社) #あんまりMSのサンプルやリファレンスと変わらないのでちょっと損した感じ・・・。
137 名前:親父PG [04/04/06 01:40 ID:40Qsawby.net] >>134 むむ、個人スペックですかい。 身長178.8 体重85ぐらい 血はAです。肝機能障害ありですorz.... >>135 表示している内容に対して重いと思います。orz... >>136 お疲れさま。資料本買ったのですね^^; 有難う。 データ-の形式については、作り込んで貰う前にいろいろと検討しましょう。 そうでないと作ってもらってから仕様変更になりかねません。orzシノビナイ... これは私の考えなのですが、ひとつ議題のたたき台につかってください。 ●シナリオデータ-は本体のプログラムが読み込む前に、一旦最適化されたバイナリ形式に落とし込む。 (本体にXML関連のLIBは持たない) ●各ツールの互換性はこのバイナリデータ-互換でおこなう EXCELでの編集は一旦バイナリ<>CSVツールを作ってトリガーテーブル部分のみを編集できる。というスタイルになります ●必要なデータ-群 トリガーテーブル (トリガーが書かれている 固定長) シーンデータ- (処理が書かれている 可変長) ストリングテーブル (名前などストリング系のテーブル) ファイルネームテーブル (ファイルネームを収めます) マップデータ- (地形を表すデータ-) アイテムデータ- (魔法とかキャラデータ-など....) ゲーム管理用データ-(画面分割数 ボタン大きさや処理等)<こちらで作りました ざっとこんな感じです。まとめたほうが良いデータ-もありますね また単独であったほうが良いファイルもあります。 コレ全部の仕様決めるのは大変ですが、一つ一つ詰めていきましょう。
138 名前:名前は開発中のものです。 mailto:sage [04/04/06 11:23 ID:7yXcmumh.net] 作る課程を楽しむのならいいけど ゲームを完成させるのが最終目的ならば富豪的プログラミングでいいとおもうけどなぁ 空中分解するスレ何度も見てきているので完成後の最適化とかバランス調整とか そっちに時間かけて欲しいと思ったり
139 名前:親父PG [04/04/06 14:03 ID:QeLHJL6C.net] >>138 お気つかい有難う。 過程を楽しんでいるのはもちろんですが。 今はゲームを作る為の環境を整えているところです。 まったくの0からなので、時間はかかってしまいますが^^; 文字周りが一息ついたところで、WINDOWSシステムを作ります。 リソースデータ(構築データ−)より作成されるシステムとなり データ−>翻訳>内部ルーチン呼出 という流れを 本格的にサポートする為の、雛型になると考えています。
140 名前:名前は開発中のものです。 mailto:sage [04/04/06 14:57 ID:ZvDa+4W9.net] 親父PGたん、むちむち体型なの? 背は高いね。きっとダンディーなんだろうな。 オヤジPGタン(´Д`)ハァハァハァ
141 名前:名前は開発中のものです。 mailto:sage [04/04/06 18:32 ID:LJa+6Bu1.net] もしフリーソフトの RPGツクール出来たら 凄い需要があると思う この板の神になるかも
142 名前:名前は開発中のものです。 mailto:sage [04/04/06 19:36 ID:oZfK2l07.net] いきなりコードを書き始めるプロジェクトの顛末。 まあ期待しないでROMってるよ。がんばってね。
143 名前:新人PG mailto:sage [04/04/06 21:52 ID:4g++6UBP.net] ただいま帰りました・・・。てか、親父PGタン書き込み夜遅すぎ。一日ループしてしまいますね。 ちょっとまとめです。 1)トリガーデータ(フラグ管理やシーン遷移を定義) 2)シーンデータ(シーン管理。シナリオ、トリガーデータや画面管理用データと関連する?) 3)シナリオデータ(シーンデータと同義?) 4)ストリングテーブル(プレイヤーに表示するシステムメッセージ等?) 5)ファイルネームテーブル(ファイルを管理) 6)マップデータ(マップフィールド定義) 7)アイテムデータ(魔法やら道具やら敵やら・・・?) 8)画面管理用データ(システムデータ) ・・・等の定義ファイルがあるって事ですね。 僕からは1,2,3の草案より規格案を出していきます。(ひょっとしてもう頭の中では纏ってます?) しかし、このファイルの感じですとシーンデータの負荷は大きいですね。 もうちょっとヒントをお願いします・・・w 他4,5は最初はMAP形式のファイルで良いような気がします。 6はどうするんでしょう。俯瞰型かフロントビューの視点のRPGを想像していたのですが親父PG様はどう考えられてます? 7はまだまだ判りませんね・・・wヒントお願いします。 8は完成されていると言う事なので期待プラス参考させていただきマス。(8に1,2,3のデータとの絡みは無いですか?)
144 名前:名前は開発中のものです。 mailto:sage [04/04/07 03:22 ID:BZdMbvQi.net] マップデータとトリガデータ分離するの? 編集はエディタのみで、単にファイルが分離しているだけならいいけど。 データ間の依存関係は、データ修正の手間が軽いかどうかを重視するのが よいと思うがどうか。 3Dなら特定のオブジェクトをトリガとして扱う(ダミーノードやボーンがあるモデラなら それを使う) 2Dなら、どーせマップエディタ作るんだから、編集はエディタのみの1箇所なので 無問題 って感じ? あと、>>128 > 255種類もあれば大丈夫でしょう ケチらなくてもw こんな構造体作るよりは、スクリプトをキックしてスクリプトにフラグ判断させて、 スクリプトからイベント(ここではただの会話もイベントとしよう)をキックさせた方が、 作成も変更も管理もらくだと思うけど。
145 名前:親父PG [04/04/07 05:27 ID:4mfJMcZS.net] >>140 ハァハァキター(W >>141 ツクールとは視点が違うのですが、データ−互換ゲーム環境を考えています。 その上でデータフォーマットを公開しますので、いろんなシナリオやサブセットプラグイン等を 募集いたしますorz アイテニサレナイカモ.... >>142 半年前からコツコツやってました。これからも生暖かく見守ってお守りくださいまし... >>143 どうもお疲れ様 >てか、親父PGタン書き込み夜遅すぎ。一日ループしてしまいますね それは夜勤の時、コッソリ(Ry まぁまったりいきましょう。1日考えるぐらいがちょうどいいやも 草案で出した案は最終的なバイナリのイメージです。トリガテーブルはそれれ自体が フラグを拡張したものだと考えることができます。 144氏の発言>スクリプトをキックしてスクリプトにフラグ判断 トリガーテーブル自体が他のトリガーやシーンを呼び出して、その結果を判断できます。 おっしゃることは実現可能かと思います。 シーンデータ−には、5W1H(のようなもの)が定義されます ビューポート1番に定義されたウィンドをこの場所に開き、メッセージを表示しろ 以下「メッセージデータ」:戻り値 このようなデータになると思われます。 本体側インターフェースを提示しないと作りにくいとは思いますが、暫定で進めてください ある程度はこちらも合わせます。 ※私の申してる話は、データ−の最終形態なので、実際のツール類はそれぞれ最適化されたデータ−で ソースを持つのがよろしいかと。しかし、最後はコンパイルされて、一定のバイナリに落とし込みます。
146 名前:親父PG [04/04/07 05:29 ID:4mfJMcZS.net] 4 ストリングテーブルには「固有名詞」や「ユーザー定義」の文字を収納します st1 "ぴたごらすいっち"と定義 メッセージデータ #1はNHKのTV番組 >ぴたごらすいっちはNHKのTV番組 6 struct MAPBASE{byte Maptype,MoveCost,ToDo,Maptype2}: こんなのを配列で持つのはどうですか? 7 この部分はを考えるのは一番楽しい部分かなぁ(w 属性追加タイプを考えています。熱く寒く丈夫で黒光りする腐った剣 とかorz結局ツカエルノカ?コノケン... 8 バイナリデータ−で固定長データ−です。 それとは別にテクスチャテーブルもあり、セットで運用しています。 ちょっとずつ変わっていますが、この後出しますね。
147 名前:親父PG [04/04/07 06:09 ID:4mfJMcZS.net] struct ViewPortSetting{ unsigned int ClientSizeX,ClientSizeY,ViewPortSize; dRECT RECTS[MAXPANEL]; dOption OPTIONS[MAXPANEL]; }; struct dOption{ short int TextureNum ;//テクスチャー論理番号 short int TextureNum2;//テクスチャー論理番号2枚目 short int D3D ;//基本座標系 1 混在 2 2D 3 3D unsigned char Z1; //1枚目Zの価 unsigned char Z2; //2枚目Zの価 unsigned int hTexture2; unsigned int hTexture;//上に貼り付けるテクスチャのハンドル システム側でセット unsigned int hTextureBox;//ポリゴンのハンドルシステム側でセットされる }; 2枚目のテクスチャは上に重ね合わせるためにあります。(抜き処理か半透明使用) ボタンの設定一部略 struct dBOption{ short int Parent;//親のView番号 unsigned int SelfID;//自分自身の番号 short int BaseTexture;//テクスチャのBASE番号 short int CoTexture;//テクスチャ内の子INDEX番号 short int BTOption;//動作 0なし 1以上の価でボタンアクションの種類を指定 unsigned int ON_LDownMouse;// アクション番号 0はなし unsigned int ON_RDownMouse;/ ここで呼び出す関数番号を指定する 略 ※シナリオからみるべきはボタンの処理番号になるのかな? 場面切替の場合はビューポート周りも見る必要があるかもね
148 名前:親父PG [04/04/07 06:10 ID:4mfJMcZS.net] 閑話休題 戦闘システムですが、場にキャラクタが使うアイテム(魔法エッセンス)を宣言(スロット配置)して その置かれたアイテムによって、使用できるコマンドが追加されていくというものを考えています。 またアイテムには持続ターンの設定がされていて、持続ターンを消化するとスロットから除外されます。 剣を主に使う場合(サンプル 剣を使用宣言>「切りかかる」が使用可能 盾を宣言>防御力UP 「受ける」が使用可能 魔法の場合 マナと秘薬宣言>魔法○○使用可能 剣を中心とするユーザー 利点・持続ターンが長い 欠点・単体攻撃 魔法ユーザーの 利点・幅広いコマンド 欠点・アイテムの持続ターン アイテムの使用と宣言は同時にはできないので「使用タイミング」を考慮しなければならない。 まぁこのへんはアイデア段階ですのでいろいろ変わると思います。
149 名前:名前は開発中のものです。 [04/04/07 07:13 ID:MvpBLMAM.net] test
150 名前:親父PG [04/04/07 08:38 ID:4mfJMcZS.net] テクスチャのブレンドに関するパラメーター多いね 多すぎて何がなんだか@@@ ひとつひとつ検証しますかのうorz... 「テクスチャ(4444)前面 頂点色付ポリゴン」 + 「テクスチャ565」(背景) 頂点色付ポリゴン」 + 「サーフェースカラー」 前面のポリゴンの頂点のアルファ値のコントロールでいければ良いのだけど 今、なんとなくやった設定では背景のサーフェーイスカラーに対してブレンドしてるね。 それはそれで必用な設定なんだけどね。 後ろの背景が消えて(無視)されて合成されているorz 設定できる(可能性)の幅が広すぎてトホホホです。 pD3DApp->m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE ); pD3DApp->m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); pD3DApp->m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); // アルファ合成の設定 pD3DApp->m_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); pD3DApp->m_pd3dDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); pD3DApp->m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE ); これから息子と嫁さん連れてバス旅行(隣の駅まで)行ってきます。
151 名前:144 mailto:sage [04/04/07 08:57 ID:BZdMbvQi.net] >>145 もう1度読んでください。 前半部は、データ作成段階に入ってからの絵描き・プログラマ・スクリプタ・プランナ それぞれの間のワークフローに関わる問題の指摘です。 様々なファイル間に依存関係があります。特に座標値を即値で持った場合には、 マップ変更で様々な影響があります。 不整合を起こさない仕組みをお考えであればまったく問題はありません。 相互に依存関係があるファイルを個別に修正すると(特に別々の人が)、様々な エンバグが発生することでしょう。 マップエディタの例は、とりあえずトリガデータとマップデータの不整合を防ぐ仕組みの 具体例の1つとして出しただけです。 決して最終バイナリの数を問題にしたのではありません。編集時です。 後半部は・・・特に色々問題をはらんでいるのですが・・・。 まず、2つの意味で、 seed を 8ビットとする必要はありません。 ・どーせパッキング単位が4バイトなのでメモリの節約にならない ・余ったビットはフラグにでも使えば良い むしろ seed に名前をつけて文字列を格納し、実行時にアドレス(またはID)変換するくらい 富豪的でも問題ないと思います(つーか、パディングするって書いてあるけどw)。 データキャッシュが荒れるのを気にするならば、宣言を直してメモリを節約するのも良いと思います。 つづく
152 名前:144 mailto:sage [04/04/07 08:58 ID:BZdMbvQi.net] ところで、>>117 の場所FGって、単にフラグ番号? 場所っていうからマップの座標かと思ってた。 マップデータもただの配列だし、もしかしてまだ、マップアトリビュートテーブル自体が 話題に上ってなかった? マップの特定の場所に行ったら起動するようなイベントはシステム側からフラグを立てて それをトリガで拾うという仕組みをお考えですか? なぜ、トリガデータがこんなにもスクリプト的な機能を持っているのか不思議だったのですが、 もしそうなら納得できます。 トリガデータはイベントハンドルテーブルのように扱ったほうがシンプルになると思います。 どちらにせよ、トリガデータの1レコードは豪華すぎるように思います。 んー、なんか、データ構成見てると、ソーサリアンを作れそうに見えない・・・。 アトリビュートテーブルがないせいだとは思うんだけど、マップ -> イベントキック -> シーン の流れが見えないと・・・。 もしかして、MAPBASE::ToDo がイベント起動? そんなことしたら、同じマップで違うイベント配置の時に管理が破綻しない? まさかねぇ・・・。 まあ、それこそ編集時はイベント名の文字列で管理すればいいのか、な・・・?
153 名前:親父PG [04/04/07 09:11 ID:4mfJMcZS.net] >>144 いろいろな考察ありがとうございます。きちんと整理してご返答したのですが、 あいにくバスの時間がw戻ってきてきちんと返答します。 MAP>イベントキック>シーン この方法には2つ方法があると思います。 MAPにイベント番号を入れる方法と MAPにはイベントがあったことのみのデータ−で 管理側でXY座標を引数にイベントトリガー内を検索します。 とちらにも利点欠点 あ時間だ 帰ってきて書き込みます
154 名前:(´Д`)ハァハァ mailto:sage [04/04/07 12:02 ID:yREiaToq.net] 親父PGタンはブリーフ派?トランクス派?
155 名前:名前は開発中のものです。 mailto:sage [04/04/07 12:26 ID:TuGWnynl.net] ふんどしに決まっているだろ。
156 名前:名前は開発中のものです。 mailto:sage [04/04/07 12:56 ID:CnFCUIgg.net] ぱ ん つ は い て な い
157 名前:名前は開発中のものです。 mailto:sage [04/04/07 14:22 ID:waAm3+2+.net] >>親父PGさん 玄米食え、玄米。
158 名前:親父PG [04/04/07 14:26 ID:4mfJMcZS.net] >>154 155 156 orz..... >>155 川口にいって桜を見物してきました。今日はいい天気で子供達ものびのびと羽を伸ばしてきたようです。 トリガーテーブルはそれ自身に起動条件を備えています。 またトリガー自身がトリガーを呼ぶことが出来ますし、他のトリガーからも呼ばれます。 さて地形MAPについてですが、これにはシステムに対してトリガーをチャックしろというトリガーを引きます。 プログラムに流れは以下のようになります。 キャラ移動>該当MAPの配列調査、トリガテーブル起動命令がある。 トリガーテーブル検索、トリガーテーブルの演算>シーン起動 さて編集時の問題についてここで解決策を述べておきます。 MAP編集ツールはトリガーテーブルに追記することができます。 MAPツールで編集するのはX座標aY座標bでトリガーがあるということだけです。 あとでシーンデーターで、その追記された部分を補完すればよいのです。 トリガーテーブルは固定長なので扱い易く、いろんなツールで追記することができます 複数人数での作業もトリガーテーブルを、マージしながら作業を進めることになります。 ○トリガーの設定 とある座標にトリガーを埋め込む。MAPの配列該当部に任意の価を入れる。 同時にトリガーテーブルに座標を引数とするトリガーテーブルを追記する (何をするかはここで編集しない ※できるようにしても良いとは思いますが) ○座標の書き換え とある座標でトリガーを設定していたが、座標移動することになった。この場合MAPデータ−は 自身のトリガーテーブルの該当座標が記録された部分を書き換えます。 (※この作業の為にシリアル管理しても良いかもしれないね。) ○複数人数の作業 トリガーテーブルをマージします。「違うMAPの場合どうするのだ?」というご指摘がありました その場合トリガーテーブルごとに入れ替えるか、もしくはMAP番号も引数に加えれることで解決します。 ○トリガーテーブルはCSV化してEXCELで簡単に一覧化できる。簡易マクロでエラーチェックもおこなう トリガーテーブルは計算式 IF文を処理する機構なのです。 FG(フラグ)は変数置き場です。
159 名前:名前は開発中のものです。 mailto:sage [04/04/07 19:19 ID:kfqaFPaa.net] 子供は娘さんですか?
160 名前:名前は開発中のものです。 [04/04/07 20:11 ID:OoCqvErc.net] 子供は娘さんですか!??
161 名前:名前は開発中のものです。 mailto:sage [04/04/07 21:05 ID:mi1SbU81.net] 娘さんは私が責任を持って育てさせていただきますので どうぞプログラムに専念していただきたい!!!!!! なんの心配も要りません!!!!!!!!!!!!!!
162 名前:名前は開発中のものです。 mailto:sage [04/04/07 21:29 ID:Acbfz39E.net] 以後、親父PGの娘さんを奪い合うスレッドになります。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
163 名前:名前は開発中のものです。 mailto:sage [04/04/07 21:46 ID:du+oinrP.net] ありがとうございます。 では娘さんをお迎えに 行かせていただきます!!!!!!
164 名前:名前は開発中のものです。 [04/04/07 21:50 ID:WornAub7.net] ジャイコちゃん、お迎えが来るから早く準備して。
165 名前:新人PG mailto:age [04/04/07 21:50 ID:7aasUls1.net] www.geocities.jp/oyajipg/up/relational_01.gif ちょっとトリガーと地形の事についてまとめてみました。 思った事を書きます。 ・トリガーのCmpOP(比較方法)は要らないんじゃないかと思っています。 プログラムの実装でカバーできるんじゃないでしょうか? ・トリガーのActCommandはデータは大きく確保しておいた方が良いのではないでしょうか。 私は複数の処理を羅列して書けたら良いと思っているので可変長配列がいいと思いますが。 実は個人的には地形データにトリガシリアルを記述する事に賛成ではありません。 別のデータ(アイテムデータ等)が持つデータだと思います。 アイテムデータがトリガ情報を所持していて、それが地形データの上にあるとすると、 アイテムデータトリガ呼び出し > 地形データの座標等チェック(トリガへの付加情報) > トリガ処理 という流れが出来るので良いと思っています。 抱合関係はファイルデータを参照して ●シーン := トリガ := アイテムデータ | 地形データ | シナリオ このようなイメージを持っているのですがどうでしょう?
166 名前:新人PG mailto:sage [04/04/07 22:10 ID:7aasUls1.net] あ、あと細かい事かも知れないけど、MAPって聞くとデータ構造の方を思い浮かべてしまって混乱してますw 呼称「地形」で良いスか?w (ごめんなさい、ほんとに判らないんです)
167 名前:名前は開発中のものです。 mailto:sage [04/04/07 22:16 ID:NGXP1J9S.net] 俺的にはマップとmapでわけてるというか 会話になると混乱するかもしれん つーか、普段の会話でmapってでてこないしなー hashmapとか実装込みで離すだろうし
168 名前:新人PG mailto:sage [04/04/07 22:35 ID:7aasUls1.net] >>167 マップが地形の方でmapがデータ構造の方?w うちの会社ではiniファイルもpropertiesファイルも全て「マップファイル」と呼びます。(ガクブル しかし、データ構造やシステム面から詰めていってゲームって作れるんでしょうか。 本当に行き着く先がRPGツクールな気がしてきましたw ラフ絵等が出てくると雰囲気出て良いかも。
169 名前:名前は開発中のものです。 mailto:sage [04/04/07 22:44 ID:iAt21LPE.net] そしてそういったゲームには欠かせない 絵とか音楽とかシステムまわりがこのプロジェクトにはまったく無い 技術ありきだとプログラマ本人以外ついていけんしな
170 名前:名前は開発中のものです。 [04/04/07 23:16 ID:SEG+EKoN.net] ああ。。僕の真鈴たん(仮名)早く逢いたいよ。。
171 名前:新人PG mailto:sage [04/04/07 23:55 ID:7aasUls1.net] 寝ます。 親父PGタン夜勤ご苦労様です。 絵柄は洋ゲーっぽく、渋くクドイのが良いなぁ・・・。 硬派さを出したいw
172 名前:名前は開発中のものです。 mailto:sage [04/04/08 04:23 ID:rdLQdFbl.net] なんだか凄そうなので、3Dだったらぜひ一枚かませて欲しいです。 激渋グラフィック大好きなので。必要になったら声かけてくだちい。 ひっそりのぞいてます。
173 名前:親父PG [04/04/08 05:31 ID:msAPqSAi.net] >>165 お疲れ様! Gif画像がモビットになってるorz HPに上げてくれると助かるです まとめ画像を見てない状態ですが、いくつか私の意見も書いておきます。 >・トリガーのCmpOP(比較方法)は要らないんじゃないかと思っています。 >プログラムの実装でカバーできるんじゃないでしょうか トリガーテーブルは仮想CPUに対する命令です。この部分にゲームの「分岐」に対する情報が書き込まれます。 これらの情報は「シナリオ作成者」が担当するものなのですが、シナリオ作成者に「Cを書け」と言っても無理な注文です。 そこで、それを解決する方法として考えたのが分離方式です。 煩わしい制御コードに悩むことなく、文章部分に集中してもらいます。 トリガーテーブルは以下のようなインターフェイスで、編集を考えています。 ▼はプルダウン []は価入力 条件NO0023「▼FGの価」[34]と「▼トリガーの結果」が「▼等しいなら」「▼シーンの」[234]を処理 可変長にしないのはデータ−作成者のレベルを配慮(IF文より難しいことを避ける) メインPGが使用するときの検索の高速化 いろんなツールが読み込んで作業する為のデータの単純化 など トリガーテーブル部分だけ準PGがやることによって、ゲームスクリプトの矛盾発生を押さえ込む。 いくつかの理由があります。
174 名前:親父PG [04/04/08 06:14 ID:msAPqSAi.net] 続き ・トリガーのActCommandはデータは大きく確保しておいた方が良いのではないでしょうか。 そうですね。引数もふくめるとおっしゃるとうりです。この部分は拡張しましょう。 >別のデータ(アイテムデータ等)が持つデータだと思います。 >アイテムデータがトリガ情報を所持していて、それが地形データの上にあるとすると、 >アイテムデータトリガ呼び出し > 地形データの座標等チェック(トリガへの付加情報) > トリガ処理 >という流れが出来るので良いと思っています。 アイテムデータ−にはトリガー情報は含みません。例えば、ある地点でアイテムを拾うというイベントがあったとしましょう。 キャラデータ−が移動、地図配列をチェック、トリガーがある。>トリガーテーブルから該当するトリガーを探し出す。 トリガの1番目のコマンドを調べる (シーン1と書いてある) シーン1 メッセージの表示「アイテムを拾いますか?」 選択メニュ表示 戻り値をリターン トリガの1の価取得終了 トリガの2の価取得開始 (ダイレクトの価1) 比較命令に従って2つの価の比較 条件によりアイテム取得トリガー呼出(引数 任意のアイテム番号) このような流れになります シーン1の情報が変わってもトリガー情報に影響がありません、逆もしかりです。 >>実は個人的には地形データにトリガシリアルを記述する事に賛成ではありません これは144氏の指摘にある「地形データが入れ替わった時どうするのですか?」に対する 解決案のひとつ。同座標にトリガー埋め込んだ場合どうする? という問題ですね。 >●シーン := トリガ := アイテムデータ | 地形データ | シナリオ >このようなイメージを持っているのですがどうでしょう? 私のイメージは 地形データ>>>>トリガー<<<<シナリオ 独立 アイテムデータ− このようなイメージを考えています。 トリガーテーブルを中心に他は従属関係にあります。 >うちの会社ではiniファイルもpropertiesファイルも全て「マップファイル」と呼びます。 prz.... このスレでは地図データ−は地図データ−もしくは地形データと呼ぶようにしましょう。
175 名前:親父PG [04/04/08 06:38 ID:msAPqSAi.net] 続き >しかし、データ構造やシステム面から詰めていってゲームって作れるんでしょうか。 >本当に行き着く先がRPGツクールな気がしてきましたw >ラフ絵等が出てくると雰囲気出て良いかも。 メインPGの最初のステップは、ステージを作ることですので最初は仕方の無いことでしょう。 画面イメージなどは今ちょこちょこ作ってます。お友達にキャラ絵も数点お願いしました。 (決定原稿ではないですけどね)元少女漫画家(出産の為引退)された方です。 ゲームの雰囲気ですが、私の隣には数年前に上野の博物館であった「ケルト神話」の展覧会の本が置いてあります(W そこから察してください。^^; >>172 >>169 最初はライブラリの構築からマッタリという考えだったので、イメージとかの資料を提示できずにいます。 申し訳ない。劇渋3D大歓迎です。そうだ!1点お願いしてもいいでしょうか。 128*128で武器(種類問わず)を1点お願いしてもいいでしょうか? デザイン背景はケルト神話で基調カラーは青に緑が加わった色。 アクリル絵の具でいうところの「Compose Blue」でお願いします。 と勝手にお願いしていいのか俺orz 劇渋路線が人気あるようですね。私もラリーエルモア大好きです。 背景テクスチャポリゴンと前面テクスチャポリゴンがうまく半透明にならないと いろいろ苦慮していましたが、原因は「背景データ−を先に描画していないから」 という結論でしたorz.....アホスギル 各テクスチャ事にレンダリングステート登録する機能作ったのに...全然別の理由だった(鬱だ この機能は現時点ではいらないことが発覚(ショボーン orzナニカニツカエルカナ.... 閑話休題 子供はまだ3歳と5歳だよw
176 名前:名前は開発中のものです。 mailto:sage [04/04/08 08:54 ID:qS569gdt.net] 子供ください
177 名前:名前は開発中のものです。 mailto:sage [04/04/08 15:10 ID:EIdbWV3j.net] いきなりマニアックな内容でさらりと語るのはやめてくれ。 せめて参考になりそうなURL用意するとかして欲しいぞ。 コンポーズブルー ttp://www.fairy-land.to/shop/moji/c-sample.html エルモア ttp://www.larryelmore.com/
178 名前:名前は開発中のものです。 mailto:sage [04/04/08 15:26 ID:Hg7sDvxp.net] エルモアってなにか遠い昔に聞いた名だなと思ったが D&Dのパッケ描いた人か…。
179 名前:親父PG [04/04/08 15:40 ID:msAPqSAi.net] >>176 orz... >>177 調べてくれて有難う。こんなHPあったんだねorz 僕が中学生の頃、D&Dのイラストを見て、激しく感動したイラストレータです RPGの話をするならこの人は避けて通れません。 Windowのパーツを作り始めました。仕様もこれから固めていきます。 イメージのたたき台になりますかね?
180 名前:名前は開発中のものです。 mailto:sage [04/04/08 16:06 ID:PQfhS+Yw.net] | ああ〜 やっぱ3歳は / | シマリがいいな〜!! / . ____ | |・∀・| /⌒⌒ヽ | |\ |`イ ノハぃ) カク . (( |_|_ィ⌒`」 ‖' 、 ソ| ノ と、_入`_,つ λ う カク
181 名前:144 mailto:sage [04/04/08 16:49 ID:kikONY5O.net] トリガテーブルは固定長じゃないほうがいいと思うよ。 で、番号じゃなくて名前の文字列にしよう。 で、std::map< std::string, TriggerAndProcess > みたいなのに突っ込もう。 ハッシュでもいいけど。 マップの方では、トリガ番号をセルに埋め込むのはよろしくないと思う。 3Dにしたときにどうしようもなくなる。 その代わりに、アトリビュートファイルを作ろう。 アトリビュート範囲とトリガの名前が書いてある。 (もちろん、マップファイルの固定長地形データ配列の次にくっ付けても 構わないが、実行の問題じゃなくて構造の問題ね) トリガの条件判断は、やはりスクリプトに譲ったほうがよいと思う。 寄り道できない一本道のシナリオなら今のトリガテーブルの条件記述 で構わないと思うが、ちょっと複雑になったら、結局素人の手には 終えなくなると思う。 当面は今のトリガ記述方法で良いと思うけど、早いうちからスクリプト への変換をしておくと、トランスレータだけいじればよくなるので、 トリガデータ構造はもっと柔軟なもの(できればスクリプト)にしておいた ほうが良いだろう。
182 名前:名前は開発中のものです。 mailto:sage [04/04/08 17:15 ID:Hg7sDvxp.net] 親父PG氏、ソーサリアンとかD&Dとか言ってる時点で 俺と同世代っぽいなー。
183 名前:親父PG [04/04/08 17:53 ID:msAPqSAi.net] >>144 ご意見ありがとう。いろいろとご意見を私なりに整理しました、話をすすめていく上で確認すべき点があると思います。 私が提起しているデータ−形式は、そのまま「メモリの上に展開して動かせる最終形態」の話です。 プログラムの中でSTLを使うにしても、バイナリデータ−の並びを解釈してCPUを動かさなければなりません。 前にも述べましたが、スクリプト(テキスト)を動的に解釈するメリットはないので、 中間言語およびスクリプトで書かれたコードは全てコンパイルが済んだ形(バイナリ)にします。 そのバイナリ形式が提案している形になります。 ただし、その前工程でどのような形でデータ−を扱ってもかまいません。 例えばコンパイラはテキストで書かれた命令文を最終的にCPU命令に置き換えます。(MOV AX、CX) といった単純な命令群に置き換わります。今回のゲームデータ−についてはここまで単純化してはいない(必要が無い)ですが、 その一歩手前にある(構造を単純化して高速化)といえます。 std::map< std::string, TriggerAndProcess >を使用する場合、 プログラム内で「このデータ−をMAP(STL)にPUSHしてくれ」という、コードを入れなければなりません。 そういったレベルでスクリプトを組めるのはPGレベルの人だと思いますorz...
184 名前:親父PG [04/04/08 17:53 ID:msAPqSAi.net] 続き >std::map< std::string, TriggerAndProcess > みたいなのに突っ込もう 実際問題としてトリガーがトリガーを呼ぶ構造なので、スタックという形で動的配列は使用します。 それはデータ−を解釈するPG側の話なので、そのあたりについてはお任せください。 >>トリガテーブルは固定長じゃないほうがいいと思うよ。 可変長が必用な場合、トリガーテーブルを2個(以上)使って表現すればよいのです。 トリガーがトリガーの結果を呼び出せるという構造で、柔軟な動きに対応できるはずです。 >当面は今のトリガ記述方法で良いと思うけど、早いうちからスクリプト >への変換をしておくと、トランスレータだけいじればよくなるので、 逆にいえば、RPGのデータ−ツールに複雑な構造を単純化しうる機能が必要になるのです。 最終データ−を扱う段階で、英文翻訳ソフトのようなプロセスを行うことは致しませんよ。 3DについてはZ座標を別途持つことでは対応できないのかなぁorz 誤差範囲とかも必用だけど基本はBOX判定だろうし........ ※どのアイテム、動作、動きにていて基底データ−のようなものを定義するのは有用かもね。C++でいう基底クラス
185 名前:名前は開発中のものです。 mailto:sage [04/04/08 18:02 ID:TfluK8Bw.net] スクリプトをCPUバイナリにするメリットなんてあるの? 解釈しやすいバイナリにするのなら当たり前だけど 移植性や可読性を考えると命令セットに依存する部分って必要ないような CPUやモードが替わったりすると確保するバッファサイズが様々になるので メリットないと思うんだが ついでにいうとテキストレベルのスクリプトを動的解釈しても500MHz 超えているマシンなら問題になりにくい デバッグの課程を考えるといわゆるインタプリタレベルのデバッグモード という位置づけも必要になるんじゃないの? 3Dについてどうのこうのってのは再ショアから作るものが決まってないからそういったことになる ソーサリアンを目指すというのならたとえばサイドビューとか 作るものが決まってないのならそのへんの最適な解は見つからんよ