1 名前:親父PG [04/03/30 02:40 ID:phIrC7nN.net] C++やC、アセンブラは昔こなしたし、プログラムの事なら自信はあるけど ゲームは作った事が無い方。現場からも引退したし(w。 ここは一つ趣味でDirectXでも勉強して、ゲームでも作ってみようかなぁと思った、 オジサンPGのスレッドです。 一緒にマターリライブラリから作りませんか?
246 名前:名前は開発中のものです。 mailto:sage [04/04/21 11:34 ID:5LzXW3vc.net] ×disenable ○disable
247 名前:名前は開発中のものです。 mailto:sage [04/04/21 14:14 ID:y1g5Kw7w.net] ×Parl ○Perl
248 名前:親父PG mailto:sage [04/04/21 14:17 ID:iaRnmK/d.net] >>246 247 orz....
249 名前:親父PG mailto:sage [04/04/21 19:09 ID:iaRnmK/d.net] 新人PGさんへ スクリプトを組むに当たって構造設計のお話を致します。 定義 スクリプト言語の本システムにおける位置付け 本システムVMにおいて動作命令を出す事が可能である。 条件文は主にトリガーテーブルに置かれ、実行命令文をわけて管理される(トリガーTBLと実行データ-) アイドルは何処に書かれる? アイドル状態を想定する必要は無い。スクリプトは処理が終わると自動的にアイドルモードに切り替わる。 必要がある場合にVM側よりトリガーが引かれ実行される MAP座標 ユーザーの入力 -トリガ>トリガーTBLを検索 >実行>VMに実行部(が書かれたシナリオ上の番号を渡す) ボタンを押した時の処理 現在考えているのはこのようなタイプの静的なスクリプト処理です。(一部引数を動的に処理) ここからが相談ですが、動的に処理をしたほうが好ましい内容があると思われるのですが、何か希望がありますでしょうか? 変数、配列 などがまず考えられます。 具体的な実装方法は考えていませんが、「外部プログラムの起動」やゲーム特有の処理が必要な場合、DLLの読み込みなども考えられます。 ------------------------------------------------------------------------------------------------ 余談ですがツクールXPの紹介HPを見ました。あまり細かいところまでは判らないですが、 MAP(地形)が3階層 画面サイズが640*400 MAPツール(チップ編集による地形作成) スクリプト機能 暗号化機能などがあるようです。 暗号化機能というのは注目すべきアイデアかもしれませんね。 MAPツール(チップ編集による地形作成)については考察が必要かもしれません。
250 名前:親父PG mailto:sage [04/04/21 19:57 ID:iaRnmK/d.net] 新人PGさんはご存知かもしれませんが、MAPツールについて確認の為に書いておきます。 ゲームの画像の伝統的なやり方として、チップデータ-によるMAP作成という手法があります。 これは決められたサイズ8*8 16*16単位で書かれたチップデーター(画像)を並べて画像にしていくというのがあります。 これはコンシュマーのマシンが1キャラをハードウェア的にそのように扱っていた為に、行われてきた伝統的なやり方です。 同じパターンの使いまわしができるという点で、手動でデータの圧縮しているという側面がありました。 PCエンジン開発用のPC98用ツールが広く出回って、色々なゲームの開発用に使われた事は結構有名(orz... さてツクールでは、そのような方法とおぼしき方法が使われているようです(違っていたらごめんなさい) DirectXでは画像を細かく分割して扱うメリットはないので、親父システムではこのような方法はサポートしません。 地形画像データ-はJPGで(笑 最近の(とはいってもかなり昔からだけど)地形ツールは論理的な地形データをツールによって並べると、 境目には自動的に埋められていくようです。平平山山<こういうデータ-の場合平^山の間に自動的に間を補完する画像データ-が置かれるようになっています。 こういうツールも1から組み立てると大変ですねぇ。とりあえず最初は1枚画でいいかなorz....
251 名前:名前は開発中のものです。 mailto:sage [04/04/21 20:06 ID:cLgAiJmm.net] PCGデータ使った方がサイズ小さいというのはともかく Jpegだとカラーキーやアルファ扱うとき困りませんか? 重ね合わせとか普通しますし それにハイドライドやFFの森のようなものをやる場合どうします?
252 名前:231 mailto:sage [04/04/21 20:44 ID:uRL7H9Xs.net] >>親父PGさま 長い解説ありがとうございます。 >>サイトのサンプルはコピペではなく、意味を理解して使う事が望ましい。 肝に銘じておきます。 取り敢えずDev-Cで頑張ってみようと思います。いつかそれなりにプログラムが書けるようになったらここに戻ってこようと思います。 >>新人PGさま わざわざありがとうございます。
253 名前:親父PG mailto:sage [04/04/21 23:39 ID:OH77B7oH.net] >>251 いろいろと方法があります。アンチエイリアスなどが必用な場合を「除いて」単純なクロマキーであれば |アンド演算で抜けます。また全体を半透明にする場合はα値を偽造します。 うまくいかなかったらPNGでorz.. >>231 いつでもどうぞ^^ 前向きな書き込みであれば、歓迎しますよ。
254 名前:新人PG mailto:sage [04/04/22 00:09 ID:GFAvdjZl.net] >>243 色々意見ありがとうございます。 あまり大それた物を期待してもらうと逆に恐縮なんですけど、自分の出来る範囲で頑張っていこうかと思います。 >>親父PGタン 一応まとめの方に、トリガデータを載せました。 僕のアタマが悪いのか、完全理解が出来てません。また聞きます(汗 >>スクリプトの構造設計 ・アイドル処理は要らない 同意&同感です。こちらはトリガ処理・シーン処理記述のみを書かせます。 しかし未だにMAP座標にトリガーを持たせるのにはちと抵抗があります・・・。 ・静的か動的か 変数、配列はサポートします。 DLL読み込みやその他プラグイン読み込み等は、今は考えてないです・・・。 とりあえず、第1段階完成後に考えます。 ・チップデータの地形 実はあんまり好きくないです。 本当は3Dで臨場感のあるタイプのが好きなのですけど、難しい=親父PGタンが大変 なので 今回はアリかななんて思っています。 まあ、チップも一枚絵も対応すると言う事ならば、チップで組んだほうが両対応で良いと思いますけどね。
255 名前:親父PG mailto:sage [04/04/22 00:10 ID:cy5y1emu.net] >>新人PG様 まとめページ有難うございます。 いくつか修正点がありますので書いておきますね。 ParameterA パラメータ左辺値? 2 ParameterB パラメータ右辺値? 2 意味のコメントはそれであってますよ^^ サイズは4です。 CalcToken 計算式?? あまり良く分っていない・・・ unsigned char CalcToken;// 計算式 2つの価(ParameterA ParameterB) をどのように計算するか示します + - and or not > < >= <= ,INTかShortか両方か パラメーターが複数ある場合(PAtypeで指示)、もここのコードで判断します。 同じ[+]を表すコードでも両方を加算するトークン用、片方だけのトークン用があります パラメーターが複数ある場合、処理に引き渡す引数としても使えます。 例 10は足し算 A+B 11は足し算 A'A+B'B 二つの価を上位ビット下位ビットで解釈 12は足し算 A'+B' サブパラメーターで演算 例 21は比較 A?B 22は比較 A?B A'?B' 23は比較 HIWORD(A)HIWORD(B) LOWORD(A)LOWORD(B) こんな感じです。 ParameterType ? 以下の3つのintの分割方法を示します。Short *6とか 解らない点がありましたらどしどしご質問ください。
256 名前:名前は開発中のものです。 mailto:sage [04/04/22 00:10 ID:hQ7KmIOV.net] >>253 いや、jpegってことはピクセルが綺麗に抜けないってところが問題なわけで ブロックノイズ単位で色が抜けるのはなんかいやだ ま、pngでいいんじゃない? αももてるし、パレットもあるし ところでハイドライドとかの森って実現できるの? キャラのY座標によって手前に行ったり奥に言ったりするようなオブジェクトなんだけど
257 名前:親父PG mailto:sage [04/04/22 00:19 ID:cy5y1emu.net] >しかし未だにMAP座標にトリガーを持たせるのにはちと抵抗があります・・・。 キャラがある座標にいどうする。 MAP上にはトリガーがあるという情報しかありません そこで初めてMAPからトリガーテーブルに対して座標引数をもったトリガーが呼ばれます。 と、いっても実際にシステム側からすれば、一致する座標のトリガーテーブルを検索して探すだけなんですけども。 (これが理由で命令コードにMAPから呼ばれた命令)というのがあるわけです。 検索速度を上げるためです。 スクリプト側から見れば、座標データ−さえセットしておけば、システム側から勝手にトリガーを 引いてくれる事になります。 チップデータ−を内部でサポートするというとは、実際にチップINDEXを持って使用時に組み立てる作業を PG内部でおこなう事をいいます。今回このようなことはおこないません。
258 名前:親父PG mailto:sage [04/04/22 00:30 ID:cy5y1emu.net] >>256 おお256を踏みましたね。このスレも無事に1バイトを超えました(W ご心配のJPGデータですが、内部に読み込むとARGB各8ビットというデータ−に変わります。 この時点でαは全ピクセルにFFが割り当てられています。 このFFの価を変化させてあげると半透明になります。 実はこのようなことを心配しなくても、2つのテクスチャはちゃんと抜くことができます。 αが意味を持つのはエッジ処理です。全体に薄くしたり特定色(黒)を透明にする事は特に PNGを使う必用は無いのです。 綺麗にエッジを抜く場合はαデータ−を持ったPNGが有利ですが。それほど必用でないものや 最初からスクリーン<−フォトショップのレイヤー属性のあれ(or演算) であればαデータ−なしでもそれほど問題になりません。 要するに使う場所と目的によって決定されます。
259 名前:親父PG mailto:sage [04/04/22 23:37 ID:cy5y1emu.net] >>新人PGさんへ >しかし未だにMAP座標にトリガーを持たせるのにはちと抵抗があります・・・。 もしかして、地形MAPにあの48バイトのトリガーデータを持つと、お考えですか? もしそうなら違いますよ。地形データには「トリガーを引いて」という意味の1バイトデータしか使いません。 眠い、眠いです。ツールにバグがあった...ナオサナケレバorz... とある会社のデータ−ベースに製品シリアルに「ハイフンと全角ハイフン」が混じって登録されているのを発見。 直すのは不可能との事....(メインフレーム上にあり、直すのにんんんん万かかるらしい)激しく鬱ですorz...
260 名前:名前は開発中のものです。 mailto:sage [04/04/22 23:42 ID:q2BwaruN.net] ウィンドウ見せてクリ
261 名前:新人PG mailto:sage [04/04/23 00:03 ID:zEfEFbHL.net] >>親父PGタン お疲れ様です。 メインフレームは触った事ないんで良く分らないですが、コンバータ組むぐらいじゃダメなんでしょうね・・・きっと。 >もしかして、地形MAPにあの48バイトのトリガーデータを持つと、お考えですか? >もしそうなら違いますよ。地形データには「トリガーを引いて」という意味の1バイトデータしか使いません。 いえ。トリガーを変更した場合、直接は関係なさそうな地形MAPもデータを作りなおさなきゃいけないのでそう思いました。 ツールが補完するとしても、地形MAP編集ツール等がトリガーの事を気にしなくてはいけないデータ構造はちょっと・・・。 地形MAPは地図情報のみを扱う事にすると良いのでは?、と思ったのです。 言語設計なのですけど、一連のシーンを1関数として定義していきます。 吉里吉里のスクリプトを大いに参考にさせて頂いています、が、そこまでの汎用性は無いです。 言語上に機能として持たせたい物で、レイヤー・ウィンドウ管理、外部ファイル読み込み、がありますがどうでしょうか? (特に外部ファイル読み込みは静的か動的かの話題なんですけど・・・)
262 名前:親父PG mailto:sage [04/04/23 00:05 ID:nZvvFTd4.net] >>260 まだデザインなど適当ですがこんな感じです。 www02.so-net.ne.jp/~wizzhen/flash/test.jpg 今 標準的なメッセージ表示用のものを造っているところです。 OKボタンは左上のものが入ります ツールのバグでいま表示できていませんorz...
263 名前:親父PG mailto:sage [04/04/23 00:11 ID:nZvvFTd4.net] >>261 おつかれさまー メインフレームの件は私もそう思ったんですけどね。そういう簡単なものではないらしい 未知の世界(デッカイTAPE装置が動いている世界... MAPの話 例えばMAPにトリガーが無いと仮定すると、 キャラが移動する毎にトリガーテーブル−のサーチが必要になります。 これは効率が悪いので、MAP側に「探せ!」というコードを埋め込むわけです。 外部ファイル読み込みは 動的に処理しないとあまり意味はありません。 固定長のトリガーテーブルは後ろに付け足しできるなど、扱い易い点はあると思いますけどね。
264 名前:親父PG mailto:sage [04/04/23 19:05 ID:nZvvFTd4.net] 新人PGさんへ 豆乳システムの命令リファレンスです ttp://tonyu.kake.info.waseda.ac.jp/api/wiki.cgi?page=%cc%bf%ce%e1%a5%ea%a5%d5%a5%a1%a5%ec%a5%f3%a5%b9 これを参考に実行部のほうも定義していきますね。
265 名前:親父PG [04/04/25 16:09 ID:F+nBnVBh.net] まだデザインなど適当ですがこんな感じです。 www02.so-net.ne.jp/~wizzhen/flash/test.jpg 文字出力が出来ました。 このウインドは全角で24文字程度の出力用です。 文字量が増えた時は何もしませんorz... スクロール機能を備えたウインドはこの次に作成します。 ところで皆さんは文字列用のライブラリは何をお使いですか? (特に可変文字列など) 私はSTLのbasic_string を使っておりますが^^
266 名前:親父PG mailto:sage [04/04/25 16:10 ID:F+nBnVBh.net] ageてしまったorz.........................
267 名前:親父PG mailto:sage [04/04/25 16:25 ID:F+nBnVBh.net] >>新人PGさんへ 今、ある下位コマンドです。設計の参考にしてください。 const hOBJECT _mesNewOBJWin( int objtype,D3DPRIMITIVETYPE stype,unsigned ten ,byte* pstruc ,int zindex);//Winsowの登録(OBJを呼び出し) const hOBJECT _mesNewOBJ( int objtype,D3DPRIMITIVETYPE stype,unsigned ten ,byte* pstruc );//OBJの登録 const hOBJECT _mesNewOBJ( int objtype,char* texfilename ,int usealpa);//テクスチャの登録 const hOBJECT _mesNewOBJ( int objtype ,float x,float y ,float z );//四角などの登録 const hOBJECT _mesNewOBJ( int objtype ,float x,float y ,float z ,D3DLIGHT9* );//ライトの登録 const hOBJECT _mesNewOBJ( int objtype ,float x,float y ,float z ,float w,float h,float r );//空間の登録 const hOBJECT _mesNewOBJ( int objtype ,float D3Dfontsize, char* outputtext ,int D3Dfontnumber );//フォントの登録 void _mesVirePortTextureSet(); int _mesViewPortProfileLoad(char* datfilename );//ViewPortの切替 セッテイングファイルの読み込み int _mesViewPortProfileLoad();//ViewPortの切替 セッテイングファイルの切替 int _mesLoadTextureforProfile();//テクスチャファイルを一気に読み込む関数 int _mesMakeButtonforProfile();//ボタンを貼り付ける□を作成する int _mesSetButtonText( dBOption* pButtonData ,char* newtext); int _mesSetButtonText( int btnumber,char* newtext);//ボタンのテキストを変更する int _masMakeButton(int btnumber ,dBOption* dbt,dRECT* rect,int zindex);//ボタンを作成する int _mesMovingOBJ( hOBJECT,int time ,float x ,float y ,float z ,BOOL sw );//objの移動 int _mesMovOBJ( hOBJECT handle,int time ,float x ,float y ,float z ,BOOL sw );//objのSTOP移動
268 名前:親父PG mailto:sage [04/04/25 16:26 ID:F+nBnVBh.net] int _mesScaleOBJ( hOBJECT handle,int time ,float x ,float y ,float z ,BOOL sw );//objの拡大縮小 int _mesShowOBJ( hOBJECT handle, int time ); int _mesHideOBJ( hOBJECT handle, int time ); int _mesSetObjectOutputText( hOBJECT handle,float x,float y,float z,float fontsize=FONT_NORESIZE,const char* outputText =NULL ); int _mesDeleteOBJ( hOBJECT handle, int time ); int _mesSetWindowPos(unsigned int nWin ,float x,float y ,float z);//Moveコマンドを一斉に発行する_mesmoveの上位コマンド int _mesSetTexture( unsigned int taget,unsigned int texnumber ,unsigned int coindex =0); int _mesSetArea( hOBJECT tagetA,hOBJECT objnumber,unsigned int _incommand_=0,unsigned int _outcommand_=0,unsigned int _hitcommand_=0 ); int _mesSetObjectStatus1( hOBJECT handle,OBJSTATUSFORMAT _format_ );// int _mesFontColorChange( hOBJECT handle,float r,float g,float b );//FONTに対してのみ有効 即対応型 int _mesFontSizeChange( hOBJECT handle,float _fontsize_ );//FONTに対してのみ有効 即対応型 void ClearALLOBJ_(); hwin _mesCreateWindow(unsigned char WinType ,short X,short Y); void _mesDeleteWindow(int hwin); 変更・追加はありますorz...つぎはぎだらけなのがばれてしまうソースですな(汗
269 名前:名前は開発中のものです。 mailto:sage [04/04/25 17:29 ID:TuLiLdfJ.net] >>265 std::string でお茶を濁してまつ
270 名前:新人PG mailto:sage [04/04/26 00:37 ID:RHLEfjhQ.net] 公言した連休まで一週間しかないYO! 先に謝っておきます。多分動くもの、できません・・・。 Boostのspiritを使いつつ、字句&構文解析を頑張って作っているところです、が、なかなか思うように進んでおりません。 言語仕様ですが、まだ公開できる段階ではありません(汗 最終形は似非C言語+謎の独自予約語と思って頂くとわかりやすいかも知れません。 出来たところ ・EBNFの基幹部分(やっと終わった・・・) ・演算部分の字句・構文解析実装 ・if文の字句・構文解析実装 出来てないところ ・その他の構文の字句・構文解析実装 ・中間コード設計(先にやった方がいいな・・・) ・目的コード設計 ・中間コード出力実装 ・中間コード解析実装 ・目的コード出力実装 ・その他ドキュメントなど・・・ 全然出来てませんな・・・。早く出来るなんて嘘こきましたがもうちょっと時間を下され・・・。
271 名前:親父PG mailto:sage [04/04/26 00:46 ID:Tu3Nnhfj.net] >>270 お疲れ様。^^ まぁ肩の力を抜いて楽しくいきましょう。 自分で仕様を決めて造るProgramは、楽しくやらないと損ですからね。 力を抜いて頑張ってください。 私の方もWINDOWの拡張に努めています。文字列が入りきらない場合の 文字のスキップ(スクロール)の処理などをやってます。 出来上がった所から少しずつ、先のURLにあぷしていこうと思います。 私事ですが明後日に光が開通します。 勢いでMN8300W買ってしまいましたorz....
272 名前:名前は開発中のものです。 mailto:sage [04/04/26 09:31 ID:YvjKmIIw.net] なんか文字の後ろが透過されてないんだけど、 もしかして例のDIB側で合成して、αを使っていないせい?
273 名前:親父PG mailto:sage [04/04/26 12:40 ID:Tu3Nnhfj.net] >>269 スタンダートストリングですか^^ 何が何に強いとか特長とかあるんですかね? C関係は文字ライブラリの種類多すぎorz... デルファイのようにStringが、すべてカプセル化して1つしかない状態のほうが シンプルで良いような気もするんですけどね(個人的には) string.sort() ←こういう事が標準でできるあたりはCも便利なんですが... >>272 そうではありませぬ。 文字の後ろは可読性を考えて、わざと不透明にしております。 文字は高精度αを使って滑らかに出力しております。 「文字 DIB |合成(スクリーン) 背景」Tecture このとき背景のαを255←ここを変化させると透過する ポリゴン (重ね合わせ) WINDOWポリゴン 頂点にα設定 (重ね合わせ) サーフェースカラー
274 名前:名前は開発中のものです。 mailto:sage [04/04/28 22:48 ID:ZcMEeys0.net] 応援さげほっしゅ
275 名前:親父PG mailto:sage [04/04/29 00:55 ID:fKr8I6Zs.net] >>274 最近、書き込み少なくて寂しいのでorz...ありがとうです^^ さて我が家にも光が開通したのですが、ADSL>光の切替が月末に固定されているので 使えないというorz... システムのほうはコンポーネントという概念(複数のコントロールOBJ)を一括して扱う この実現のために新しいクラスの定義、一部命令の移動など工事などを進めました。 仕事の合間に紙に、ボールペンでクラスの構造設計書を書いておりました。 落書きの山ですな。 この新しいクラスのためにSTLのタイプを何を使うか検討しています。 STLの種類選びはなかなか重要で本システムでも、Vector と deque を 切り替えただけで80%速度が改善しました。 さて親父日記は終了して 仕事に戻ります
276 名前:新人PG mailto:sage [04/04/29 21:03 ID:im0w3ame.net] >>親父PG お疲れ様です。 アク禁食らっていてカキコできませんですた・・・。 言語の設計 ・ホワイトスペースは 空白・タブ・コメント・改行文字とします。 ・コメントはJava風("//" "/* */") ・if,for,while,switch,gotoあり ・型はshort,int,long,byte,string ・予約語としてscene,array等を予定 ・関数の宣言 int function Func1(int arg,string str){...} てな感じです。(細かい所はまた後で) クラス実装はほぼ諦めてます・・・。(だれか作れる人がいたら受け継いでくれ〜) 標準APIをこちらが実装する事でゲームの記述を行えるようにします。 こちらもコンパイラ作るのが飽きたときにコソッとゲーム考えたりしてます。 地形なのですけど、テクスチャから地形ポリゴンの高低を生成できたりすると面白いかもしれません? #文字列は普段はstd::string MFC環境はCStringを使っています。
277 名前:親父PG mailto:sage [04/04/29 21:51 ID:j+4sgpkF.net] >>276 お疲れさま 現在私は夜勤中ですorz... しかもノートPCの電源家に忘れた。さらに鬱.... 仕様ですが、最初の段階としては問題ないと思います。 そもそもクラス言語が理解している人ならば、ゲームツールを使わず自分で作ってるでしょう。orz.... というわけで、簡単な言語仕様をまとめて、シナリオライタークラスの人に「難易度」を計ってもらう事が必要かもしれません。 >>こちらもコンパイラ作るのが飽きたときにコソッとゲーム考えたりしてます。 いいですねぇ。なんかPGの話ばかりしてると、PG以外の人が寄り付かなくなってしまうので、いろいろとネタを振るのもいいかもしれませんね。 >>地形なのですけど、テクスチャから地形ポリゴンの高低を生成できたりすると面白いかもしれません? すまん。もう少し詳しく教えてくだされ。テクスチャの何から高低を生成するのかな? いきなりですが、DirectXの描画ループの説明を致します。 DirectXの描画ループ ポリゴンを作る ポリゴンにテクスチャを張る レンダリングGO 描画(FLIP) ポリゴンを張るというのはポリゴンのデータ-に対してテクスチャの(ポインタ)を渡します。 するとあとはDirectXが勝手に描いてくれます。いいですねぇ。 さて2つのポリゴンに対してテクスチャAを割り当てた時に、テクスチャAの内容を変化させるとどうなるか? 答えは2つのポリゴン両方の内容が変化します。 この特性は美味く使うと便利ですが、少し困る事があります。その場合はテクスチャのコピーを作ってそのポインタを渡したほうがいいかもしれません。
278 名前:新人PG mailto:sage [04/04/29 22:17 ID:im0w3ame.net] >>親父PGタン (゚Д゚)オツーです。 シナリオライターはツールやこちらが組んだAPIを使用して、シンプルな記述が出来るように設計します。 ほとんど変数や分岐を記述させないで、こちらが用意した評価関数を使用させるようにします。 (ほとんどGameProgramming Gemsの内容に従っての設計になっています) >>地形データからマップ生成 www.uroboros.org/manageddirectx_csharp.html こんなのを見ていて面白そうだと思いました。 >>テクスチャの話 テクスチャを1つだけ生成して複数のポリゴンに参照させる事が出来るんですねぇ。 ゲームPGを全く(ていうか画像処理を)やった事の無い自分にとって面白い仕掛けだらけです。
279 名前:親父PG mailto:sage [04/04/30 01:23 ID:yNfOtjDQ.net] >>278 お疲れさま。 サンプル見ました。面白いですね。ではランドスケープの部分は新人PGさんにお任せします(w とりあえずなのですが、MAPは一枚画を3枚ぐらいレイヤー構造でスクロールするものを考えています。 でランドスケープのシステムの話。 シミュレーションなどで使うMAPでは論理座標を管理するMAPが存在します。 これを表すためにXY(Z)の配列をつくってその座標の特性に合わせてランドを作成します。 1が海2が平地として 111111 111211 112211 111111 古典的なやり方では1対1に対応して「チップ」データをおいていきました。 昔の「大戦略」などを思い出していただければ結構です。 これはMAPをユーザーにもエデットできるという仕様上からもこのような設計になってるのでしょう ユーザーにエディットさせないのであれば、1枚画を使ったほうが綺麗ですね。そういう方法を使っているところも結構あります。 さて次の方法ですが、1に上げた方法を拡張して平地と海の間のグラフィックを補完する方法というのがあります。 1と2の間に海岸のグラフィックを表示する これは3Dではない地形データを表現する方法として多く使われています。 3DMAP 予め作成済みの頂点データ-とポリゴンデータの組み合わせを表示する。 これは速度的にもよく使用されている方法です。動的に変化するのは必要な部分のみ。 通信ゲームなどはこの方法が多いのではないでしょうか? 本システムでは(とりあえず)斜め上視点を考えてます。後期ドラクエと考えてください。 地形MAPツールも作らないといけないですねぇorz... やる事多すぎw 次に考えているのは論理MAPデータ-からポリゴンデータ-を動的(読み込み時)に作成して ポリゴンを貼り付けていく方法というのがあります。 速度的な心配があるのですが、精度がそれほどでもなければなんとかなるかも。
280 名前:新人PG [04/05/02 16:13 ID:tneOjVuC.net] >>親父PGタン お疲れ様です。連休入ってから呆けていて遊んでました・・・、スンマソン。 スクリプト言語、中間コード生成までは問題なく進めそうです。(BoostのSpiritのおかげです・・・) 問題はその先なのですが(汗 Mの命令語の設計が出来てからマッピングを考えるのでそれ以上は保留としておきます。 不安要素は、スクリプト言語の汎用性が高すぎる事です。トリガーとマッピングできるのかしら? 恐らく、制御構造が全くといって良いほど違うので「戻り」は発生すると思いますけど。 >>サンプル見ました。面白いですね。ではランドスケープの部分は新人PGさんにお任せします(w >>とりあえずなのですが、MAPは一枚画を3枚ぐらいレイヤー構造でスクロールするものを考えています。 ちょっと待ったーッ!2Dの表示もやった事のない僕にそんな餌を撒かないで下さい(汗 画像処理系は任せますw 後学の為に参考にさせていただきますので b(・ー・) 個人的にはMAPツールはデータをプレビューできる機能さえあれば十分だと思ってますけどねw あとはテキストエディタなりバイナリエディタなり使ってw
281 名前:新人PG mailto:sage [04/05/02 17:45 ID:tneOjVuC.net] ageてしまった・・・スマソ。 言語仕様なのですけど、関数とトリガーを完全に別の記述方法にしました。 宣言方法も違います。 トリガーの宣言: "trigger" [シリアルID] ([トリガーより渡される引数]){...} 関数の宣言 [型(戻り値)] [関数名] ([スクリプト内で渡される引数] ){...} その他の変更・疑問など ・FOR文,SWITCH文が無くなる可能性があります。 ・ひょっとして中間コード要らない?←出力する中間コードそのものの変更が起こる可能性が非常に高いため (字句・構文解析とファンクタは別実装) ・計算式が書けなくなるかも?(VMの命令語次第)
282 名前:名前は開発中のものです。 mailto:sage [04/05/02 19:50 ID:PAfxeO72.net] for文や計算式が書けないのはまずいんでない?
283 名前:名前は開発中のものです。 mailto:sage [04/05/02 21:08 ID:wpvFJ3U7.net] 普通はスクリプト系にforとかswitchはあまりないんでない? 開発ツールのほうでswitchがあってもそれをifに展開したりする forのような繰り返しはあまり多くないからさほどいらないはず どうしてもほしかったら後で付け加えるだけでいいし
284 名前:名前は開発中のものです。 mailto:sage [04/05/02 21:33 ID:PAfxeO72.net] >普通はスクリプト系にforとかswitchはあまりないんでない? それ本当? 逆にforに相当するものが書けないスクリプトを知らないんで教えて欲しい。
285 名前:名前は開発中のものです。 mailto:sage [04/05/02 21:34 ID:wpvFJ3U7.net] 普通スクリプトって社内開発で外に出ないもんじゃ?
286 名前:名前は開発中のものです。 mailto:sage [04/05/02 22:19 ID:PAfxeO72.net] >普通スクリプトって社内開発で外に出ないもんじゃ? 趣味ならまだしも仕事で作って for文も使えないってことはないのでは? スクリプトの処理系なんて社内開発以外にも Python,Ruby,Lua などいろいろあると思います。 参考までにPython+SDLのゲーム開発サイトです。 ttp://www.pygame.org/
287 名前:名前は開発中のものです。 mailto:sage [04/05/02 22:49 ID:wpvFJ3U7.net] ここでの流れはそういう汎用スクリプトの話してねーだろ
288 名前:名前は開発中のものです。 mailto:sage [04/05/03 00:18 ID:O34XE/AV.net] いや市販ゲームにも使われてるし別にいいだろ。 逆に社内開発の非公開スクリプトの話されても困る。
289 名前:名前は開発中のものです。 mailto:sage [04/05/03 01:58 ID:ttTkVS1d.net] スクリプトみたいなユーザーに近いレベルの言語こそ forとかの制御構文あったほうがいいと思うけどね。 それをjumpやgotoなどに展開するのば普通じゃないのかな。
290 名前:名前は開発中のものです。 mailto:sage [04/05/03 02:07 ID:0IkDbgp8.net] for文じゃなくてwhile文なんだよ。 ってのは冗談として、ゲームツールのスクリプトでループ文はいらないんじゃない? Mainループとしてゲーム本体があるんだから段階的に時間軸に沿って処理する場合 でも、ツールユーザーがスクリプトで書くのは判定文だけでいいでしょ。 純粋なツールではないけどMorrowindのスクリプトでもwhile文はあるけどtime Overありだし 推奨はしてないよ。 ttp://www.uesp.net/morrow/editor/mw_cscommands.shtml
291 名前:名前は開発中のものです。 mailto:sage [04/05/03 03:14 ID:uGveXlu0.net] あくまで学習しながらゲームを作るのってのが目的みたいだし 多少機能が貧弱でもいいのでは? 単に高機能な物が欲しいのならフリーでオープンソースな ゲーム開発環境なんていろいろあるわけだしそっちを使ったほうがいい。 中途半端に終了ってのが一番最悪ですから。
292 名前:名前は開発中のものです。 mailto:sage [04/05/03 05:34 ID:F5voLn4B.net] >>288 それは初めて聞くな。PCゲームなの? その手のスクリプト言語のパーサとかVMって、ライセンスはどうなってるの? GPLだったら、ゲーム自体のソースも公開になるの? それともコピーライト表示だけで構わないライセンス?
293 名前:新人PG mailto:sage [04/05/03 06:49 ID:XPOMrzWI.net] みなさん色々意見ありがとうございます m(_ _)m FOR文が消える理由: >>290 さんの言うように必要性を感じなかったのと、目的コードと合わない感じがしたからです。 計算式が消えそうな理由: 計算をする事が出来るかどうか怪しいため。 あくまでゲーム中イベント処理の記述のみをスクリプトで作る手筈なので。 他の処理系(Lua等)を使わない理由: 作ってみたかったからっス・・・(・ω・;)>>291 さん、フォローThanx あと、親父PGさんの方である程度考えにまとまりがあったので下手に他に手を出すよりは良いかと思ったからです。 まあ最初はXMLでの記述のみを考えていたんですけどね・・・w
294 名前:名前は開発中のものです。 mailto:sage [04/05/03 12:47 ID:nXfpjc4K.net] >>292 最近だとFarCryがLua使ってる。 ttp://www.4gamer.net/store/review/farcry/farcry.html ライセンスはLuaだとMITライセンス。 GPLとかだったら市販ソフトにはとてもつかえないよ。
295 名前:名前は開発中のものです。 mailto:sage [04/05/03 14:15 ID:GKQkdavB.net] luaは組み込み目的で開発されてたヤツだし 中間言語系でGC使ってどうのこうのってやつなんで、それでいいのであれば javaとか組み込んで使ってるのとあまり変わらんと思われ 俺はそういう方向性でいいと思うんだけどね でもここでは流れ見るに中間言語系は対象外のようなんで確実にクロック数が わかるようなスクリプトしか実装しないと思う それの出来はどうであれ、いわゆる再開発好きが集まってるところだと認識している
296 名前:親父PG mailto:sage [04/05/03 16:28 ID:+yioKA00.net] >>新人PGさんへ 色々と議論が進んでいますね。レスが遅れてすみません。 FOR文についてですが、FOR文命令トークンがあればそれに従って、VM側が行います。 ご指摘のとうり問題はその意味なんですよね。orz... シナリオライターがあったほうがいいと感じるか? ということになります 単純に繰り返したいだけなのか カウント用の数字を何かにつかうのか カウントの何番目にかによって条件をいれかえるのか? いずれにしてもVMは一命令ずつ解釈実行なので、(1命令はある程度豪華ではあるけれど) 命令が矛盾無く組み立てられるのであれば、大丈夫だと思います。 ということで、この命令にはこんなトークンの組み合わせではどうか? という提起がスクリプト側から提示されると考えています。 その中から実現方法の[取り決め]を造って行きましょう。最初からそこまでこちらで決めると スクリプト側の設計が窮屈になると思って、いままでその話はおいて置きました。 >>其の他の方 いろいろと貴重な意見ありがとうございます。大変助かっています。これからも暖かいご支援をお願いします。
297 名前:親父PG [04/05/08 01:09 ID:h8sVtZGZ.net] >>293 計算式が消えそうな理由: 計算をする事が出来るかどうか怪しいため。 あくまでゲーム中イベント処理の記述のみをスクリプトで作る手筈なので。 ADD SUB というトークンと数字の並び替えの規則さえあれば、こちらでぞれを実装しますよ^^; 今、開発マシンにトラブルが発生orz.. 修理に出すので今止まってます すみません 汗
298 名前:名前は開発中のものです。 mailto:sage [04/05/08 19:42 ID:cNPB2s8D.net] スレ一通り読んでみたんだけど一つ質問 今作ってるのはライブラリですか? 初心者の俺にはそれすらわからないy=ー( ゚д゚)・∵.ターン
299 名前:名前は開発中のものです。 mailto:sage [04/05/08 19:58 ID:dkKvY2dU.net] >>298 >>1
300 名前:名前は開発中のものです。 mailto:sage [04/05/09 18:20 ID:gB+UjQaV.net] >修理に出すので今止まってます このままフェードアウトの悪寒・・・。
301 名前:名前は開発中のものです。 mailto:sage [04/05/11 19:53 ID:yHM5YZkv.net] 親父PG=47氏だったら・・・。 >今、開発マシンにトラブルが発生orz.. >修理に出すので今止まってます すみません 汗 実は押収されたの。 と、妄想してみる。
302 名前:名前は開発中のものです。 mailto:sage [04/05/11 20:30 ID:UgvJm544.net] 親父PGさんタイーホされたのか。 とか言ってみる。
303 名前:名前は開発中のものです。 mailto:sage [04/05/11 23:30 ID:yHM5YZkv.net] 結局、2chで企画立てて実現かつ成功した 例は・・・
304 名前:名前は開発中のものです。 mailto:sage [04/05/12 00:01 ID:F6gUxLXe.net] ゲーム作るのにだって根気と忍耐は必要なのに1〜2週間くらい待てないのか? 仮に企画倒れだったとしても当人達以外に何か被害被った訳でもなし。 うだうだ言う奴に限って自分では何もでk(ry もうちょっとマターリ待ってみようや(´_ゝ`)y─┛~~
305 名前:名前は開発中のものです。 mailto:sage [04/05/12 00:37 ID:Sy7h6rok.net] >>304 別に誰も作業を「直接的に」急かしてる書き込みして無いでしょ?
306 名前:名前は開発中のものです。 mailto:sage [04/05/12 13:40 ID:F6gUxLXe.net] >>305 ??? よくワカランが俺の書き込みちゃんと読んだ? 本人がPC修理って言ってるんだから下手な煽りはイラナイだろって言いたいんだがな >>300 、>>303 とか。ドッチに転がっても何か損するわけじゃないしね 見ててダメだと思ったならここ見なきゃ良い話しだし 俺は変な煽りに対して言ったんだが、レス番付けなかったからちとわかり難かったか
307 名前:名前は開発中のものです。 mailto:sage [04/05/12 15:02 ID:KHeRBBvL.net] そうではなく2chなんだから煽りにいちいち反応するな ってことが言いたいのでは? このスレの住人も当人達以外はヲチしてるだけでしょ。 既存のゲーム開発ライブラリなんてたくさんあるし ゲーム製作したことが無い素人が作るライブラリの 完成を待ってる人なんているとは思えん。
308 名前:名前は開発中のものです。 mailto:sage [04/05/12 21:23 ID:B+KWN/WZ.net] >>307 当人たちのやる気を削ぐような、刺のありすぎる言葉だな。 まあ、言ってる事は同意だが最後の二行は書くべきではなかったと思うぞ。
309 名前:名前は開発中のものです。 mailto:sage [04/05/12 22:58 ID:gxCJLa/h.net] >>307 漏れニヤニヤしながら待ってるよ 使いたいからじゃなくて、見てみたいから 特に、豪華固定長命令セットの威力に期待
310 名前:新人PG mailto:sage [04/05/15 16:36 ID:0t0FzjJn.net] お疲れさんです。ずいぶんさがりましたな。 仕事の引越しの関係でインターネットが新居に繋がってません。今月中に何とかします。 スクリプトは機能を大幅に削って、ある程度完成しました。どうにかゲームの進行ができる程度です。 計算処理は復活させました。限定的な(非汎用的な)命令語が増えています(汗 現在C# + DirectX9にてデバッグ用のインタプリタプログラムを作成中です。 動作するものができたと判断した段階(6月初頭を目途)で一度公開します。 スクリプトレビューはその時に行ってもらいます。 現在作成できるゲームの限界はSFCのドラゴンクエストV+αとしています。 オーソドックスな2DのRPG(俯瞰)としていますがRPGツクールと差別化したいかな〜とも思ってます。
311 名前:親父PG [04/05/15 23:46 ID:n956sXSw.net] 現在IBMに修理出してます。すんません。orz... 問題は...サルベージが必要かも知れません(涙 でも諦めませんので^^;まだまだ頑張ります。
312 名前:親父PG mailto:sage [04/05/15 23:48 ID:n956sXSw.net] >>310 こちらも事実上止まっていますので、ゆっくりかかってください。 サルベージにHDDの基盤交換が必要やも知れないorz... 巻き戻ったソースは残っているのですが.... で逮捕はされていませんよw
313 名前:名前は開発中のものです。 mailto:sage [04/05/16 23:37 ID:XGd16B+k.net] タイーホされてなかったのか・・・よかったよう。 早く復帰してねー
314 名前:親父PG mailto:sage [04/05/19 08:49 ID:DXpNx74z.net] まだ修理から戻ってこないorz...
315 名前:名前は開発中のものです。 mailto:sage [04/05/19 12:12 ID:OYSXu2wF.net] IBMのノートって壊れやすい?
316 名前:名前は開発中のものです。 mailto:sage [04/05/19 12:43 ID:wKTG0vf1.net] そりゃもう踏んだだけで壊れます 踏んで壊れなかったのはLet'sだけだった・・・
317 名前:名前は開発中のものです。 mailto:sage [04/05/21 04:10 ID:GxmUKizO.net] 踏みすぎ
318 名前:名前は開発中のものです。 mailto:sage [04/05/24 19:14 ID:8F9Ymse0.net] 保守
319 名前:親父PG [04/05/24 20:54 ID:o3eQYwoe.net] ところで HDDなのですが、だんだんおかしくなって 最後にWINDOWSまで起動したあと、認識不能になったので おそらく基盤故障かモーター故障だと思うのですが、 サルベージでよいとこ知ってる方いませんかね? これもある意味 ネタにもなるし(苦笑 IBMに当初修理を依頼したところ落下判定されていました(笑 かばんに入れて持ち歩いていたので、チャックの部分とこすれて傷だらけなのがいけなかった... 状況を説明して 落下判定は取り消されました。 やはりちゃんと説明しないといけないんですね。落下だと「保障」が効かなくなります。 当初6万の請求が、修理範囲をHDDに絞ったことで「無料」 また壊れたHDDの引き取り代金だけになりました。 壊れたHDDの引取りにもお金がかかります。まぁこれは仕方の無いことですが^^;
320 名前:名前は開発中のものです。 mailto:sage [04/05/24 21:15 ID:GTVh4I4h.net] 俺なら新しいの買う
321 名前:名前は開発中のものです。 mailto:sage [04/05/24 22:31 ID:npejv8oY.net] サルベージの話だろ? ところで >壊れたHDDの引取りにもお金がかかります。まぁこれは仕方の無いことですが^^; 知らんかった。なぜに?
322 名前:名前は開発中のものです。 mailto:sage [04/05/25 01:31 ID:/brKs1IB.net] 俺の場合、壊れたハードディスクは表面を透明プラスチックとかに変えて 部屋の隅っこに飾ってる。 ちょっとかっこいい。
323 名前:名前は開発中のものです。 mailto:sage [04/05/25 03:37 ID:aIdTCCHF.net] パソコンリサイクル法とかでいろいろと理由付けて金とるんだなぁ。 漏れもIBMのHDD(ノートじゃないが)使ってたけど2年しないで 起動するたびに遅くなったり、認識しなくなったりしてとうとう逝ってしまった。 まぁ、前兆が2,3日に続けてでてたからあわててバックアップとったが、 親父PG氏はバックアップとってないのん? 開発マシンが逝っちゃうとカナーリショックだと思う。
324 名前:名前は開発中のものです。 mailto:sage [04/05/25 10:17 ID:MYIRdGjF.net] PCやHDDは消耗品。万が一の時のために バックアップはまめにとるのは開発者の常識。 個人でも何枚かのDVDRAMやRWに焼くだけでも 安心感が違うから、面倒でも最低2〜3日に1回は 全ソースのバックアップをとったほうがいい。
325 名前:名前は開発中のものです。 mailto:sage [04/05/25 10:41 ID:2BcRF3mj.net] 確かに必死こいて書いたプログラムが2日分 消えたときはしばらく放心状態だった
326 名前:親父PG [04/05/25 19:41 ID:srpPWafA.net] 壊れたHDDを引き取るのにお金がかかる理由は、交換により新品をHDDを提供。 交換後の壊れたHDDは「IBMの資産」扱いなのだそうです。 なので引取りにはお金がかかるようです。 当初は新品と同じ額かもしれないと言われていましたが、結局は9000円 になりました。 高いなと感じる方もいるかもしれませんが、ノートの発送代金はすべてIBM持ち (保険付き)サービスであるとかを考えると、それほど高いとは思っていません。 簡単なチューニングもしていただきました(発熱対策) あまり参考にしたくない事例ではありますが(汗 なにかの参考なれば幸いです^^;
327 名前:名前は開発中のものです。 mailto:sage [04/05/25 20:34 ID:aH+42FE9.net] 家にサーバ一台置いて、CVSなんかでバージョン管理。 これ最高
328 名前:名前は開発中のものです。 mailto:sage [04/05/25 23:08 ID:j22upQOo.net] サイト用アカウントにpassがけアーカイブをうpしてる。
329 名前:名前は開発中のものです。 mailto:sage [04/05/26 00:47 ID:ALBjE7I0.net] >325 でもめちゃ苦労して、ある程度できあがってたものは 一度消えても仕事とかで納期が迫っていると、一気にその段階までもっていけるようなw 俺プログラマーじゃないけど、フォトショとかで1日かかりで作ってたようなのを 納品数時間前にアポーン->一気にそこまで作り上げ。みたいのはあるな。 フォトショの画面作りにしても、プログラムにしても、時間かかってるのは 頭つかって試行錯誤してる部分だけだから、一度形にできてると、 そこまで復帰させるのは、どうとでもなるよね。 ・・・まああまり参考にしたくない話しですけど。
330 名前:名前は開発中のものです。 mailto:sage [04/05/26 06:51 ID:pH6Xv3G7.net] >>329 デザインとプログラムは違うよ。 実際に経験してみないとこの違いはわからん。
331 名前:名前は開発中のものです。 mailto:sage [04/05/26 07:21 ID:AGJ88VBR.net] >時間かかってるのは >頭つかって試行錯誤してる部分だけだから ここらへんがど素人なのね
332 名前:名前は開発中のものです。 mailto:sage [04/05/26 10:02 ID:DwvFe2iA.net] まあ、かなり特殊な処理だったりするとわからんでもないな。 ただ、手馴れてくればそういう「試行錯誤」より 単なる物量が多いだけの場合が殆どであることに気が付く。
333 名前:名前は開発中のものです。 mailto:sage [04/05/26 10:05 ID:iZv6MyYs.net] ノートのHDDが壊れたときは、とっとと新しいHDDを買ってきて付け替えたけど。 有償なら自分でやった方が、安いし早い。
334 名前:親父PG mailto:sage [04/05/26 14:01 ID:FihDUxqm.net] >>333 交換の部分は無償なんですよ^^ 普通は壊れた部品引き取る人いませんからね。 で目の前に壊れたHDDがあります。どうやってサルベージするか思案中です
335 名前:名前は開発中のものです。 mailto:sage [04/05/26 14:59 ID:9IQYkxl7.net] クラッシュしちゃったり基盤交換が必要など物理的に 壊れてるHDのサルベージは結構な料金とられるので 多少巻き戻ってもバックアップから作業開始しちゃったほうが いいと思いますよ。 ソースが必ずしも復旧出来るとも限らないし…
336 名前:名前は開発中のものです。 mailto:sage [04/05/26 18:57 ID:JnixpBgL.net] 壊れたってのがどういう壊れ方なのかもわからないなあ。 カラカラ鳴ってアクセスできなくなるタイプ?
337 名前:名前は開発中のものです。 mailto:sage [04/05/26 19:12 ID:mhiAytbl.net] ∧ ∧ カタ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (,,゚Д゚),__カタ_ _< このスレは親父PGのHDDをサルベージするスレになりました・・・と。 ./ つ_|| ̄ ̄ ̄ ̄ ̄| \_____________ (, |\|| VAIO | '\,,|==========|
338 名前:名前は開発中のものです。 mailto:sage [04/05/27 06:55 ID:J/CU7f8p.net] いやはや、これだけ書き込みがあって、まとめサイトも作ってないし・・ できたツールを片っ端から上げってったほうが良いんじゃないの? (と言ってみるテスト) やっぱしデータ構造は問題になるとは思ってたけど・・ オヤジ?さんが考えてる流れは例えば ある地形上を歩く→どこかに着くと何番のフラグを立てる→ 他のフラグもあわせて条件判断→フラグデータにあったイベントの発生 みたいな流れを考えてると思われる。(いかにも初代から3までのドラクエみたいだけど) 最近のゲームを見るに分業が進んで、たぶん上記の方法はあんまり使われてないかも? だからシナリオが一本道になってるともみえる。でも、開発はこっちの方が容易。 シーン1(シーン1内での簡単なフラグ)→シーン2(シーン2内での簡単なフラグ) →シーン3(シーン3内での簡単なフラグ)→・・・ 全シーン共通のフラグがこの他にあって、 またキャラクター(登場人物)データや持ち物データは別にある。 最初の方法だとフラグを管理するツールは必須だね。 何個かの条件を関連づけて表示したり、どのフラグがどのデータに関連してるかというのが 明示されて無いと、あとあとわけわかんなくなるし。 2番目の方法なら、フラグについてはほとんど問題無い。(だから最近のゲームはつまらん)
339 名前:名前は開発中のものです。 mailto:sage [04/05/27 13:56 ID:T7P3bbBG.net] 確認してみたがまとめぺーじきえてないぞ?
340 名前:名前は開発中のものです。 mailto:sage [04/05/27 16:56 ID:5pnCAZfx.net] このスレにまとめのトップページURL二回しか出てきてないよ。 そりゃ気付かなくてもしょうがないんじゃないかな。 www.geocities.jp/oyajipg/ まとめページ
341 名前:親父PG mailto:sage [04/05/28 11:58 ID:tJb+of+g.net] やっぱしデータ構造は問題になるとは思ってたけど・・ >オヤジ?さんが考えてる流れは例えば >ある地形上を歩く→どこかに着くと何番のフラグを立てる→ >他のフラグもあわせて条件判断→フラグデータにあったイベントの発生 >みたいな流れを考えてると思われる。(いかにも初代から3までのドラクエみたいだけど) 少し違います。地形データーにはトリガーがあるという1ビットですむデーターしか置きません。 何が起こるかはトリガーテーブルから検索します。 イニシャライズ時に トリガーテーブルを見て地形作業領域にばら撒きます。 構造体配列に値を入れます。1ビットですみますが領域はバイトで、0−255の値をどう使おうかな? 0はなし1はトリガー検査 さて余りましたね^^ 有効な使い方あるでしょうねぼちぼち考えます。
342 名前:名前は開発中のものです。 mailto:sage [04/05/29 08:01 ID:xDPKL8Xl.net] >>341 なるほど、いいですね。 (もし、トリガーテーブルから検索する時、 位置情報を見ているなら、動く地形等のときやや混乱する気もするけど) バイトの余った領域(6ビット分)が気になるなんて・・マイコン世代ですね。
343 名前:新人PG mailto:sage [04/05/29 13:23 ID:XFao9pZD.net] お疲れ様です。 現在完成しているスクリプトインタプリタ実装部分です。 ・点・線・ポリゴン・スプライト・テキストの表示。 ・変数として整数・浮動点小数・文字列の定義。 ・整数、浮動点小数の計算、文字列の連結といった演算処理。 これがコア部品として、ここからシナリオライタや企画屋さんが使いやすいAPI群を作っていける 段階にはありますが、これからの方針としてどうでしょうか? 正直ゲーム企画屋がプログラミングする羽目になるのは避けたいため限定的な記述のみを採用したいのですけど。 とするとトリガーとの密な連携が必要ですね。難しいです・・・。 現在確実に必要と思う物を挙げます。 ・キャラクター定義フォーマット(スクリプトで管理するのは困難なため) ・戦闘定義フォーマット(プログラムに埋め込むのなら要らないけど) 懸案はキャラクターをゲーム中で動的に生成したい場合はどうするかですけど。 また提案します。 #漫喫より書き込んでます。 #ADSL契約用紙送ってから2週間近く経つけど連絡なし・・・。
344 名前:新人PG mailto:sage [04/05/29 13:25 ID:XFao9pZD.net] 追記: まとめページ更新していなくてごめんチョ。 そのうちファイルをうpできるようにします。
345 名前:親父PG mailto:sage [04/05/29 18:29 ID:UBtKpkqa.net] >>344 おつかれさまです いよいよキャラデータの話がでできましたね。 現段階できっちり決めるよりは、こういうものが欲しい、こんなもものがあると便利。 などをスケッチするのがいいでしょう。どうせ決まりきったものはあるわけで... だいぶ前にゲームの概要的な話をネタとして振ったんだけど、誰も相手にしてくれなかったorz...
346 名前:名前は開発中のものです。 mailto:sage [04/05/30 03:11 ID:DF02WfmI.net] ライブラリ作るのはあくまで過程で最終的にはゲーム作るんでしょ? 3Dにしようよ、3Dに。 なんか古くて暗いからとっつきにくいよ。見た目とか。