1 名前:親父PG [04/03/30 02:40 ID:phIrC7nN.net] C++やC、アセンブラは昔こなしたし、プログラムの事なら自信はあるけど ゲームは作った事が無い方。現場からも引退したし(w。 ここは一つ趣味でDirectXでも勉強して、ゲームでも作ってみようかなぁと思った、 オジサンPGのスレッドです。 一緒にマターリライブラリから作りませんか?
2 名前:親父PG [04/03/30 02:48 ID:phIrC7nN.net] DirectX SDK www.microsoft.com/japan/msdn/directx/downloads.asp C++ www.microsoft.com/japan/msdn/visualc/
3 名前:名前は開発中のものです。 [04/03/30 02:54 ID:aArzpmzM.net] はい、華麗に3ゲトーと
4 名前:親父PG [04/03/30 03:15 ID:phIrC7nN.net] とりあえずC++だけでいいなら19800円(ゲーム作るだけなら他はいらない) Visual C++ .NET Standard 2003 通常パッケージ 19,800円 アカデミック パッケージ 7,800円 最初の半年の目標 SDKをざっと読む 開発環境を整える デモをコンパイラする スケルトンの作成 ここからは目的に応じて多少変化すると思いますが.... タイマー、スケジュール、ポーリング部分をどのように設計するか検討する 上を設計した上で、最小単位のオブジェクトクラス(最初のメンバはLife)を設計 オブジェクトの番号を管理するクラス設計 グラフィック関連 文字関連 テクスチャ関連 マウス・キーボード関連 ビューポート関連 メッシュ関連 ライト関連 STL(動的配列関連)※クラス設計に大きく関係する DirectXとは直接関係ないけどね。 とりあえずこの辺までは共通事項かなぁ。追加があればご指摘ください
5 名前:名前は開発中のものです。 mailto:sage [04/03/30 03:43 ID:Pg71ArAR.net] ゲームを作るのか、ライブラリを作るだけなのか。 C++とかでブイブイやってたんなら、オープンソースのDirectXライブラリ持ってきて まず何かゲームを作りつつライブラリを解析したほうが良いと思う。 パソコンを勉強するおじ様方に多いけど、本だけ読んでもあんまり身につかないからねぇ。 実際に動かして、動きを見ながらソースをトレースして理解したほうが本読むより早い。 ていうかC++なら0円でIDEも揃うけど。DEV-C++とかEclipseとか。 VC系が必要になるのはポトペタでデザイン作るときだしね。
6 名前:親父PG [04/03/30 04:08 ID:phIrC7nN.net] >>5 早速レスありがとう >パソコンを勉強するおじ様方に多いけど、本だけ読んでもあんまり身につかないからねぇ。 既にそのレベルは超えてもらわないと話が進まない^^; スケルトンぐらい(質問はしてもいいけど)自作作成できないとおそらく オープンソースライブラリなんて使いこなすのは無理でしょう。 >オープンソースのDirectXライブラリ持ってきて >まず何かゲームを作りつつライブラリを解析したほうが良いと思う。 これは一旦自分で(調べて作って)解析した後でないと、かえって理解が遅くなると思います。 まぁあくまで持論ではあるのですけどね。 DirectXの動きを理解してからライブラリからコツコツと、それも楽しみの一つですから... [最低でも問題のSDKのHELPは調べる] 親父PGに限った事ではないと思いますが^^;
7 名前:名前は開発中のものです。 mailto:sage [04/03/30 08:25 ID:nseNUF3n.net] ヘタレだけど面白そうだから参加していいかな。 大分前、SDKのみの自前描画で簡単な3Dモデルを表示してみた。 ちょい前、DirectXを覚えようと、とりあえず突貫工事で Xファイルを表示してキーボードで移動させてみた。 いろんな所からサンプル拾ってほとんどコピペしただけ。 次はスキンメッシュのサンプルをどっかからパクって組み込もうと考えたが わけ分かんなくて挫折。 最近、TCPとWinsockでS/C型の簡単な一対一チャットを作ったが、 一対多のやり方がワカンネェので挫折。 先週、暇だったからテトリス作ってみた。初めてのゲーム。 ライブラリ?クラス?なにそれ。 分割コンパイルすらままならない、道しるべが欲しいそんなダメオジサン。
8 名前:名前は開発中のものです。 [04/03/30 09:44 ID:B2V5bL2q.net] それより親父さんよ この板にはたくさんの厨がいる そいつらは開発ってのを分かっていない ここは一つ、お前さんが連中を管理してゲームを完成させるスレとかにしてみたらどう?
9 名前:名前は開発中のものです。 mailto:sage [04/03/30 09:46 ID:1T5XDq7M.net] みんなリストラされたのか?
10 名前:親父PG [04/03/30 11:25 ID:nbxm21Tx.net] >>7 歓迎いたしますよ! 何か出来たことを報告してくれると、盛り上がって良いと思います >>8 >この板にはたくさんの厨がいる そいつらは開発ってのを分かっていない 私の個人的な意見を言わせていただければ、もしPGの事が解って無くても また、開発の事がわかってなくても、なんというか、「組立てるセンス」あれば ある程度の事はできると思う。それは他の事でも物事を組み立てて考える力さえあれば、PG習得もその応用にすぎないからなのです。 PGには3つの壁があり、 プログラム理論ロジック習得の壁 if for 言語そのものに対する知識の壁 C++ int 環境に関する知識の壁 Windows DirectX があると私は思っています。これらを分けてひとつひとつ知識のリンクを、つないで行けば自ずと光が見えてきます。 >ここは一つ、お前さんが連中を管理して... そんな大それた事はできませぬ^^ 参加したいのであれば年齢は問いませんが、姿勢は問いますよ。 >>9 >みんなリストラされたのか? あはは、冗談きついなぁ。 取り合えずSDKのサンプル「三角形を回す奴」をコンパイルして実行する事 これが出来ないと先へ進めません。 回る三角形ができたら、これを四角形にする(頂点数の変更) FVFフォーマットを変えて実験してみる。 テクスチャを張り込むにしても4画ポリゴンは基本となるので、 まずはここまでを目標にしましょう!!
11 名前:名前は開発中のものです。 mailto:sage [04/03/30 12:12 ID:EfGGMHLP.net] >プログラム理論ロジック習得の壁 if for >言語そのものに対する知識の壁 C++ int >環境に関する知識の壁 Windows DirectX 計算機の動作原理の理解に対する壁が抜けてるな。
12 名前:名前は開発中のものです。 mailto:sage [04/03/30 12:26 ID:QXrCIhNo.net] >>11 CPUアーキテクチャなんかは知らなくても とりあえず何かは作れるんじゃないか? もちろん、知っておいたほうが質の良いコードが書けるだろうけどね。
13 名前:親父PG [04/03/30 12:47 ID:nbxm21Tx.net] >>7 偉そうな事を言える立場ではないですが、書き込みの内容を拝見するに 基本的なプログラムの技術をお持ちだと思いますので、ますはSDKサンプルの ライブラリを見てDIRECTXの初期化とWINSOWSループあたりを見てみると良いのではないでしょうか? WINDOWSのサンプルは描画速度はマシン速度(環境)に依存しています。 このままでは定期的な処理ができないので、PeekMessage周りを調べて定期的タイマーで特定の処理を呼び出すようなものを作ってみてはどうでしょうか? while( WM_QUIT != msg.message ) { if( m_bActive && m_pd3dDevice != NULL ){ if ( tTake==FALSE ){ QueryPerformanceCounter( ( LARGE_INTEGER * )&sTIME );//時間計測開始 FSP60call();//同期して動かすものはここで } FSP60nonSYNCcall();//何か出来ることあればやってしまおう } th_GetandPeekMessage( NULL );//Peek Message func if( bGotMsg!=TRUE ){ if( m_bDeviceLost ){ // Yield some CPU time to other processes Sleep( 100 ); // 100 milliseconds } if( m_bActive && m_pd3dDevice != NULL ){ if( FAILED( Render3DEnvironment() ) )SendMessage( m_hWnd, WM_CLOSE, 0, 0 ); QueryPerformanceCounter( ( LARGE_INTEGER * )&eTIME );// 計測終了 DWORD wTIME; wTIME=( DWORD )16666; if ( ( eTIME.LowPart - sTIME.LowPart )>wTIME ){ tTake=FALSE; }else {tTake=TRUE;}//endof if } } 私が自作した部分ですが、サンプルのソースに試行錯誤を繰り返しこのような形になりました。
14 名前:親父PG [04/03/30 13:12 ID:nbxm21Tx.net] >>11 >計算機の動作原理の理解に対する壁が抜けてるな。 理解に必用なヒントがあれば是非紹介してください。^^ これはネタとして昔やったアセンブラの事を紹介します。 PUSH AX PUSH BX PUSH CX CALL fanction function: MOV BP,SP MOV SS,AX MOV AX,ES ;スタックポイントへのアクセス MOV DX,ES:[BP+0] MOV AX,ES:[BP+2] このような形でスタック上の価(引数)にアクセス.... 80186(V30)のころのスタックフレームへのアクセス方法です。 いまやアドレス空間幅は32ビットに広がり、 このようなことは必要ありませんが(W かつてはCPUの動作を知らないとPGが書けなかった時代がありました。 現代の目で見ると、私の書いたような事はもはや御伽噺になっておりますなぁ...
15 名前:名前は開発中のものです。 mailto:sage [04/03/30 13:22 ID:kPTgeVBo.net] >>14 懐かしいな、もうそこらへんのことはすっかり忘れたよ 今やれといわれても資料読みつつじゃなきゃ絶対無理だ。 >>11 は親父PG氏に計算機の動作原理の理解がない、と言ってるんじゃなくて 3つの壁じゃなくて4つの壁ではないか?と提案してるんじゃないか? 少なくとも俺はそう読んだ まぁ計算機に関する理解は環境に関する理解に含まれると思うけどね
16 名前:名前は開発中のものです。 mailto:sage [04/03/30 13:26 ID:KRMwobBh.net] コーディングが汚くて読みづらい。
17 名前:名前は開発中のものです。 mailto:sage [04/03/30 13:41 ID:kPTgeVBo.net] >>13 のサンプルにちょっとだけ指摘 QueryPerformanceCounterで取ってきた値を1/1000msecとして扱ってるが その値は思いっきり環境依存です 環境によってはバグります あと、LARGE_INTEGERのLowPartのみ比較はやめたほうがいいです QueryPerformanceCounterから取得した値がなぜ64bit値なのか考えましょ あえて荒らしにも反応しとくけど >>16 この程度読みづらいならおまえの能力が低すぎ
18 名前:親父PG [04/03/30 13:47 ID:nbxm21Tx.net] >>15 >11は親父PG氏に計算機の動作原理の理解がない、と言ってるんじゃなくて 私もそうとってますよ^^; 11氏が提案する部分で、具体的な話があれば是非紹介して欲しいなぁと思って... >>16 すんませんorz 自分でも汚いと思っております(反省 訂正 違 MOV SS,AX MOV AX,ES 正 MOV AX,SS MOV ES,AX ネタとは言え恥ずかしい....orz 価の移動は右から左だった。 というかセグメントレジスタに、直接価が入れられない制約があったんだよね。 (なんかまだ間違ってるような気がするけど、深く考えないようにしよう) まだ取り組んでいませんが、シェイダーの扱いで一部アセンブラライクなものが あるみたいなので、アセンブラの知識が(一部)役に立つかもしれません(笑
19 名前:親父PG [04/03/30 13:52 ID:nbxm21Tx.net] >>17 おお! 御指摘ありがとうございます早速、修正させてもらいます。 とはいえ >QueryPerformanceCounterで取ってきた値を1/1000msecとして扱ってるが >その値は思いっきり環境依存です このあたりを解決するには調べることがありそうですね。 頑張ってみます^^
20 名前:名前は開発中のものです。 mailto:sage [04/03/30 14:23 ID:kPTgeVBo.net] あーしまった、何を使ってQueryPerformanceCounterの周波数調べるか書いてなかった QueryPerformanceFrequency使うと調べられます。 なお、高分解能パフォーマンスカウンタは今までサポートしていない環境を見たことがありません (CEも業務で数種扱ってますが全て使えました) あと、使う値はLONGLONGで定義してキャストするほうが楽です こんな感じ LARGE_INTEGER llStartTime, llEndTime; LARGE_INTEGER llCounter; DWORD dwTime; DWORD dwKeta = 1000; //ここを好きな桁に変更してください。1000だと1msec単位、1000000で0.001msec単位 bRet = QueryPerformanceFrequency((LARGE_INTEGER*)&llCounter); 〜略〜 QueryPerformanceCounter(LARGE_INTEGER*)&llStartTime); 〜略〜 QueryPerformanceCounter(LARGE_INTEGER*)&llEndTime); dwTime = (DWORD)((llEndTime - llStartTime) * dwKeta / llCounter);
21 名前:名前は開発中のものです。 mailto:sage [04/03/30 14:33 ID:kPTgeVBo.net] ってーミスってるΣ LARGE_INTEGER llStartTime(略)→LONGLONG llStartTime(略) に直してください
22 名前:親父PG [04/03/30 15:29 ID:nbxm21Tx.net] >>20 なんだかありがたいなぁ。 悪いねぇ。。。。orz いろいろ教えてもらって^^; 他の方にも参考になると思います。 こういうレスがついてくることを、内心期待してはいましたがほんとにくると嬉しいです。 これからもいろいろと私にできる情報を提供使用と思います。 高精度タイマーが使えない環境はない! と私も決め打ちしています。 このへんは「ゲーム」という事で許される範囲ですかね。 高精度タイマーが動かなければ、おそらく他のゲームも動かないでしょうから^^ wTIME=( double )16666; //駄目コード if ( ( eTIME.LowPart - sTIME.LowPart )>wTIME ){ if ( double( eTIME.QuadPart - sTIME.QuadPart )>wTIME ) 安易にこんなことしてましたが、>>20 の書き込みも参考にさせていただきます。
23 名前:名前は開発中のものです。 mailto:sage [04/03/30 21:24 ID:OjGk+Cgx.net] たとえゲームといえど、CPU100%つかうアプリは嫌いだな。 あとこっちは余計なお世話かもしれんが、高精度タイマなんて使わなくても timeGetTimeあたりで十分な気もする。 (タイムスライスの精度的に、どうせどこかでぶれるんだから。)
24 名前:親父PG [04/03/30 22:38 ID:phIrC7nN.net] >>23 ご指摘ありがとうございます。 確かにtimeGetTimeの精度を一番上げた状態でも十分ではあると思います。 先にあげたソースでは実装していませんが、計測した値の差と基準となる 値を割り算して(wTIME)基準値に対して、もし遅れが出ているようなら その値を移動係数に掛けるといった処理も、視野にいれてQueryPerformanceCounter を選択しました。(正しいかどうかは別にして) ところでtimeGetTimeの正体は何なのでしょう。 いわゆる昔からあるあの「ハードウェアタイマー割り込み」なのでしょうか? OSの内部的なタイマーという解説がありますが、その内部的なタイマーとはなんぞや? IRQ (Interrupt Request)使うアレなのだろうか... 少なくともQueryPerformanceCounterは昔からあるHWタイマーではなさそうですね。 (分解能からして、昔は無かったし<-コレ重要) さて QueryPerformanceCounterとtimeGetTimeはどっちが処理が重いのだろうか? timeGettimeの精度を上げた状態とはどういうことが起きているのだろうか? 単純に精度高い=処理が重い と決め付けるわけにもいかないと思います。 いろいろと疑問が湧いてきますねぇ。 (タイマーだけで1スレ潰してしまうな、こんな話始めたら(笑 )
25 名前:名前は開発中のものです。 mailto:sage [04/03/30 23:07 ID:bI3miJwX.net] >>16 単語の頭と、単語と単語の切れ目は大文字っていうルールでコーディングしてるんだったら、一貫してくれないと読みづらいね。 FSP60nonSYNCcall は FSP60NonSyncCallみたいに・・・・。
26 名前:名前は開発中のものです。 mailto:sage [04/03/30 23:25 ID:OjGk+Cgx.net] >>24 QueryPerformanceCounterを含む時間管理についてはこの辺が参考になる。 ttp://www.dwahan.net/nyaruru/programming/programming.html ttp://www.gamedev.net/community/forums/topic.asp?topic_id=195892 あと、環境によってはQueryPerformanceCounterが300ms以上帰ってこないという現象もあるらしい。 ttp://home.att.ne.jp/yellow/hide_n/old.html の2001/11/12。 上のURLにある問題点と関係してるのかも。 >>25 全角スペースインデントするなら、ちゃんとやれってことじゃない?
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
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についてどうのこうのってのは再ショアから作るものが決まってないからそういったことになる ソーサリアンを目指すというのならたとえばサイドビューとか 作るものが決まってないのならそのへんの最適な解は見つからんよ
186 名前:親父PG [04/04/08 18:05 ID:msAPqSAi.net] >>178 思い出しましたか?^^; >>180 orz.... >>182 ニヤリ -) WINDOWの構造体造ったはいいがツール作るのが面倒で鬱ぬ。
187 名前:親父PG [04/04/08 18:18 ID:msAPqSAi.net] >>185 CPUはたとえでありまして、実際にCPUバイナリにはしません。 動的スクリプト解釈についてはメリットがないと思うのです。 同じ処理を事前に済ましてしまえばいいのですから。 「物理できなデータ−の塊を解釈して動作させる」という動きの比喩でCPUを上げました。 さて今回必用な話に戻すと、データ−の塊を逐次解釈して動作させます。 その基本形が提唱している固定データ−(トリガーテーブル)(中間コード)になります。 動的スクリプト解釈をするにしても起動時に一旦コンパイルして中間コードに、並べてから動作させます。 1ラインごとに解釈するはずはありません。特に今回のケースではメリットがありません。
188 名前:親父PG [04/04/08 18:36 ID:msAPqSAi.net] 新人PGさん<この呼び方なんかすごく恐縮なので, せめてベテランPGさんとかにしてほしいなぁqrz 閑話休題 まとめていただいた図 造って頂いて有難う www.geocities.jp/oyajipg/up/relational_01.gif ずばりです。各トリガーの必用な引数などは追加する可能性がありますが、 おおよそこのようなつくりです。 トリガーテーブルと呼んでいますが、これって(中間コード)ですよね。 MAPからの引数はZ値も入れましょう。 ゲームの種類のよっては使わないかもしれませんが...
189 名前:名前は開発中のものです。 mailto:sage [04/04/08 18:54 ID:TfluK8Bw.net] トリガーからトリガー呼ぶのはいいがそのへんはシステムがインテリジェントにやってくれて スクリプトを書く人は意識しないでいいんですよね? たとえばjava風だとadd〜listenerみたいな感じでイベントリスナ追加で 一度発生したイベントが次に発生しなくなるならremove〜Listenerとか あくまでもトリガテーブルに処理は書いちゃいかんと思うのですよ
190 名前:親父PG [04/04/08 19:33 ID:msAPqSAi.net] >>189 たくさんのご意見ありがとう。 トリガーテーブルはそれ自身がスクリプトともいえます。 自身を管理する処理は最低限行えます。 もちろん、メッセージを出すといった「処理」はかかれません そういう場合は処理が書かれた「シーン」を呼び出す事になります。 トリガー自体を有効無効については、そういうFGが入ってもいいかもしれませんね。 Enable Enableの価によってリムーブをコントロールしましょう。 ADDについては、フラグテーブルの後ろに物理的に加算することで表現できます。 >トリガーからトリガー呼ぶのはいいがそのへんはシステムがインテリジェント 内部的にはそうなります。 命令の組み合わせを作り出すのはツール側になります。 例えばCのswitch-case文などをif文の羅列に並び替えるような処理は、ツール側の仕事になります。
191 名前:新人PG mailto:sage [04/04/08 23:33 ID:nyCaSSwW.net] ただいま帰りました・・・。 >>親父PGタン ようやくデータ構造が見えてきました。順にまとめていきたいと思います。 ↑日曜日以降になりそうです。週末予定が入ってしまいました・・・orz 今年入社なんで「新人PG」ですw 社会人歴1週間です。 モビットってなんだろーとか思っていたら、2chから直リンするとモビットが出ますねw URL直接指定してください(汗 あと元少女漫画家の友人に注文しても良いですかね? 男だろうが女だろうが 筋 肉 モ リ モ リ で よろしくお願いしますw
192 名前:172 mailto:sage [04/04/08 23:47 ID:rdLQdFbl.net] >>親父PG いまんとこ2Dゲーになるのか3Dゲーになるのかわかんないので、 もし今後このシステムで3Dゲーを作ろう!となって 3Dモデルとかモーションとか作る肉体労働者がたりねー みたいな事態になったら声かけてくだちい。 (イラスト描いたりデザインしたりはデキネ。) プログラムにも興味あるのでずっとタシロってると思いますので。。。
193 名前:親父PG [04/04/08 23:59 ID:msAPqSAi.net] >>191 お帰りなさい。 >ようやくデータ構造が見えてきました。順にまとめていきたいと思います。 それは良かった。スクリプト作成側にも最適化等の処理を求めますので、データ構造の意味が理解していただけないと なかなか説明が難しいと思っていたところだったので、安心しました。 >モビットってなんだろーとか思っていたら、2chから直リンするとモビットが出ますねw URL直接指定してください(汗 あれ、かなりつぼにはまって笑いましたよw >あと元少女漫画家の友人に注文しても良いですかね? >男だろうが女だろうが 筋 肉 モ リ モ リ で なるほろ、間に合えば連絡しておきます。 >>192 そうですか、では3Dになったら即お願いします。^^;
194 名前:名前は開発中のものです。 mailto:sage [04/04/09 02:52 ID:d03K47Nx.net] >>184 > 3DについてはZ座標を別途持つことでは対応できないのかなぁorz > 誤差範囲とかも必用だけど基本はBOX判定だろうし........ ナナメ
195 名前:144 mailto:sage [04/04/09 04:52 ID:d03K47Nx.net] >>183 > 私が提起しているデータ−形式は、そのまま「メモリの上に展開して動かせる最終形態」の話です。 (略) > ただし、その前工程でどのような形でデータ−を扱ってもかまいません。 もちろん。 ただ、現在の形が、固定長のCISCのような命令セットであり、柔軟性に乏しい。 以下のような例を考えよう。 台座に青い宝石があり、ソーサリアン的には台座の下で<<上>>を入力すると調べるのような反応になる。 最初に調べると、「台座に青い宝石が置かれている」とメッセージウィンドウに表示される。 次に調べると、「青い宝石からは高い音が発せられている」とメッセージウィンドウに表示される。 さらに調べると、「青い宝石を手に入れた。どこかで音がした」メッセージウィンドウに表示され、 (このシナリオ限りの)アイテムがアイテム欄に追加される。 という場合、青い宝石のある座標にトリガ番号 777 が設定されているとしよう [トリガファイル] 777 FG BlueJewelCounter eq imm 0 Scene 1 * 778 FG BlueJewelCounter eq imm 1 Scene 2 * 779 FG BlueJewelCounter eq imm 2 Scene 3 780 always StoreFG BlueJewelCounter 1 781 always StoreFG BlueJewelCounter 2 782 always StoreFG BlueJewelCounter 3 * 783 always GetItem BlueJewel [シーンファイル] scene 1 「台座に青い宝石が置かれている」 goto 780 scene 2 「青い宝石からは高い音が発せられている」 goto 781 scene 3 「青い宝石を手に入れた。どこかで音がした」 goto 782 つづく
196 名前:144 mailto:sage [04/04/09 04:54 ID:d03K47Nx.net] って感じ? ソーサリアンでは、反応する場所では、とりあえず反応がなくなるまで上連打が基本だったと思うけど。 これより簡単にしようとすると、 ・条件が一致したら、自動的にフラグをインクリメントする比較命令を作る ・複合命令を(例:CountupAndGetItem)どんどん増やす ・フラグのインクリメントやアイテムの取得はシーンファイルに記述する って感じじゃないの? いーの? 充分素人の手に負えないと思うけど。always とか * とか。 上記トリガは最適化版。最適化前は、シーンファイルに goto が無く、トリガファイルは9行だった。 777 FG BlueJewelCounter ne imm 0 goto 780 * 778 always StoreFG BlueJewelCounter 1 * 779 always scene 1 780 FG BlueJewelCounter ne imm 1 goto 783 * 781 always StoreFG BlueJewelCounter 2 * 782 always scene 2 783 FG BlueJewelCounter eq imm 2 goto 784 784 always StoreFG BlueJewelCounter 3 785 always scene 3 ちなみに、* なしで複数の処理を一度に行うことは俺にはできなかったよ。 上記トリガを記述するのに、親父PGタン の発言に無かった仕様は * だけ。 マップの ToDo を書き換えることも考慮したが、余計わかりにくくなった (セーブするのに、シナリオで使う前マップも保存しなきゃならなくなるし)。
197 名前:144 mailto:sage [04/04/09 04:56 ID:d03K47Nx.net] トランスレータを書く前提で、スクリプトで上記を書き直してみよう。 青い宝石のある位置に、イベント名 BlueJewl の文字列が定義されている(もちろん識別番号でも良い)としよう。 [シーンファイル] <event BlueJewel> [CounterCheck BlueJewelCounter] 0 「台座に青い宝石が置かれている」 1 「青い宝石からは高い音が発せられている」 2 「青い宝石を手に入れた。どこかで音がした」 *get BlueJewel ただし、[ ] 内の CounterCheck は、スイッチのようなものだが、カウンタを参照して、一致したらイベントを起動して、 カウンターをカウントアップする。Cの switch でいう default は別に考える。 * は、システムコマンドを呼び出す。 もちろん、シーンファイルは事前に仮想マシン用のバイトコードにコンバートしておいて構わない。 例に最適化した文法を作ったわけで、かなりズルしてるけど、トランスレータを前提にすれば、こういうズルも必要なときにできる。 親父PGタン のトリガファイルの文法へのトランスレータも問題なく書ける。 しかし、これに多少の工夫をしても、まだ分かりにくいし、人為的ミスの混入も減らないかもしれない。 すると、結局シナリオ編集サポートツールを作ることになるわけで、ならば最初からスクリプトに任せてしまえ、ということですよ。 で、スクリプトをアセンブラライクなバイトコードに変換すると(逐次解釈でもいいけど)。 だから、スクリプトライクなトリガテーブルには疑問を抱くのですよ。 > std::map< std::string, TriggerAndProcess >を使用する場合、 > プログラム内で「このデータ−をMAP(STL)にPUSHしてくれ」という、コードを入れなければなりません。 > そういったレベルでスクリプトを組めるのはPGレベルの人だと思いますorz... 違う違う。 シリアルナンバを使用するのは、配列のアドレッシングのためでしょ? 文字列で連想配列をアドレッシングすることを勧めてるの。 編集時や使い回しの柔軟性のために。 ID みればわかるけど、>>194 も俺。
198 名前:親父PG [04/04/09 07:10 ID:Ihr7T82R.net] >>194-197 144氏さん 考察ありがとうございます。今回のケースはswitch文の構文が適していますね。 switch (fg){ case 0:{seen1;++fg;break;} case 1:{seen2;++fg;break;} case 2:{seen3;++fg;break;} default:{NonOp} } Cで書くとこうなります。これを置き換えます。 777 (MAPposition) X,Y EQ (価)a ,b start switch 4 778 (fg)A eq 0 CALL シーン1(fg A) 779 (fg)A eq 1 CALL シーン2(fg A) 780 (fg)A eq 2 CALL シーン3(fg A) 781 CALL シーン4(fgA) 782 return(0) シーン0 deviceWait() KEYUP:メッセージ出力1、++FG KETLEFT:メッセージ出力2、FG=0 return (next)
199 名前:親父PG [04/04/09 07:10 ID:Ihr7T82R.net] シーン側も以下のようにコンパイルされます (Keydevice) a start switch 2 a EQ KEYUP goto localindex 1 a EQ KEYLEFT goto localindex 4 PUTMES 1(文字列INDEX) FGOP +1 return PUTMES 2(文字列INDEX) FGOP 0 return データ−のお尻に追加 文字列 array index of string max ... 0,24 "宝石が..." "宝石を拾った..." あとで説明文書きます
200 名前:親父PG [04/04/09 08:07 ID:Ihr7T82R.net] 続き シーンデータについて考察してみました。シーンデータ−は以下の要求を満たす為に定義されます。 ○ゲーム内の処理命令を表す ○可変長をサポート ○ストリングが入る ○また、ここに1つだけ判断文を定義する事ができます。 定義できる判断文 DeviceWait系 ButtonPush系 設定なし FGに対する操作 他のトリガーの呼出 DeviceWait系、ButtonPush系 この2つは内部的にはトリガーテーブルを呼んでいるのと同じなのですが、シナリオの文法上煩雑になるので1文で定義できるようにします。 戻り値に対して処理のスタート部分を分岐できます。 ・スクリプト上の文法 deviceWait() KEYUP:メッセージ出力1、++FG KETLEFT:メッセージ出力2、FG=0 ・展開された形 (Keydevice) a start switch 2 a EQ KEYUP goto localindex 1 a EQ KEYLEFT goto localindex 4 ・実際の処理はこのあと1行ずつ定義されます PUTMES 1(文字列INDEX) FGOP +1 return これらの1行1行もあのトリガーテーブルと同じフォーマットで表すことができます。 文字列は別の場所に一括してまとめられて、内部ではインデックス扱い char*[a] に置き換わります。 シナリオを書く時の文法とコンパイル後の文法やデータ−の配置は異なります。 シナリオを各段階では「可変長」で表記できます。 >シリアルナンバを使用するのは、配列のアドレッシングのためでしょ? これは少し違います。地形MAPを切り替えた時に、同時座標のトリガーを判断するためにあります。
201 名前:親父PG [04/04/09 09:26 ID:Ihr7T82R.net] すこし拡張しました struct { int SelfID; //シリアル番号 int CommandID;//基本命令系 byte CmpSeed1; //int CmpTarget1が何を示すかの種類 FGテーブル デバイス 関数戻り値 値 int CmpTarget1; //値 int CmpTarget1_2; //値(予備) byte CmpSeed2; //int2 CmpTarget1が何を示すかの種類 FGテーブル デバイス 関数戻り値 値 int CmpTarget2; //値 int CmpTarget2_2;//予備 byte CmpOP; //上の値の比較方法 byte CmpOP; //真/偽どちらを使うか? (追加 short int ActCommand ; //何をするか? MOVE FG値操作 次処理 シーン呼び出し int ActValue1; //値 ActCommandによって扱いが異なる int ActValue2; int ActValue3; int ActValue4; //リザーブ };
202 名前:名前は開発中のものです。 mailto:sage [04/04/09 16:26 ID:HmpNauZs.net] もう何がなにやら・・・
203 名前:名前は開発中のものです。 [04/04/09 16:48 ID:Ws2ssbno.net] チチキノドク スグカエレ
204 名前:名前は開発中のものです。 mailto:sage [04/04/09 19:40 ID:9dUWl+kl.net] 俺はスレ主には特に何も言わんが けっこう可愛そうな奴らがいるみたいだなぁ この板には
205 名前:名前は開発中のものです。 mailto:sage [04/04/10 03:46 ID:yG5v3On8.net] がんがれ
206 名前:名前は開発中のものです。 mailto:sage [04/04/10 06:51 ID:ZruuXOcF.net] おおよそ固まるまでsageで行ってみてわ? >オヤジさん
207 名前:親父PG mailto:sage [04/04/10 09:25 ID:Sr13ZjT1.net] >>202 PG以外はなんだがわけわからないですね。反省orz... 前の書き込みに「戦闘システム」の計画を書いたので何かご意見をいただければ幸いです >>203 何処へ帰ればorz >>204 まぁマッタリいきましょう >>205 OK! >>206 了解。 今日も仕事ですorz こっそり書き込みです。 現在ツール側を作成しておりまして、本体側の進行はSTOPしています。 そのツールが完成して、本体のPGに反映された頃に一回公開します。 といってもボタンとウインドとテキストのコントロール部分だけですけどねorz
208 名前:144 mailto:sage [04/04/10 13:01 ID:1EUDp4ba.net] >>198-200 トリガから別のトリガを呼び出せるというのは書いてあったけど、return まで逐次実行ってのはどこにも書いてなかったよ。 後出しだしズルいよw。 ま、それはいいとして、オヤジタン の記述例では、トリガもシーンも、オヤジタン のいうPG以外が対応できるレベルにみえないけど。 それと、トリガテーブルって、同時にいくつも存在するの? 同時ってのは、実行時の話なんだけど、仮に1つだとすると、エクセルとどのように整合性を保つのかな、と思って。 シーンファイルに、トリガサブルーチンがあるのはいいと思うけどね。 なんかもう、普通のスクリプトのバイトコードと話が変わらないように見えるよ。 単にバイトコードのフォーマットが見たことないほどリッチなだけで。 そして、エクセルで入力すると言い張ってるのは、アセンブリ言語での記述を要求しているのと等価にしか思えない。 > >シリアルナンバを使用するのは、配列のアドレッシングのためでしょ? > これは少し違います。地形MAPを切り替えた時に、同時座標のトリガーを判断するためにあります。 地形マップを切り替えるというのは、 ・どこかのマップでスイッチを入れる ・別のマップで跳ね橋が下りる のようなときに、マップチップテーブルだけの入れ替えをするような話だよね? それをシリアルナンバで判定するということは結局 std::map< int/*シリアル*/, int/*トリガ配列の添え字*/ > のような形で判定するんでしょ? 俺は、エクセル上でもシリアルナンバの入力を強要してるのかと思ったんだけど、トリガコンパイラが文字列で 解決してくれるならそれでいいと思うよ。 ところで、>>189 で MAPposition で比較してるけど、本当は MAPBASE::ToDO に 777 が入ってるんだよね? そうじゃなければ、エクセルで入力するときはコンマ付で入力? マップの大きさは最大256x256? 自信あるみたいだから、思うとおりにやってみるといいでしょう。 使い物になりそうなことは分かったし。
209 名前:名前は開発中のものです。 mailto:sage [04/04/10 16:08 ID:ZruuXOcF.net] 後出しって・・・・なんかの勝負でもしてるのか?
210 名前:親父PG mailto:sage [04/04/10 20:09 ID:Sr13ZjT1.net] >>144 いろいろと検証ありがとう。いろんな角度から見てもらえてるので、実に助かってます。 対策として具体的な仕様も決まっていくしw まず書き方の例ですが、ここでの話を判りやすくするためであって実際の文法はもっと判りやすくなるはずです このへんは「新人ニューウェーブPG」氏に期待します^^。 メイン担当としては、「最終バイナリはこういうイメージにしてね」と伝えなければなりません。 データの意味(解釈方法)を伝えるためにCで書いてみたわけです。 144氏の指摘の多くは私の作業より、一つ上のレイヤーの話と思える部分があります。 トリガーテーブルは(エクセル「でも」編集できる)ここが味噌でエクセルの機能を使って レコードの操作をいたします。(エクセルと同じ機能のツール作るのは大変だw) 多重ソートとかマクロ機能とかね...別途作ってもいいけど。 エクセルコンポーネント使うなら一緒だ(orz...コレダケデモエツキルヨ 利用理由は主にチェックです。デバックですね。これってありがたいんですよ。ええ(独り言モード トリガーテーブルは基本は一つですが、動的に後ろに追加しても仕様上動きます。 地形MAP配列にはトリガーを引くことしか指示しません。引数は座標XYZ(65535)+MAPシリアル(65535)になります。何をするかはMAP側ではなくトリガー側が判断します。 作業予想 地形MAPツールは地形データ-とトリガーテーブルを読み込む。 イベントを行いたい場所へマウスでマークしていく。 このときトリガーテーブルにもトリガー情報のみのデータ-が追記される。 保存... 再度開いた時はトリガーテーブルのMAPシリアルを見て以前のマーク場所を再配置する STEP2 イベントツールはMAP作成ツールによって作られたトリガーテーブルに、必要な情報を追加していく。 このような感じになる予定です。 >>209 勝負はしてないけどね^^ いろいろ言ってくれると助かるよ。
211 名前:親父PG mailto:sage [04/04/10 20:23 ID:Sr13ZjT1.net] 都築 >地形マップを切り替えるというのは、 これは「地形MAP配列にはトリガーを引くことしか指示しません。」 この設定が前提にあります。地形データ-を入れ替えた時に同じ座標にイベントがあった場合 受け取った側が判断できません。そのためのMAPシリアルになります。 >・どこかのマップでスイッチを入れる >・別のマップで跳ね橋が下りる これはトリガーテーブルのイネーブルをONにすれば良しでしょう。 CAll MAP(B 3,3)//橋 トリガー親父 そのMAPのその座標のトリガーは「なし」だ。交信終了 Call (MAP A 1,1)//スイッチON トリガー親父 ウィ〜ス トリガ3番(橋のトリガ)イネーブルON 再び CAll MAP(B 3,3)//橋 トリガー親父 ウィ〜ス 橋をおろせセニョール ついでに MAP A 1、1のフラグもイネーブルにするべ こんな流れかな
212 名前:親父PG mailto:sage [04/04/10 20:39 ID:Sr13ZjT1.net] 誤>トリガー親父 ウィ〜ス 橋をおろせセニョール ついでに MAP A 1、1のフラグもイネーブルにするべ 生 トリガー親父 ウィ〜ス 橋をおろせセニョール ついでに MAP A 1、1のフラグもディスネーブルにするべ 間違えた(汗 間違えたついでに このシステムの目指すところを書いてもいいのではないかと。勝手に思ったので妄想を書き込みます このシステムでは「キャラクターデータ-」が中心となり世界を広げていきます。 大昔、D&DというTRPGがありました。あのシステムも最初は赤本から始まりました。 ダンジョンにもぐり宝物を集め、経験値を上げていく。 たくさんのエキスパンション(シナリオ)が生まれてキャラクターは成長していきました。 本システムもこのような流れで大きくしていきたいと思っています。 エキスパンションを通じてのキャラクター成長。 そして、シナリオの作成についてはツールを公開して、誰でもDMになれるようなものを考えています。 シナリオをそれぞれ交換などする事もできるようにしたいと思っています。 またキャラクターに関わる事柄。お店だとか交換所なども一種のシナリオによって構築されます。 全ての完成にはまだまだかかりますが、そこは(追加型 という仕様がなんとかしてくれるはずです(W
213 名前:名前は開発中のものです。 mailto:sage [04/04/11 00:46 ID:tw9ZgcmP.net] >>212 でもあんまりシナリオとか簡単に作れるようにすると あんまり知識の無い人でも簡単にズルができるようになるような。 まぁ、その人がつまらなくなるだけですけど。
214 名前:名前は開発中のものです。 mailto:sage [04/04/11 01:02 ID:osyo1R4q.net] >>213 その話は次元が違うものと思われ 本気で解読にかかられたらいくらプロテクトかけてもだめなのと一緒
215 名前:親父PG mailto:sage [04/04/11 10:09 ID:uZkaW7mz.net] >>214 213 バイナリエディタ程度では改変できない仕組みは考えていますが、 214氏のご指摘どうり本気で解析されればプロテクトは無理でしょう。 ローカルで作られたシナリオの経験はキャラシートに反映されないとか、対策はありますけどね。 あとはシナリオに適正レベルを設ける。 システム側でおかしなシナリオを最初から「エラーにより排除」するなど いろいろと対策はありますけどね。 複合的なエラーチェックでめんどくさくするぐらいしかないのかなorz...
216 名前:新人PG mailto:sage [04/04/13 23:45 ID:w0VogWFU.net] ただいま帰りました。仕事忙しすぎ。 だんだんまとめ辛くなってきましたが、ばんがります。 トリガーデータ案:草案を元にしたもの [シリアルID]:数値5桁 [基本命令系]:わからん [値種類1]:英数字5桁以内 [比較対象値1]:数値5桁 [値種類2]:英数字5桁以内 [比較対象値2]:数値5桁 [比較方法]:英数字? [真処理]:英字?桁 [偽処理]:英字?桁 [パラメータ]:??? 記述例) 00001,?????,Int,0,Scene,00020,Equal,ACTSCENE,00030,00002,MOVETRIGGER,00003 IDは00001、比較値1は数値型定数0、比較値2はシーン00020の戻値、比較方法は値等価判断 真の場合シーン00030を読み込みトリガ00002を起動、偽の場合トリガ00003に移動。 とりあえず、Excelで編集と言う事でXML云々は考えない方向で行きます。 このようなCSVを作成していく感じでいいんでしょうか?
217 名前:新人PG mailto:sage [04/04/13 23:49 ID:w0VogWFU.net] なんか殆ど、親父PGタンの頭の中でできあがってるようですね(汗 俺、要るのかな・・・?
218 名前:名前は開発中のものです。 mailto:sage [04/04/14 01:26 ID:fCb1f0Lh.net] Excel前提ってのがまず汎用性で問題あるような 最近のマシンオフィス標準搭載かなり減ったし その辺の自動化もツール担当の仕事かと
219 名前:親父PG mailto:sage [04/04/14 05:14 ID:EE4mRz9N.net] >>217 お疲れさまー、ご無沙汰しています。 >このようなCSVを作成していく感じでいいんでしょうか? 違いますorz...SUMAN エクセルの話ですが、あくまで「エクセルでも」データ−が見れるというものでありまして、 それはコンパイルされたデータ−を、バイナリ<>CSVツールで編集(デバック)できるように するというものです。 よってスクリプト記章ツールは別に必要です。 >>217 ここ数日の書き込みでそう思われたのですねorz... でも、決まったのはメインPGが受け取るバイナリの形でありまして、スクリプト記章ツールがいらなくなったわけではありません。 メインPG側の受け取りバイナリの形と解釈方法を提示しましたので、スクリプト側のツールはスクリプトの文法を(設計)設定して 予定のバイナリを出力するものを、設計してくれることを期待しています。 スクリプトの文法はXMLでも、オリジナルでもOKです。 ここで必用なことはシナリオライターが必要とする機能の調査と設計、機能の単純化などです。 バイナリからの逆復元(バイナリからのソース復元機能)は必用ありません。(ソースコード保存) メインPG<バイナリ<スクリプトツール ↑↓ CSV エクセル スクリプトの文法、設計はまったくの白紙状態です。新人PGさん、大変期待しています。
220 名前:親父PG mailto:sage [04/04/14 05:35 ID:EE4mRz9N.net] >>218 おつかれさま EXCELは補助ツールなのでスクリプトツールは別途作成予定です。 メインPG側のバイナリの形さえ決まっていれば、スクリプトツールは自由に選べます。Excelもそのうちのひとつだと考えてください。 (もっともExcelの場合,スクリプトではなくバイナリエディタっぽい使い方だけどね。) 私の作業の報告 WINDOWの設定ツールがひとまず完成しました。12種類のスタイルを定義できます。 メイン側は使用するときにこれらのスタイル定義にしたがって、先につくったボタン定義用のデータ−構造体より必要なデータ−をコピーして、 画面に作成します。現在、メイン画面にWINDOW本体と上部バーとクローズボタンを表示するところまでです。(WINDOWSの上にWINDOWS作ってるよorz...) 今日は久しぶりの休みです。ぼちぼち作業を始めます。
221 名前:名前は開発中のものです。 mailto:sage [04/04/14 10:42 ID:fCb1f0Lh.net] Excelでcsv扱うと文字列の先頭のゼロが数値として読み込むために消えたり 全角数値が半角になったりしてくれるんであんまり便利な物ではないですよ ダブルクォーテーションでくくった項目は強制的に文字列として読み込んでくれるとよかったのですがね
222 名前:親父PG mailto:sage [04/04/14 10:50 ID:EE4mRz9N.net] >>221 それは拡張子をtxtで読みこめば回避できます。読み込み時にセルの属性指定可能。 このシステムに関してなら、トリガーテーブルに文字列はありませんので大丈夫です。
223 名前:名前は開発中のものです。 mailto:sage [04/04/14 17:33 ID:bV4eSf3V.net] ひげぽんOSは飽きたのか?
224 名前:親父PG mailto:sage [04/04/14 17:50 ID:EE4mRz9N.net] >>223 こんなプロジェクトがあったんですね。知りませんでした。orz... OSを作る気はありまえん(W そんな能力はありませぬorz... 新人PGさんへ 既にご存知かもしれませんがこういうサイトがあります www.ultrasync.net/dee/kr2helps/tjs2doc/contents/ 私が仮想マシン側の設計ですね。 この板見てるとツクール派と、それ以外を使ってみたいという方がけっこういらっしゃるようですね。 自作であればスクリプトエンジンが必用ですが、そのへんはみなさんどうしているのかな?
225 名前:名前は開発中のものです。 mailto:sage [04/04/14 23:06 ID:FAI9201/.net] >>223 何コイツ?
226 名前:名前は開発中のものです。 [04/04/14 23:26 ID:7S1uDrPs.net] ここの親父はまだまだ若い方だろう。 ・・・もっと親父になるとマジではかどらなくなるから 今のうちにやりたい事やっときなされ。
227 名前:WinMEMEME!fuckme! [04/04/15 00:25 ID:WvzZ497j.net] unnkoburiburi?
228 名前:新人PG mailto:sage [04/04/15 01:04 ID:XWJTPtW1.net] ただいま帰りました。研修も無しにいきなり出向させられる会社ってどうよ(泣) >>親父PGタン なんとなくわかりました。スクリプト言語(みたいなもの)を設計するって事ですね。 それならいっそのこと、トリガーだけではなくてシーン等も記述するできるようにしたいですよね? あまり汎用的なものは考えていないのですが、現ゲームの作成に特化したものを目指すようにします。 #余談ですが、卒論のテーマと似ていますw #流用しながら作る予定なので、早く作れるかも?
229 名前:親父PG mailto:sage [04/04/15 07:18 ID:lFmywgB/.net] >>226 ^^;ガンバリマス >>227 orz... >>228 おつかれさま。お仕事大変ですね。 >スクリプト言語(みたいなもの)を設計するって事ですね。 そうです。よろしくお願いします。 >トリガーだけではなくてシーン等も記述するできるようにしたいですよね? そうです。そして出力ファイルは分離して行われます。 トリガーとシーンは分離します。 >あまり汎用的なものは考えていないのですが、現ゲームの作成に特化したものを目指すようにします スクリプト言語内で一旦中間コードにして、そこから出力フォーマット用に変換するように設計すると良いですよ。 出力フォーマットを切り替えると、別の用途用に使えるように切り替える事も出来ます^^;(仕様変更にも強くなりますorz...) #余談ですが、卒論のテーマと似ていますw #流用しながら作る予定なので、早く作れるかも? おお! 期待してますよ♪
230 名前:親父PG mailto:sage [04/04/18 17:10 ID:2197QA5A.net] しばらく書き込みがなくてさびしいので書き込みますorz... 日々少しずつ進んでいますが、なかなか進展しません。今調整いている部分が大掛かりな部分なので仕方ないのですがorz... 親父プロジェクトの構造 LIFE=trueであればACTトリガーvietualFunction 「基底クラススケジュール」→インプリメント部 ↑ ↓各オブジェクト(ポリゴンなどをオブジェクト配列のデータより作成) ↑一定周期 描画ループ Windowloop →→→ 描画 ↑ ↑ WindowMessage(OSトリガー)→範囲チェック→オブジェクトデータ−の操作 各オブジェクトデータ−配列(STL) ○WINDOWSクラス<−現在作成中 登録済みのWINDOWのスタイルから複製を作って、ポリゴンーテクスチャーボタンなどを画面に配置する。 ○ボタンクラス テクスチャとボタンの振る舞い(トリガー)や描画をコントロール ○テクスチャクラス テクスチャのファイルの読み込み部分切り出しなどをコントロール ○ポリゴンクラス 主に四角形を作りテクスチャが張り込まれる。線や点にも対応 ○ポリゴンクラス3D 上の機能に3D用に派生したクラス ○ライトクラス ライトを定義するポリゴンと同じように移動させることができる ○フォントクラス フォント表示 ○範囲クラス 範囲を定義する(3D対応) ○オブジェクトIDマネージャー オブジェクトを作成した時にユニークなID番号を発行する。各オブジェクトの配列のINDEX値も格納してハンドルからアクセスしたいオブジェクトを識別できる ○プロファイルクラス 定義ファイルの読み込み ○コマンドクラス 下位コマンド全般を定義コントロールする為の関数群 さて、作業にもどりますorz.... パコに入っていたCDが出てきたので押し込んだらCIV3の画面が...激しく誘惑に駆られるw
231 名前:名前は開発中のものです。 mailto:sage [04/04/19 18:50 ID:zoW1zDwj.net] 今始めてきたけど、親父さんすごいなぁ。 全くわからん。 HPでも立ててみたら?
232 名前:親父PG mailto:sage [04/04/19 20:15 ID:HvqP5Z0m.net] >>231 どうも^^; HPですが「新人PG」さんのご好意で以下のものがあります。 www.geocities.jp/oyajipg/index.html さてWINDOWですが、複数面サポート。 クリックにより背面と前面入れ替わる動き。 タイトルバーの表示 キャプションの表示 クローズボタンの表示、MOUSEOVERで反応、クリックでウインド閉じる タイトルバーをクリックして動かす Windowのレクト領域の頂点に色を設定できる機能 Windowの半透明表示 こんな所までできました。 改めてWINDOWSのコントールオブジェクトを1から造るの面倒だなぁとorz... しかも、スクロール機能、拡大縮小機能がありませんね。マンドクサイorz..... まぁWINDOWSを造っているわけではないので、ボタンとメニューとテキストを載せて、 動かせるようになったら、一旦収束してスクリプトに移ります。 バイナリを解読して仮想スクリプト用エンジンを造る事になります。 バイナリコードと命令表を作らないといけません。 ほんとコツコツだなぁ(笑
233 名前:231 mailto:sage [04/04/19 21:14 ID:AzIQfmcz.net] おお、早速反応が来た。なんだかうれしい。 VisualC買うべきですかね。一応高校生なんでアカデミックで買えるから買ったほうがいいんですかね。 いや、Cのかけらもわかってないんですけど。 金がないからDev-Cという安易な考えは捨てちまったほうがいいですね。 紹介していただいたページにも書いてあるし。 んじゃ、がんばってください
234 名前:親父PG mailto:sage [04/04/19 21:46 ID:HvqP5Z0m.net] >>233 アカデミックですとC++.net10000円しないんですよね。 フルで買っても2万5千円ぐらいかな? ちなみにC++.net単体でCの学習は辛いかもしれない。 言語の解説は入っておらず、クラス構成が書かれたポスターのような表が何枚か入ってるだけ。 最初の事初めでしたらC#のほうがマネージドコードやコンポ−ネントなどが使い易くてよいかもしれませんね。 (C++.netでも使えるけど、ディホルトの設定では使えなかったりするしorz...) フリーのCビルダーも良いかもしれません。なにより結果に最短なものがベストです。 それでしばらく学習した後に、DirectXが良いと思われます。 C++.netはここの板的にはDirectX以外の用途には使えません(w 怒られるかな@rz
235 名前:名前は開発中のものです。 mailto:sage [04/04/19 22:33 ID:4HaR2ypQ.net] C自体が全く分からないというけどほかの言語はどうなのかな いまだと無料でつかえる言語たくさんあるので言語自体が不慣れならそちらからはいるといい そしてゲーム作るのにC++じゃないということはない
236 名前:新人PG mailto:sage [04/04/19 23:10 ID:rjSD3Om1.net] お久しぶりです。ただいま仕事から戻りました。 ぶっちゃけ仕事忙しすぎて、あんまり手がかけれない状態に陥ってますが、勘弁してください・・・(汗 >>親父PGタン 今言語設計に取り掛かっていて、前に出して頂いた目的コードを参考にしながら中間コードの出力を想像している所です。 似非Java言語仕様となっています。 構造化フローOnlyで、型チェックは今のところ省いています。 連休までには動くものができると思いますが、それまではソース&仕様書の断片を小出しにしていきます。 ただ、今の目的コードの草案だけではちょっとムリポです。ある程度作ると、いろんな面が見えてくるので そこで突っ込みをいれてみます。(こんな感じの進行で行くんですよね?w) 環境Win2K + VC++7.0 + STL + Boostてな環境です。 ソース公開するつもりなので穴があったら突っ込んでください・・・。>コンパイラ職人
237 名前:親父PG mailto:sage [04/04/19 23:31 ID:HvqP5Z0m.net] >>236 お疲れ様、お久しぶりです。 進行についてはそれでOKです。というか付き合って頂いて有難うです。 こちらの仮想エンジンは固定長トークンを随時実行していくというタイプになります。 あまり賢いとはいえません(orz... CPUコードのようなイメージで、命令にはいろいろな「バリエーション」を選択できます。 とりあえず基本的な制御構造の部分を決めていきましょう。 「命令」トークンの価決めが必要ですね。取り合えずNOPは90Hで(謎 Windowの部分が完成したら一旦UPして見てもらおうと思います。 プラットフォームしかできていないので、大掛かりな割にはしょぼいのですがorz...
238 名前:とおりすがりの親父PG mailto:sage [04/04/20 17:51 ID:UA9bY4ln.net] 取り急ぎトリガー構造体 TYPE 1 48byte DataString struct stScriptTcodeA { unsigned short ;//S/N シナリオシリアル unsigned short ;//ID 番号 unsigned char MainCodeToken;//このテーブルの主な役割を示す char Enable;//この値が-1の場合シナリオエディタを使ってコンパイルされていない 0:disenable 1:enable unsigned char PAtype;//パラメーターAの指している場所、使われ方等をコードで示す unsigned char PBtype;//パラメーターBの指している場所、使われ方等をコードで示す int ParameterA;//パラメータA int ParameterB;//パラメーターB short SubParameterA;//パラメータA sub short SubParameterB;//パラメータB sub unsigned char CalcToken;// 計算式 char BoolToken;// トリガー条件 真の時 偽の時 =0 !=0 - + -1 +1 2の倍数 unsigned char ActToken;//アクション番号 unsigned char ParameterType;0: int*3 / 1: short*6 (HIWORD)(LOWORD).. int Callparametar1;//パラメーター int Callparametar2;// int Callparametar3;// int Resaved; //(this Area Used System Work) 使用者がワークエリアとして使う int Resaved; //(this Area Used System Work) short Resave01; unsigned char CountToken トリガーをまとめて使う場合、いくつあるか? unsigned char EndofToken 命令の終わりコード 終わり・次がある };
239 名前:231 mailto:sage [04/04/20 19:09 ID:558xdrhW.net] >>親父PGさま なるほど。Cの勉強をしようと思ったとき、「よくVisualCでしか動かないコードを載せているサイトや本が多い」 と学校の先輩に言われたのでVisualCを買おうかと思ったのです。 で、GCC(Dev-C)を使っているのは、これはなんとなく……。 いろいろありがとうこざいます。 >>235 さま 今までDelphiを使っておりました。ただ、学校(工業高校です)の勉強でCを使うらしいし、Cは実行速度が速い と聞いていたのでこの際Cもやってみるか、と思った次第です。
240 名前:名前は開発中のものです。 mailto:sage [04/04/20 19:18 ID:svF6Tlnf.net] >>239 ***すれ立てるまでもない質問はここで 第53刷*** pc5.2ch.net/test/read.cgi/tech/1081170910/l50
241 名前:親父PG mailto:sage [04/04/20 20:05 ID:EEGw5Gpv.net] >>239 Delphiをお使いですか、私も愛用しております。私はツール類はDelphiを使って作成しています。楽ですからね^^;。。。 最近は、「造りたいもの」に合わせて言語を使う(選ぶ)傾向があると思いますので。特にVCが必用ということはないと思います。 VCにこだわらなくても慣れて来ると、Cファミリーに属する言語は殆ど理解できるようになりますから(W また実行速度は学習段階では考えなくても良いと思いますよ。 サイトのサンプルはコピペではなく、意味を理解して使う事が望ましい。ですからVC用に書かれていようが関係ありません。 例をあげるとDelphi用のコードを書いている時に、サンプルはCのソースコードを読むことは沢山あります。 むしろVCという開発環境を使いこなすのは大変かもしれません。それはプログラム言語の学習とはちょっとニュアンスが違います。 MFCやらマネージドクラスやらブーストやらDirectXやらSTLやら(ムニャムニャ ライブラリの導入一つではまる事はざらにあります(ここがCの柔軟性の負の遺産と思いますがorz... 結論を言えば、慌ててVCにすることはないと思います。VCでしか造れない(造り易い)という目標があれば別ですが。 >>240 お気遣い有難うございます(^^*/ 今日は久しぶりの早い帰りです。明日も昼からなのでじっくり取り組もうと思います。 今作っているWINDOWですが、マウスに合わせてウインドがグリグリ動いて、ちょっと嬉しい。 マウスを激しく動かしたり、ビューポート外でマウスを放したときの処理など、エラー処理と (その危険な)コードを探すのに苦労しました(死 危険なメモリアクセスが(滝汗 しかしポインターって便利ですね。 蛇足ですが構造体にSTLのポインターって定義できるんですよね。 実行時にNEWでSTLを実体化してドカドカデータ−をぶち込んで使っています。 さて、呆れられるまえに親父日記は終了します。
242 名前:新人PG mailto:sage [04/04/21 01:25 ID:eYcWXse+.net] お疲れ様です。 >>親父PG まずは、Windowの基盤完成おめでたうございます。 DirectXの穴(デバイス消失など)も考えられて作られているようで、素晴らしいと思います。 これはゲーム完成が楽しみですね。 トリガデータ設計ありがとうございます。やはり目的コードが決まるとモヤモヤが消えます。 現在構文解析ツリーの設計と言語設計の矛盾を小一時間(いや、もっとか)問い詰めています。 大学の教科書見て復習しながらの実装です・・・(汗 あと、まとめページの方を明日ぐらいに更新しておきます。更新ペース遅くてスマソです。 #余談1 主観ですけどVCよりも使いやすいC/C++環境って無かったです。 MFCの使い方から教える入門書が悪い気がしますw 個人的には コンソール(C++の文法と標準関数覚える) → 猫でも → MFC入門(斜陽ですけど) で十分な気がするんですけどw つーか.NET覚えてWindows.Form覚え(ry #余談2 Windowsでゲームを作る上で、C#.NET + DirectXも選択肢に入る時代になったんですね・・・。 思った以上に高速に動作します。MSがパフォーマンスを最も重視して設計したと 豪語していますが、流石に言うだけのことはありますね。
243 名前:名前は開発中のものです。 mailto:sage [04/04/21 01:50 ID:cLgAiJmm.net] つーかネックになる場所は大概描画方面だったりするので その辺はDirectX使ってるのなら問題になることはないでしょう インタプリタの旧VBでもネックになることもよほどのレベルじゃない限りまずありません むしろ中間言語系は同一バイナリでも最適化できるのもポイントです たとえばjavaの1.4.2は従来バージョンのアプリも大幅に高速化しています これはSSEを使っているためです 静的コンパイラの最適化はたしかにいいのですが動的に環境に適応する コンパイラ(hotspot技術)というのも使うかどうかはともかく遊び倒す テーマとして面白い物です ちとふるいですが www.geocities.jp/toshio16369/column/021108a.html もちろん、今の最適化はこのころからくらべてかなりよくなっています
244 名前:親父PG mailto:sage [04/04/21 04:38 ID:OH77B7oH.net] >>242 おつかれさま。 >現在構文解析ツリーの設計と言語設計の矛盾を小一時間(いや、もっとか)問い詰めています。 ^^;復習してまでやってもらえて感謝です。 配列は会社で暇な時に紙に書いて構築しておりました。32Byteに収めたかったんですが、48byteになってしまいました。 あれだけではわけ解らないと思いますので補足説明しますね。 unsigned char MainCodeToken;//このテーブルの主な役割を示す これはズバリそのままで、「計算」とか「IF文」「Swith文」「価のセット」など仮想VMに命令を伝えます。 char Enable;//この値が-1の場合シナリオエディタを使ってコンパイルされていない 0:disenable 1:enable このー1というのはマップコンパイラ以外のツール(MAP(地形)にトリガーを埋め込むツール)などで 書き込まれたデータ−という意味です。 これを見つけたコンパイラは処理を追加義務が発生します。 命令コードは「地形MAPツールによって追加されたトリガ」になります。 unsigned char PAtype;//パラメーターAの指している場所、使われ方等をコードで示す 次のパラメータがFGのINDEX番号なのかMAPの座標なのか価なのかを表します またINTをつかうかShortを使うか両方つかうかを識別します。 INT ,Short , (Short+INT), Short:INT , Short,(HIWORD)Short,LOWORD(Short) unsigned char CalcToken;// 計算式 2つの価を同計算計算するか示します + - and or not > < >= <= ,INTかShortか両方か パラメーターが複数ある場合(PAtypeで指示)、もここのコードで判断します。 同じ[+]を表すコードでも両方を加算するトークン用、片方だけのトークン用があります パラメーターが複数ある場合、処理に引き渡す引数としても使えます。 char BoolToken;// トリガー条件 真の時 偽の時 =0 !=0 - + -1 +1 2の倍数 -64〜+64までは価として(6ビット)最上位ビットが 真の時 偽の時を表します 7ビット目がONの場合ユニークな条件を設定します65〜127 -65〜-127 00000000 は計算結果が0の時 真なら 10000000 は計算結果が0の時 偽なら 00000001 は計算結果が1の時 真なら 01000000 ユニークな条件(いまは考えていないorz)
245 名前:親父PG mailto:sage [04/04/21 10:08 ID:OH77B7oH.net] >>243 コンピューターの高速化がもたらした波ですなぁ。 Parlで最初にスカラー型を知った時は驚きでした。インタプリタできる芸当ですね。 ところで... じっくり取り組もうとか宣言しているにも関わらず、パコの前で気絶してしまいましたorz...
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に。 なんか古くて暗いからとっつきにくいよ。見た目とか。
347 名前:名前は開発中のものです。 mailto:sage [04/05/30 03:16 ID:/nGX9ZsE.net] 3Dがいいなら自分で作ればいいじゃん。 3Dのライブラリなんていくらでもあるよ。
348 名前:名前は開発中のものです。 mailto:sage [04/05/30 03:38 ID:+/1k6zgz.net] 2Dのツールこそたくさんある気がする・・・。
349 名前:親父PG mailto:sage [04/05/30 21:52 ID:whdcT15r.net] >>346 347 2Dか3Dかはそれほどこだわっていません。 もうすこし内容を詰めた時に選択します。 ちなみに見た目は平面ですが、3Dポリゴン上で展開しているので 3Dのライブラリ?です。 混在するかと思います。2Dと3D
350 名前:名前は開発中のものです。 mailto:sage [04/05/31 20:07 ID:jkV+M/fp.net] 全てが「じゃあ自分で作ればいいじゃん」で済まされるスレになりました。
351 名前:親父PG mailto:sage [04/06/02 14:16 ID:WRPhaE/T.net] サルベージ会社に頼みました。 まずは初期診断、どのような結果が戻ってくるでしょうか...
352 名前:名前は開発中のものです。 mailto:sage [04/06/02 22:44 ID:0e2wqY1U.net] 今日このスレ見つけて一気に読んでしまいました。 タノシカター(*・∀・)=3 当方、完全に素人なのですが、 ゲームとはこのように出来ていくものなんですね。感心しました。 コソーリ今後も応援していきます。 HDD完全復帰するといいですね
353 名前:親父PG mailto:sage [04/06/03 00:36 ID:4eJyfpo5.net] >>352 ご拝聴ありがとうございます。 こういうもんなんですかね^^; 楽しんでいただけたならよかったです。 HDDの結果は....まだ届いてないですね。orz....
354 名前:親父PG mailto:sage [04/06/03 23:52 ID:4eJyfpo5.net] HDDサルベージ中間報告 業者からのメールでのお話でどうやらPGソース部分の救出可能と判断されました。 原因はヘッドが食い込んでいたそうです。 サルベージ代金は4万円 助かりましたorz... ありがとう神様 そして良心的業者さん 壊れたHDDはふ◎通製でしたが交換後 日立製に変わっていました^^;
355 名前:新人PG mailto:sage [04/06/05 19:36 ID:wWL88U7t.net] お疲れ&お久しぶりです。 キャラデータなんですけど、別定義にしておいてスクリプトで読み込める様にするのがいいんですかね? 旧RPGツクールではキャラクタ名称とかは「こんにちは、$1さん。」とかで表していましたね。 これを import chara "test.chara" triger main() { chara test; text.out("こんにちは、" + test.name + "さん。"); } とかで出力出来る様にすると便利ですかね。 戦闘定義は、いろいろ考えるとやはり外部に出した方が良いような気がします。 ちょっと想像つきにくいんですけど、意見あればお願いします。
356 名前:新人PG mailto:sage [04/06/05 19:45 ID:wWL88U7t.net] キャラクタデータで想像つくものを挙げていきます。 ・名称 ・生命値(HPとか) ・特殊能力値(MPとか) ・レベル ・体力 ・賢さ ・すばやさ ・運のよさ ・魅力(?) ・各パラメータの上昇率(パーセンテージでも数式でもOKかと) ・職業とか ・属性(炎とか水とか?) ・共通台詞の語尾?("だぜ"とか"ですわ"とか?) ・アイテムの所持量 なんでも考えられますね・・・。
357 名前:名前は開発中のものです。 mailto:sage [04/06/06 02:58 ID:EmiSNu9x.net] ほしゅうう
358 名前:親父PG mailto:sage [04/06/06 21:43 ID:TFl9YsaT.net] お疲れさま キャラデータはなんでも出てきますね。いやほんとに 今回、私が計画しているゲームではアイテムには持続時間(無限大もある) を持たせておいて、場にセットする。場にセットされたアイテムの種類によって 「コマンド」が使えるようになる。 ターン使用時において コマンドを実行するか、場にアイテムを置くか? 悩むところではあるでしょう。また相手のアイテム持続時間を減らす攻撃など いろいろと戦術が考えられます。カードゲームみたいですねw
359 名前:名前は開発中のものです。 mailto:sage [04/06/10 18:42 ID:ZmE5oMyN.net] ほしゅ
360 名前:親父PG [04/06/11 20:24 ID:yIL1qXgr.net] HDDのデータサルベージに成功しました 先ほどリビルドと実行を行ないましたが正常に動作いたしました。ちょっと感動 HDDの物理障害でしたが4万円で復旧できました。 それでは製作を再開いたします
361 名前:名前は開発中のものです。 mailto:sage [04/06/11 20:32 ID:FbUf2QVY.net] おー、実は話半分に聞いてたんだけど、サルベージって本当に成功するんだね。
362 名前:名前は開発中のものです。 mailto:sage [04/06/12 05:56 ID:kitVjPtB.net] 祝☆親父PGタソHDDサルベージュ成功! おにぎりワッショイ!! \\ おにぎりワッショイ!! // + + \\ おにぎりワッショイ!!/+ + . + /■\ /■\ /■\ + ( ´∀`∩(´∀`∩)( ´ー`) + (( (つ ノ(つ 丿(つ つ )) + ヽ ( ノ ( ヽノ ) ) ) (_)し' し(_) (_)_) バンガレー
363 名前:親父PG mailto:sage [04/06/16 17:29 ID:UJduKH1D.net] さてぼちぼちどっかに上げたいですなぁ。 ってまだまとまってないけどorz...
364 名前:名前は開発中のものです。 mailto:sage [04/06/18 02:32 ID:XddDHYg8.net] おおう、もう形になってるんですか。 実を言うといまいち概要を掴みかねてるから、実際に動くものを見てみたいなあ。
365 名前:親父PG mailto:sage [04/06/22 20:59 ID:CADman1B.net] うん^^ といっても今は リソースツール> 環境+ウィンド という程度ですけどね。
366 名前:名前は開発中のものです。 [04/06/30 18:49 ID:SwcLf7ai.net] おおぅい 何か進展はないのかぁい? 期待age!
367 名前:名前は開発中のものです。 mailto:sage [04/07/01 00:18 ID:X3i18rrm.net] ■関連スレ pc5.2ch.net/test/read.cgi/gamedev/1082083548/
368 名前:名前は開発中のものです。 mailto:sage [04/07/01 00:24 ID:7ydqqCh2.net] 目標の半年までの半分が経過したということで とりあえず現在の物をアップしてみては?
369 名前:親父PG mailto:sage [04/07/02 11:22 ID:pX1kWnhH.net] そうですね^^ 今、サルベージ後復活したソースでビルドしたのですが、 開発環境 9.0Bに入れ替えると何故か「対象のサーーフェースの範囲を越えています」 というエラー(英語)がでて一部機能がおかしくなってしまったので、原因追跡中です。 エラーを出している関数はわかっているのですが、以前と(データー等)を変えていないのに圧制しています。 サルベーシしたHDDの中にアーカイブされたソースもあったので、 解凍して動かしても現象が同じなので開発環境が変わったのが原因かorz... ちょっと根が深いエラーで今、いろいろ調べています(涙
370 名前:名前は開発中のものです。 [04/07/03 03:52 ID:NtmdvZio.net] >>369 ビューポートのエラーですか?オレは昨日遭遇しました。 CreateDeviceのパラメータであるD3DPRESENT_PARAMETERS構造体のBackBufferWidth,Heightを設定したら直りました。MSのなんかのサンプルだと省略されていたんですけどね・・・。 D3DPRESENT_PARAMETERSD3DPresentParameters; ZeroMemory( &D3DPresentParameters, sizeof(D3DPresentParameters) ); D3DPresentParameters.BackBufferWidth = GetScreenWidth(); D3DPresentParameters.BackBufferHeight = GetScreenHeight(); ... hResult = pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, &D3DPresentParameters, &pD3DDevice );
371 名前:親父PG mailto:sage [04/07/05 21:24 ID:dEjBB1tn.net] うを! 情報有難う ちょっと調べてみます
372 名前:名前は開発中のものです。 mailto:sage [04/07/11 01:23 ID:sEDaSior.net] せめて開発中のスクリーンショットだけでも見たい。
373 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 11:22 ID:IcCsmxs7.net] 頑張れおじん。
374 名前:親父PG [04/07/15 20:49 ID:RCSAJz51.net] 最近激忙しくて放置っぽくてすみません >>370 さん の情報をもとに関係する場所を調べたところ、サイズは指定してあったのですが、 「ビューポートを任意のサイズに分割する為の」データより大きくなっていた為 激重になっている事が判明しました。 *この部分はMSのサンプルのままなのですが(苦笑 m_d3dpp.BackBufferWidth = m_rcWindowClient.right - m_rcWindowClient.left; m_d3dpp.BackBufferHeight = m_rcWindowClient.bottom - m_rcWindowClient.top; ここのBackBufferHeightのサイズが756なのに ビューポートは縦800を前提に分割しようとして、エラーがでていました。 以前は重くなる事はなかったのに...orz... 解決できました。有難う。 HDDが飛んだ時に激しく落ち込んで、 現実逃避の為に三国志ネット系のゲームで君主やったりしてました。 昨日、滅びましたので現実の世界に戻ってこれそうです。 (もちろん忙しかったのはこれが原因ではないのですが)^^;
375 名前:名前は開発中のものです。 [04/07/27 08:14 ID:jrBmHKfT.net] スレ違い申し訳ないんだけど、 親父PGさんはVisual C++ .NET Standard 2003で開発してるの?
376 名前:駄目PG [04/08/07 21:56 ID:rKnHjytK.net] 2001です^^13000円ぐらいで買ったものです。
377 名前:名前は開発中のものです。 mailto:sage [04/08/12 18:55 ID:CwNTMR01.net] 親父逃亡
378 名前:名前は開発中のものです。 mailto:sage [04/08/12 23:26 ID:qp2QHNJh.net] もう許してやれや。
379 名前:名前は開発中のものです。 mailto:sage [04/08/13 01:19 ID:70XDoCYw.net] これだけ実力のある人でも、構想が大きすぎると完成しないもんなんだなぁ。 いわんや自分ごときでは。戒めねば…。
380 名前:名前は開発中のものです。 mailto:sage [04/08/13 03:32 ID:EI4JTtEl.net] 実力あったらこんな中途半端にはならんだろ… 構想も最近よく見かけるMMO厨にくらべたら 十分完成できる内容だと思うけど。
381 名前:名前は開発中のものです。 mailto:sage [04/08/14 00:14 ID:QE6GprSu.net] 結局ダメだったのか…
382 名前:名前は開発中のものです。 mailto:sage [04/08/17 20:24 ID:4zoJaIbh.net] まあ、よくあることで、とやかく言うことでもない。 月単位や年単位でモチベーションが持続する人のほうが少数派なんだよ。 絵1枚とか音楽1曲とかなら、ゴールまでノンストップで駆け抜けることもできるけどな。 ゲームや長編小説だと、制作中に必ずスランプ期が来る。それも1度や2度でなく。 常人が中規模以上のゲームを完成させたきゃ仕事としてやれってこった。 気が乗らないときでも強制的にケツ叩かれて作業を進めさせられるからな。 給料も出るし。(たぶん)
383 名前:名前は開発中のものです。 mailto:sage [04/08/17 23:32 ID:swKTwwBB.net] このスレの場合、最初にこのすすめかただと モチベーション維持できない、時間がかかりすぎて結果が出ないと みんなに指摘されていたのに大丈夫、大丈夫といいつつすすめてきたというところが つっこみどころ満載で面白いところだ
384 名前:名前は開発中のものです。 mailto:sage [04/08/17 23:40 ID:Ey/3rwny.net] と、外野の企画厨が申しております。
385 名前:名前は開発中のものです。 mailto:sage [04/08/18 04:06 ID:xaW55mes.net] わざわざサルベージまでしてその後何もせずに終了ですか… あそこが良いやめ時だったと思うけど。
386 名前:名前は開発中のものです。 mailto:sage [04/08/18 04:40 ID:QOsGAV3O.net] と、外野のシナリオ厨が申しております。
387 名前:名前は開発中のものです。 mailto:sage [04/08/18 13:53 ID:iefLqNu5.net] こいつレス早いな。
388 名前:名前は開発中のものです。 mailto:sage [04/08/18 16:44 ID:QOsGAV3O.net] だって引きこもりだもの ミツヲ
389 名前:名前は開発中のものです。 mailto:sage [04/08/19 06:10 ID:p3JaqRwv.net] 新人PGももう見てないのか? お別れの挨拶くらいしてもいいよ 社会人なんだから
390 名前:名前は開発中のものです。 mailto:sage [04/08/19 06:40 ID:0awC84Sm.net] 逃がしてやろうよ。ね。 ミツヲ
391 名前:親父PG mailto:sage [04/08/25 15:19 ID:fmTb/M4o.net] すまん^^ ちょっとリアルが忙しくて もう少しで再開しますorz..
392 名前:名前は開発中のものです。 mailto:sage [04/08/26 00:55 ID:cjxLj/oA.net] それを1ヶ月前に書き込んでもバチは当たらなかったと思うが
393 名前:名前は開発中のものです。 mailto:sage [04/08/26 03:37 ID:GWEpquVX.net] チミらにいちいち報告しなきゃならない義理が発生するような 借りは何もなかったと思うのであります。
394 名前:名前は開発中のものです。 mailto:sage [04/08/26 05:10 ID:2v90/hnV.net] スレ立てたからにはあるだろ…
395 名前:名前は開発中のものです。 mailto:sage [04/08/26 10:36 ID:a0UqgPyA.net] 新人PGと協力していたから報告は上げる必要がある気はするが、 逃げたからどうでもよくなったな
396 名前:名前は開発中のものです。 mailto:sage [04/08/26 15:52 ID:03VygtWN.net] 逃げたというかあまりのダメさにあきれたのでは? この調子じゃライブラリだけでも完成するまでに数年かかりそう。
397 名前:新人PG mailto:sage [04/08/28 15:49 ID:3/V/WtDW.net] (゚Д゚)ニゲテネーヨ 話題がサルベージになっていたのでしばらく放置でした。 とりあえず、今のシステム面の欠点を指摘。 スクリプト言語をコンパイル⇒生成物をExcelで編集⇒ゲーム内で固定長バイト変換という方式は、かなり無駄がある。 固定長バイトに拘らなければ、メタ言語(XML)= ゲーム記述になるでしょうが。 あと、どのような画面・機能が必要か全然わからない。 そういうのは、外部データ構造に影響するので、外部データ構造からアプローチするのは難しい。 シーンの列挙をして欲しい。 ライブラリ作るにしても、方向性がないとつくれないじょ? どういうシステムにするか決まってないのに、プログラム始めるスタンスに萎え(´Д`;
398 名前:新人PG mailto:sage [04/08/28 16:09 ID:3/V/WtDW.net] 今回のライブラリの生成物はソースにしましょ〜? 他システム(yaneScriptとか豆乳とか吉里吉里)は基本となる実行ファイルが、外部データを読み取って動作しますが そんな汎用性のあるのはむりぽ。 やるんだったら、Pythonとかluaとかで楽したいです。 僕は「基本的なシーンの枠は決めておいて、その中の限定的な記述ができる」ぐらいの汎用度で良いと思いますけど。 要は、シーンの遷移処理まで外部に出す必要あるかな?、てところです。(もちろんトリガーとなるデータは必要ですけど) つか、シーンの数なんてたかが知れているような。 (1)タイトル (2)フィールド (3)戦闘 後、なんかあるんでしたっけ?
399 名前:名前は開発中のものです。 mailto:sage [04/08/28 16:30 ID:jI7Dh6fq.net] 本人? >萎え(´Д`; それを承知ではじめたのに、いまさらその発言は無いだろ。
400 名前:名前は開発中のものです。 mailto:sage [04/08/28 16:39 ID:YTH8UYqt.net] >>398 エンディング、オープニング、スタッフロールw
401 名前:名前は開発中のものです。 mailto:sage [04/08/28 17:03 ID:syHQKUN7.net] なんだなんだ、内部確執によるプロジェクト崩壊現場はここでつか?
402 名前:名前は開発中のものです。 mailto:sage [04/08/28 18:04 ID:51GnK4hL.net] つーか、webサイト立ち上げていたり具体的に動いているところは 新人PGのほうばかりだな まぁ、同情はする
403 名前:名前は開発中のものです。 mailto:sage [04/08/29 11:40 ID:VmVZYpoo.net] この際独立しちゃえば?
404 名前:名前は開発中のものです。 mailto:sage [04/08/29 12:54 ID:VmVZYpoo.net] と言ってて思ったんだが、親父PGさんは一体どんなゲームを目指してたんだ? 以前、Windowsみたいなフレームワーク?の画像は公開されてたけど。
405 名前:名前は開発中のものです。 mailto:sage [04/08/29 18:11 ID:msTaT4Bl.net] >>404 RPGツクールじゃねぇの
406 名前:名前は開発中のものです。 mailto:sage [04/08/29 22:01 ID:XNIpS8PD.net] >>397 おまえ偽モンじゃねーの? トリップでも付ければ? なんで突然こんなにレベルアップしてるんだよ。 本物の新人PGはこんなまともなこと言わなかったぞ。 まるでゲームを1本作ったことがあるかのような発言じゃないか。 つか、本人なら独立した方が良いと思われ。 このレベルの人間がコード書くなら手伝ってもいいかもと思われなくもない。
407 名前:新人PG ◆EJ0MB3jlw2 mailto:sage [04/08/29 23:07 ID:64zrapQK.net] 本物ですので、一応。 >>399 まあね >>400 リストアップしておきます >>401 親父さんには復活して欲しいんですけどね(本心) >>402 ども >>403 その気は無きにしも非ずだが、続けれるかどうかで迷っている。 >>406 親父さん主体で進めているので、極力邪魔はしないようにしています。 自分はマネージャータイプじゃないんで、誰か牽引してくれる人が欲しいんだけど。 ちなみにゲームは作った事ありませんので、悪しからず。
408 名前:新人PG ◆EJ0MB3jlw2 mailto:sage [04/08/29 23:35 ID:64zrapQK.net] んで、提案の続き。 ●ゲームの全般的な構想 フィールド+戦闘のみ存在する、単純な2D俯瞰タイプのRPG。 フィールドのイベント、戦闘のイベントをテキストで書く事で動作する。 アートワークは現段階で一切考えない。音楽も然り。 とりあえず、この構想を実現できるバージョンを0.1とする。 レビジョンは完成品ができるまでに、提案としてまとめて、0.1完成後に実装に移る。 上記でどうよ?
409 名前:新人PG ◆EJ0MB3jlw2 mailto:age [04/08/30 00:02 ID:0D+4Eo2G.net] フィールドのイベント、戦闘のイベントについての詳細が無かったので追記。 ●フィールドのイベント ・テキスト出力(こいつは議論する必要があるな) ・PC、NPCの制御:移動させる、向きを変える(3D化したい場合に影響あるかな?) ・戦闘イベントへの遷移(当然全滅したかどうかの判定システムが必要だな・・・) ・画像の出力:Ver0.1の段階ではアニメーションは実装しない ●戦闘システム ・ゲームの核の問題でもあるし、キャラクターデータの検討が先なのでとりあえずはダミーを用意。 ・ダミーはDQ方式で実装するか・・・? よって、現段階で必要な仕様は ・フィールドのマップ(オーソドックスなマップチップで良いよね?) ・PC,NPC,etcのスプライト仕様 ・コマンドやテキスト出力の為の、ウィンドウシステム(これは柔軟にしたい) ・トリガー条件:会話、接触、etc ・キャラクターデータ仕様(仮段階で良いと思う。とりあえずどのスプライトを表示させるかぐらいは必要か) ・ガイドライン(ロードマップ)作成:このまま親父の作りたかった物へシフトする様に。 広報するのでage
410 名前:名前は開発中のものです。 mailto:sage [04/08/30 00:38 ID:yIQQlF9+.net] やっぱり新人PGをベースの方がいいんじゃねーの?w
411 名前:名前は開発中のものです。 mailto:sage [04/08/30 00:53 ID:+QhP1Bil.net] これならDirectXはいらないのでは? それだけでだいぶ楽になると思う。 自作ライブラリもこの段階では不要。 ゲームが完成してからライブラリとしてまとめれば良い。
412 名前:名前は開発中のものです。 mailto:sage [04/08/30 01:35 ID:yIQQlF9+.net] DirectXとかは最終的な表現手段にすぎないのだから ここを自由に差し替えられるインターフェース用意するとか それくらいの自由度がないともはやうまみはないとおもわれ 具体的にはたとえばJavaや.NETのようなレベルの高級言語前提なら インターフェースベースのプラグイン開発できる感じ RPGとしての機能と実装を切り離すのだ
413 名前:新人PG ◆EJ0MB3jlw2 mailto:sage [04/08/30 02:19 ID:0D+4Eo2G.net] >>410 いや、責任取れないから >>411 個人的にはOpenGLがいいんだけど。 つかDXはインターフェイス仕様変わり過ぎだから。 もちろんライブラリなんて、現段階毛の先ほども考えておりません。 >>412 統合開発環境作るわけじゃないんで、差し替えは不要かと。 プラグインで組み込めるかどうかは今のところは不定。ある意味、スクリプトそのものか。 ちなみに、対象OSはWindows98SE以降 開発OSはWindows2000です。 クロスプラットフォームとか全然考えていないのでよろしく。
414 名前:名前は開発中のものです。 mailto:sage [04/08/30 12:20 ID:yIQQlF9+.net] OpenGLが好きならなおさらDirectXべったりやめた方がいい希ガス
415 名前:名前は開発中のものです。 [04/08/30 13:01 ID:mguL3Q17.net] オヤヂィ〜〜〜〜〜〜〜〜〜〜〜イ!!!!!
416 名前:名前は開発中のものです。 mailto:sage [04/08/30 13:46 ID:en0ftcc8.net] まだ何もできてないのかよ
417 名前:名前は開発中のものです。 mailto:sage [04/08/30 14:24 ID:a36Q37vH.net] >新人 まとめページの方はまだあのまま保全? 久しぶりに見たけど、 > 10:参加したいのであれば年齢は問いませんが、姿勢は問いますよ。 ワロタ >408-409 本職からの助言として、まず、ver 0.1 の外部仕様として以下を定めることを薦める。 ・フィールドマップの数(外・城・町・ダンジョンくらい?) ・各フィールドにいるNPCの数と種類 ・敵の種類(外・ダンジョンで書く種類と、ボスくらい?) ・フィールド上のエンカウントマップ(種類と数だけでも良いか。森・山・平地・ダンジョン近辺・町近辺くらい?) ・スクリプト一覧(NPC全員分と、ボス、マップ間の移動くらい?) で、疑似スクリプトを先に書けば、とりあえず先が見えるようになるのでは? 戦闘は、ターン制で最低限のものでいいと思うよ。 「戦う」コマンドだけでいいと思う。フルオートでも、一発解決でもいいくらいだが、戦闘中イベントを入れたいみたいだから、ターン制は維持かな。 あと、パーティーは後回しでいいと思う。 この辺を決めて、そこから ver 0.1 に反映する内部仕様を導くのが妥当だろう。 YAGNI
418 名前:名前は開発中のものです。 mailto:sage [04/08/30 15:01 ID:XVFqp4fH.net] ↑ワロタ
419 名前:名前は開発中のものです。 mailto:sage [04/08/30 15:05 ID:8ohy38YP.net] なんだこのスレ
420 名前:新人PG ◆EJ0MB3jlw2 mailto:sage [04/08/30 18:26 ID:txFEAH/U.net] >>414 そこは後ほど考えます。 >>417 >まとめページの方はまだあのまま保全? そのまま保全。このまま親父さんが戻らなかったら書き換えますけど。 >本職からの助言として、まず、ver 0.1 の外部仕様として以下を定めることを薦める。 >・フィールドマップの数(外・城・町・ダンジョンくらい?) >・各フィールドにいるNPCの数と種類 >・敵の種類(外・ダンジョンで書く種類と、ボスくらい?) >・フィールド上のエンカウントマップ(種類と数だけでも良いか。森・山・平地・ダンジョン近辺・町近辺くらい?) >・スクリプト一覧(NPC全員分と、ボス、マップ間の移動くらい?) どんなゲーム作るか分ってないから敵の種類とかは決定できないんすわ。 数や種類に制限は付けない方向で行こうと思ってるんですけど。(ダメ?) >で、疑似スクリプトを先に書けば、とりあえず先が見えるようになるのでは? 擬似スクリプトはXMLでそのまま記述できるようにする構想です。 >あと、パーティーは後回しでいいと思う。 そうかも
421 名前:新人PG ◆EJ0MB3jlw2 mailto:age [04/08/31 21:28 ID:Zv1g6YxS.net] データ構造(案)をアップ ttp://www.geocities.jp/oyajipg/topic007.html 試しにMSXML4.0を弄っている時に、ふと気が付いた。MSXML4.0のインストールを ゲームのインストール条件には出来ないなぁ。XMLSchemaの検証が使えないジャン。(ダメダメ) アプリケーション側で、チェックロジック組むか・・・。 今回のStage要素の構想が済めば、トリガー仕様はひとまず完成かな? 一番の山場はEvent要素の設計だと思うが。
422 名前:新人PG ◆EJ0MB3jlw2 mailto:sage [04/08/31 21:49 ID:Zv1g6YxS.net] フラグ管理構想を思案中。 キャラクターやら、そういうオブジェクトが状態コードとしてフラグを管理できないかな? セーブ時も、オブジェクトそのものをシリアライズして、ロード時復活(゚Д゚)ウマー それとも、フラグはどっかに一元管理するもんなのかな? 一元管理するとデータ構造迷うし、オブジェクトごとに持たせるとスパゲティになる希ガス。 ここなへん定石ってないのかね?
423 名前:名前は開発中のものです。 mailto:sage [04/08/31 21:55 ID:ViRwUBWM.net] xmlって最近いろんなところで見る。。。 勉強しなきゃならないのか。 ところでアドレスが/oyajipg/になってるyo。 一人二役するなら気をつけないと。。。まだ 疑惑の段階だから破綻はしてないけど、怪しいな。
424 名前:新人PG ◆EJ0MB3jlw2 mailto:sage [04/08/31 22:02 ID:Zv1g6YxS.net] >>423 アドレスは敢えてoyajipgにしているんだけどなー。 当然 新人PG≠親父さん なので。
425 名前:名前は開発中のものです。 mailto:sage [04/08/31 23:29 ID:eG4/8KZG.net] XMLスキーマはまぁなくてもいいだろ ツールのほうでいろいろと整合性をとる・・・って感じじゃなかったっけ? なんとでもなるさ
426 名前:名前は開発中のものです。 mailto:sage [04/08/31 23:37 ID:Q8+xpMsy.net] スクリプト>XML データ>独自形式 ってどうよ
427 名前:名前は開発中のものです。 mailto:sage [04/09/01 00:52 ID:igqIIkqJ.net] 初代ドラクエのような物を作ってるの? いまいち見えてこないよ!
428 名前:名前は開発中のものです。 mailto:sage [04/09/01 01:30 ID:JSL7Dn8l.net] そして初代ドラクエすらできあがってない
429 名前:新人PG ◆EJ0MB3jlw2 mailto:sage [04/09/01 01:46 ID:ZiXTJC9p.net] >>425 定義する意味で必要。ツールとか作るときに汎用性欲しいじゃんw >>426 独自形式はかえってめんどくさい・・・。 >>427 僕も見えてこない。 今のイメージなんですけど、これ(かなり落書き) ttp://www.geocities.jp/oyajipg/up/memo01.jpg ひとつのゲームを1つの舞台に置き換えて、データ設計を練っています。 ひとつのステージには色々な配役(背景や音楽も含めて)がいて、その配役が舞台で色々振舞います。 脚本はどこに記述してあるかと言うと、全てEventとして記述されています。 今の目的はソーサリアンタイプのゲームを作る事です。 しかし、最終的にそれ以上のものを作る為に、汎用性、冗長性を持たせて作っていますので分りにくいかもしれません。
430 名前:新人PG ◆EJ0MB3jlw2 mailto:sage [04/09/02 23:17 ID:bSRAKxF0.net] なんか、動くもの作らないと信用されないっぽいので、適当に雛形まで作ってみんとす。 今まで貯めていたGlutのコードをMFCに移植、テクスチャが貼られない・・・。 なんか作法があるみたいだな。ちょっと鬱。
431 名前:名前は開発中のものです。 mailto:sage [04/09/03 00:36 ID:1gtMdeX1.net] というか、いまさらMFCってのはやめた方がいい気がするけどどうだろう。 絶対に(いろんな意味で使いづらくて)躓く。
432 名前:名前は開発中のものです。 mailto:sage [04/09/03 14:16 ID:slI9+kNi.net] というかゲームにMFCは、テストコードにすら後々不便なような
433 名前:名前は開発中のものです。 mailto:sage [04/09/03 23:51 ID:e6QRPo5l.net] 市販されているゲームは殆どMFCでは?
434 名前:名前は開発中のものです。 mailto:sage [04/09/03 23:57 ID:6BnkbEbT.net] API直書きじゃないの?
435 名前:名前は開発中のものです。 mailto:sage [04/09/04 00:54 ID:/1JuLZWl.net] 市販のゲームはほとんどMFC使ってないだろ。 逆に使ってるのあったら教えて欲しい。
436 名前:名前は開発中のものです。 mailto:sage [04/09/04 01:45 ID:KhwIOOzK.net] ええっ! じゃMFCを使う理由なんて無いじゃん! Delphiなら手伝えるけどなぁ… www.kogado.com/html/kogado/kyujin.htm >プログラマ(使用言語はCまたはC++で、Win32SDKまたはMFCを使用)
437 名前:名前は開発中のものです。 mailto:sage [04/09/04 04:15 ID:/1JuLZWl.net] www.kogado.com/html/kuma/mars3/const.htm たしかにこういうゲームならMFC使ってるかも。
438 名前:名前は開発中のものです。 mailto:sage [04/09/04 10:29 ID:VYIP8ddf.net] コモンコントロール使用か…市販品でそれは萎えるな シミュレーションならありなのかね はて、初代シムシティですらどうだったかな
439 名前:名前は開発中のものです。 mailto:sage [04/09/04 11:34 ID:Pf2Z+TKE.net] 初代はさすがにすべて自前描画かと
440 名前:名前は開発中のものです。 mailto:sage [04/09/04 17:33 ID:cfFDLJN6.net] つーか初代シムシティって何版よ
441 名前:名前は開発中のものです。 mailto:sage [04/09/04 23:44 ID:KRp2PvVG.net] 音関連でDirectXが必要になるのかな。 DirectSoundでWAVを重ねたり出来るんだよね。
442 名前:名前は開発中のものです。 mailto:sage [04/09/04 23:53 ID:Pf2Z+TKE.net] なにを当たり前のことを DirectX使わなくてもできないことはないが
443 名前:名前は開発中のものです。 mailto:sage [04/09/07 01:37 ID:teKT740i.net] 初代ドラクエならサクッと作れるのでは?
444 名前:名前は開発中のものです。 mailto:sage [04/09/07 12:35 ID:D4BjwQvS.net] そのさくっと作れるものすらできてない>ここ まぁ、新人PGは何とかがんばろうとしているのが分かるが、 時間取れていたときから親父PGの方向性はまったくわからん
445 名前:名前は開発中のものです。 mailto:sage [04/09/08 00:04 ID:bAlt1rnK.net] まとめると、 1)ソーサリアンタイプのアクションゲーム 2)3Dを何かに使う。 3)スクリプトは中間言語に落とす アクションゲームを作った事のない私なら、この順番でやるかな。 プレイヤーキャラクタの移動 ↓ マップ描画 ↓ マップ内をプレイヤーのキャラクタが自由に動けまわるようにする ↓ 敵キャラクタをマップ内で移動させる ↓ 戦闘関連 ↓ スクリプトで拡張できるようにする
446 名前:名前は開発中のものです。 [04/10/17 10:25:34 ID:yYhKMqEo.net] 定期挙げ
447 名前:名前は開発中のものです。 mailto:sage [04/10/17 10:33:03 ID:Qo0J6b1x.net] 親父、妻子を残して蒸発。 予想通りの結末。
448 名前:名前は開発中のものです。 mailto:sage [04/10/17 18:41:25 ID:tKRlfG6F.net] >>447 よくわかんないけど、なんかワラタ
449 名前:名前は開発中のものです。 mailto:sage [04/10/18 00:05:20 ID:sIeHxSBC.net] >>445 なんだその大雑把な計画はw お前、ゲームの作り方全然わかってないだろw
450 名前:名前は開発中のものです。 mailto:sage [04/10/26 04:11:03 ID:6T+OiAcq.net] >391 >もう少しで再開しますorz.. =>2ヶ月経過.... 今年中に再開(再会?)できる? >363 >さてぼちぼちどっかに上げたいですなぁ フレーム以外に何か表示できるの?
451 名前:名前は開発中のものです。 mailto:sage [04/10/26 04:21:58 ID:6T+OiAcq.net] 今からでも遅くないから、 簡単な表示..... 例えば、DIBでのスクロール表示などをつくってから DirectXへ直せばいいと思う。 それとも、プログラム作成依頼スレに依頼する?
452 名前:名前は開発中のものです。 mailto:sage [04/10/29 00:15:02 ID:AnZYweju.net] さっさと作ればいいのに。 ほれ、俺はここまで作ったぞ。 gamdev.org/up/img/1706.jpg
453 名前:名前は開発中のものです。 mailto:sage [04/10/29 01:01:46 ID:GaWFlfVe.net] それマップチップだけじゃないか 親父がやろうとしていたのはどうもWindowシステムとかそっち方面らしい でもゲームとしてそのシステムが必要かといわれると弱いから マップチップだけでも動いてる>>452 のほうが上 どちらにしろ動いてる画面を定期的にあげれなかったのがだめすぎ 独自Windowシステム作るにしてもさっさとSwingとか身近なもので 参考にして実装していけばよかったものを
454 名前:名前は開発中のものです。 mailto:sage [04/10/29 01:50:54 ID:UU8ZUtmv.net] あー、じゃゲームそのものを作るわけじゃないんだ。 そういうのは似たようなゲームを何個も作ってから考えるんじゃないの?
455 名前:名前は開発中のものです。 mailto:sage [04/10/29 06:17:48 ID:BgZ8oHeN.net] スライムだってアニメーションしながら動きますよ。 gamdev.org/up/img/1709.jpg
456 名前:名前は開発中のものです。 mailto:sage [04/10/29 06:24:27 ID:qQ8ZbLd9.net] >>454 それが、プログラミングスキルはあるが ゲームを作ったことが無い人が陥る罠だ
457 名前:名前は開発中のものです。 mailto:sage [04/10/29 23:17:08 ID:Zus9+Ne0.net] >452,455 なんとかツクールっぽいのはしかたがないけど 作成した言語は何かな? JavaやVBなら比較的簡単だからねェ。
458 名前:名前は開発中のものです。 mailto:sage [04/10/30 01:36:29 ID:hl13v9Yk.net] 言語はインタプリタでも高速に動く時代だし 自分が知ってる言語でさっさと作れていれば問題ないぞ 親父がこだわってツールの言語とかにも融通をきかせれない結果分解したともとれる 過程も大事だが、その過程もなくサイト開いたり具体的にあらわしていたのは 新人のほうだけ まぁ新人南無というスレだ
459 名前:名前は開発中のものです。 mailto:sage [04/10/30 04:45:47 ID:XUVveJNs.net] >458 まあ、親父氏はDirectXの情報がほしかった、っぽいけどね! しかし、フレーム表示だけでもupしただけマシとみるべきだ (みたかぎりでは、VCで作ったフレームにはみえなかったけど)
460 名前:名前は開発中のものです。 mailto:sage [04/10/30 04:54:54 ID:XUVveJNs.net] >458 >自分が知ってる言語でさっさと作れていれば問題ないぞ いや、いまさらMS-DOSモードでつくられても、、、
461 名前:名前は開発中のものです。 mailto:sage [04/10/30 06:56:23 ID:0ycsf0g8.net] >>457 Delphiですよ。 三頭身にしてみた。 gamdev.org/up/img/1729.jpg
462 名前:名前は開発中のものです。 mailto:sage [04/10/30 10:48:36 ID:L54vnZuk.net] >>458 俺はこういう流れだと思う プロジェクトに人をいれる 入れた人間が独断専行し始める 意図していた方向に進まなくなる やる気がなくなる 良くある話
463 名前:名前は開発中のものです。 mailto:sage [04/10/30 12:55:39 ID:F+QdzJMq.net] 最後はおきまりのハードディスククラッシュでとんずらですか
464 名前:名前は開発中のものです。 mailto:sage [04/10/30 13:31:18 ID:hl13v9Yk.net] まともな考えの持ち主ならバックアップ取ってるはずなんだがな
465 名前:名前は開発中のものです。 mailto:sage [04/10/30 19:20:31 ID:cRS7fzGT.net] >>464 ここの人じゃないが、最近HDDクラッシュで自分のデータほとんど失ったぞ 1ヶ月前バックアップしたMOも壊れてたorz
466 名前:名前は開発中のものです。 mailto:sage [04/10/30 23:33:19 ID:i2+Z3JZN.net] ソースを定期的にアップロードしておけば良かったのに。
467 名前:名前は開発中のものです。 mailto:sage [04/10/31 01:01:08 ID:CzxbfcvK.net] 攻撃可能になりました。 gamdev.org/up/img/1743.jpg
468 名前:名前は開発中のものです。 mailto:sage [04/10/31 02:20:38 ID:dezWJ3do.net] >>467 がんばれ ちみがこのスレ再利用してくれ
469 名前:名前は開発中のものです。 mailto:sage [04/10/31 23:32:20 ID:fh/b9WyJ.net] HDDを複数つないで、しょっちゅうコピーしてないの?
470 名前:名前は開発中のものです。 mailto:sage [04/11/02 04:10:43 ID:uhXzk5Nq.net] 行き詰まったから、ハイドライドタイプのアクションRPGを作ろうとしたけど、 そっちの方が難しかった。 階段上り下り中は衝突判定が無くなるのかな。 でないと、頭がぶつかって上れない
471 名前:名前は開発中のものです。 mailto:sage [04/11/02 12:00:46 ID:KF4w3WQZ.net] ハイドライドは見下ろし型だろ
472 名前:名前は開発中のものです。 mailto:sage [04/11/06 06:51:16 ID:mvHt1yOh.net] もうマップチップだけだなんて言わせない。 gamdev.org/up/img/1799.lzh gamdev.org/up/img/1800.jpg
473 名前:名前は開発中のものです。 mailto:sage [04/11/08 14:37:25 ID:v33V7XiK.net] ガンガン攻撃しまくってしばらく遊んでたよ。 かなりいい出来だな。 ちょっと考慮して欲しいんだが、 敵も自キャラもダメージ受けたら引いた方が良くないか?
474 名前:名前は開発中のものです。 mailto:sage [04/11/08 21:45:27 ID:c5XeeqoT.net] USBメモリにバックアップ取れよ
475 名前:名前は開発中のものです。 mailto:sage [04/11/08 23:21:35 ID:5/r76r9w.net] やってくれた人いたー! gamdev.org/up/img/1818.lzh ダメージひかれます。 一度の攻撃で死んだ場合はバーを点滅させるか、少しずつ減らすか した方が良さそうですが、後回しです。 簡単なBGMあり。 ジャンプ時と着地時に効果音あり。 鍵をとって扉に入れます。 単純なアルゴリズムのボスキャラあり。 時間も経るし、スコアも入ります。
476 名前:名前は開発中のものです。 mailto:sage [04/11/09 01:11:06 ID:dXHv6g2L.net] がんばれ
477 名前:名前は開発中のものです。 mailto:sage [04/11/09 10:12:51 ID:SDXBmGRH.net] >>475 Debian+wine20040716で動作しました。 なんか悪魔城ドラキュラ思い出すね。
478 名前:名前は開発中のものです。 mailto:sage [04/11/10 05:18:54 ID:8S47tk+T.net] 面白い! まだマップ管理系のシステムを練ってるところなんだとは思うけど、 もっと広大なエリアを歩き回ってみたい。がんがれ!
479 名前:名前は開発中のものです。 mailto:sage [04/11/10 16:15:29 ID:9nEHLgUo.net] 悪魔城よりも先にYsIIIを思い出した。
480 名前:475 mailto:sage [04/11/11 04:12:59 ID:sPBtL0QG.net] >>478 現段階で広大なマップも作成かのうですよ。 16x11で割り切れる長方形にすればOK。 あとは、 動く床(ブロック) ナイフを飛ばす 背景アニメーション
481 名前:名前は開発中のものです。 mailto:sage [04/11/16 01:30:43 ID:fto+RzTX.net] とりあえず動く床。 gamdev.org/up/img/1886.lzh
482 名前:名前は開発中のものです。 mailto:sage [04/11/16 22:12:43 ID:kq6+iAbN.net] マップを書き換えても遊べるね
483 名前:名前は開発中のものです。 mailto:sage [04/11/17 00:06:58 ID:ZHPNjlat.net] スピード上げると階段が上れなくなるね
484 名前:名前は開発中のものです。 mailto:sage [04/11/17 14:08:12 ID:rlNYN/ED.net] プレイ中にマップ書き換えたらゲームオーバーになるのか……
485 名前:481 mailto:sage [04/11/18 23:59:31 ID:Y1BiVZsl.net] >>483 それはなんとかなりますが。 >>484 そんな事できますか? わたしは面白くないと思うのですが、 このまま完成度を高めたら面白くなりますか? それとも作った本人には楽しめないのでしょうか? ライブラリやクローンに逃げる理由はこのへんにあるのでしょうか?
486 名前:484 mailto:sage [04/11/19 14:36:47 ID:VR4yU6Z1.net] 今やってみたらマップ書き換えてもゲームオーバーにならなかった。 なんか勘違いしてたみたい。ごめんよ。 > わたしは面白くないと思うのですが 多分、細かいところで面白さが欠けてるんだよ。 ジャンプの挙動が単調だとか、敵はボス以外移動してるだけで攻撃してこないとか。 既存のアクションゲームをもっと注意して見てみるとどこが違うのかよくわかるよ。 俺はメタルスラッグってゲームが好きなんだけど、 ・敵が単純ながら攻撃してくる ・一番単純な放物線だがちゃんとジャンプする ・マップに凹凸があるけど大きな段差以外はそのまま歩いて進めるし、 歩く速度も速いので普通に歩き回ってるだけでもフラストレーションにならない みたいないい部分がある。 まず、どういった状態にしたいか、理想を考えてみて、 次に今のプログラムの状態と見比べてみる。 それで改善が困難だと思ったら作り直してみてもいいんでないかな。 重複する作業も少なくはないと思うから、二度目はそんなに手間かからんと思うよ。
487 名前:名前は開発中のものです。 mailto:sage [04/11/20 05:57:51 ID:dJO277JK.net] 親父より期待できるな
488 名前:名前は開発中のものです。 mailto:sage [04/11/20 06:09:36 ID:E0zTh0s1.net] >>486 メタルスラッグはゲーセンでやった事あります。 では、次は敵魔術師を登場させてファイヤーボールを発射させてみます。
489 名前:名前は開発中のものです。 mailto:sage [04/11/20 09:47:34 ID:z6kdR0Io.net] 体力バーと文字がイースのに似てる
490 名前:名前は開発中のものです。 mailto:sage [04/11/20 16:05:24 ID:d3ZA3Kvz.net] がんがれ
491 名前: ◆JR1fHEKlGE mailto:sage [04/11/23 04:33:11 ID:W1+tdUqy.net] そう言えば、攻撃時は41x40や42x40でもいいですよ。 一連のコマ(攻撃時の3パターン)を全部同じ大きさにする事と、 キャラの位置を同じにしてくれれば問題ありません。 このコマを3フレーム、次のコマを5フレーム表示して欲しい と言うのがあったら言って下さい。
492 名前:名前は開発中のものです。 mailto:sage [04/11/23 04:45:18 ID:W1+tdUqy.net] F6を押して、Spaceでコマ送りになりますよ。 ファイヤーボールはまだ。 gamdev.org/up/img/1955.lzh
493 名前:FINALFACTs ◆iWNwl/.CWE mailto:sage [04/11/25 04:19:19 ID:APawskSi.net] ttp://gamdev.org/up/img/1977.zip とりあえず、ちょっとばかし編集しました。 キャラ絵は無いです。 なんか、まともなキャラ絵が書けない・・・。 絵の練習し直ししているので、もうしばらくお待ちください。 とりあえず、日曜日の朝ぐらいまでに上げるんで。
494 名前: ◆JR1fHEKlGE mailto:sage [04/11/25 23:35:27 ID:YMCVen1o.net] マップチップはちょっと待って下さい。 まだ細かい所を考えていません。 案としては、 足元を隠せば、階段を上り下りするアニメーションがいらなくなるかもしれない。 段は背景のマップチップと合成する。 の二つです。 両方採用すると良いかな。 Stage1.mapでドアの位置は指定していますが、ドアはマップチップではなくて 背景に描画するキャラクタとして存在します。 これなら背景はマップチップに依存しなくなるので、多彩な背景を描画できそうです。 あと、急がなくてもいいです。 私やゲームの為ではなくて、何よりも自分の為に描いて下さい。
495 名前: ◆JR1fHEKlGE mailto:sage [04/11/26 00:20:28 ID:DSOP7/2E.net] gamdev.org/up/img/1982.lzh S で敵魔術師がファイヤーボールを発射します。 内部を見直し中なので、おかしいところがあるかもしれません。
496 名前:FAINALFACTs ◆Vyfxi/dpqw [04/11/27 13:41:46 ID:HU8qFqJW.net] >>494 (JR1fHEKIGE) パソコンが、動かなくなりました。 水曜〜10日ぐらいで復活できると思います。 ネットカフェで、スキャナが使えればその間でもUpしにきます。
497 名前: ◆JR1fHEKlGE mailto:sage [04/11/28 02:25:27 ID:BsHPkVqA.net] はっきり言って、完成させようと思ったらものすご〜く大変なので、 完成しないものと思った方が良さそう。 だから、そこまでやらなくてもよいと思うのですけど。 プレイヤーのドット絵は、半身と下半身を分離すればよかったかも。 ジャンプとしゃがみを同じにして。 上半身は (歩き、攻撃)*左右 下半身は (歩き、階段上り下り、しゃがみ=ジャンプ)*左右
498 名前:名前は開発中のものです。 mailto:sage [04/11/28 03:31:17 ID:jsiKMzm2.net] どうせそこまでやるなら上半身と下半身をクラスで分けちゃえば。
499 名前: ◆JR1fHEKlGE mailto:sage [04/11/28 23:32:26 ID:FK1fXaYR.net] マジックミサイル(ホーミング)を撃たせてみた。 グラフィックがちょっとおかしい。 Sで発射、 F8で無敵。 gamdev.org/up/img/2007.lzh >>498 そこまでやらなくても。
500 名前:名前は開発中のものです。 mailto:sage [04/11/30 01:59:20 ID:1EZNHerE.net] ステータス部分を変えてみた。 gamdev.org/up/img/2018.png
501 名前:名前は開発中のものです。 mailto:sage [04/12/02 06:34:54 ID:gmh1+o4i.net] DirectSoundで効果音を鳴らしたら、なぜか遅れて音がでる。 gamdev.org/up/img/2033.lzh
502 名前:名前は開発中のものです。 mailto:sage [04/12/04 01:32:10 ID:wjOWKZbP.net] あー難しい。 上半身と下半身を別けた所から訳が分からなくなった。 こういうゲームの方がいいかな。 gamdev.org/up/img/2045.png
503 名前:名前は開発中のものです。 mailto:sage [04/12/04 02:03:38 ID:S1GApVQc.net] (・∀・)?
504 名前:FAINALFACTs ◆WcOabcjNAM [04/12/06 14:13:57 ID:0//szTZE.net] >>502 もう少ししたら、パソコンが復旧できるらしいです。 予定では、木曜日までに復旧です。キャラ絵はそのときにUpします。 キャラの方は、しゃがむ必要があるなら、必要におおじて書きますよ。 三頭身(今の等身)でも十分できると思います。(半分とまではいかなくても)
505 名前:FAINALFACTs ◆WcOabcjNAM mailto:saga あげてしまtった [04/12/06 14:16:32 ID:0//szTZE.net] キャップが違いますが、木曜にはちゃんとしたのが使えると思います。 ・・。アハハハハ
506 名前:名前は開発中のものです。 [04/12/06 15:22:31 ID:hC0ocwBs.net] ほれ。 himatsubu.fc2web.com/22/fir/ かなりシュールな心理テストでオモロイ。
507 名前: ◆JR1fHEKlGE mailto:sage [04/12/07 06:58:33 ID:6mg17QSn.net] ではお願いします。 上半身と下半身に分けるのは、 プログラムが出来てから考えます。 階段をやめて、梯-子にするとかなり楽そうですけど、 階段で頑張ります。
508 名前:名前は開発中のものです。 mailto:sage [04/12/07 19:06:51 ID:8ArU9Es6.net] 親父PG 結局とんずらかよ ハードディスククラッシュて ド素人じゃねぇか
509 名前:名前は開発中のものです。 mailto:sage [04/12/07 19:21:28 ID:pRNw5ifO.net] 適当に使っていいよ、このスレ スレッド名に自分の名前いれてトンズラってどうしようもないからな
510 名前:名前は開発中のものです。 mailto:sage [04/12/07 21:57:21 ID:RerrmthA.net] 終了荒らしもアレができなくなったから段々手が混んできたね。
511 名前:名前は開発中のものです。 mailto:sage [04/12/07 23:46:17 ID:pRNw5ifO.net] 終了荒らしってなんだ?
512 名前:名前は開発中のものです。 mailto:sage [04/12/08 20:26:19 ID:DyTqBWcM.net] この板の過去スレいくつか読んでいればすぐわかるよ
513 名前:507 mailto:sage [04/12/16 05:33:25 ID:zuxWYHp5.net] 飽きたので辞めます。 絵を描いてくれた人、ごめんなさい!
514 名前:名前は開発中のものです。 mailto:sage [04/12/16 08:21:48 ID:nYcbMoQ4.net] >507 この根性なし!
515 名前:名前は開発中のものです。 mailto:sage [04/12/16 08:57:20 ID:VuAamGHE.net] 同じトリップ出したら信じてやる。
516 名前:名前は開発中のものです。 mailto:sage [05/01/23 21:29:46 ID:6oxyZTGh.net] このスレ使われてないなら俺が勉強しながら何か作ってもいい?
517 名前:名前は開発中のものです。 mailto:sage [05/01/23 22:25:13 ID:oL+WWsWJ.net] 許す
518 名前:516 mailto:sage [05/01/24 00:00:03 ID:4d7vmFMm.net] 3Dをやった事が無いのと、Cは少しできますがC++がわからないので ここら辺を勉強しながらやってみようと思います。 題材はSLGでいこうかと。 とりあえずホムペ作ってきます
519 名前:名前は開発中のものです。 mailto:sage [05/01/24 00:13:28 ID:+Mkj565D.net] 言語は手段であって目的ではないっ といいたいが、言語の勉強ならべつにかまわんか まずはアクションやシューティング、パズルなど結果がすぐに目に見えるもののほうがいいと思う 他の人にも遊んでもらいやすいしね
520 名前:516 mailto:sage [05/01/24 23:51:19 ID:4d7vmFMm.net] 帰宅が遅くなりました ほむぺ ttp://gpj.hp.infoseek.co.jp/ アクションやシューティングは難しそうな気がしますがどうでしょう?
521 名前:名前は開発中のものです。 mailto:sage [05/01/25 01:37:32 ID:r+t1N9De.net] 一番簡単なのは実はシューティング ものにもよるが、主に縦だと細かい地形判定とか必要ないし 絵を表示できてキーボードからの入力ができればもうすぐだね 低コストで開発できるからこそいまだに細々とアーケードででたり 仕事のあいまに作る同人やフリーソフトでは2DSTGはわりとシェアがあるかと 仕事でやるならそれなり二時間掛けるからジャンルはなんでもいいのだろうけどね 逆にプログラムは容易でも開発が最後までいかないのがRPG
522 名前:516 mailto:sage [05/01/26 03:03:17 ID:KA1rKiUq.net] なんか動作がおかしいですが 明日も朝はやいので寝ます つ ttp://gpj.hp.infoseek.co.jp/cgi-bin/uploader/src/0002.zip
523 名前:名前は開発中のものです。 mailto:sage [05/01/26 03:21:40 ID:QwoyVc3J.net] シューティングはグラフィックを用意しやすいというのもある。
524 名前:名前は開発中のものです。 mailto:sage [05/01/26 03:36:05 ID:s02mdSIF.net] >>522 別におかしいとは思わんが・・・ この調子だと516がシューティング作るのもそう遠くはないな。
525 名前:名前は開発中のものです。 mailto:sage [05/01/26 14:36:49 ID:JeRKJ8s4.net] >>522 いきなり音なってる。 ホムペもよくできてるし。 すごいなあ。 エロゲとか作ったことあるんですか?
526 名前:516 mailto:sage [05/01/27 01:30:57 ID:dvRkyvO3.net] 動作がおかしいと言ったのは希に例外が出たりでうまく終了しなかったりするので 素材があるならシューティング作るのはかまわないんですけど あんまり見かけないですね 前回のは絵も音もフリー素材ですし コードも以前作った物から適当に切り貼りして辻褄合うように書き換えた だけなのであんまり手間はかかってないのですよ 明日も早いので今日は何も無しです 今後は早起きして作業する方向にします
527 名前:名前は開発中のものです。 mailto:sage [05/01/27 09:50:58 ID:3kFZzIX6.net] ゲーム作った経験があるなら、 シューティングにこだわる必要はないかもしれないですね。 早起きとか大変そうですけど、がんばってください。
528 名前:名前は開発中のものです。 mailto:sage [05/01/27 23:08:03 ID:Q1silL9f.net] 言語何か知らないけど、無効なポインタにはちゃんとNULL代入している?
529 名前:516 mailto:sage [05/01/29 02:38:11 ID:VHgFIMGL.net] 昼休みにUSBのコントローラ買って帰って来たのですが シューティングじゃなくてもいいっぽい流れになってるのですね・・・ 応援してくれる方もいるみたいでもうちょっとがんばろうかと思ったり? 言語はCですVC6使ってます 新しいDirectX SDKが対応しなくなったみたいなので そろそろ買い替えが必要そう 〜おかしい話ですが >>528 の問題はビルド時の構成でメモリ状態の違いがあり Releaseビルドした時に問題が出るってやつですかね? ポインタも含めて初期化はしてますが その他色々の所が激しくいい加減なのでモニョ 気にかけてくれてる人もいるみたいなのでこんな感じですってやつを↓に エラーが出るパターンはDLL内部で起きていてインターフェイスの破棄忘れとかがあるのかも? アプリが固まる流れはCoUninitialize でブロック↓ COM解放待ちのスレッドを WaitObject INFINITE で待ってる間イベントループもブロック↓ 結果固まってるように見える こんな感じです ネタなので無かった事にしてさらっと流そうかと とりあえず、また何か作ってみます
530 名前:名前は開発中のものです。 mailto:sage [05/01/30 04:31:51 ID:Qe6b8yAX.net] 楽しみにしとります。
531 名前:名前は開発中のものです。 mailto:sage [05/01/30 14:41:41 ID:eKeNmJlW.net] ソース出してみれ。 ちゃんと全部読んでやるから。
532 名前:名前は開発中のものです。 mailto:sage [05/01/31 03:24:32 ID:iPNK9omT.net] マルチスレッドとかインターフェースとか使わない方が堅実に作れますよ。
533 名前:516 mailto:sage [05/01/31 23:03:18 ID:0EeOdMck.net] 帰ってきました 中学生も寝ない時間に寝ますのでレスだけ 今は縦シューティングっぽい何かを作ってます せっかくコントローラを買ってきたので対応しました 素人以下の絵が全力でやる気を削ぐ脱力風味です リリースまでしばらくお待ちを 不具合ですが悪い所の見当もついてますしそのうち直します マルチスレッドでのコーディングは好みの問題ですが OggVorbisのデコードに結構時間かかりますし アーカイバからデータ展開するのにも時間かかるので妥当だと思いますよ ではまた
534 名前:516 [05/02/03 01:19:49 ID:yiICYg0t.net] 作業途中のup つ ttp://gpj.hp.infoseek.co.jp/cgi-bin/uploader/src/0003.zip
535 名前:516 mailto:sage [05/02/03 01:21:05 ID:yiICYg0t.net] orz
536 名前:名前は開発中のものです。 mailto:sage [05/02/03 01:32:44 ID:h8r1D1W3.net] >>534 (>>516 ) すまんが、エラー出て何も言えん おそらく漏れPCに原因があるかと・・・
537 名前:名前は開発中のものです。 mailto:sage [05/02/03 15:32:05 ID:LbC3BrX1.net] 動いた動いた。敵も倒せた。 俺のマシンが二世代ぐらい前(ThinkPad X20)だからかもしれんが、 開始時の中央位置から画面左端に移動するまで最高速で三分ぐらいかかるな……
538 名前:名前は開発中のものです。 mailto:sage [05/02/03 16:00:18 ID:iQjN0w7W.net] おお、いいね。既にMSX時代よりいいね。 キーボードだと弾を撃ちながら、斜め移動できないのがちと気になるかな (同時押し最大数云々のハード的な問題じゃなくて)。パッドだと問題なかったっす。 まぁ、軽く作ってみただけだろうし。 一瞬「当たり判定が小さくて俺好み!」とか思ってしまった。
539 名前:名前は開発中のものです。 mailto:sage [05/02/03 16:48:30 ID:J3eLPxj0.net] >>534 キャラが左上にかってにうごく キーボードだとまったく動かない 負荷はCPU使用率は2%程度なので問題なし 環境は PentiumM725/855GME、XP
540 名前:537 mailto:sage [05/02/03 22:39:39 ID:LbC3BrX1.net] んじゃうちはビデオカードがタコでHALになってないんだな。 悪い悪い、気にしないでくれ。
541 名前:516 mailto:sage [05/02/03 23:52:05 ID:yiICYg0t.net] こんばんわ ボロクソに叩かれてるだろうなぁと思いながら帰って来たのですが そんな事も無く動作報告までしてくれる貴殿方々に惚れそうです >>537 氏の言う通りDirectXの初期化は 早いデバイスから順に試して動く物を選択するようにしていますので 遅い場合もあるかもしれませんが タイミング管理がかなりいい加減なのでそっちが原因かもしれません >>539 氏の勝手に動く問題はプログラムの問題で 軸の中央値を設定してないのが原因です 軸を検出するCALLBACKの中でSetPropertyすれば直るかと思ってます 作ってる最中に同じ現象を確認してたのに放置してましたスマソ もしデジタル軸でこの現象が出てるなら考え方を改め もうちょっと手抜きしないように改心します キーボードだと動かないのはちょっと考えてみますね スペースキーも駄目ですか? >>538 氏の問題はちょっと興味があります プログラム的にはキーボードでも斜めに移動しながら弾が撃てるようになってます 開発環境では使ってるKVMスイッチがPS2なので キーボードもマウスもPS2の環境ですが斜め移動+弾の発射はできてます PS2またはUSBをPC直挿しでその状態でしたら、かなり悩ましいです キーボードはバッファリングして いらないデータを捨てる方向のがいいような気がしてきました ここは勉強になるインターネッツですね 長文失礼
542 名前:名前は開発中のものです。 mailto:sage [05/02/04 12:34:51 ID:QfOMST7c.net] > キーボードはバッファリングして > いらないデータを捨てる方向のがいいような気がしてきました 使用しないキーを捨てるって意味? それとも、多すぎたキーを捨てるって意味?
543 名前:名前は開発中のものです。 mailto:sage [05/02/04 15:40:07 ID:uPjPpADz.net] キーボードで操作 そんなことが可能なのか・・・ あれはハードの問題だと思ってました。
544 名前:538 mailto:sage [05/02/04 18:53:57 ID:mXaHlELa.net] >>541 それがPS/2なんですよ。いやでもうちだけかも知れないし、お気になさらずに。完成目指して下さいな。 些末に煩わされ始めるとモチベーション落ちますしね。 一応うちのをDirectInput、GetKeyState辺りでテストしてみましたが、拾えてるみたいです。
545 名前:名前は開発中のものです。 mailto:sage [05/02/06 03:46:47 ID:Ma8s9baR.net] 言語は何使ってんだ?
546 名前:516 mailto:sage [05/02/07 21:57:07 ID:FJrYKXbd.net] 土日も仕事だったので全く進んでないですが生存報告 軸の設定はやりましたけど買ってきた物は8%位ずれてました >>542 氏の意図がわかりませんが両方です バッファリングしてサマリしたら操作感がどう変わるかみたかっただけですよ >>544 氏わざわざ検証までしてもらったみたいでありがとう 頭の片隅に残しておきながら何か思いつくまで無かった事にします >>545 Cです シューティングは次くらいで終わりにしようと思います
547 名前:名前は開発中のものです。 mailto:sage [05/02/07 23:03:02 ID:I7lXy+J5.net] 何のゲームでもいいけど、最低限の実装でいいから完成させるくらいじゃないとみにつかんぞー
548 名前:542 mailto:sage [05/02/07 23:32:14 ID:pm45371y.net] >>546 何でわざわざあんなことを聞いたかと言うと、 多すぎるキー情報を捨てた場合、 「おい、処理落ちでキー情報捨てられた! 俺はさっきからボム押してるっつーの!」 なんて状況が発生し得るから。っていうか間違いなく起こる。 使わないキーは捨てていい。 でも、必要なキーの情報は全部残せ。 じゃないとまともに動かなくなる。 あと、まあ他に作りたいものがあるから先にそっちやりたいってんならいいんだが、 >>547 の言う通りある程度大きなものを作らないとプログラム全域を見渡す能力がつかないぞ。 非常に視野が狭いまま、全体の整合性を付けるのに苦労し続けることになる。 グダグダでも何でもいいから少し大きいものに手を出して、 そしてどう改善していけばいいか考えるようにした方がいい。
549 名前:516 mailto:sage [05/02/19 09:41:54 ID:iBs9S8/t.net] 規制に巻き込まれてたのですがスレ伸びてないですね
550 名前:548 mailto:sage [05/02/19 14:41:08 ID:SeeIdQIF.net] >>549 あ、なんだやってたのか。 このスレ沈みっぱなしだったから見てる人かなり少ないだろうし、 多分みんなお前がいなくなったんだと勘違いしてたんだと思うぜ。 で、サイトの方にあったレスにレスするぞ。 > >>548 それはむしろ今の状態というか > 今はゲームループの中で1回ポーリングしてその瞬間のデータで処理をします > これは言い換えると次のポーリングまでの間のデータを捨てているのと同じです > 多すぎるデータは最終的に捨てなければなりません > バッファリングでキューにデータが溜まるなら > プログラムがデータの処理を選択できるのではないでしょうか?ということです > 嘘ついてたらスマソ OS 側にイベントキューってのがあって、 ポーリングとポーリングの間にアプリケーション(この場合お前のプログラム)が受け取った情報は全て OS 側で勝手にイベントキューのバッファに保存されてる。 つまり、「次のポーリングまでの間のデータを捨てているのと同じ」ではない。 巨大なファイルを圧縮したりして CPU に負荷をかけまくると、 チャットで入力した文字が遅れて表示されたりしないか? ありゃ負荷が掛かってる間に溜まってたイベントを アプリケーションが後からポーリングして受け取ってんだわ。 Windows とか、Unix + X とか、MacOS とか、最近の OS は普通そういう実装になってる。 Windows の場合、限界を超えた量のキー入力を受け取ると アプリケーションに渡す以前に Windows が根を上げてビープの警告音を鳴らす。 つまりキーイベントのバッファリングも、 受け取れないほどの量のキーイベントを破棄する処理も、 既に OS 側に実装されてる。
551 名前:516 mailto:sage [05/02/19 19:23:48 ID:iBs9S8/t.net] 私の説明不足感が否めないのでレスします まずはじめに、最初に作ったプログラムはキーイベントから入力を拾っています 絵が表示できてキーボードで操作できたらシューティングっぽいって話だったので おまけ感覚で入力を付加したけどスルーでしたね・・・ 次のシューティングっぽい物はDirectInput直接データを使っています > キーボードはバッファリングして > いらないデータを捨てる方向のがいいような気がしてきました これは言い換えれば現在バッファリングしていませんということです >>544 氏も書かれていますが、Win32なら GetKeyboardState の方が近いでしょう > 軸を検出するCALLBACKの中でSetPropertyすれば直るかと思ってます 何故イベントから入力を拾っていると勘違いしたのかわかりませんが 実際に使ったことがある人なら、ここらへんでDInputを使っていると察しがつくだろうと考えていましたが浅はかだったようです ゲームパッドはDInput使ってもキーボードやマウスは従来通りで処理する人もいると思いますが 動きのあるゲームプログラムで入力をメッセージキューに結び付けるのはちょっと乱暴です >>548 氏の言っている事が間違っていると言ってるわけではなく 私は直接データの話をして、548氏はメッセージキューを使っている事を前提に イベントドリブンの話をしている違いに過ぎません
552 名前:548 mailto:sage [05/02/19 22:09:02 ID:SeeIdQIF.net] > 動きのあるゲームプログラムで入力をメッセージキューに結び付けるのはちょっと乱暴です まったくその通りだ。 すまん、俺が勝手に勘違いしてしまってた。 言い訳すると、実はゲーム屋じゃないのよがはは。 一番最初の話に戻す。 キー情報はそのフレームで使う分を取得するだけでいいから、 バッファリングする必要は無いんじゃないかな。 フレームの開始ごとに新しくキーマップを取得すべきだし、 それ以外のタイミングで取得したキーマップを使う場面が浮かばない。
553 名前:名前は開発中のものです。 [2005/05/14(土) 13:53:42 ID:ZEgVRKUL.net] 今ごろ、親父PGはどこで何をしているのだろうage
554 名前:名前は開発中のものです。 mailto:sage [2005/05/14(土) 16:37:25 ID:7Tz1A4Jg.net] なにこの良スレ
555 名前:名前は開発中のものです。 mailto:sage [2005/05/14(土) 17:26:56 ID:Paq2TGj/.net] 懐かしいな、このスレ まただれか活用してくれ
556 名前:名前は開発中のものです。 mailto:sage [2005/05/14(土) 20:22:15 ID:omksdaSL.net] 良スレ発見
557 名前:名前は開発中のものです。 mailto:sage [2005/10/11(火) 07:02:42 ID:kLBdLptE.net] gamdev.org/up/img/3529.lzh ちょっと作ってみたのですが、どうでしょうか? 敵は出ません。 カーソルキーで移動、Zキーで発射です。 最後までスクロールしたら、F9で最初に戻ります。
558 名前:名前は開発中のものです。 mailto:sage [2005/10/11(火) 13:34:21 ID:jKMzqgum.net] 何を評価して欲しいんだかわからんす。普通に動くよ。
559 名前:557 mailto:sage [2005/10/12(水) 00:19:26 ID:znuWtBEm.net] 問題無く動いたらそれで良いです。 次はマップエディタ作って、敵を配置して 当たり判定付けます。
560 名前:名前は開発中のものです。 mailto:sage [2005/10/13(木) 12:46:16 ID:qHul1ILG.net] >>552 コマンド入力。
561 名前:名前は開発中のものです。 mailto:sage [2005/10/19(水) 05:12:32 ID:7eXt/o8U.net] Aキーで敵が出て、当たり判定もあります。 gamdev.org/up/img/3562.lzh
562 名前:名前は開発中のものです。 mailto:sage [2005/10/21(金) 02:21:35 ID:TQGWbfQM.net] gamdev.org/up/img/3565.lzh 自動的に敵が出現します。 Sキーで敵が弾を発射します。 後は、 敵を沢山配置する。 攻撃を自動化する。 敵の種類を増やす。 敵と自機の攻撃方法を増やす。
563 名前:名前は開発中のものです。 mailto:sage [2005/10/29(土) 23:37:10 ID:etEGubDM.net] 3方向ショットにボスキャラ付き。 gamdev.org/up/img/3604.lzh
564 名前:名前は開発中のものです。 mailto:sage [2005/11/26(土) 02:04:14 ID:zwQZIttK.net] 画面だけ見ると期待できそうだけど、 ものすんごいつまらないからやめる。 gamdev.org/up/img/3907.jpg
565 名前:名前は開発中のものです。 mailto:sage [2006/04/28(金) 09:02:31 ID:MsACIxME.net] 今ごろ、親父PGはどこで何をしているのだろう。
566 名前:名前は開発中のものです。 mailto:sage [2006/06/02(金) 15:33:48 ID:aoUDSlad.net] キーバッファがどうのこうのいうのが最後の書き込み? XPでキー同時押しで本体Beepがピーピーいうのは 最近初めて知りマスタ。たぶんこれの解消をしようとしてそれっきりに? とにかくなんでもあるからね・・・ライブラリならSDL、DXライブラリ、 他のスレではシューティングツクール、スクリプトなら豆乳、 アドベンチャーなら吉里吉里、簡易言語ならHSP、AB・・・ おやじさまが作りそうなものはすべて揃ってる。 もし一番欲しいものをと聞かれたら3DMMO RPGツクールだろうか。
567 名前:名前は開発中のものです。 mailto:sage [2006/07/16(日) 20:42:30 ID:fs7bxhod.net] スレ主は凄い知識もってるみたいだけど、結局2004年9月で まとめページの更新終了されてる。 やはりゲーム作りに必要なのは躓いても 投げ出さない根気なんだな…今の俺に作り始める 資格はあるのだろうか。
568 名前:名前は開発中のものです。 mailto:sage [2006/08/10(木) 20:02:17 ID:UXnD9CIA.net] 関連スレ NEETの俺が無料ソフトだけでRPGを作るスレ pc8.2ch.net/test/read.cgi/gamedev/1152609390/
569 名前:名前は開発中のものです。 [2006/09/22(金) 21:21:48 ID:iYNT4fJm.net] 親父戻ってこいよ!!
570 名前:名前は開発中のものです。 mailto:sage [2006/09/23(土) 23:48:54 ID:5B2t9XQk.net] 親父さま、結局動くものは一つもup無しでしたっけ?
571 名前:名前は開発中のものです。 [2006/10/10(火) 21:34:59 ID:Wu1hOgHH.net] warota
572 名前:名前は開発中のものです。 mailto:sage [2006/10/11(水) 00:26:04 ID:25nMnDje.net] 今は もう 動かない〜
573 名前:名前は開発中のものです。 mailto:sage [2006/11/13(月) 02:38:20 ID:UMHcizAv.net] 今は もう 秋た…
574 名前:名前は開発中のものです。 mailto:sage [2007/01/12(金) 16:20:35 ID:r6ASBmR/.net] フォッシュフォッシュ
575 名前:名前は開発中のものです。 mailto:sage [2007/01/25(木) 13:37:04 ID:WhfH6lHO.net] 良スレ!っと思ったら、もうだめぽ… という訳でこのスレでの議論内容は、僕が有効利用させて頂きます。 この出会いに感謝。 あ〜、素人が一人でゲーム作るなんて大変だ〜… まず十年はみとかないとね。 なんせ、技術的な事から調べないといけないからな〜… まったくもって一人ALL開発はマゾゲーだぜ。
576 名前:名前は開発中のものです。 [2007/01/25(木) 17:23:07 ID:hJSWH9Vy.net] 晒しage
577 名前:名前は開発中のものです。 mailto:sage [2007/01/25(木) 17:23:51 ID:GHH80Ulb.net] がんが
578 名前:名前は開発中のものです。 mailto:sage [2008/02/07(木) 21:23:59 ID:nPu7yHcN.net] 参考にしようとした本のリスト (1)図解TURBO Cプログラミング入門、湯田幸八(一応全部読んだ) (2)14歳からはじめるC言語わくわくゲームプログラミング教室(約8割) (3)14歳からはじめるC++わくわくゲームプログラミング教室(約8割) (4)図解・標準最新C++ハンドブック、杉浦賢(約7割) (5)15歳からはじめるDirectX9 3Dゲームプログラミング教室C++編(DirectXに入る前の最初の数章だけ目を通したが、挫折。) (6)Windowsゲームプログラミング、赤坂玲音(挫折。ソースリストは飛ばし、文章のところだけ流し読みした。) やる気が続くかどうか微妙なところ
579 名前:名前は開発中のものです。 [2008/02/08(金) 06:44:51 ID:fpTK7+RB.net] 晒しあげ
580 名前:名前は開発中のものです。 mailto:sage [2008/02/09(土) 19:23:38 ID:pzLcJY/i.net] from >>578 なぜか上がってる・・・orz ある2つのスレからの誘導を繰り返してココに来た。 誘導されたからその通りに・・・ってワケでもないけど、 単独専用スレを作ってもやり遂げる可能性は薄いので、 とりあえずココでやってみよ〜! ・・・と思った。
581 名前:名前は開発中のものです。 mailto:sage [2008/02/09(土) 22:27:34 ID:WPR4aRZ3.net] よし、親父点呼だ! とりあえずPG35歳定年説に基づいて35歳以上は親父かな… 誰も居なかったらPG30歳定年説に基づいt(ry
582 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 00:11:38 ID:nh642Xtj.net] from >>580 あれ?さっきは誰もいなかったのに・・・、行き違いのようです。 その分類だと親父・・・です。w 当分の間は本での勉強を続け、実際に組めるかどうかはその次の段階なのでまだまだ。 本(14歳からのC++)読みながらのコピペで最低限のシューティングは試したけど・・・。 本に付いていけなくなったらそれでオシマイかも。
583 名前:581 [2008/02/10(日) 01:01:22 ID:+QCpJ19j.net] 2人だけかなw じゃ30歳定年説にもとづいて再点呼。あとage
584 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 01:09:00 ID:SQ2J6vID.net] 24はダメ?
585 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 05:25:59 ID:rir2qV3U.net] 俺も ノシ いちお現役PG上がりSEだが、 趣味でやる&作りたい物が出来るなら ツクールとかでも良いんじゃなかろか 巷の素材も豊富だしw
586 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 08:40:10 ID:FHYkCOj1.net] ノシ >>585 PGだったらそのツクールを作るとこから始めないとな。 プログラミングが趣味なら、なおさらのこと。
587 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 08:57:43 ID:rir2qV3U.net] PGなんざ仕事だけで十分なんだよ・・・
588 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 22:22:06 ID:bxBAWvwf.net] from >>582 個人的にはこのスレは、親父に関係なく誰でも参加OKだと思ってます。w 趣味だけどツクールで3Dオンライン対戦サッカーゲームwを作るのは不可能そうなので、 無謀とは思ったがプログラムに挑戦。 目標が高すぎるので早くも挫折しそうだけど、挫折するにしても自分でやれる所までは挑戦して、 もうこの先未練の無いようにしたいと思ってる。
589 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 00:52:37 ID:uTvFbpcc.net] このスレ懐かしいな あの時の住人はいないだろうが久しぶり!と言っておこう
590 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 03:32:50 ID:tTxVFJ8R.net] このスレ今日はじめてしった 37歳同人プログラマ
591 名前:名前は開発中のものです。 [2008/02/11(月) 07:03:08 ID:yTlwlA03.net] オッサン共晒しあげ
592 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 21:22:04 ID:hwIdbYzj.net] from >>588 未練の無いようにと書いたのは、今思うと我ながら大げさだった。w 軽い気持ちでやっていきます。 今は、「14歳から・・・C++・・・」(>578)を参考に基準のプログラムを組み、 それを改造していく方法を考えていますが、複数のキャラに異なる動きを実装する部分の 理解が不十分なので、ソースにコメントを追加しながらもう一度読んだが、どうも分からない。 やはり、フローチャートが無ければ理解するのは難しいと感じました。 ネットで色々調べてみた結果、
593 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 22:36:36 ID:MpD90x2I.net] >>592 完璧に理解して動かそう、ってのは なかなか難しいもんですな 何がしたいか考えて、試して、違う部分を推測するって やり方もあり
594 名前:名前は開発中のものです。 mailto:sage [2008/02/13(水) 22:50:44 ID:73+9xbZP.net] from >>592 やる気が続いてもう少し頑張れれば、その方法が出来そうな感じもするのですが、 自分はまだ本のソースに理解力が追いつけていないと言うのが実情です。(基本的にまだコピペレベル)・・・orz でも、今度の土日にもう一度頑張って理解できれば、次からはたぶんそのような感じのやり方になると思います。 で、ネットで色々調べてみたら今はUMLとかいう手法がある事が分かったけど、 かなり効率が悪そうな印象がしたので別の手法(本)で頭の中を整理してみる事にしたw
595 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 22:27:22 ID:YU4fe7lX.net] from >>594 何故断念しないのか自分でも不思議になってきたw まだ本当に自分で組んだプログラムは一つも無いのに・・・。 C++でやろうとしたのが失敗の原因かもしれない。 しかし、C++から完全に逃れて目標に到達するのもおそらく無理な気がする。 ならば最初から挑戦したっていい。 それで挫折するなら、残りの時間を無駄にしなくて済むだろうし・・・。 「14歳・・・C++・・・」をもう一度だけ読んで、C++で組む場合の一例だけでも理解できればな〜。 沢山のクラスが複雑に繋がっていて、それを追う内に頭が混乱してくる。 元々PGに向いてなかったか・・・。 クラスを羅列して線でつなぐだけでも何かが見えるかもしれない。 ・・・と思い今読んでいるのが、 (7)憂鬱なプログラマのためのオブジェクト指向開発講座、Tucker!著、翔泳社(約4割読んだ) これでもダメなら・・・、また別の方法を考えるけど・・・orz 誤った方向に進んでいるかもしれませんが、もう少し頑張ってみます。
596 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 22:45:29 ID:FdgBHXm4.net] クラスが何かもよく知らんヘボプログラマだが2Dゲームくらいなら作れてる。 C++とDXライブラリで。
597 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 22:56:52 ID:oVBtZjUG.net] > 沢山のクラスが複雑に繋がっていて、それを追う内に頭が混乱してくる。 ここがダメ。 あれは理解するものではない。 実際動かしてデバッガで止めて値を見ながら個々のクラスの挙動を確認するものだ。 それぞれがシッカリ動いていれば、全体がちゃんと動くはず。 全体がちゃんと動かないなら、関連するクラスを一つ一つ確認していく。 理解しなきゃヤダヤダなら、せいぜいC言語程度でとどめるべき。
598 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 23:37:25 ID:gtndZHLJ.net] クラスって言っても中身は自分で書くんだから順番違うわな とアプリ一つも作らずデザインパターンの本いきなり読んで 意味不明だった自分が言って見る
599 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 06:41:00 ID:iC9Asv14.net] どんなに素晴らしい設計思想でも 自分が理解できないならゴミと同じ シングルタスクで順番に動くとこから覚えるべき
600 名前:名前は開発中のものです。 [2008/02/15(金) 07:04:49 ID:0tGM7/Pn.net] 日記ならブログでも作ってそこでやれ。 つーか三点リーダ多すぎ、メンヘラじじいかよ。
601 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 14:13:16 ID:m19H/7l8.net] >583 ノ 30代前半。外資系IT企業の社内SEやってるけど、コンテンツPGへの転身を画策中。 現在、メタセコ&Blenderでモデリング、irrlichitでゲーム開発中。 まずは…まずは同人レベルで一本完成させないと話にならんのでorz
602 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 18:47:17 ID:yiiieajM.net] 3Dが無理なら2Dから始めればいいじゃない
603 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 19:23:03 ID:2ynewAui.net] プログラムと立ち絵は描けるんだが音楽が出来ないんだよなぁ
604 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 23:36:30 ID:So/9f8nk.net] from >>595 まずは2Dゲームから挑戦しようと思ってます。 デバッグも意識します。 勉強段階なので簡単には進まないけど、頑張ります。
605 名前:名前は開発中のものです。 mailto:sage [2008/02/16(土) 12:50:43 ID:KxvbMerX.net] >>583 お、こんなスレがあったのか。ということでノ 30代後半に突入してしまった元ゲームPG。 今はまったり制御系PG。 ゲーム制作は趣味でやってる。 2DSTG制作中。弾撃って敵破壊するとこまではできた。
606 名前:名前は開発中のものです。 mailto:sage [2008/02/16(土) 13:41:42 ID:tgZ6BU1C.net] >弾撃って敵破壊するとこまではできた。 元ゲームPGならあっという間でしょうに、これだけ聞くとまるで初心者PG(w
607 名前:名前は開発中のものです。 mailto:sage [2008/02/16(土) 15:59:04 ID:Kw/BLJtn.net] >>606 絵も描いてるんだと思うが、多分違う 俺も元ゲームPGだがセガ○ターンじゃ意味ねぇ
608 名前:605 mailto:sage [2008/02/16(土) 16:42:55 ID:KxvbMerX.net] >>606 ああ、うん。作業量の7割はライブラリ作成だよ。 あと2割はドット打ち。 今は音関係のライブラリやってる。 ゲーム本編はさすがに昔とった杵柄でいけるけど WinAPIとDirectXで時間取られてる。 まぁライブラリなんぞ自作しなくたって 世に山ほどあるのはわかってるけどね。
609 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 21:09:14 ID:9vjNL+SI.net] >>608 ライブラリから作るからこそ趣味PGですよ。
610 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 23:08:35 ID:qt47+5k5.net] >>609 だが下手するとライブラリ整備ばっかりやってるライブラリ厨になりかねん罠。 すいませんライブラリのバージョンは3.0になのに完成したゲームは0です。 ver1DirectDrawで作る ver2:DirextGrapshics対応だけど2Dメイン。 ver3:ようやく3D対応。
611 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 23:10:33 ID:QjGHVpOr.net] そこでライブラリをフリー公開してくだされば、 俺達のようなへたれPGが潤います。
612 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 22:18:55 ID:o87QuoOW.net] >>604 やっぱり自分でライブラリ作れないとこの先厳しいのかもしれないという気がしてきた。(でも無理w) 最近、もう少し難しい本でさらに勉強しようと思ったのですが、 よく見ると最初の章が「まずライブラリを作りましょう」となっていて ここで完全につまずく(買う前に気づけよと言われそうですが・・・orz) >595の「憂鬱なプログラマのためのオブジェクト指向開発講座」は 12章まで読んで区切りつけました。(大体7割読んだ。) それで「14歳から〜C++わくわく〜」本をもう一度読み、 クラス図もどきを作成してみた。クラスのつながりの表現はパスした。 そこまで理解しきれないし、時間も無い。 とりあえず、世の中にはクラス図やシーケンス図のような手法があるんだな〜と 知っただけでも良しとする。 複数のキャラに異なる動きを実装する部分のしくみについては ぼんやりながらわかってきた気がする。 この先どうするかは未定。
613 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 23:44:48 ID:o87QuoOW.net] fron >>612 上の書き込みにfromを付け忘れていた。 とりあえず、次の目標はキャラを22個表示し、その内の1つだけ8方向移動させる。 一ヶ月位かかりそう。 今まで色々本読んで来てこの目標では恥ずかしい気もするが、そんな事言っても仕方ない。
614 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 01:24:53 ID:uKbD9POO.net] >>613 というか、なぜ本をもう一度読むのか?? 一度読んだならあとは辞書的に使えばいいじゃない。 そもそも何か作りたい最終目標があるなら、 そんな練習問題してないですぐにとりかかりなよ
615 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 02:57:52 ID:TxUiyNXG.net] 過去にこのスレを再利用していた連中は最低限動く物レベルでも最初に示してたな。 ターゲットプラットフォームで作った事が無いのならば、とりあえずで良いから何か作る。 話はそれからだ。
616 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 19:12:32 ID:tRWcfCXW.net] 親父臭もないひよっ子に仕切られても…w
617 名前:名前は開発中のものです。 [2008/02/26(火) 19:16:19 ID:XYOy85Qt.net] じじい晒しあげ
618 名前:名前は開発中のものです。 mailto:sage [2008/02/27(水) 13:57:43 ID:UEIyPPFq.net] 私は何度も読み返しますが。
619 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 11:52:09 ID:RB2u7n9v.net] from>>613 なかなか一度で理解出来なくて部分的に読み直したりしています。 途中で挫折している本がほとんどですが、 読んだ部分だけでも何かの役に立っていればいいや位の気持ちでいます。 最終目標は、3Dオンライン対戦サッカーゲーム(>588)・・・orz >最低限動く物レベルでも最初に示してたな。 ttp://gamdev.org/up/ の11143にUpした。 実はサンプルソースの背景差し替えただけですが・・・。 最近忙しくなってきたので、一ヶ月以内で1キャラだけ8方向移動を実現する目標も ちょっと怪しくなってきました。
620 名前:名前は開発中のものです。 mailto:sage [2008/03/02(日) 14:00:49 ID:RB2u7n9v.net] from>>619 でも、最初の目標はもちろん2Dからですので、3Dやオンラインは遠い遠い先の話です。 やる気が続けばですが・・・orz
621 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 21:00:24 ID:UsU0aw+P.net] >>620 です。(←以前の書き方に変更) Upしてみたら、無人スレになってしまった。 Upしたのは画面の遷移(スタート、メイン、オーバー、クリア)で、メインの時に 赤いBOX出してたけど、BOXの部分はカットしたものです。 このスレへの参加は2月(>578〜)だけど、実際には去年の8月ぐらいから勉強していて 未だにこの内容レベルでは、目標達成は難しいのかもしれないが、もう少しやってみるつもり。 今週は何もやれなかった。ちょっと時間的にしばらくは余裕が無い感じ。 それにアニメパターンを自分で書くのも壁の1つになっていて、 これは、フォトショップエレメント3.0(何かのおまけで付いていたソフト)で なんとかしようと思っているが、これの使い方を覚えるのに結構時間が掛かりそう。
622 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 00:56:38 ID:Xi1tjXPZ.net] >>621 です。 ここが無人化してからやる気が出なくなっていましたが、最近気持ちが少し回復してきた様なので再開。 前にうp(←2ちゃん風w)したファイルは、なんとなく恥ずかしくなったのですぐに削除しました。 今回のは中身をほとんど忘れてしまってて苦労しましたが、8,6,2,4キーで移動出来るようになったので、うpしてみました。 ttp://gamdev.org/up/img/11295.zip この中のexeファイルでたぶん動くはず・・・。 アニメパターン自作は早々に諦めました。 フォトショップを覚えるのが困難なので、他のアニメパターン専用フリーツールを探した方が良いのかもしれない。 でもそれ以前に本やネットでまだまだ修行が必要な感じです。
623 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 02:07:45 ID:7hhcbGRU.net] >>622 ざっとソース見てみました。 FieldPlayerControl::move()でキャラ動かしてるけどこれはおかしい。 CharaDataを継承したFieldPlayerクラスを作ってその中でやらなきゃ。 CharaDataをstructからクラスにしてmove()ってメンバ関数持たせる。 FieldPlayerControl::move()はlist<CharaData>に登録されてる オブジェクトのmove()を呼び出す。 って、するはずじゃない? そのためにlist使ってるわけでしょ。 このあたりは ttp://www31.ocn.ne.jp/~yoshio2/vcmemo9-1.html がわかりやすいと思います。
624 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 06:25:39 ID:UAHEfyC7.net] フリーゲームコンテスト 星屑きらら杯 kirara111.sakura.ne.jp/ 賞金3万だよ。
625 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 23:15:45 ID:+OcZ6Ue4.net] >>622 です。 >>623 見てくれてどうもありがとうございます。 ソースは本のモノを改造しているのですが理解不十分な部分もまだまだ多いので、 改造しつつソースを見直していく中で色々覚えていきたいと思います。 ご紹介のサイトも難しそうな内容ですが、ゲームを題材にしてるので かなり参考になりそうな感じで助かります。 これらをやりつつ、ウィンドウズプログラミングとDirectXにも再挑戦してみようかな〜と 最近思い始め、やる気も戻ってきそうなのでまたしばらくの間は潜行wするかもしれません。 >>624 自分の場合、コンテストに出せるようになるには早くても10年くらい掛かりそうな予感がします・・・orz
626 名前:名前は開発中のものです。 mailto:sage [2008/04/09(水) 21:16:34 ID:Zrpa1LEN.net] >>625 です。 昨日の最後2行の >ウィンドウズプログラミングとDirectXにも再挑戦 ・・・の所は今振り返ると余計な話だったので聞き流してください。 何故か話に関係なくつい口に出てしまうようです。 と言っても本当に誰もいなさそうな感じ。
627 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 16:16:32 ID:t1AW7sga.net] 人いるよ!
628 名前:名前は開発中のものです。 mailto:sage [2008/06/01(日) 22:58:19 ID:0wmVAdix.net] >>626 です。 実はあれから全然進んでいない為に何も書き様が無く引っ込んでましたが、 人がいる???様なのでちょっとだけ出て来ました。w 途中何度か再開しようとしたけどバグが取れず断念。 でも、最低限、絵を画面に表示して動かせるのだから、何かは作れるはずという気持ちがあるのだろうか諦めきれずにズルズル状態です。 単に引っ込みがつかなくなってるだけなのかも? ゲーム製作技術板らしくフェードアウトすればいいのに・・・orz、何故か出来ない(といいつつフェードアウトするかもしれないw)。 まぁ、一度頭の中を整理して出直そうかなぁーと今は思っており、>595(7)を参考に設計図を作って(クラス図もどきではなく)、 「プロトタイプはここまで作るぞ!」と決めてからプログラムを書いてみようと思います。開始は未定ですが・・・。 最初は書きながら進めていこうと思っていましたが、ちょっと日が過ぎてしまうと、いくらコメント文を残していても 忘れてしまうからというのが理由です。(もう親父だから3日くらいで忘れる) あ!>>623 のHPも参考にしまして、これは第7回で終わっている様子で、 文章だけしか読みませんでしたが(実は自分はWindowsプログラミングが解らないのですorz)、参考になりました。 弾の処理でlist使ってなさそうなので、実装のやり方はきっと色々あるのだろうなーというのが実感です。 >578(3)はたぶんC++の説明の為にあえてlist使ってたのかもしれません。 という事で何か進捗あれば戻りたいけど、出来なければフェードアウト・・・かも・・・? orz
629 名前:名前は開発中のものです。 mailto:sage [2008/06/02(月) 00:09:51 ID:CWLiXfI9.net] DXライブラリ使えば? それとももう使ってる?
630 名前:名前は開発中のものです。 mailto:sage [2008/06/02(月) 22:50:19 ID:hRLU7QYa.net] >>628 です。 DXライブラリでやってます。これが無いと自分は何も出来ないです・・・orz
631 名前:名前は開発中のものです。 mailto:sage [2008/06/02(月) 23:31:29 ID:abbls1vY.net] DXライブラリ使ってるのなら後はごりごりやってくだけだと思うんだけどな。 かくいう俺もDXライブラリ使い始めてWindowsゲーム作れるようになった親父PG。 ゲームなんて極端な話、キー入力と画面表示のやり方さえ解ればなんとかなるもんだし。
632 名前:名前は開発中のものです。 [2008/06/03(火) 02:05:09 ID:64WS04V1.net] 見学者が通りますよ、あーげっつ!!
633 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 12:53:54 ID:6A6IhNhh.net] >>630 です。(一ヶ月が早すぎる) 自分はほとんどプログラムを書いた経験が無いに等しく、やっぱりごりごり出来るレベルに達していないようです。orz 結局、>595(7)を413/P449まで読んでまだ頭の整理中。 内容が無いし、また挫折して恥を晒すかもしれないけど、やる気の維持目的でその過程をうp。 ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/upup.html のNo.300
634 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 13:16:30 ID:oDsLOn7A.net] ルールなんて後で良いからまず動くものを作るべきだと思う。
635 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 14:11:07 ID:6A6IhNhh.net] >>633 です。 確かにそうだな〜とも思います。 やっぱり独りでこもって作業すると無駄(?)な方向に考えが進んでいたとしても それに自分で気が付かない事もあるけど、こういう場所でなら軌道修正が出来たりする。 という事で次は2,3ヶ月後でもいや6ヵ月〜1年後になってもいいから、動くものをうpするようにします。 最終設計図は胸にしまっておいて求められればうpしますよw
636 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 14:36:39 ID:oDsLOn7A.net] ん〜、俺も親父ヘタレPGだから解るんだけど、頭ん中でこねこねまとめてるよりも、 とりあえず作った方がいいのよね。初心者なら特に。 2〜3ヶ月もかけてまともに動くものを作る、じゃなくて 2〜3日で、まともじゃなくてもいいから動くものを作る。 サッカーなら例えば、画面上をボールが跳ね回るだけのプログラムでもいい。 それができたら、次はボタンを押したらボールが別の方向に跳ねるようにするとかして 動きを少しずつ増やしていく。 そうやって実際に動かしてみれば自分に出来る事と出来ない事が判ってくるし、モチベーションも上がる。 そしてある程度できるようになったら、設計とか考えればいい。
637 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 22:24:44 ID:FtLrtqtu.net] 同意だ。大工でもない素人がいきなり一軒家作ろうたって無理。 まずは犬小屋とか机程度の小物から完成させるべきだ。
638 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 23:09:11 ID:rojNtmXY.net] むしろまな板で
639 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 09:34:01 ID:xHBf+NpG.net] DirectXで作ろうとしているが、ライブラリ作成がなかなか終わらない
640 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 03:26:16 ID:mY9IvFlh.net] 作る前にじっくり設計を練るべきだ。
641 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 13:14:16 ID:7GRO8K6D.net] DirectXの自作ライブラリについて語るスレあってもいいと思うんだ 物好き大石
642 名前:名前は開発中のものです。 mailto:sage [2008/08/10(日) 10:56:59 ID:C3bjzuz7.net] >>635 です。 >>636-638 コピペ率を下げて自分でプログラム入力してみると、確かに色々見えてくるものがあるようです。 やる気が続き、自分でバグ取りが出来る限りはこの制作を続けようかな〜と思っています。 >>640 自分はまだクラス図もどきしか出来ませんが、いずれは設計も視野に入れておこうと思います。 >>639-641 個人的にはこのスレで語ってOKだと思います。 ここは元々は「ライブラリから作り始めてゲームを作り始めるスレ」ですから・・・。 一応動くのが出来ましたので、うpしてみました。 ttp://www.dotup.org/ の1138番のファイルでパスはP003、ノートン解除しないと落とせないので、気になる場合は 見るのをやめた方がいいかもしれません。ゲーム板用UPロダには何故かうp出来ませんでした。 ファイル容量が大きすぎるのかもしれません。 内容的には、4月8日にうpしたのと変わらず、キャラが4方向に動くだけですが、 今はまだ必要ないと思う部分を削除して書いたものです。 スタート画面、その他の画面への遷移はなくして、あの時は大半がコピペだったので、 使われていない記述もありましたが、それらも全部削除しました。
643 名前:名前は開発中のものです。 mailto:sage [2008/08/10(日) 12:28:11 ID:Zub/23cQ.net] >>642 です。 親父だからとこのスレに誘導されて約半年が過ぎた。 この板でゲーム作りの勉強を始めた頃から数えればほぼ1年。 その結果がキャラ1人の4方向移動だけ・・・orz ここで色々レスしてもらっていながら申し訳ない話ですが、 ちょっと訳があり、スレを引っ越す事を考えています。
644 名前:名前は開発中のものです。 [2008/08/10(日) 12:39:28 ID:SzbrqgAP.net] どこに引っ越すんですか?
645 名前:名前は開発中のものです。 mailto:sage [2008/08/10(日) 14:09:48 ID:S87kQ+2N.net] >その結果がキャラ1人の4方向移動だけ・・・orz ここまでできれば、後はめきめきと伸びるはず。
646 名前:名前は開発中のものです。 mailto:sage [2008/08/10(日) 22:10:56 ID:TI8/YXhL.net] >>643 です。 引っ越しを考えたのは、自分はライブラリから作れる程のレベルにはなれないし、 このままの超スローペースでしかも入門レベル的な制作報告ではスレ違いになるかもしれないと思ったから・・・。 でも、色々レスしてもらって続けてこれた経緯もあるので、ここに出入りしないという意味ではないし、感謝してます。 >>644 一応「ゲーム製作って実際どのくらいまでできんの??」が空いてる様なので、ここを考えてます。 書き込むのは、いつもと同じでしばらく先の話になるかもしれません。 >>645 励ましの言葉ありがとうございます。(やる気アップw) 自分のプログラムは本、ネット、スレ等から力を借りてつぎはぎして作ったようなモノなので、 それに1年掛かったとなると適性的に実際どうなんだ?という気持ちが沸いて「>その結果が・・・」のセリフが出てしまったのかもしれません。 まぁ、時々どこかで書いてたかもしれませんが、ダメになったらその時はその時でいいやぐらいの気持ちでもいいんだろうなぁ〜と思ってます。
647 名前:名前は開発中のものです。 mailto:sage [2008/08/11(月) 03:42:34 ID:toQIPHfi.net] >>646 お引っ越しをするなら、 1人でゲームが作れるように修行します。 pc11.2ch.net/test/read.cgi/gamedev/1006284805/l50 がおすすめです。
648 名前:名前は開発中のものです。 mailto:sage [2008/08/11(月) 22:07:01 ID:ZFM16c4b.net] >>646 です。 >>647 とりあえずおすすめの方で続けてみる事にします。 メインの書き込み先が移っても同じ板の中での話しなので、 これからも宜しくお願いします。
649 名前:名前は開発中のものです。 mailto:sage [2008/09/11(木) 23:23:20 ID:0vEIFY1d.net] こんばんはMS-DOSのCで引退した厄年親父です。いいスレがあったんですね! ゲームはすなわち作り続ける根性のみ必要と実感し、RPGツクール2000まで敷居を落としています。 もちろんRTPのみでの大いなる出発です。 装備品はフォトショ、shade10、poser8、ASID、flstudio8、flash6、各データ集もろもろ作れないものはございません! が、これらを使って作品を仕上げる(仕上げたとか言わないかもしれない)だけで3ヶ月とかたちます。 ゲームを作ろう!そうおもって24年。完成品はスーファミのRPGツクール2のゲームだけですw ここの皆さんはすごいです。やる気をみしてくれますね。 脳内では軽く50作品は出来ているのですが、とりあえずWindowsで動くものをw では、完成まで深く潜ります。ごきげにょう。
650 名前:名前は開発中のものです。 mailto:sage [2008/09/12(金) 21:44:47 ID:xRQEs7Xf.net] 知識無いのにいきなりお城とか作ろうとすんなよー。 まずは犬小屋、いや、本棚からはじめるんだ。
651 名前:名前は開発中のものです。 mailto:sage [2008/09/12(金) 21:49:51 ID:7JaM6cPg.net] 本立てじゃね?
652 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 01:47:42 ID:oNQY3VeL.net] いい年ぶっこいた中年がRPGツクールって・・・・・
653 名前:名前は開発中のものです。 mailto:sage [2008/09/21(日) 02:00:12 ID:lu/Rto8Q.net] いや、別に悪いことはないだろーよ
654 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 23:23:48 ID:JnCoPki5.net] おれも久しぶりになんか作るかな
655 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 23:41:04 ID:KvsTRBr5.net] そう言うと彼は奥さんの布団に入っていった
656 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 23:51:24 ID:JnCoPki5.net] お? ここ見てるやつ居るんだなw
657 名前:名前は開発中のものです。 [2009/06/19(金) 18:32:30 ID:akKp4rW7.net] そろそろ出来た?
658 名前:名前は開発中のものです。 mailto:sage [2009/06/20(土) 10:00:58 ID:WYRBGPTn.net] >>649 > 装備品はフォトショ、shade10、poser8、ASID、flstudio8、flash6、各データ集もろもろ作れないものはございません! このうち、実際に金出して買ったのって、どれ?
659 名前:名前は開発中のものです。 mailto:sage [2009/06/26(金) 18:09:25 ID:/s26PYbc.net] できたぞ
660 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 18:46:25 ID:jGffUGda.net] 何という死んだスレ
661 名前:名前は開発中のものです。 mailto:sage [2009/10/20(火) 15:26:05 ID:N0f5xyWG.net] www1.axfc.net/uploader/He/so/249215 別の作ったぞ
662 名前:名前は開発中のものです。 mailto:sage [2009/12/08(火) 15:24:35 ID:YfDIR4v8.net] www1.axfc.net/uploader/Li/so/52347 またつくったさ
663 名前:名前は開発中のものです。 mailto:sage [2012/04/14(土) 17:22:55.21 ID:uYsJpe+R.net] あれから7年か 月日が流れるのは早いな・・・
664 名前:名前は開発中のものです。 mailto:sage [2012/04/15(日) 21:16:20.89 ID:jtNAR/EH.net] 冨樫かよw
665 名前:名前は開発中のものです。 mailto:sage [2013/09/18(水) 20:25:24.25 ID:n5ls8/QX.net] 次に書き込む奴は >>666 を踏むという呪いをかけた
666 名前:名前は開発中のものです。 [2014/09/08(月) 17:00:16.20 ID:67y2qr+m.net] 教京サーバアビエ無戸籍交際薬剤消毒介護職利権ローション羽田帝国上層部24時間パトロール義務上野飲み会マックさむらいニューヨーク森林火災チェック問題ヤーフォー確定申告不足ラーメンスーパーポイントdビデオデッキ破壊タイピングGTX860MIGOZ 教京サーバアビエ無戸籍交際薬剤消毒介護職利権ローション羽田帝国上層部24時間パトロール義務上野飲み会マックさむらいニューヨーク森林火災グリーにんにく牡丹黒家宝ラーメン 教京サーバアビエ無戸籍交際薬剤消毒介護職利権ローション羽田帝国上昇部24時間パトロール義務セコム強盗マックさむらいニューヨーク森林火災グリーにんにく牡丹黒家宝ラーメン 築地TPP偏食中国人勧誘マナー憤怒北京オリンピックパブ立橋フロアWHO経済制裁代協議会飲み食い代官僚日テレ漏洩ボーリングITC問題調査福岡駐車近代道廃人画税幕張銀行ググール無断決裁広告料寒孫ゼリー失調栄養士指的フィルム不毛ハンバーグースラーメン 糞箱弐個弐個沖縄ランド近年ペット原発難民船頭100万円コミックコラムシフト廃品鉄工業プラチナ小スモ再販問題WHO光金アナ雪エネルギーソーシャル決裁ニッカン奮闘鬼記者サービスカ米ラマン露店捜査キセルストアアイダホ会長農家不動産工場感激息子
667 名前:名前は開発中のものです。 [2017/02/05(日) 08:26:30.30 ID:J26Nk3Lm.net] そうかそうか
668 名前:名前は開発中のものです。 [2017/12/31(日) 22:29:56.52 ID:/rN76OKL.net] 簡単にお金が稼げる方法興味ある人だけ見てください。 グーグル検索⇒『来島のモノノリウエ』 861QCLQNWM