2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

無料で俺がRPGを作れるようにするスレ

282 :98:04/04/13 23:17 ID:eA8EtTKv.net
DirectX早くやりたい(´・ω・`)

http://www.geocities.co.jp/SiliconValley-Bay/2736/zz105..txt
http://www.geocities.co.jp/SiliconValley-Bay/2736/rpg_a11.zip
・NPCと話せるようにした。
・タイトル画面をつけた
・スクリプトのメリットがよく分からないので使わなかった。
・ソースが多くなったせいか、汚いせいか、自分でも読みにくくなってきた。

次はNPCに話しかけたらエンディング、という流れを作ろうと思う。
あとはごりごり作っていけば完成しそう

283 :245:04/04/13 23:53 ID:4GaN7j22.net
>>281
さっきうpした奴に頂点一個追加して正方形を表示するのはできました。
5種類ある頂点の種類っていうのが何をさしているかちょっとわかんないのですが、
トライアングルストリップとかトライアングルファンとかの事だとしたら
試してみて違いを確認しました。

>>282
なんかウィンドウ表示が変ですた。
NPCに隣接しててもしてなくても、コマンドを実行すると
下の会話ウィンドウにもコマンド一覧があらわれるみたいです。
古いバージョンがうpされてるのかも。。。

284 :98:04/04/14 00:12 ID:ASstlwbG.net
>>283
ぁ、ほんとですね・・・タイトル画面作るのに集中してて気づきませんでした。
原因調査してみます

285 :98:04/04/14 00:54 ID:ASstlwbG.net
やっとバグとれた('A`)
lpszClassNameがかぶってるのが原因でした。
今までかぶってても平気だったのは何でだろう・・・

286 :通りすがりの親父PG:04/04/14 05:41 ID:EE4mRz9N.net
>>283
それですそれです。線分と点などもあると思います。
あるものは偶数しかNGなものもあります。
ではライブラリソースを自分用にしてください。
それを改造していきます。

287 :245:04/04/14 17:34 ID:TCeeFkNf.net
>>親父PG

正直に言うであります。
意味が分からないであります!  壁| 〇 =3 | ̄|_
開発にはVCを使ってますが、
現在のソースでは、一つのヘッダファイル(d3dx9.h)を
SDKの入ってるフォルダからインクルードしてまして、
コンパイルしたら「外部依存関係」の所に他のヘッダファイルが色々追加されました。

これらを自分のプロジェクトのフォルダの方などにコピペするってことでしょうか。。。
こんなヘタレですいません。

288 :とうりすがりの親父PG:04/04/14 19:01 ID:EE4mRz9N.net
>>287
そうです。自分用のライブラリフォルダを作ってそこに複製します。
(元の位置のものは残しておかないと、他のサンプルが動かなくなる)
d3dapp.cppを覗くとフル画面モードの切り替えやウインドサイズの変更
ポーリングループの部分等があり、なかなか面白いものがありますよ。



289 :245:04/04/14 22:05 ID:TCeeFkNf.net
>>親父PG
できました。一応、画像です。点とか線にもなりました。
d3dapp.cpp見てみましたが、かなりムズイです。そんなレベルです。
ですが、がんばって習得するので課題を、、課題を下さい!
ttp://gamdev.org/up/img/483.jpg

2DPRG、ちょっとだけ改造しました。
「+」キーを押すと適当なHPをもったNPCが発生します。
NPCに向かって「-」キーを押すとHPが減って、0になると倒せます。
けど連射が効いちゃってるので押しっぱで移動してるだけで事がすみます。
ttp://gamdev.org/up/img/484.zip
環境によって速度も一定じゃないし、ソースも描画部分とか入力部分とか
バラバラなのでその辺を一旦綺麗にできたらウィンドウを描画してみようと思います。

290 :とうりすがりの親父PG:04/04/14 23:45 ID:EE4mRz9N.net
>>290
ここのサイトを参考にしてポリゴンを貼ってみると良いですよ

ttp://www.realdigital.co.jp/densi2/index.html

291 :245:04/04/15 23:47 ID:DNQtOokO.net
>>とうりすがりの親父PG
テクスチャ張れました。
http://gamdev.org/up/img/488.jpg

もっと、、、、もっと課題をください!
ShadowbaneとかWorcraftみたいなカッチョいいゲームを作りたいのであります!

292 :名前は開発中のものです。:04/04/16 00:28 ID:HZnOSJqT.net
課題
フレームレートを一定に保ち、フレームスキップを実装せよ


293 :245:04/04/16 15:24 ID:rC4Ao3Jo.net
とりあえずFPS測ってみました。
前の課題作ってるときから「どうも遅い」と薄々感じてたんですが、
DX9SDKに入ってるチュートリアルの三角が回るやつを改造して測ってみたら
案の定40fpsしか出てませんでした。
試しに、DX8に入ってる同じ三角が回るサンプルに同じ改造をして測ったら
400fpsとか出てる模様・・・
ビデオボードがGF2GTSだからDX9だとダメなのかなぁ。。。
8と9のサンプルで特別違う事をしてるとは思わないんですが、なんでですかね?

294 :98:04/04/16 18:11 ID:Lk4Qkb2j.net
完成しますた。クソゲーです。
http://www.geocities.co.jp/SiliconValley-Bay/2736/zz109.txt
http://www.geocities.co.jp/SiliconValley-Bay/2736/rpg_a12.zip
全然ドラクエじゃねえ・・・・

次はDirectXやります。

295 :親父PG:04/04/17 01:25 ID:N6rYd7aK.net
>>293
テクスチャ貼れましたか。頑張っているようですね。
ではスプライトもついでにやっておきましょう。
DirectXのほうが簡単という私の前の意見に、そろそろ納得していただけると思います。
さてこのサンプルでは高精度タイマーユーティリティが使われています。
どこに在るか確かめ、どのように使われているかを探し出せば、自ずと遅くなっている原因もわかるかもしれません。


296 :245:04/04/17 15:31 ID:UZYSuoQB.net
>>親父PG
ありがとうございます。
fps抑えられてた原因がわかりました。(というか教えてもらいました)
危うくビデオボード買うところでした。スプライトも表示できました。
http://gamdev.org/up/img/498.jpg

楽なのかどうかはまだ慣れてないのではっきりと実感できないのですが、
はやく自由に使いこなせるようにがんがります。ので、ので、何か適当に課題を下さい!

>>294
ふぉおおおおぉおぉぉぉぉぉぉ!!俺も仕上げるぞー!

297 :98:04/04/17 17:56 ID:lFucyLLi.net
三角形って
\Samples\C++\Direct3D\Tutorials\Tut02_Vertices\Vertices.cpp
↑これですか?そのままだとコンパイルできないんですが・・・

エラー E2209 Vertices.cpp 14: インクルードファイル 'd3d9.h' をオープンできない
エラー E2141 Vertices.cpp 22: 宣言の構文エラー  あと6行ほど続く。

もしかしてbccだとDirectX使えないっていうオチですか?

298 :名前は開発中のものです。:04/04/17 20:44 ID:O0XDlP+3.net
http://therpg.sourceforge.jp/pukiwiki/index?%5B%5B%B3%D0%BD%F1%A1%A7BorlandC%2B%2B5.5%A4%C7%A4%CE%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB%5D%5D
↑これやってみそ


299 :とおりすがりの親父PG:04/04/17 22:47 ID:mXcf9nch.net

>>296
245さん お疲れさまでした。
さてここから先ですが、それは作る対象によって異なると思います。
今の状態でBGとスプライトが表示できるわけですから、最低条件である「表示」に関してはクリアできたわけです。

ではこの先何をすべきでしょう?。
純粋に表示能力を学習したいのであれば、3D表示>ピクセルシェーダー>キューブテクスチャ
他にランドスケープのライブラリを設計するなど

またRPG等などスクリプトが必要なシステムであれば、そちらの設計も必要です。

「マウスクリックの場所を検地した後、どのように振舞うか」この部分を内部でインラインで処理するか、
「処理データ-(外部ファイルの読み込み等)」によってコントロールするようにするか? など

また包括的なシステムというのも念頭において、全体のクラス設計も必要になります。

ということで、私が教えた?(実は何も教えていないw)事はここで一旦終了です。
DirectXの導入と実際にPGを組む事ができたという事で、当初の目的は達成できました。


おめでとう!


不詳、私もここの板でスレッドを立てていますので、おひまな時には覗いてみてください。


300 :245:04/04/17 23:39 ID:UZYSuoQB.net
>>親父PG
今までありがとう!
まだまだ先は長そうですががんばります。Shadowbaneみたいなゲームを作るまで!
親父PGさんもたまには私の成長っぷりを見にきてください。

これからはまたシコシコ取り組みます。
とりあえずはハイトフィールドを歩けるくらいになるまでを大きな目標にしようかなぁ。
つうことでモーション無しXファイルを読み込んでみる事にします。

>>297
私が弄ってたのはそれです。DXがんばってマスターしましょう!

301 :98:04/04/18 20:41 ID:6QlIhFIw.net
>>300
むしろ挫折しそうですorz

>>298
4.のmakeでCommand syntax errorというのが出てmakeできません。

で、bccは諦めてVC++が無料なのでインスコしてみたんですが、
clのパスはたぶん通ったんですが、ヘッダファイルのパスが通せなくて苦戦してます・・・

302 :245:04/04/19 00:12 ID:3QCXa6Lb.net
ウチはVC++6使ってるんですが、

「ツール」→「オプション」→「ディレクトリタブ」内で、
「表示するディレクトリ」を「インクルードファイル」に指定し、
下のところの「新規作成」でDXSDKのIncludeディレクトリを追加。
同様に「表示するディレクトリ」を「ライブラリファイル」に指定し、
DXSDKのLibディレクトリを追加。

そしてプロジェクト毎の設定として、
「プロジェクト」→「設定」→「リンクタブ」内で、
オブジェクトライブラリモジュールのところに
d3d9.lib d3dx9.lib dxerr9.lib dxguid.lib
などを追加してます。

ウチと環境違ってたら私はヘタレなのでよく分んないです。スマソ。

303 :98:04/04/19 18:57 ID:x8GMNOCf.net
無料版なので、dos窓でいろいろやらないとだめなんです・・・

VC++ ->DirectXどころか、coutすらまだ使えない状態(printfは使える)

bcc ->三角形をコンパイルしようとすると
     Fatal: オプションが必要 : LD:\directx9sdk\Lib\Borland といわれる。

ここを参考にしてみた。↓
ttp://www.geocities.co.jp/Milano/8000/bcc/

304 :名前は開発中のものです。:04/04/19 20:17 ID:eJn0oU39.net
>303
VCでのライブラリモジュールのリンクは
#pragma comment(lib, "ライブラリ名.lib")
を使うと少し楽できるかも。(正しいやり方じゃないかもしれないけど・・・・)

305 :245:04/04/19 20:55 ID:3QCXa6Lb.net
>>303
あぁ、無料のVC++ってなんだろうと思ってたら
コンパイラが無料配布されてるんですか。。。
お役に立てずに申し訳。

306 :親父PG:04/04/19 23:42 ID:HvqP5Z0m.net
>>301
Visual Studio 6.0 を使う場合
インクルード ファイルの検索パス
ヘッダー ファイルのパスが正しいこと、DirectX のヘッダー ファイルのディレクトリがコンパイラに最初に検索されるパスになっていることを確認すること。
インクルード パスを確認するには、[ツール] メニューの [オプション] をクリックし、[ディレクトリ] タブをクリックする。これにより、次のようなダイアログ ボックスが表示される。

ここでリストの先頭に表示されているパスが、最新の DirectX のヘッダー ファイルを置いているフォルダになっていなければならない。
このデフォルト パスは、C:\DXSDK\Include である。このパスが表示されていない場合は、それをリストに追加し、[ディレクトリ] タブ内のツールバー コントロールを使ってそのパスをリストの先頭へ移動すること。
                   ↓
エヂエタ|タブ|デバック|互換性|ビルド|ディレクトリ|ワークスペース|||
プラットホーム
「WIN32」
ディレクトリ
C:\DXSDK\Include ←これ

リンカの検索パス
リンカがリンク ライブラリを検索する際に使う検索パスと、その検索順を確認すること。リンクの検索パスのリストも、[ディレクトリ] タブで確認できる。
これを行うには、[ツール] メニューの [オプション] をクリックし、[ディレクトリ] タブをクリックする。ダイアログ ボックスが表示されたら、[表示するディレクトリ] ボックスの [ライブラリ ファイル] をクリックする。
これにより表示されたリストの先頭のパスが、最新の DirectX のリンク ライブラリを置いているフォルダになっていなければならない。このデフォルト パスは、C:\DXSDK\Lib である。

プロジェクトのリンク ライブラリ
サンプルと一緒に提供されたプロジェクト ファイルを使う場合は、この設定を確認する必要はない。この設定値はプロジェクト ファイル内で指定されている。
新しいアプリケーションをコンパイルする場合は、[プロジェクト] メニューの [設定] をクリックする。これにより、次のようなダイアログ ボックスが表示される。





307 :98:04/04/20 00:31 ID:2oyWdrfK.net
>>304
#pragma comment(lib , "libcp.lib")
をつけてみたんですが、だめでした。
自分でもよく分からないんですが、環境変数いじってたらいつの間にか
coutが使えるようになってました。

>>305
clとかvccとか言ったほうが分かりやすかったですね

>>306
ありがとうございます。でもVisualStudioではないんです・・・


bccはDirectX8以上と相性が悪いらしいのでさっきアンインストールしてしまったんですが、
clでwindows.hが使えるようになったら再びインスコしてみます。

308 :名前は開発中のものです。:04/04/20 01:42 ID:TlrWn8fZ.net
http://goldfly.ld.infoseek.co.jp/program/program.html#directx
ガイシュツ?

309 :名前は開発中のものです。:04/04/20 22:55 ID:eL87iK8i.net
>307
私の環境では、インストール先のディレクトリに出来る”vcvars32.bat”と言うバッチファイルを実行しただけで、
環境変数がすべて設定されました。

310 :98:04/04/21 18:22 ID:bfgLD/fX.net
>>308
やってみたんですが、
外部シンボル 'Direct3DCreate9' が未解決
というエラーが出ます。意味が分からないんですが、何がいけないんでしょうか?


>>309
そうだったんですか・・・必死に自分でやってましたorz


PlatformSDKも、XMLが読めないとか言われて落とせないので、
VC++(製品版)を買ったほうがいいような気もしてきました・・・

311 :名前は開発中のものです。:04/04/21 18:29 ID:+YydXBKM.net
「プロジェクトの設定」のリンクのところで、d3d9.libをリンクすればいいハズ。
あと、必要に応じてほかのLibもリンクしてやる。
関数ごとに必要なLibはドキュメントに書いてある。


312 :311:04/04/21 18:38 ID:+YydXBKM.net
>>310
BccDevの設定のことな。
これでDX9がBCCで使えるはずだが、
できたプログラムがDLLを導入した環境じゃないと動かないかも知れない。
試してないのでわからん。スマン。

313 :98:04/04/21 18:56 ID:TkqwtIOq.net
>>311
コンパイルできました。
でもVertices.exeをダブルクリックしても何も起きないです。

\Samples\C++\Direct3D\Binのファイルも半分ほど開けないので、
ビデオカードのせいでしょうか?

314 :311:04/04/21 19:08 ID:+YydXBKM.net
Vertices.exeはハード依存ではないハズなので、
起動しないのはどこかがおかしいのかも。
俺も初心者なのでBinのプログラムやビデオカードについては正直わからん。

315 :98:04/04/21 19:33 ID:TkqwtIOq.net
>>314
別のPCでやったら三角形が表示されました。
なんでだろう

316 :245:04/04/21 19:46 ID:KyjgQXxH.net
意味があるかわかんないけど、
Windowsの「スタート」メニューから「ファイル名を指定して実行」で
dxdiagっていれるとDirect3dとかDrawの環境テストができますよ。
ダメだったらビデオボードのドライバを新しいのに更新してみるとか。

317 :98:04/04/21 23:45 ID:HhcihRE8.net
>>316
テストしてみたんですが、問題なしでした。
ドライバを更新したら、今まで見れなかったサンプルが見れるようになったんですが、
Vertices.exeはまだ見れないです・・


318 :98:04/04/22 00:12 ID:56TmnEhv.net
画面の色数のようなものをいじってたら見れるようになりました。
やっとスタートラインに立てました。
教えてくれた人ありがとうございます。

319 :311:04/04/22 00:31 ID:bRXr1w99.net
おお、原因はわからんが(w、とりあえず動いてよかった。
これからもガンガレ!




320 :245:04/04/24 22:29 ID:jIgXjODn.net
Xfileのロードができた。
今更ながらクラスをちょっと勉強したので、
一つのモデルを読み込み、オブジェクトとして沢山配置したり
位置とか向きを管理できるようにしてみようと思う。

321 :名前は開発中のものです。:04/04/25 13:27 ID:kOXdBOhy.net
ある点のRGB値を取得するときに使うGetPixelってありますよね
あれのRの値のみ取得する方法ってあるんですか?
あったら教えてください

322 :名前は開発中のものです。:04/04/25 15:10 ID:pLOIoMuL.net
GetRValue

323 :321:04/04/25 19:05 ID:kOXdBOhy.net
>>322
マジありがと

324 :98:04/04/26 21:10 ID:bAZf+D6a.net
サンプルのソース見ててもさっぱり分からん・・・
DirectXのお勧めの本とかサイトあったら教えてください

325 :とおりかかった親父PG:04/04/27 23:00 ID:6oVtyqti.net
ところで気になるのですが、メモリ内に仮想的にDIBを造る方法をご存知ですか?

HDC hDC = CreateCompatibleDC( NULL );

DWORD* pBitmapBits;
BITMAPINFO bmi;
ZeroMemory( &bmi.bmiHeader, sizeof( BITMAPINFOHEADER ) );
bmi.bmiHeader.biSize = sizeof( BITMAPINFOHEADER );
bmi.bmiHeader.biWidth = ( int )tW;
bmi.bmiHeader.biHeight = ( int )-tH;//ここを-すると左上頂点のDIBができるマジお勧め
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biCompression = BI_RGB;
bmi.bmiHeader.biBitCount = 16;//1 pixcel あたりのBit数
// Create a bitmap for the font
hbmBitmap = CreateDIBSection( hDC, &bmi, DIB_RGB_COLORS,( void** )&pBitmapBits, NULL, 0 );


これでメモリの中にDIBが作成されます。
先ほどからGetPixcel 関数の話が出ているので書き込みました。

画像を扱う場合は一気に転送がセオリーだと思います。
もし既出であればスレ汚しすみません


326 :親父PG:04/04/27 23:02 ID:6oVtyqti.net
>>324
ttp://www.realdigital.co.jp/densi2/

327 :98:04/04/28 21:34 ID:/L+BRof0.net
>>326
ありがとうございます。見てみます。

328 :名前は開発中のものです。:04/04/29 09:25 ID:fKr8I6Zs.net
hoshu

329 :98:04/04/29 20:54 ID:eFo7PbpH.net
三角形を、押したキーに応じてX,Y,Z軸について回転するところまでできました。

著作権とかよく分からないんですが、ほとんどサンプルの元の状態から変わってないんですが、
ソース公開しても大丈夫なんでしょうか?

330 :245:04/05/02 11:03 ID:OAzbaBIZ.net
誰が書いてもほとんど同じになるような短いコードだし、
適当に改造しときゃ大丈夫じゃないですかね。コメントけしたり。
もちろん責任はもてませんが。

331 :名前は開発中のものです。:04/05/26 09:52 ID:ZkbU9bqo.net
とまっちゃったよ?


332 :名前は開発中のものです。:04/05/26 10:16 ID:RveiUJUf.net
ツクール買え

333 :98:04/06/01 00:42 ID:51ZpkQEi.net
別のスレでゲーム作ってるのでこのスレは卒業します。
サイトも適当につぶしておきます。

334 :名前は開発中のものです。:04/06/01 18:51 ID:TjtQoeyw.net
98の卒業祝いあげ

335 :名前は開発中のものです。:04/06/01 21:45 ID:clhKLVnl.net
どこのスレに進学しましたか。

336 :名前は開発中のものです。:04/06/02 03:14 ID:K5/c3qHf.net
廃人スレ

337 :尿 ◆TQRzkzBQz6 :04/06/02 16:39 ID:G5yOjIbE.net
.

338 :名前は開発中のものです。:04/07/15 22:01 ID:X+w0MHvL.net
新入生募集上げ


339 :新入生:04/07/16 15:46 ID:rveJEKqt.net
オレが応募します。
7月22日から開始します。

340 :245:04/07/16 16:23 ID:+XSBeZ7m.net
ヒロシです。俺だけジャージの色が違います。
ヒロシです。みんな俺のことをさん付けで呼びます。

341 :名前は開発中のものです。:04/07/17 12:16 ID:5LuAOAhe.net
ヒロシです
教科書の表紙が俺だけ違うとです。

342 :新入生2:04/07/28 14:45 ID:5jDkoPBH.net
俺も応募していいですか?
C/C++とWINDOWS APIでRPG作りたいです。

343 :新入生2:04/07/29 15:33 ID:+VMuaX4q.net
へんじがないただのしかばねのようだ・・・

んじゃ勝手に居座らせてもらいます。
とりあえず98氏のサイトで勉強してみます。

(´-`).。oO(人来ないかなぁ…)

344 :名前は開発中のものです。:04/07/29 15:52 ID:+VpB19P6.net
ROMはたくさんいると思われ

345 :新入生2:04/07/30 10:12 ID:zk8Gdi3K.net
良かった。見てる人いたのか。

では、まだそんなレベルまで行ってないんですが質問させて下さい。
マルチスレッドはRPG製作に使いますか(使った方が良いですか)?
そこの辺りはチョットしか勉強していないので…

346 :名前は開発中のものです。:04/07/30 11:09 ID:5XdzxF19.net
普通にタスクシステムで十分だろ?

347 :名前は開発中のものです。:04/07/30 11:12 ID:A0tDow7H.net
ネトゲだったら使う

348 :新入生2:04/07/30 11:43 ID:zk8Gdi3K.net
そうですか。じゃあマルチスレッドの勉強はまた今度にします。

349 :新入生2:04/07/31 11:36 ID:ypOdEBQi.net
DIB訳分からん

350 :新入生2:04/07/31 15:36 ID:ypOdEBQi.net
すいません。DIBのところで質問させて下さい。
ttp://www.sm.rim.or.jp/~shishido/savebmp.html
では、バッファの1ラインの長さの計算に
if ((dwWidth*3) % 4==0) 〜という式を使ってますが、
ttp://www.sm.rim.or.jp/~shishido/dib24.html
では、if (iWidth % 4 == 0) 〜になっています。
この違いは何でしょうか?

351 :新入生2:04/07/31 15:40 ID:ypOdEBQi.net
すいません。自己解決しました

352 :名前は開発中のものです。:04/07/31 19:47 ID:YZJtdaLG.net
自己解決したら、内容を書いてくれると、後々の人のためになりますよ
# というか、自分の質問に責任もって下さい!

353 :新入生2:04/07/31 22:58 ID:ypOdEBQi.net
>自己解決したら、内容を書いてくれると、後々の人のためになりますよ
上はビットマップの横の長さが4の倍数か見てて
下は横一列のバイト数が4の倍数か見てるんではないかと。
間違ってますか?

>というか、自分の質問に責任もって下さい!
結構悩んだので質問したんですが、その直後閃いたというか何というか…申し訳ない

354 :新入生2:04/07/31 23:01 ID:ypOdEBQi.net
>上はビットマップの横の長さが4の倍数か見てて
>下は横一列のバイト数が4の倍数か見てるんではないかと。

逆だった…_| ̄|○

下はビットマップの横の長さが4の倍数か見てて
上は横一列のバイト数が4の倍数か見てるんではないかと。

です。ほんとごめんなさい。まじでごめんなさい。

355 :練習帳著者:04/08/01 11:09 ID:b9uMxnzb.net
>>345
>マルチスレッドはRPG製作に使いますか(使った方が良いですか)?

今、マルチスレッド(メインスレッドの他にゲーム処理用スレッドを
もつ)でRPGを作っていますが、あちこちにメッセージポンプを仕込む
必要がなくなってなかなか良い感じかも。スレッド別に処理を明確に
切り分けられるのなら、マルチスレッド化する、という道もあるでしょ
うね。
ただ、これまでスレッドを使ったことがないのなら、RPGを作るために
わざわざスレッドを覚える、という必要はないと思いますが。

>>350-354
>この違いは何でしょうか?

深い意味はありません(^^;。
どっちでも同じなので。

>下はビットマップの横の長さが4の倍数か見てて
>上は横一列のバイト数が4の倍数か見てるんではないかと。

そうですね。
ビットマップの横幅が4の倍数であるか、と24ビットDIBピクセル列
の横幅が4の倍数であるか、は結果的には同じ(n % 4が0ならば、
(n * 3) % 4も0)なので、プログラムではn % 4 == 0で判定した方
がすっきりするでしょうけど。

私も以前は「ピクセル列の横幅を4の倍数に合わせる」意味を明確
にするためにiWidth * 3という書き方をしていた面もありますが・・。


356 :新入生2:04/08/01 11:38 ID:gbRGZbfr.net
著者さん、わざわざレスありがとうございます。
サイトの方、いつも参考にさせて頂いてます。
この場を借りて感謝

357 :名前は開発中のものです。:04/08/06 15:31 ID:vsNkeVch.net
夏季講習上げ


358 :新入生2:04/08/06 16:43 ID:jaMpxEea.net
今、98氏のソースを見て勉強しているのですが、「NPC実装」のプログラム
ttp://www.geocities.co.jp/SiliconValley-Bay/2736/zz82.txt
をコピペして実行するとプログラム終了時に
Rum-Time Check Failure #3 - The variable 'lpDIB' is being used without being defined.
というエラーが出てしまいます。

一方、氏の「NPC実装 のEXE 」
ttp://www.geocities.co.jp/SiliconValley-Bay/2736/rpg_a6.zip
を実行しても終了時にエラーが出ません。
何故でしょうか?教えてください。

環境はWindowsXP、Visual C++ .NETです。

359 :名前は開発中のものです。:04/08/07 12:34 ID:0vLmZFUE.net
今年の新入生は教えて君でだめだ。

360 :名前は開発中のものです。:04/08/08 04:33 ID:0wp5pRWn.net
もう諦めてツクールXPのスクリプトでもいじっとけ

361 :名前は開発中のものです。:04/08/14 14:03 ID:6/dV8pRa.net
無料でRPGツクール作れるようになりたいんですが、どうすればよいんですか?


362 :名前は開発中のものです。:04/08/14 17:22 ID:gmz99cAj.net
作ればいいんだよ

363 :名前は開発中のものです。:04/08/14 18:10 ID:yswnRgvv.net
>>361
ツクールを作るのか。
完成したら使ってあげるよ。

364 :245:04/08/22 00:11 ID:Em5qF6oY.net
P2Pの適当なチャットができるようになったけど今一理解が怪しい。
現在はIME制御クラスを製作中。
標準コントロール貼り付けるのは何かダサいし。
これが完成したら、もっとクラスの理解を深めたいので
自作ウィンドウのクラスでも作ってみたいと思っているけど
今の段階ではどうやって作ればいいか全く見当もつきません。

365 :245:04/08/23 18:15 ID:GI7MfX74.net
IMEもそこそこできてきた。練習に3Dで
見下ろし視点のボンバーマンでも作ってみようかな。。。

366 :名前は開発中のものです。:05/01/06 14:46:34 ID:TOA2E2ip.net
新年上げ


367 :名前は開発中のものです。:05/01/06 16:08:43 ID:bcRDIiW3.net
1はどこいった

368 :名前は開発中のものです。:05/01/23 00:12:12 ID:CdrNb8aJ.net
1は使命を成し遂げ平和に暮らしましたとさ

369 :名前は開発中のものです。:05/01/23 09:51:39 ID:EM9WdJXX.net
低脳はツクールツカエ

370 :名前は開発中のものです。:05/02/15 14:07:03 ID:6fYiWk+0.net
シナリオ記述にXMLを使おうと思っている

371 :名前は開発中のものです。:05/03/05 04:20:35 ID:lOW9T/w5.net
ttp://www.geocities.co.jp/SiliconValley-Bay/2736/a2.txt
をクラス化して戦闘を付けてみた
改造大歓迎

ttp://gamdev.hp.infoseek.co.jp/cgi-bin/up/No_0050zip.html

372 :名前は開発中のものです。:2005/03/25(金) 18:08:47 ID:hyYLgofF.net
>>371
だめでしたorz

ttp://gamdev.hp.infoseek.co.jp/cgi-bin/up/No_0079zip.html

373 :名前は開発中のものです。:2005/06/27(月) 16:26:44 ID:m0GTyq92.net
なにこの良スレ

374 :名前は開発中のものです。:2005/08/02(火) 18:28:41 ID:cG1sgAYD.net
良スレ保守age

375 :名前は開発中のものです。:2005/08/16(火) 20:45:04 ID:/7e8XzCG.net
VC++とAPIでシミュレーションゲームを作ろうと思ってるんですが、
文章やデータなどをファイルから取り出す方法が分かりません。
セーブデータなどの作り方なども載ってるサイトとかってありませんか?

376 :名前は開発中のものです。:2005/08/17(水) 16:58:26 ID:fVmpEYfu.net
ふつうに関数用意されてるだろ。
C標準のつかうもよしAPIの使うもよし。

377 :名前は開発中のものです。:2006/02/26(日) 17:16:58 ID:QrnNw6+0.net
test

378 :名前は開発中のものです。:2006/08/07(月) 17:58:48 ID:fVrofJ4N.net
test

379 :名前は開発中のものです。:2006/09/17(日) 17:51:08 ID:UMZZv4Jy.net
ttp://tomhsp.hp.infoseek.co.jp/cgi-bin/top/gcp/
↑これはネ申

380 :名前は開発中のものです。:2006/09/21(木) 22:06:07 ID:A82GeSKk.net
NEETスレの1って、実はこのスレの1だったのかもな。
いや、ただスレタイが似てるなぁと思っただけなんだがな。

381 :名前は開発中のものです。:2006/09/21(木) 22:59:22 ID:amkqCpKL.net
作れようにするスレと作るスレじゃ全然違うのよ

382 :名前は開発中のものです。:2006/10/12(木) 20:48:12 ID:ai4G0Iyz.net
俺様の出番か

383 :名前は開発中のものです。:2007/03/27(火) 21:01:02 ID:CibhAwPa.net
しさしぶり(←なぜか変換できない)に覗いてみたら、2年以上誰も進歩なしかよw


384 :名前は開発中のものです。:2007/03/28(水) 14:11:37 ID:2xhC3EIi.net
まぁ>>1はカールグスタフでも作っとけってこった


385 :名前は開発中のものです。:2007/07/08(日) 19:52:23 ID:r+xyIZh0.net
無料でRPG作れるように修行する
http://gameover.blog.shinobi.jp/

Level_1
http://gamdev.org/up/img/9718.zip

386 :名前は開発中のものです。:2007/12/25(火) 10:41:17 ID:JqjujtnB.net
――― そろそろ誰も見てなさそうなので再利用 ―――
開発環境 : VisualStudiam2005ExpressEdition(無料のやつ)
言語    : C++ あとWin32API、DirectX9.0

ブログでやろうかと思ったけどCSSに凝りそうで進まなさそうなのでとりあえずここで。

目標
・2000年頃のパソコンでギリギリ動く。
・ベクターにゲーム掲載される。
・余裕があったらMMOも作る。

387 :名前は開発中のものです。:2007/12/25(火) 11:10:39 ID:JqjujtnB.net
とりあえずは
1.DirectXのソースをコピーしてまるごとコンパイル
2.四角形表示
3.テクスチャを貼ってみる
4.マップを表示
  具体的には、Win32APIのみでのマップ描画のように、マップチップを並べてバックバッファへ描画→
          それをテクスチャとしてポリゴンに貼り付ける→ポリゴンを画面へ描画
5.アルファなんとかを駆使してマップ上に主人公を描画
6.完成!

マップの他に主人公も表示する必要があるから三角形のポリゴン4つでいいのかな。
DirectXを使う意味があるのかどうかよく分からないけど、これでいけそうな気がする。

イメージとしてはドラクエ1のようなものを2Dで。

388 :名前は開発中のものです。:2007/12/25(火) 12:05:59 ID:3Uuo4Sp0.net
はいはい晒しあげ

389 :386:2007/12/26(水) 10:16:19 ID:K6yg95nh.net
VS2005の設定に手こずったけど、四角形平面ポリゴンにテクスチャを貼るところまで成功。
ところが、作成した実行ファイルと画像ファイルをコピーして新しく作ったフォルダに詰めて、
ロダにあげるまえにテストで実行してみたところOSごと落ちた。

元のプロジェクトフォルダ内の実行フォルダでは何事もなく実行できるので、
詰めるファイルが足りないか、コピーのときに破損したんだろうけどよく分からない。

390 :386:2007/12/27(木) 07:47:17 ID:NmBq2Fip.net
「Win32APIを利用してビットマップ画像読み込み→そのままバックバッファへ描画→
 それをテクスチャとして四角形ポリゴンに貼り付ける」
をやろうとしてコンパイル通ったけど、実行するとOSごと落ちる・・・

直接ハードウェアをいじってるらしいし、ちょっとしたミスでパソコンがぶっこわれそうな気がする。
怖いのと、再起動が面倒でトライアンドエラーができない。

391 :名前は開発中のものです。:2007/12/27(木) 09:16:01 ID:OlW3667K.net
>>387
>イメージとしてはドラクエ1のようなものを2Dで

>DirectXを使う意味があるのかどうかよく分からないけど

ないだろw
まして「2000年頃のパソコンでギリギリ動く」なら素直にDIBSectionで作った方が良いんじゃ。


392 :386:2007/12/27(木) 09:55:03 ID:NmBq2Fip.net
DIBSectionを使ったのは前作ったので、本当は3Dをやりたかったんですけど
ブレンダーいじってみたら豆腐みたいなのしか作れなくて。しかも何か無駄に巨大に・・・

だから、とりあえずDirectXの使い方を覚える為に2Dをやろうかと思ってるんですが、
最初から3Dやったほうがいいですか?

DIBSectionの代わりにポリゴン使ってるだけだから、このままやってても、
DirectXはたいして使えるようにならないと薄々感じてきたんですが

393 :386:2007/12/27(木) 11:56:09 ID:NmBq2Fip.net
マップチップを並べた仮想のビットマップを作成できたので、テクスチャとして指定しようとしたけれど
D3DXCreateTextureFromFileの第二引数に指定するファイル名って何だろう。

(LPCSTR)HDC デバッグ時にエラー
(LPCSTR)HBITMAP デバッグ時にエラー
(LPCSTR)BITMAPINFO デバッグ時にエラー、そもそもLPBYTEとセットで使うようなものの気がする

マップチップを並べる→名前をつけて画像を保存→テクスチャとして呼び出し
ならできそうだけど、物凄く無駄な気がする。


前に悩んでたOSごと落ちるのは、ファイルがリンクされているのに存在しない場合に起こるっぽい。
デバッグモードで実行すればファイルがなくても落ちない。たぶん。

394 :名前は開発中のものです。:2007/12/28(金) 10:34:47 ID:69wdhqTg.net
仮想ビットマップのファイル名をどうしたらいいのか、何時間か調べても分からないから3Dでやることにした。
ブレンダー細かすぎて使いこなせないから六角大王ダウンロード中・・・

今後の予定は
1.かろうじて人間に見える仮モデル作成
2.作ったXファイルを読み込み
3.キー入力に応じてXファイルを動かす
4.マップ作成

こんな感じの予定だけど、2.まではなんとかいけそうな気がする。
でも、4.は結局2Dでのマップ作成と同じ問題が発生する気がする。
巨大なテクスチャを用意するか、テクスチャは貼らずにポリゴンに色をつけるなら何とかなりそうだけど
極端に重くなったり、見た目が酷かったりで、あまりいい方法ではなさそう。

StretchDIBitsのように、手軽にテクスチャを貼れる関数がDirectXにあればいいんだけど
DirectXについてきた取り扱い説明書を見ると、なさそう

395 :名前は開発中のものです。:2007/12/29(土) 10:58:22 ID:w6aUMf01.net
六角大王で人間作成→Xファイル化→DirectXを使ってウィンドウ上に表示 までできた。
といっても、サンプルのトラの表示プログラムのファイル名の部分だけを書き換えただけでできたのであまり進んでない。

ソース解読中だけど、未だになぜ読み込んだXファイルが回転してるのか分からない。
その部分が解明できたら、キー入力を取得してキャラクターが動かせるようになるはず。
Win32APIのキー入力取得でも十分なスピードだったように思うけど、DirectInputとかいうのは使ったほうがいいんだろうか。

396 :386:2007/12/30(日) 08:14:15 ID:Ao/gU877.net
できた!
イケメン主人公が海を移動するゲーム。
移動は矢印キーで。

http://gamdev.org/up/img/10830.zip
なんか卑猥な形になってしまったけど、頭と体のつもり・・・

あと、ソースあげようとしたけどアップローダーが.txtに対応してなくて、.zipにするの面倒なので、
添削してくれる人もしくはこれからやる人でソース見たい人などが来たら.zipであげます。


次はマップを表示させて、マップを動かしたいところだけど、2Dでさえ挫折したから厳しそう。
どうやればいいんだろう・・・

397 :386:2007/12/30(日) 11:11:46 ID:Ao/gU877.net
>515 名前:デフォルトの名無しさん :2006/09/02(土) 15:06:39
> なんか最近無理やり2Dゲーム作ろうとしてるボーヤが
> こことかゲーム製作技術板にも一定数いるみたいだな。
> なんでそんな無駄なことしてるのか一体どんなゲーム目指してるのか一度聞いてみてぇ。

> マップチップで作りたいとかもう時代じゃねぇんだよ。
> 色んなリソース食い潰した挙句そんなショボイもん作ってどうするのかと。
> DirectXのスプライト機能なんて板ポリちゃうんかとあのクラスなにか恩恵あるのかと。
> お前、どこまで脳みそ無いのかと。

ぐぐったらこんなレスが・・・
フィールドも3Dで作るとして、ポリゴンは巨大なものが必要だろうし、マップチップ形式ではないテクスチャも
やたら巨大になりそうなんだけど、そんな巨大なデータを読み込めるんだろうか。

大量の小部屋をゾーン移動で繋ぐっていう方式が現実的なんだろうけど、できれば世界中をシームレスにしたい。

今後の目標
1. 複雑なポリゴンにテクスチャを貼れるようにする
2. フィールドを作る(六角大王だと左右対称なポリゴンしか作れないから、別のソフトを使わなければいけないかも?)
3. キー移動でフィールドを探検できるようにする
4. フィールドの壁との衝突判定を実装する(やり方が今のところ想像もできない)

3Dになったので、ドラクエ1ではなくFF10を目指していくことにした。

398 :386:2008/01/05(土) 10:23:50 ID:WUxcFY2t.net
フィールドのXファイルを作成→キー移動で探検できるようにする
までできた。

でも、ポリゴンに直に色をつけているせいか、グラフィックが余りにも酷い。
衝突判定は未だに分からない。
2Dと違って、高さまで考えなきゃいけない。
(考えなくてもできるんだろうけど、見た目3Dでも実質2Dな、自由度が少ないゲームになりそう。)

399 :386:2008/01/06(日) 08:19:19 ID:pBxWQ+R5.net
DirectXライブラリっていうのかな?
それを使えば地面との衝突判定ができそうな気がしてきた。
平面方向の衝突判定は、もし分からなくても2Dの手法を利用すればいいので、
これで何とかゲームを作れる目処は立った。たぶん。

今後の目標
1.地面・キャラクターの2つのXファイルを読み込む
2.キャラクターのみ、地面との衝突判定をする

あと、今、移動はポリゴンの座標を直にいじっているけど、これは後々困りそう。
以前2Dのゲームを作ったときに、NPCの移動が不自然になった原因はこのへんにあると思う。

400 :386:2008/01/09(水) 02:15:31 ID:IiHzyuIz.net
Xファイルを2つ読み込んで表示させることができない。
単純に変数や関数をもう一個ずつ作ればできると思っていたのに。

とりあえず、カメラは一個でいいはず。

それでもうまく表示されないので、最初に読み込んだXファイルを表示させている部分をコメントアウトしてみたところ、
後から読み込んだXファイルがうまく表示されない。一瞬、設定した色がチラッと見えるけど形は壊れている。
Xファイル自体は壊れていないので、読み込んだときにおかしくなっているっぽい。
でも、原因は全く分からない。

また、コメントアウトしない場合。
Xファイル1とXファイル2を交互に表示させているみたいで、チラつく。

401 :386:2008/01/10(木) 02:53:17 ID:jWaFTQp7.net
あーーーー、なんとなくわかってきたかも
Xファイル2つを読み込んで表示させることができないので、
Xファイル一つをロードしてそれを二箇所に表示してみたら成功。

ここから分かったのは、ファイルが壊れているわけでもないし
読み込んだ内容がぶっ壊れているわけでもないってこと。

これで2つ以上のXファイルを表示させる目処はついた。
ただ、C++がかなり理解不足で、Xファイルの量が増えれば増えるほど
ソースが膨らんでいきそうなのが・・・・

402 :386:2008/01/13(日) 14:03:34 ID:rjCuuKZH.net
二つのXファイルを読み込んで、画面上に描画することはできた。
でも、交互に描画されてしまって全くゲームにならない。

http://gamdev.org/up/img/10934.zip
解凍passはrpg
ソース同梱。

どうも、画面が上書きされているから、バックバッファが二つあることが問題なんだと思うけど、
じゃあどこを直せばいいのかと言われると全く分からない。
ネットを探しても、このへんのサンプルは全く転がってない。

403 :386:2008/01/14(月) 13:07:09 ID:QzHbXI7e.net
抽象的な概念から、初歩的な解説までしてくれるサイトがやっと見つかった・・・
もうちょっと読んでみて、分かりやすかったらリンクをはろうと思う。

404 :386:2008/01/14(月) 13:15:33 ID:QzHbXI7e.net
あ、あと>>402でアップした実行ファイルの画面を最大化すると、超高速でバックバッファが切り替わるおかげで
アルファブレンドチックな画面になった。どうしても1画面に二つのXファイルを表示できなかったら、
これに当たり判定をつけて無理やりゲームと言い張るのもありかと思った。

405 :名前は開発中のものです。:2008/01/22(火) 21:52:51 ID:cU4WPgwu.net
>>1
やる気があれば出来る。がんばれ。

406 :386:2008/01/24(木) 22:17:53 ID:2+Rk1QvE.net
ちょっとたてこんでてあと一週間くらいいじれなさそう。
概念はなんとなく分かってきたけど、一画面に複数のXファイルを表示させるには
具体的にどうするかっていうのがまだ見えてこない。

407 :386:2008/02/08(金) 17:27:02 ID:DRfbqbjc.net
二つのXファイルを表示させるところまでできた。
概念としては2Dのときと変わらず、バックバッファにガンガン上書きして
最終的に画面へポン!という感じぽい。

前回まではマップのポリゴンを直に動かしていたけど、3D的にはキャラクターとカメラを動かしたほうがいいっぽいので
当たり判定をつける前にそっちをやろうと思う。

今後の目標
1.キー入力に応じてカメラを動かす
2.重力落下の計算みたいなのさせる
3.地面との当たり判定をつけ、接触したら落下を停止する

横方向の当たり判定は無視して、とりあえずこんな感じで進めていこうと思う。
ソースが管理しきれなくなってきたのでブログをそろそろ作りたいけど
ブログの名前が思い浮かばなくてやる気が出ない。
UPするファイル量が膨大になりそうなんだけど、アップロードできるファイル量が多い無料サーバーってどこがいいんだろう

あと、座標管理はどうしたらいいのか、誰か教えてください。何をどうしたらいいのかぜんぜんわからない。

408 :386:2008/02/09(土) 02:28:33 ID:Bqtd2akd.net
グーグルでブログ作ったけどファイルアップロードの方法が見つからない・・・
昔の日付で書くこともできなさそうだし微妙だったかも・・・でも眠いから終了

409 :名前は開発中のものです。:2008/02/09(土) 08:12:53 ID:PbLxFZ5I.net
bloggerはクソブログ

410 :386:2008/02/09(土) 16:02:28 ID:wWCVG7UW.net
そうなんですか・・・

とりあえず調べた結果
グーグル、fc2、livedoor、cocolog、忍者、biglobeのblog、yahooブログ
全部.zipのアップロード無理みたい

cgiを使えばブログみたいなことできそうだから、ブログじゃなくてレンタルサーバーを探してみよう・・
cgiの使い方わかんないけど・・

411 :名前は開発中のものです。:2008/02/10(日) 02:19:14 ID:8dobcs2x.net
>>410
ブログなんか今時インスコして運用するもんじゃない。メンテ面倒になるのが落ち
fc2とかのブログサービスを借りて、
zip配布用にレンタルサーバーでも借りるのが賢いやり方かと

412 :名前は開発中のものです。:2008/02/10(日) 20:09:34 ID:AVY8OLS0.net
つうか鯖借りるならブロゲやる必要自体無くね?
作品公開サイトなんてzipのダウンロードと日記を兼ねた進捗報告ページくらいありゃ事足りるんだし
HTMLなんざメモ帳に手打ちで充分なレベルだろ?ブログCGIにアクセスして更新すんのとさして労力も変わらんだろ

そんなつまんねーことに頭悩ますより好きな作品創りに力注ごうぜ?



413 :386:2008/02/10(日) 20:55:23 ID:l4DKKDk1.net
無料のレンタルサーバー調べてみたけど、審査が面倒だったり倉庫利用ができなかったりで微妙でした。
それで、だめもとでseesaaaでブログを借りたらヘルプには書いてなかったけど.zipが使えました。

普通のホームページ形式にしようかとも思ったんですが、検索サイトでほとんどヒットしないイメージがあるんですよ。
理由はよく分からないけど。
あと、以前大量にページを作ってたらどれがどのページが分からなくなってしまって管理ができなくなったので

414 :名前は開発中のものです。:2008/02/10(日) 21:59:39 ID:8dobcs2x.net
>>412
今時、ブログなんて手間かかんねえよ

415 :名前は開発中のものです。:2008/02/11(月) 07:05:53 ID:yTlwlA03.net
> 386 名前: 名前は開発中のものです。 [sage] 投稿日: 2007/12/25(火) 10:41:17 ID:JqjujtnB
一ヶ月半でまだブログだのWEBサイトだので悩んでるのかよwww
作る気ないだろwってかお前じゃ無理www

416 :386:2008/02/11(月) 10:44:14 ID:GCHAgDxM.net
うーん・・やっぱりよく分かってない。

オブジェクト一個につき一つのカメラを用意し、撮影して二次元にした後、二次元空間にZバッファ順に描画していくのか、
それとも3D空間のワールド座標にオブジェクトを全て配置した後、一つのカメラで二次元に投影するのか。

普通に考えたら後者が自然な気がするけど、今はなぜかカメラが2個ある・・・
根本的にどこかが間違ってる気がする

417 :386:2008/02/11(月) 11:06:18 ID:GCHAgDxM.net
お。あっさり自己解決しました。

418 :386:2008/02/13(水) 22:42:40 ID:za4GiWvx.net
>>407達成。
Shiftキーでジャンプ、カーソルキーで移動。やっとゲームっぽくなってきた。
実行ファイル
http://mmodev.up.seesaa.net/image/b2e.zip
ソース
http://mmodev.up.seesaa.net/image/b2e.txt

今後の目標
1.横方向での当たり判定
2.ゲーム用座標設定
3.見た目をきれいに

市販のゲームではありえないくらい画面がカクカクしている。
別に荒く作った覚えはないのに意味が分からない。

座標は、2Dのときはピクセルを単位の基準としていたけど(32ピクセルで1マスとか)
今回はポリゴンとカメラをいじるときの0.0fっていうのを基準にすればいけそう。

横方向の当たり判定だけど、建物の中心の座標が分からないのでどうしたらいいのか

あと、ソースをVS205で見たときはタブできちんと行の先頭が揃ってたのに、メモ帳で見るとズレてるのは何だろう・・・

419 :386:2008/02/14(木) 19:42:16 ID:pSsqRNS4.net
あ、閃いた。
進行方向へレイを飛ばしてメッシュとの当たり判定をすればいいだけか!
なんか難しく考えすぎていたかも。

420 :名前は開発中のものです。:2008/02/15(金) 07:11:09 ID:K/laBkuB.net
>>419
ブログはどこにあるんですか?

421 :386:2008/02/15(金) 21:30:12 ID:3FV8glr2.net
>>420
まだあんまり書いてないけどここです。http://mmodev.seesaa.net/
ファイル2Gまで置けるのはいいけど、重いし広告が多くて微妙

今の移動方式だとFF10のような2.5Dなゲームにしかならなさそう。
キー入力による移動先とワールド座標が固定されているため、視点移動ができないから。
視点が変わっても↑キーを押したら画面の奥へ進んで行かせたいけど、どうしたらいいのか分からない。

422 :386:2008/02/15(金) 23:08:34 ID:3FV8glr2.net
FPSみたいな移動方式ならFPS・格ゲ・MMORPGなど、いろいろ流用が効く気がする。
でも、WASDで移動はいいとして視点移動のキーや動かし方がどうなっているのか、FPSをやったことがないのでよく分からない。

423 :名前は開発中のものです。:2008/02/17(日) 01:32:56 ID:hrNIpN4n.net
一般的なFPSだとWとSで前進&後退、AとDで左右へカニ歩き、視界はマウスで制御してコレが進行方向(&射撃方向)に連動って感じかな
マウス使わないDOS時代のヤツとか視界と進行しないタイプ(戦車ゲーとか)なんかだとQとEに左右旋回が割り当てられてたりもするね(カニ歩きとは別に)
操作を単純にしたければWとSで前進&後退、AとDで左右旋回だけ(カニ歩きは無し)でもいいかもね
キャラの移動についてはキー入力で直接座標を増減させるんじゃなくて、
キャラの進行方向をべクトルで持たせておいて、べクトルの各成分に応じてキャラの座標を増減させればいいんでない?
そんでカメラを固定すればバイオハザードみたいな操作感になるし、べクトルの旋回に合わせてカメラも回り込ませれば>>421で言ってる様な状態になるよ
加えてキャラの位置にカメラを置けばFPS風表示の出来上がり、と
あとは三人称視点ならキャラは前後左右の4方向移動(別に8方向でもいいけど)で、それとは別にカメラ回転キーを割り当てるとか
この場合はカメラの向きからべクトル生成してワールド座標上のキャラ位置の増減に反映させるワケね
これだと場所によってカメラ回転を禁止したり制限したりしてもプレイヤーが操作に戸惑いにくいので割とオススメw

424 :名前は開発中のものです。:2008/02/17(日) 01:36:41 ID:hrNIpN4n.net
あ、ごめん、ちょっと抜けた
>視界と進行しないタイプ
は、視界と進行方向が連動しないタイプ、ね


425 :386:2008/02/17(日) 15:40:08 ID:m9cs8RL8.net
べ、べくとる・・・
ちょっとよく分からないので調べてみます。

426 :386:2008/02/18(月) 22:29:41 ID:yEKh3+K1.net
だめだ全然分からない。3回目くらいの壁かも
とりあえずできたところまでまとめ

・構造体を使ってキャラクターとカメラの座標・進行方向をまとめる→できた
・進行方向をベクトルで表す→(0,1,0)とかで表すと思うけど、その数字の取得方法・使用方法が分からない
・キーが押されたらカメラを回転させる→
     カメラ.方向.x = cos(3.14*2*30/360);
     カメラ.方向.y = cos(3.14*2*30/360);
 とやってるけど、ピクッとしかカメラが動かない。+=にすると動きが明らかにおかしいし。
 たぶんこれが方向ベクトルだと思うんだけど。

キャラクターも回転させなければいけないし、とか考えてたら混乱してきた

427 :名前は開発中のものです。:2008/02/19(火) 01:30:15 ID:mFUUBIv+.net
えーと、カメラ回転させるならまずカメラの方向を放り込んでおく変数を一個作んないとね
0〜255までの単精度整数とかで充分、デフォルトが0で、256で一回りね
ここでは便宜上cam_rとでもしとこうか。勿論構造体ん中に組み込んじゃってもおkだけど
で、このcam_rをカメラ回転キーが押されたらテキトーに増減させるワケよ
そんで描画する際のカメラ位置を
( myx+5.0f*sin(6.28*cam_r/256), myy+5.0f, myz-5.0f*cos(6.28*cam_r/256) )
てな感じでカメラ方向のsinからx位置、同じくcosからz位置を求めれば良し
見る場所についても考え方は基本的におんなじ
キャラを挟んでカメラのちょうど反対側になるのでプラマイ逆転させるだけ
これで取り敢えずカメラは回転できるようになるハズ
キヤラ移動方向の連動を考えるのはここまでできてからでも遅くないとオモ

428 :386:2008/02/19(火) 23:36:04 ID:lcDwM3j2.net
>>427
できました!ありがとうございます!
ついでに向いた方向への移動と、キャラクターの回転と横の当たり判定までできました!

ソース
http://mmodev.up.seesaa.net/image/b2f.txt
実行ファイル
http://mmodev.up.seesaa.net/image/b2f.zip
Wで前進、Sで後退、A,Dで方向転換

なんかプログラミングしているというより、数学をやっているような感じ
ベクトルがよく分からなくてsin、cosでプログラムを書いた。
それっぽく動いてるけどベクトルは分かってない。

今後の目標
・NPC実装
・当たり判定をもう少し丁寧に
・ソースが酷いことになってきたので綺麗に

429 :386:2008/02/19(火) 23:57:18 ID:lcDwM3j2.net
マウスで視点を動かす機能を忘れてた。

建物の角をかすめるように進んでから建物の中心へ方向転換すると完全に建物の内部へ侵入してしまって、
建物内部にいる場合は後退処理してるせいで、前進しているはずなのに長距離後退してしまう現象があるようなないような

市販のゲームでも壁へ向かって進むと小刻みに振動するから、この処理で基本的に間違ってないような気がするんだけど

430 :386:2008/02/20(水) 23:48:31 ID:MXWL13K2.net
なんで3Dなのに、こんなのっぺりしてるんだろ

とりあえず敵のモデリング終了。後は
・敵を配置
・敵に攻撃できるようにする
・メッシュのアニメーション
・体力を設定する
これでとりあえずゲームとしては完成する・・・のかなたぶん
何のゲームだかよく分からないけど

431 :386:2008/02/21(木) 19:44:11 ID:LLXKH3i1.net
メタセコイアの設定変えたらのっぺり解消したかも。

ネトゲのファイルを開いたりすると、Xファイルなんてカケラも見当たらないんだけど
こういうデータ隠蔽技術?みたいなのはどうやってるんですか?

432 :名前は開発中のものです。:2008/02/22(金) 02:08:21 ID:Xr90hKPe.net
・単純に拡張子を偽装
 単にファイルの拡張子を書き替えただけなのでメモ帳とかに放り込まれるとモロバレ
 .xでなくてもファイル読み込む時に拡張子までちゃんと指定してやればX形式のデータとして問題無く使えるハズ

・圧縮ファイルに詰め込んで拡張子を偽装
 独自形式で圧縮してる場合もあるかも知らんけど只のzipだったりすることもあるので取り敢えずバイナリエディタでヘッダ確認すべし
 自分でやるなら一旦テンポラリに展開するか直接メモリに読み込むかしてくれるライブラリをどっかから拾ってくれはいいんじょない?

・プログラムファイル内に埋め込み
 画像とかならアングラ系のツールで無理矢理吸い出すヤツがあるけどX形式のデータに対応してるのってあんのかな?
 ゴメン具体的なやり方も知らない、つうか実はC使っとらんのよw
 多分リンカでEXEファイルに埋め込むリソースをコード中で指定する方法がなんかあるんだろうと思うんだけどね
 ま、気になるなら自分でテキトーに調べて(ひでぇ

大体こんな感じじゃないかなぁ

433 :386:2008/02/22(金) 19:59:07 ID:zT5RyBhC.net
>プログラムファイル内に埋め込み
これが簡単でそれなりに効果ありそう
WIN32API使って画像ファイルをリソースに埋め込む方法でやればいいんですよね。

434 :名前は開発中のものです。:2008/02/23(土) 08:26:31 ID:2ON6i3e2.net
市販ゲームの多くは、

> ・圧縮ファイルに詰め込んで拡張子を偽装

だな。
解凍されたくないひとが多いだろうから、
独自形式だろうけど。

435 :名前は開発中のものです。:2008/02/23(土) 08:27:21 ID:2ON6i3e2.net
> ・単純に拡張子を偽装
これも昔あった、エロゲでw
.ampっていうのが単なる.bmpだったときが

436 :386:2008/02/23(土) 22:16:17 ID:bz4ZlXXd.net
圧縮ファイルに詰め込むのって、解凍ソフトを作れるくらいの高度な技術が必要そうだから自分には無理かも・・・

437 :名前は開発中のものです。:2008/02/24(日) 05:49:46 ID:ZSvVUvU+.net
>>436
いや、全然簡単。誰でもできるよ
圧縮ファイルっていっても、自分で使うことだけを考えればいい。

ようは、「圧縮されたファイル」を「1つにまとめる」ようにすればよいだけなんだ。

「1つのファイル」のするのは、オレオレ形式でいいんだ。
A, B, C, Dってファイルがあるとすると、

------ファイル-------
適当な識別のための印("OREOREASSYUKU"とか)、
形式のバージョン番号(互換性のため用意"0.1.0"とか)、
ファイル数(ABCDだから、この場合4)、
Aの位置、Aのサイズ、
Bの位置、Bのサイズ、
Cの位置、Bのサイズ、
Dの位置、Dのサイズ、
Aの中身、
Bの中身、
Cの中身、
Dの中身
---------------------
って感じのファイル構造をつくればいいだけ。

438 :437:2008/02/24(日) 05:50:11 ID:ZSvVUvU+.net
ながすぎた。
>>436への返信続き

さて、「圧縮されたファイル」だけど、
これは、面倒ならライブラリの zlib でも使えばいいだけ、
上の例でいえば、「Aの中身」「Bの中身」「Cの中身」「Dの中身」を
出力するときに、zlibを通すだけでいいんだ。

どうしても暗号化したいなら、 zlibかましたのを適当にいじくる

あと、極端な話、場合によっては圧縮すらしなくてもいい。
例えば、画像ファイルなら、まーPNGとか大概すでに圧縮されているだろうから、
再度の圧縮の意味はないよね。

解凍ソフトっていうとレベルが高い気がするが、
適当に「圧縮されたファイル」を「1つにまとめる」ツールをでっち上げるのと、
本体にそれの逆をやる処理を入れるだけだよ。

439 :437:2008/02/24(日) 05:52:04 ID:ZSvVUvU+.net
>>437の構造間違っている orz

> Cの位置、Bのサイズ、
Cの位置、Cのサイズ、

な。

あと、なんで、>>437の構造でいいかっていうのは、
「Aの中身」「Bの中身」「Cの中身」「Dの中身」を
最低限、読み込み時に取り出せる構造だから。
実際にやってみるといいよ。

一回作れば、次からは使いまわせる部分だし

440 :437:2008/02/24(日) 05:58:15 ID:ZSvVUvU+.net
>>437ができて、
もっと便利にしたければ、後々拡張していけばいいんだ。

例えば、
> Aの位置、Aのサイズ、
以外に

Aの位置、Aのサイズ、
Aのハッシュ(Aの中身が合っているか調べるため)、
Aの形式(圧縮されているか、圧縮されていないか、など)、

などを追加してもいいね。
「形式のバージョン番号」を> >437 に含めたのには、
上のように拡張しても、バージョンで場合分けすれば前の形式も読めるから。

でも、こういう応用はは、>>437-438ができてからでいい、
はっきりいって別にいらない処理でもある

441 :386:2008/02/24(日) 17:53:35 ID:CFcqCEJR.net
APIを使ってXファイルのサイズを取得

テキストファイルAに書き込む。ついでにXファイルAの中身(メッシュの実体?)も同じテキストファイルにコピペする。

同じように、テキストファイルAにXファイルBの中身もコピペする。

これをXファイルの数だけ繰り返す。

位置っていうのが分からないですが、こんな感じですか?
読み込みが難しそう

442 :386:2008/02/24(日) 20:36:27 ID:CFcqCEJR.net
アニメーションのデータ作るのが難しい。
ボーンというのを仕込まなければいけないらしいけど、素のメタセコイアではできないっぽい。
Blenderならできるみたいだけど、Xファイルもメタセコイアの.mqoも読み込めないから一から作り直しっぽいし

443 :437:2008/02/24(日) 22:53:27 ID:ZSvVUvU+.net
>>441
基本はそう。
ファイルの中身のコピペの他に、各種情報を入れたヘッダーがいるわけ

アーカイブ内の生データの位置がわかんないと、読み込み時に任意のほしいファイルが読み込めない。
あと、テキストファイルかどうかは全く関係がない。
基本何でもつっこむので、バイナリで考える。

ちなみに、言語のライブラリにあるであろう、ストリーム入出力などを使うと、
後の拡張(例えば圧縮をかませたり)がしやすい。

444 :437:2008/02/24(日) 22:56:37 ID:ZSvVUvU+.net
どうしても面倒なら、最初に自分でいっていたように、
zip書庫が扱えるライブラリを使うのも手。
もちろんライセンスが許す場合と、zip対応ソフトで解凍されてもいいって条件つきだが。

最近は、実は中身はzipで、解凍ソフトに放り込むと解凍できてしまうソフトのデータもある。
まあゲームでは見かけないが

445 :386:2008/02/24(日) 23:59:48 ID:CFcqCEJR.net
zlib以外はなんとなく分かってきました。
位置は[xfile1]とかをXファイルのバイナリの前に書いておいて、ゲームでXファイルを使うときは[xfile1]を文字列検索して
ファイルの大きさぶんだけ読み込めばできそうな感じがします。
zlibの圧縮ですが、解凍って結構時間がかかった気がするんですが、使うたびに解凍するんですか?

446 :名前は開発中のものです。:2008/02/25(月) 01:17:53 ID:ApwqjhCk.net
このスレみたいな使い方ならmaglog(vector)がいいぞ
もともとそういう使い方想定してるし

447 :名前は開発中のものです。:2008/02/25(月) 14:18:43 ID:rV9I0vHw.net
>>442
メタセコイアでも辺の作成で点と線を作成できるぞ。
rokdeboneでつなげてボーン作成してXファイル出力。
hgimg3で出力するとXファイルは、なぜか真っ暗になってしまうけど。


448 :386:2008/02/26(火) 18:05:51 ID:wIVnnbz8.net
>>446
これよさそうですね。時間できたら引っ越してみます。

>>447
HGIMG3が何かよく分からないですけどRokdeBoneでアニメーションファイルたぶん作れました。
再生の方法が分からないので、本当にできているかが謎ですが。

とりあえず今までのとは別のアプリとして、暗号化?したXファイルから読み込んだデータを
アニメーションさせたいけどかなり時間がかかりそう

449 :386:2008/02/27(水) 22:46:13 ID:GnjCwVFI.net
アニメーション全然分からないなぁ・・・
SDKのサンプルはなぜかコンパイル通らないし、ファイル分割されてると読めない
関数一つで手軽にXファイルからロードできるような物じゃないってところだけは分かった。

450 :名前は開発中のものです。:2008/02/28(木) 15:42:10 ID:DJkYNGGC.net
SDKには付属のXファイルビューワーがあったような。


451 :437:2008/03/01(土) 17:07:45 ID:ESvEWD62.net
>>445
だからテキストは関係ねえつったら何度わかるんだw
文字列検索も関係ねえ。

最終的にテキストで扱いたいなら、最後にテキストにするだけ
バイナリファイルは扱ったことない?

452 :386:2008/03/01(土) 22:12:39 ID:lYAsHlKu.net
>>450
使ってみたら動き出したので、アニメーションつきXファイル自体は作成できているみたいです。
でも、ビューワーのソースがC#しかないみたいで、ビューワーの仕組みが不明・・・
今はとりあえず某所のソースをコピペして、動くかどうか実験しようとしてます

>>451
Win32APIのファイルを扱う関数を使って、バイナリで入出力をしたことはあります。
でもバイナリを直に扱うというか、バイナリの仕組みとか分かってないです。
あ、NOPが1hzぶんSleepっていうのだけ知ってます

453 :437:2008/03/02(日) 02:35:13 ID:GhRRsOcA.net
世の中には、2つのファイルがある

テキストのファイルと、バイナリのファイルだ
テキスト以外はバイナリだと思ってもらってかまわん。

バイナリファイルは、
int(integer)の数字を書き込んだなら、32bitOSなら、32bit=4バイト書き込まれる。
実際にプログラムから書きこんで、バイナリエディタで見てみればわかる。
同様に、byteやfloatなども書き込んでみて、確認してみるとよい。

BMPや、PNG、JPGなどもこのように書きこまれており、バイナリファイル。

さて、上で「データの位置」と読んでいたのは、
バイナリファイルでのシーク位置のこと。
つまり、「データの位置」が128なら、128バイト目の一から読み込むということだ。

454 :437:2008/03/02(日) 02:36:14 ID:GhRRsOcA.net
> つまり、「データの位置」が128なら、128バイト目の一から読み込むということだ。

つまり、「データの位置」が128で、「データのサイズ」が64なら
128バイト目の位置から64バイトを読み込むということだ。

455 :386:2008/03/02(日) 22:50:57 ID:hDaW34Zb.net

使ったことないですけど、cの関数を使うんですか?

456 :386:2008/03/02(日) 23:14:02 ID:hDaW34Zb.net
いろんな所のスキンメッシュのサンプルをコピペしてるけど、未だにコンパイルすら通らない・・・

457 :437:2008/03/03(月) 09:50:25 ID:IZ1YtIpV.net
コンパイル通らないって・・・w

もう少しC/C++を勉強しろw

458 :386:2008/03/04(火) 22:11:28 ID:ZRfAoK2V.net
やっとコンパイルが通った
ソースをいじっていきたいところだけど、SDKを2006にしたらパソコンが低スペックなせいか重過ぎる

459 :386:2008/03/05(水) 20:38:18 ID:rNPfHgdy.net
なんかSDKをアップデートしたら付属サンプルのSkinnedMeshすら動かなくなった。諦めよう。
板ポリゴンに絵を張るところからやり直してみる

460 :386:2008/03/05(水) 22:31:46 ID:rNPfHgdy.net
べ・・・別にスキンメッシュが分からないからやめる訳じゃないんだからね!
低スペックでも動かなければ意味がないからやめるだけなんだからね!

で、以前どこかのゲーム紹介記事で見た、板ポリゴンにテクスチャを張って3D空間上で動かすってっていうのをやってみようと思う。
1.板ポリにテクスチャを貼る
2.貼るテクスチャを切り替えてアニメーション
物理計算や3Dマップは今まで作ってきた資産が使えるから1.2.ができればすぐにゲームが作れるようになる気がする

461 :386:2008/03/10(月) 00:04:42 ID:IBohNBCB.net
なかなか時間がとれない
とりあえず調べた所までまとめ

・テクスチャ張替えによる2Dアニメーションも、テンプレートやら何やらで結構難しいっぽい
・SkinnedMeshが再生できない件はフォント関連の不具合というかハードの性能不足?
 なので、そのへんをとっぱらえば再生できそうな予感。
・あと、Xファイルから読み込まずにポリゴンを作成するのは最初にやったからできるけど、
 その頂点情報をまとめて移動させたりすることができない。
 んで、しょうがないのでXファイルから読み込んでるけど、無駄が多い気がする。

462 :386:2008/03/15(土) 07:00:19 ID:/iXWye2P.net
解説サイト見ながらSkinnedMeshのフォント部分を取っぱらってみようかと思ったけど、
SDKのバージョンが違うせいか、ソースが全く変わってて全然解説になってない
というか、なんでSkinnedMeshのサンプルにわざわざシェーダー?とかいうのを使ってるんだ・・・

463 :386:2008/03/20(木) 11:29:28 ID:N8WhzwFo.net
おお・・・自力でフォントとっぱらってコンパイルして、再生成功した・・・長かった・・・

今まで一つのファイルにソースをべた書きしたことしかないので、SkinnedMeshのように
大量のファイルに分散して書く意味が分からない。

とりあえず、余分な機能を削って自分用ライブラリっぽいものにしていこうと思うけど
ファイルが複数に分散しているせいでバックアップがとれない状態なので、失敗したら後戻りができない

464 :386:2008/03/24(月) 20:25:19 ID:e7CsY/T1.net
SkinnedMeshサンプルのコードを30行くらい削減できた
SkinnedMesh.cpp以外の使わない.cppを切り離したいけど、複雑に絡み合っててどうしたらいいのか分からない

465 :386:2008/04/06(日) 22:30:38 ID:SvFmqoyX.net
タイムリミットが来たのでいったん終了
時間ができたら再開

466 :名前は開発中のものです。:2008/06/04(水) 20:14:31 ID:xVETCOHb.net
新しい gamedeve一応かきかき
TopPage - game-develop.com wiki
http://wiki.game-develop.com/

GameDevWikiを何とかするスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1156117275/


467 :名前は開発中のものです。:2009/03/10(火) 13:43:23 ID:/hTRq8qR.net
                  マチクタビレタ〜
      ☆ チンチン〃   Λ_Λ   / ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < 再開マダー?
マチクタビレタ〜 \_/⊂ ⊂_ )   \____
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |   マチクタビレタ〜

468 :名前は開発中のものです。:2009/10/17(土) 19:50:12 ID:J6Fev0B0.net
あああ

469 :386:2009/11/09(月) 14:12:28 ID:ov/osiZ3.net
休止している間に時代がDirectX11になっている件について
どうせ覚えるのに時間かかるから、再開するならDirectX11にしようと思うけど、
G33オンボードでDirectX11が動くのかかなり怪しい

470 :名前は開発中のものです。:2012/09/19(水) 20:39:59.49 ID:fSU5XGsf.net
これはアメリカのゲームです。1度やってみてください。
これは、たった3分でできるゲームです。試してみてください。 驚く結果をご覧いただけます。
このゲームを考えた本人は、メールを読んでからたった10分で願い事が
かなったそうです。このゲームは、おもしろく、かつ、あっと驚く結果を 貴方にもたらすでしょう。
約束してください。絶対に先を読まず、1行ずつ進む事。 たった3分ですから、ためす価値ありです。
まず、ペンと、紙をご用意下さい。 先を読むと、願い事が叶わなくなります。
@まず、1番から、11番まで、縦に数字を書いてください。
A1番と2番の横に好きな3〜7の数字をそれぞれお書き下さい。
B3番と7番の横に知っている人の名前をお書き下さい。(必ず、興味の
ある性別名前を書く事。男なら女の人、女なら男の人、ゲイなら同姓の名
前をかく)
必ず、1行ずつ進んでください。先を読むと、なにもかもなくなります。
C4,5,6番の横それぞれに、自分の知っている人の名前をお書き下さ
い。これは、家族の人でも知り合いや、友人、誰でも結構です。
まだ、先を見てはいけませんよ!!
D8、9、10、11番の横に、歌のタイトルをお書き下さい。
E最後にお願い事をして下さい。さて、ゲームの解説です。
1)このゲームの事を、2番に書いた数字の人に伝えて下さい。
2)3番に書いた人は貴方の愛する人です。
3)7番に書いた人は、好きだけれど叶わぬ恋の相手です。
4)4番に書いた人は、貴方がとても大切に思う人です。
5)5番に書いた人は、貴方の事をとても良く理解してくれる相手です。
6)6番に書いた人は、貴方に幸運をもたらしてくれる人です。
7)8番に書いた歌は、3番に書いた人を表す歌。
8)9番に書いた歌は、7番に書いた人を表す歌。
9)10番に書いた歌は、貴方の心の中を表す歌。
10)そして、11番に書いた歌は、貴方の人生を表す歌です。
この書き込みを読んでから、1時間以内に10個の掲示板にこの書き込みをコピーして貼って下さい。
そうすれば、あなたの願い事は叶うでしょう。もし、貼らなければ、願い事を逆のことが起こるでしょう。とても奇妙ですが当たってませんか?

471 :名前は開発中のものです。:2012/09/19(水) 21:03:12.85 ID:Cm+UcH7p.net
見てます

472 :名前は開発中のものです。:2013/01/15(火) 01:24:43.58 ID:Odrgn/sW.net
当たっていません

473 :名前は開発中のものです。:2015/03/01(日) 00:27:15.53 ID:/P+BpwrA.net
腹へった

474 :名前は開発中のものです。:2017/02/05(日) 08:28:15.25 ID:JadSAIco.net
そうかそうか

総レス数 474
168 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200