5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

IIncoming(仮称)製作スレ

1 : ◆MG8Y97K0EI :05/02/25 21:36:26 ID:9aDGxENN
物理エンジン使った3Dアクションゲームでも作らないかといった主旨のスレ。
とりあえず土台作ってみたけどどんなゲームにしようか決まってない。
ttp://pc5.2ch.net/test/read.cgi/gamedev/1099119021/
↑のスレはネットワーク対応させたらハイオシマイらしいので新規にスレ立てた。

HP作るのメンドイのでWiki。
http://www38.tok2.com/home/iincoming/pukiwiki.php

試作品バイナリ。動作環境が変に厳しいかも
http://www38.tok2.com/home/iincoming/IIncoming.zip

ソース。超非効率ライブラリとodeチョイ弄り版付き
http://www38.tok2.com/home/iincoming/IIncoming-source.zip

2 : ◆MG8Y97K0EI :05/02/25 21:37:52 ID:9aDGxENN
http://pc5.2ch.net/test/read.cgi/gamedev/1099119021/
間違ってh抜いたスマソ

3 :名前は開発中のものです。:05/02/26 10:41:28 ID:hq5I/N8P
決めてから立てて下さい。
SSうpして下さい。

4 :名前は開発中のものです。:05/02/26 12:03:15 ID:GJQ2CBRv
---------------------------
IIncoming.exe - コンポーネントが見つかりません
---------------------------
MSVCRTD.dll が見つからなかったため、このアプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題は解決される場合があります。

5 :名前は開発中のものです。:05/02/26 12:13:50 ID:JTYJeRU+
>>4
あーそうだランタイム入れてなかったスマソ
http://www38.tok2.com/home/iincoming/IIncoming.zip
これで足りてるか?

>>3
いや別に俺が決めていいなら決めるけど

6 :名前は開発中のものです。:05/02/26 12:28:48 ID:GJQ2CBRv
GeForceFX5700VP DirectX9.0C環境での動作を確認
ってか凄いねこれ。


他のウィンドウを操作したあとにIIncomingをアクティブにすると画面が崩れるのはバグですか?

7 :名前は開発中のものです。:05/02/26 12:41:05 ID:GJQ2CBRv
GeForceFX5700VEね

画面崩れSS
全方位に黒い何か
ttp://www.imgup.org/file/iup10747.png
全方位空
ttp://www.imgup.org/file/iup10748.png

8 :名前は開発中のものです。:05/02/26 12:47:07 ID:JTYJeRU+
>>6
「限りなく仕様に近いバグ」かなぁ。原因はおそらく
ウィンドウが非アクティブになってる間に溜まったマウス入力が
再びアクティブになった時に一気に解放されて体が超高速回転→反動でぶっ飛んでく
だと思う。ウィンドウモードの時はマウスを常に中心に固定させるか非アクティブでも
マウス入力できるようにするのが正しい対応だろうけどデバッグには不便なので今のところ放置。


9 : ◆MG8Y97K0EI :05/02/26 13:07:43 ID:JTYJeRU+
エンジンをちょっと改造してデカールやレーザーを描画する前に
一旦自分でワールドとビュー行列でトランスフォームしてからZソートするようにした。
バイナリには反映したけどソースは更新してない。

あと肝心の操作方法を書いてなかった。

タイトル画面・・・Enterで始める

ゲーム画面・・・マウスで照準、左クリックで射撃、右クリックでジャンプとブースト。
W、S、A、Dで前後左右に移動。SPACEキーを押すと地面との摩擦が無くなって滑る事ができる
    

10 : ◆MG8Y97K0EI :05/02/26 23:06:33 ID:JTYJeRU+
デカールの表示方法を変更。いままでは四角形をカメラの方向に回転させて描画していたのを
今度はワールドとビューでトランスフォームされた座標から頂点を四つ伸ばすようにした。

って意味不明だなこりゃ。ゲーム内容は全く進歩無いので更新は無し

11 :名前は開発中のものです。:05/02/27 01:35:36 ID:wG14NB3L
Wikiをいじくってもいいでつか?

12 :名前は開発中のものです。:05/02/27 09:33:59 ID:i6Uvnzk3
こ・これは・・・・!
自主制作すれとやってること変わってねー!!
もうちょっと話題とか作って栗

13 : ◆MG8Y97K0EI :05/02/27 10:39:51 ID:Dn40Zx/j
>>11
どうぞどうぞ。
>>12
とりあえず土台はできたけどどういうゲームにするのかってのが問題。
ミッションクリア形式とかデスマッチ形式とか昔流行ったアクション+RTS形式とかいろいろ考えられる。
ネットワーク対戦は難しそうだけどぜひとも実現したいところだな。ラグドールも欲しい

絵とか曲とか作れないので作ってくれる人がいたらなぁとは思いつつも
この完成度じゃまだ頼めないと思った。

14 :名前は開発中のものです。:05/02/27 10:42:04 ID:1dxLSvZx
戦車?らしきものが真っ黒です。
GeForce2MXだからか?w

15 :名前は開発中のものです。:05/02/27 10:55:17 ID:Dn40Zx/j
>>14
多分頂点シェーダに対応してないから。
うちがGeForce2MXでも表示されてるのはランタイムの違いのせいだろな

16 : ◆MG8Y97K0EI :05/02/27 13:13:39 ID:Dn40Zx/j
デカールとレーザーを今までチマチマ描画してたのをバッファリングして
まとめて描画するようにした、けど稀にテクスチャが崩れるバグ発生。

ソースを更新。バイナリはそのまま

17 : ◆MG8Y97K0EI :05/02/27 13:23:27 ID:Dn40Zx/j
あー直った直った。

18 : ◆MG8Y97K0EI :05/02/28 21:59:40 ID:W2T1BXWZ
レーザーの表示形式を変更。ポリゴン数が1/4に削減されたけど
近くで見た時に崩れてる。なんとか直したいところ

19 : ◆MG8Y97K0EI :05/03/01 23:58:53 ID:5TFg16pS
今日はいろいろあって更新無いのでなんとなく表示が崩れてるSS。
http://www38.tok2.com/home/iincoming/ss.png



20 : ◆MG8Y97K0EI :05/03/02 23:19:49 ID:NQxk3QZQ
結局俺の技術と時間じゃどうにもこうにもブルドックなので妥協した
今んとこ問題ないけどホーミングレーザーは細いのしか描けなくなった
フォルダ構成変えたのでバイナリとソース両方更新。
銃弾のエフェクトがしょぼくなってるのはカッコいい描きかた摸索中だから。

21 : ◆MG8Y97K0EI :05/03/03 22:48:46 ID:dBcdwMQq
Visual C++.net 2003買ってきた。動かなくなった

22 :名前は開発中のものです。:05/03/04 20:31:21 ID:YPGpmuIl
さらにRADEONだとトゥーン部分が表示されないので
ついでにシェーダーアセンブラからエフェクトに乗り換えたらまた詰まる詰まる

問題一つ追加。


23 : ◆MG8Y97K0EI :05/03/05 19:04:26 ID:s1cAQfeC
なんとかまた元通り動くようになった。

シェーダーアセンブラからエフェクトに乗り換えた。
テクスチャが貼られてないと真っ白になってしまうので
模様のない部分にも無地のテクスチャを貼らなければならない。
以前はテクスチャの有無を検出してシェーダーを切り替えていたがエフェクトだと上手くできない。

Visual Studioは結局6.0に戻した。SDKのバージョンも古いやつをインストール。
正直アホらしいが仕方がない。

これだけってのもアレなので輪郭の太さを距離に応じて変えるようにしてみた。
どっちがいいかね?って誰も聞いてないみたいだけどな。

24 : ◆MG8Y97K0EI :05/03/05 19:49:37 ID:s1cAQfeC
でGeForce2MXで動かしたら今度はまっ灰色。
もうやんなってきた

25 :名前は開発中のものです。:05/03/06 09:40:22 ID:efsdswbS
>>24
あるある

26 : ◆MG8Y97K0EI :05/03/06 15:32:04 ID:wYjWVdBH
フォグに対応させるの忘れてた。ついでに霧を無駄に濃くしてみた

バイナリのみ更新。

27 : ◆MG8Y97K0EI :05/03/06 21:51:21 ID:wYjWVdBH
gameSpaceLight弄り中

28 : ◆MG8Y97K0EI :05/03/07 22:33:05 ID:EDuWG1Aa
あーこれはあれだ、根性で間接の位置をハードコーディングで合わせるしかないっぽ。
でまたプログラミングに戻るわけだが、スキンメッシュがファイルによって表示されたりされなかったりする。
どういう事でしょ

29 : ◆MG8Y97K0EI :05/03/07 22:39:59 ID:EDuWG1Aa
アニメーション情報の初期化忘れてただけじゃん。
となると以前このコードでちゃんと動いてたのが不思議ってことになる罠

30 :名前は開発中のものです。:05/03/08 02:22:05 ID:lMtnnr+H
話してることが高度すぎてよく分からんが応援している
超頑張れ

31 : ◆MG8Y97K0EI :05/03/08 11:11:13 ID:NB6freDk
>>30
いや言葉足らずで俺自身とエスパー以外には文章が解読不能なだけかと。
やってる事は完全に素人。

今やってんのは人型の敵が生きている間は走りとかの固定アニメーションで動いて(物理法則無視)
死んだ後は物理法則に従うっていうやつ。最近のFPSだと使われてないほうが珍しいだろな

32 : ◆MG8Y97K0EI :05/03/08 12:33:42 ID:NB6freDk
全然関係ないけどトゥーンレンダリングって

真っ白に塗る→ステンシルシャドウ

ってやれば別にバーテックスシェーダー使わなくてもいいような気がしてきた

33 : ◆MG8Y97K0EI :05/03/08 19:50:06 ID:NB6freDk
ラグドール無理。やるならエンジンの根本から作り直さないといけないから
こりゃ次回作にご期待くださいってところだな

34 : ◆MG8Y97K0EI :05/03/08 20:54:07 ID:NB6freDk
でも諦めきれないから無茶な方法を使ってでも実現しちゃおうかねえ

35 : ◆MG8Y97K0EI :05/03/10 00:17:39 ID:xhpWz5W3
根性で関節情報設定中

36 : ◆MG8Y97K0EI :05/03/11 23:35:58 ID:DuE00Y+S
努力の途中経過。Enterを押すと死ぬ
ランタイムが無い人はIIncomingのほうからコピーすべし
http://www38.tok2.com/home/iincoming/Engine2.zip

37 :名前は開発中のものです。:05/03/12 16:47:35 ID:0xa4+dkY
>>36 ワロタ。Enterを押すタイミングで様々な死に様になる。
俺のPCのCPU、1.5Gなんだけど、倒れ方がマトリックスのあれみたくスローモーション。
これはCPUの性能?それとも仕様で、時間の進み方を遅くしてんの?

38 : ◆MG8Y97K0EI :05/03/12 17:46:09 ID:l67B4xHJ
>>37
スピードが遅いのは仕様。実際のゲームでは当然もっと早くする
最後のとどめだけカメラがズームイン&スローモーションとかの効果を付ける可能性はあるけど
それは全く別のお話。
現状の問題点としては見ればわかるけど間接の可動範囲がちゃんと設定されてないせいで
五十肩のうえに骨折しまくりってところ。今使ってる某所から拾ってきたモデルだと分かりにくいから
自分でもっと単純なのを作って見ようと思ってんだけどgameSpaceLightの使い方がまだよく分からないのであった

↑脳内データーをそのままダンプしてるだけだから俺以外が読んでも意味不明だなこりゃ

39 : ◆MG8Y97K0EI :05/03/14 23:16:55 ID:wa1BZllb
まだだいぶ不正確だけどそれっぽく見えるようになったしゲームのほうに実装してみましょうかね

で、ゲームに実装する際に問題になるのが固定アニメーションで動かしてる間
物理的にどう振舞わせるか。人型ロボの時のやり方そのままで上手くいけば良いが


40 : ◆MG8Y97K0EI :05/03/15 23:46:24 ID:Wp/vVlSC
と思ったけどまだまだ実装するのは先になりそうだなこりゃ。

41 : ◆MG8Y97K0EI :05/03/17 00:34:10 ID:QeCXcyE9
でもやっぱり一旦実装しようかなとかフラフラして俺であった。

42 :名前は開発中のものです。:05/03/17 15:52:48 ID:yirzEDtT
ODE使って
ttp://www.3impact.com/index.htm
このサンプルみたいなラグドールってできると思う?

43 : ◆MG8Y97K0EI :05/03/17 16:17:33 ID:QeCXcyE9
ageちゃいやん。最下層スレ目指そうと思ってたのに

できるはず。ジョイントの可動範囲が「現在の角度から何度」の形式でしか設定できなかったりして
結構メンドイけどね
でもまぁぶっちゃけODEより向いてそうなエンジンはあるんだけどね。SpringHeadとか

44 :名前は開発中のものです。:05/03/17 16:38:14 ID:AoKNcdaX
禿しく応援してます!!!

45 : ◆MG8Y97K0EI :05/03/17 23:50:01 ID:QeCXcyE9
とりあえず今出来てるものをIIncomingに実装してみた。
武装がミサイルになってるのでその爆風で人形を小突き回せる。


すっげー不完全だけどね

46 : ◆MG8Y97K0EI :05/03/18 23:21:47 ID:16qzGsMz
なんか肩の様子がおかしいので左右入れ替えてみたらだいぶ自然になった。
俺の脳に致命的なエラーが発生していたようです

バイナリ更新。

47 : ◆MG8Y97K0EI :05/03/21 00:46:40 ID:K9zHe+SE
ラグドール完成。死体どうしが多数重なると死ぬほど重くなるのは多分物理エンジンの特性上の問題。
SpringHeadとかNovdeXとか使えば解決するしそもそももっと簡単に作れるんだろうけどね

バイナリ更新。
あとなぜかソースコードがやたらと巨大化したんでアップロードできなくなったスマソ
まぁそのうちなんとかします、バイナリだけ置いてても意味が無いし

48 : ◆MG8Y97K0EI :2005/03/21(月) 23:33:11 ID:puwONSFQ
ラグドールもできたし、次は影かね
影の実現方法っていうと

シャドウマップ・・・セルフシャドウできない。ヘボい
ステンシルシャドウ・・・ちょっとメンドイけどセルフシャドウばっちり。GeForceMX2でも動く
深度マップシャドウ・・・多少メンドイけどセルフシャドウもできるしソフトシャドウまでできる。でもPixelShader必須

ステンシルかな

49 : ◆MG8Y97K0EI :2005/03/22(火) 00:19:15 ID:WCppqxaA
ソースを置くための別館というか倉庫を作ってみた。
あとODEとIIncoming部分を分けてみた

http://iincoming.hp.infoseek.co.jp/

50 :名前は開発中のものです。:2005/03/22(火) 23:43:16 ID:PF3Ngvgy
やってみた。
真っ白い人がいっぱい動いてた。
なんか白い人が近づいてきた。
めっちゃでかかった。
マウス動かしてみた。
画面がマウスの動きに追随して横を向いた。
画面いっぱいに動かしてもちょっとしか横向けなかった。
左クリック押してみた。
ショット撃ってるようだ。
白い人になんとかがんばってあててみた。
太陽の尻尾バリのスライディングで倒れこんできた。
右クリック押してみた。
飛んだ。
着地した。
下向きっぱなしになった。
直らなくなった。


51 : ◆MG8Y97K0EI :2005/03/23(水) 12:13:55 ID:ZZhxOf++
画面右端でマウスを右に動かしてもカーソルは動かないけどちゃんと回るべ
あと下向きっぱなしってのも同じような話じゃないかしら

52 : ◆MG8Y97K0EI :2005/03/23(水) 22:29:57 ID:ZZhxOf++
ステンシルシャドウにしようと思ったけどD3DX使ったスキンメッシュのシャドウボリューム作るのって
無駄にメンドイっぽいのでやっぱり深度マップシャドウにすることにした。

53 : ◆MG8Y97K0EI :2005/03/25(金) 00:14:40 ID:mEsh1689
影といえばライティング、ってわけで前から気になってたライティングの不自然さを直そうと思ったら
結構深刻なバグがあったみたい。

54 :名前は開発中のものです。:2005/03/25(金) 22:43:55 ID:mEsh1689
なんだ単に法線ベクトル正規化してなかっただけじゃんって書いたところで
>>52で具体的な症状を書いてないから何にも繋がらなかったりする。

で法線ベクトル正規化したらこれが暗い暗い。前のコードで全部ライティングの結果が全部
真っ白になってたのに合わせてたからだけど。あと三角形の法線が全部同じなせいで
実質フラットシェーディングだから結構変に見えたり。

55 : ◆MG8Y97K0EI :2005/03/25(金) 22:57:01 ID:mEsh1689
でも考えてみたら地面に草が生えててそれに光が反射するんだから
斜面の向きに関係なく明るさは等しくなるんじゃないか?

56 : ◆MG8Y97K0EI :2005/03/26(土) 00:32:49 ID:lJc2sdwq
あと深度マップシャドウにするとは言ったけどIIncomingみたいな広大なマップには
向いてないんだよな。影を落とすか落とさないかのデータがものすごい膨大になる。
ステンシルシャドウのほうに抜け道っていうか頂点バッファのデータを直接いじれるみたいなんで
こっちを使ったほうがいいみたいだな。


57 : ◆MG8Y97K0EI :2005/03/26(土) 23:58:03 ID:lJc2sdwq
非スキンメッシュの影は一応できた・・・みたいだな。
次はスキンメッシュなんだが、これはちょっと厄介みたいだ。
シャドウボリュームを描く際に必要な行列が・・・って書いてるうちにできた。
単にテストのために弄ったコードを直すの忘れてただけっぽ



58 :名前は開発中のものです。:2005/03/27(日) 00:13:38 ID:oQN1gFyN
おっとしかし歩兵が死ぬと影だけ死んだ位置に残ってるぞ

59 : ◆MG8Y97K0EI :2005/03/27(日) 01:12:19 ID:oQN1gFyN
あー直った直った。

でもポリゴン数が少ないからセルフシャドウがすっげー汚いのねん。
こりゃCGソフト買わなきゃ駄目だ。gameSpaceLightだとポリゴン数制限あるし
あと弄り回してるうちに何故か影が半透明じゃなくて真っ黒になったまま戻りません

60 :名前は開発中のものです。:2005/03/27(日) 01:16:14 ID:oQN1gFyN
SetTextureStageStateとかでテクスチャ同士の色を合成しなきゃいけないみたいだな。

で影が薄くなったら美しい美しい。

61 : ◆MG8Y97K0EI :2005/03/27(日) 01:31:16 ID:oQN1gFyN
・シェーダーいらなくなったのにまだ使ってる
・ポリ数少ないからセルフシャドウガクガク
・敵のHPとかスコア表示に影が落ちちゃってる

といろいろ細かい問題はあるけどとりあえずいちおうそれっぽくなった。
ステンシルシャドウって結構重いのな。これでポリ数増やしてまともに動くのか心配だ

バイナリ更新。リアルタイムシャドウの衝撃を君にも!
って誰もINEEEEEEEEEEEEE!!!!!!!!!

62 : ◆MG8Y97K0EI :2005/03/30(水) 17:01:48 ID:NtM5e331
でもそういえば輪郭線の長さを一定にするために頂点シェーダー必要だったんだ

63 : ◆MG8Y97K0EI :2005/03/31(木) 22:43:44 ID:UfBQJO6I
八頭身モデリングしてます。ダリー

64 : ◆MG8Y97K0EI :皇紀2665/04/02(土) 00:31:58 ID:0LntjCP9
つかマジできっつい。gameSpaceLightが650ポリゴン制限なせいでカクカクになるし
スキニングが上手くいかずに穴が開いてそこから暗黒物質が流れ出したり。

俺はCG屋じゃないもんね

65 : ◆MG8Y97K0EI :2005/04/02(土) 22:38:59 ID:0LntjCP9
gameSpace有料版を手に入れるまでモデリングはお休み。
でプログラム側の問題を挙げると

・カメラが影の中に入ると表示がおかしくなる
・重い

前者の解決方法はシャドウボリュームを2パスレンダリングすることで解決するけど
それによって後者の問題が二倍に悪化する。Pentium4 3GHz+RADEONのおそらく
ローエンド〜ミッドレンジクラスのビデオカードという構成で歩兵10体を出すと60FPS切る。

66 :名前は開発中のものです。:2005/04/02(土) 23:34:02 ID:t5NV6yxC
>>65
ステートの設定方法をかえると、1パスでも、
視点が影の中に入ってもきちんと表示させることができたよ。

67 :名前は開発中のものです。:2005/04/02(土) 23:54:51 ID:t5NV6yxC
これだと思う違ってたらすまん

// 両面ステンシルを使用する
LPD3DDEVICE->SetRenderState( D3DRS_TWOSIDEDSTENCILMODE, TRUE );

//ステンシルを有効にする
LPD3DDEVICE->SetRenderState(D3DRS_STENCILENABLE, TRUE);
// ステンシルテストは常にパスする
LPD3DDEVICE->SetRenderState(D3DRS_STENCILFUNC, D3DCMP_ALWAYS);
LPD3DDEVICE->SetRenderState(D3DRS_CCW_STENCILFUNC, D3DCMP_ALWAYS );
// ステンシルの基準値は1、マスクはデフォルト
LPD3DDEVICE->SetRenderState(D3DRS_STENCILREF, 1);
LPD3DDEVICE->SetRenderState(D3DRS_STENCILMASK, 0xffffffff);
LPD3DDEVICE->SetRenderState(D3DRS_STENCILWRITEMASK, 0xffffffff);

// 表向きの面 ステンシルで失敗したらステンシルはそのまま
LPD3DDEVICE->SetRenderState( D3DRS_STENCILFAIL, D3DSTENCILOP_KEEP );
LPD3DDEVICE->SetRenderState( D3DRS_STENCILZFAIL, D3DSTENCILOP_DECR );
LPD3DDEVICE->SetRenderState( D3DRS_STENCILPASS, D3DSTENCILOP_KEEP );

//CCW後ろ向きの面 ステンシルで失敗したらステンシルはそのまま
LPD3DDEVICE->SetRenderState( D3DRS_CCW_STENCILFAIL, D3DSTENCILOP_KEEP );
LPD3DDEVICE->SetRenderState( D3DRS_CCW_STENCILZFAIL, D3DSTENCILOP_INCR );
LPD3DDEVICE->SetRenderState( D3DRS_CCW_STENCILPASS, D3DSTENCILOP_KEEP );

68 :名前は開発中のものです。:2005/04/03(日) 00:31:09 ID:cch5Xwol
>>67
ちょうど今その方法を試してたとこだが
ttp://www38.tok2.com/home/iincoming/ss2.png
こんな感じに物体の裏側の影が見えちゃうんだよな。
俺のやり方がおかしいのかね

てかこのCarmack's Reverseって特許大丈夫なのかしら

69 : ◆MG8Y97K0EI :2005/04/03(日) 00:47:08 ID:cch5Xwol
でもCarmack's Reverse(>>67のやり方のこと)の文だとこれでちゃんと動くはずなんだよな
どーしてだろ

70 : ◆MG8Y97K0EI :2005/04/03(日) 01:09:28 ID:cch5Xwol
SSだけじゃ分からんと思うのでバイナリ更新。ついでにソースも

71 : ◆MG8Y97K0EI :2005/04/03(日) 01:33:57 ID:cch5Xwol
SDKのサンプルをそのまんまCarmack's Reverseに書き直してみても上手くいかない。
まだ必要な変更が残っているのか?

72 :名前は開発中のものです。:2005/04/03(日) 09:13:09 ID:1izc6w4k
シャドーボリュームを普通に描画したときは、スキマなく変形して表示されてますか?

73 : ◆MG8Y97K0EI :2005/04/03(日) 11:04:56 ID:cch5Xwol
シャドウボリュームに異常はないみたいだ。

74 : ◆MG8Y97K0EI :2005/04/03(日) 11:11:41 ID:cch5Xwol
ひょっとすると縮退四角形を埋め込んだモデルってのをちゃんと作らなきゃダメなのかね
今やってるサンプルの丸写しは「横着でいい加減な方法」らしいし。

で調べてみたら

ttp://www.uri.sakura.ne.jp/~cosmic/yuno/lab/gl_shadow.html

>影の投影面だけ考えてみると上手くいきそうですが、
>実際にこれをやると、シャドウボリュームを側面しか作ってない場合に
>セルフシャドウがおかしくなります。これは、シャドウボリュームに天井を付ければ直ります。
>方法2でシャドウボリュームを作れば、最初から天井が付いてるのでノープロブレムです。






書き直し。


75 : ◆MG8Y97K0EI :2005/04/03(日) 17:55:26 ID:cch5Xwol
となると今までは影ごとに毎回シャドウボリュームを作り直してたのが
今度は形状データごとにシャドウボリュームを作って影個体ごとの処理は頂点シェーダで
ってことになるみたいだな。かえって軽くなるかも

76 :名前は開発中のものです。:2005/04/03(日) 23:05:46 ID:cch5Xwol
ってスキンメッシュの場合結局毎回作り直さなきゃいけないんだったな。

77 : ◆MG8Y97K0EI :2005/04/04(月) 00:49:29 ID:OT1wTl/8
書籍のサンプルを思いっきり丸写ししてみたが、
形状データによってちゃんと動いたりシステムごとハングッたりする

78 : ◆MG8Y97K0EI :2005/04/04(月) 13:55:52 ID:OT1wTl/8
ハングアップする形状データをサンプルに読み込ませてみたらやっぱりハングった。
問題の形状データはかなり細かいので、
シャドウボリュームを作る際の「同じ頂点と判定するしきい値」が大きすぎるのか?と思って
しきい値を0にしてみたら今度は「できたシャドウボリュームの頂点数が理論値と異なります」
そこのアサートを消して頂点バッファを大きくしてみたけどやっぱりダメ。


79 : ◆MG8Y97K0EI :2005/04/04(月) 13:58:18 ID:OT1wTl/8
異常が起こるデータもごく少数でどれも影つけなくても問題ないやつだし先に進めちゃうか。

80 : ◆MG8Y97K0EI :2005/04/04(月) 17:46:35 ID:OT1wTl/8
次はスキンメッシュ。といっても毎フレームポリゴン解析→シャドウボリューム作成
とやってたら重いのでロードの時にどのポリゴン同士に埋め込むかを記録しておいて
毎フレーム作成・・・ってこれでも重そうだな

81 :名前は開発中のものです。:2005/04/04(月) 20:30:27 ID:wc4ytvln
Xファイルから読み込んだデータからメッシュ作っているなら
そのメッシュをライトのベクトルにあわせて変形させるバーテックスシェーダに
渡してシャドーボリューム作ればいいんじゃないの?というか俺は、曲面の多い
物体は稜線にポリゴン埋め込まなくても、そんなに影が変にならないのでそうしている。

82 : ◆MG8Y97K0EI :2005/04/04(月) 20:51:33 ID:OT1wTl/8
こっちの場合地面と物体との距離が離れる場面が多いから稜線がないと駄目ぽ。
シャドウボリューム用バーテックスシェーダは最近使うようにしたから大丈夫

そういや稜線を埋め込む頂点のインデックスバッファを用意して
その用意したインデックスバッファ+元々のメッシュの頂点バッファっていう構成で
レンダリングすれば手間が省けるかね。

83 : ◆MG8Y97K0EI :2005/04/04(月) 20:58:37 ID:OT1wTl/8
目下の問題は稜線無しのシャドウボリュームを作ってみたけどちゃんと表示されないってことだったりして

84 : ◆MG8Y97K0EI :2005/04/04(月) 21:25:21 ID:OT1wTl/8
行列を更新してなかっただけじゃねーかこのスカタンがぁーーーー!>>俺

85 : ◆MG8Y97K0EI :2005/04/04(月) 21:29:37 ID:OT1wTl/8
できたできた。

>そういや稜線を埋め込む頂点のインデックスバッファを用意して
>その用意したインデックスバッファ+元々のメッシュの頂点バッファっていう構成で
>レンダリングすれば手間が省けるかね。

考えてみたらシャドウボリュームって法線を面ごとに同一にしなきゃいけないから
この方法って使えないな。FVFも違うし。
モデリングの時点で法線を同一にして、FVFもメッシュ側に合わせればできるけど
メンドイからやめとく


86 : ◆MG8Y97K0EI :2005/04/05(火) 23:05:12 ID:futjKOjR
そういやバイナリ更新してなかった。

87 : ◆MG8Y97K0EI :2005/04/06(水) 17:10:13 ID:mZSplTpN
しっかし重い重い。スキンメッシュの使われるモデルは曲面が多くポリゴン数も多いって事を考えると
スキンメッシュだけ>>81の方法を使ってそれ以外は今の方法を使うってやり方が一番かな

88 : ◆MG8Y97K0EI :2005/04/06(水) 17:16:58 ID:mZSplTpN
とりあえず今のポリゴン数だとセルフシャドウおかしくなるな
gameSpace製品版で多ポリゴンモデル作ってから検討したほうがいいかも

89 : ◆MG8Y97K0EI :2005/04/07(木) 21:28:37 ID:6rUIDUBo
地面と滑っていく敵の死体が何も出さないのはおかしい。
ってわけで摩擦関連のコードを調べてんだけど・・・よくわからん

90 : ◆MG8Y97K0EI :2005/04/07(木) 22:14:50 ID:6rUIDUBo
ttp://springhead.info/wiki/index.php?%CA%AA%CD%FD%A5%B7%A5%DF%A5%E5%A5%EC%A1%BC%A5%BF%A4%CB%A4%C4%A4%A4%A4%C6%A4%CEQ%A1%F5A

>Q:で,結局どっちがいいの?解析法?ペナルティ法?
>A:
>フリーな剛体を沢山扱いたいたいなら,解析法.
>力覚インタフェースと直結するならペナルティ法
>静止摩擦・動摩擦を正確に扱いたいなら,ペナルティ法
>人体などの関節モデルを沢山扱いたいならFeatherstone法+ペナルティ法けれども研究は止まっていないので,これは今(2004.9),私が把握している範囲の話です.

無理かねえ

91 : ◆MG8Y97K0EI :2005/04/08(金) 18:12:35 ID:QjOGwquq
まぁ摩擦のほうは置いといて地面に草でも生やしてみましょうか。

92 : ◆MG8Y97K0EI :2005/04/11(月) 19:28:31 ID:t6yLiFdo
指定したxz座標での地面での高さyを求める式とかそのへんで手間取った。
とりあえず途中経過ってことですっげーしょぼいけどバイナリ更新。

93 : ◆MG8Y97K0EI :2005/04/11(月) 23:42:17 ID:t6yLiFdo
草を上から見ると寝っ転ぶのは明らかにおかしいですね。
あと遠目の草はアルファ値でフェードアウトさせたほうが自然かな

94 : ◆MG8Y97K0EI :2005/04/12(火) 18:04:51 ID:d+rP74Kk
Wiki弄ってくれてる人いるみたいだし俺もちゃんとWiki書こうかね

95 : ◆MG8Y97K0EI :2005/04/13(水) 23:39:33 ID:KxMwxmlF
上から見たときちゃんと草の向きが変わるように変更。

とりあえず大学が始まったんで前みたいなキチガイスピードで更新するのは無理になりましたが
ちゃんとチマチマやるつもりなんで逃げたとか言わないでください

96 :名前は開発中のものです。:2005/04/14(木) 22:17:38 ID:G224ZSxT
大学生か
頑張れよ

97 : ◆MG8Y97K0EI :2005/04/16(土) 21:45:37 ID:Y6ZFKK9p
フェード処理完成。

98 : ◆MG8Y97K0EI :2005/04/17(日) 17:23:49 ID:ZqWyHpuE
輪郭線の長さを一定に戻してみた。こっちのほうが味はあるんだけどねえ

バイナリ更新

99 :名前は開発中のものです。:2005/04/17(日) 18:57:57 ID:VZYcOQQ0
>>1
全然関係ない話で悪いんだけど
学び始めてどのくらいで思い通りにDX使ったプログラミング出来るようなった?
もしよければ参考に教えてほしいぽ

100 : ◆MG8Y97K0EI :2005/04/17(日) 21:02:07 ID:ZqWyHpuE
まーだ全然思い通りじゃないんだけどね。スキニングとかもろサンプルのコピペだし。

今のレベルまで到達するのにかかった時間を数えるとCを学び始めてから8年くらい?
つっても結構ガキの頃からやってるから高校生以上から勉強し始めれば
数年でこれくらい作れるようになるんじゃないの

101 : ◆MG8Y97K0EI :2005/04/19(火) 23:56:49 ID:/+uRmp+n
スキニングを頂点シェーダで実装中。コピペで。

102 : ◆MG8Y97K0EI :2005/04/22(金) 20:26:55 ID:hjArpqnY
トゥーンの白身部分はできたけど輪郭線の表示がおかしい。

103 : ◆MG8Y97K0EI :2005/04/23(土) 14:47:40 ID:UCI9T6tZ
輪郭線の表示の際カリングが逆向きになるのが
中身の表示の際元に戻ってなかったのが原因だった。

104 : ◆MG8Y97K0EI :2005/04/23(土) 22:13:01 ID:UCI9T6tZ
エフェクトを使って描画したあとレンダーステートがちゃんと戻りません

105 : ◆MG8Y97K0EI :2005/04/24(日) 18:26:29 ID:U1TcmX9B
ID3DXEffect::Begin()にD3DXFX_DONOTSAVESTATEを指定してたのが原因ですた

106 : ◆MG8Y97K0EI :2005/04/25(月) 23:50:25 ID:kWdX9Qj/
すっごい軽くなったけどすっごい表示がおかしいです。

107 :名前は開発中のものです。:2005/04/25(月) 23:53:12 ID:kWdX9Qj/
あーごめんそんな速くなってないわ。まぁCPUの負荷を減らすに越した事はないな

108 : ◆MG8Y97K0EI :2005/04/26(火) 23:24:08 ID:lRAaDud0
新しく追加されたシェーダにフォグのパラメーターが設定されてなかったのを修正

109 : ◆MG8Y97K0EI :2005/04/27(水) 22:22:28 ID:ry42/5+2
またしてもケアレスミスでだいぶ手間取る。
とりあえず>>81の方法でやってるけど頂点少ないから表示がかなり変。
きちんと稜線にポリゴンを埋め込むとなると「シャドウボリュームの時に引き伸ばすか
どうかを判定するための法線」と「トゥーンシェードでどっちに頂点を延ばすかを判定する法線」
の二つが必要だからメッシュの頂点宣言弄らなきゃいけないんだよな。
あと遠くに行くと物体の表面に黒いものがチラつく(Z Fightingだっけ?)し。

ひさびさのバイナリ更新。CPUがしょぼくてビデオカードが強力なPCなら軽くなってるかも

110 : ◆MG8Y97K0EI :2005/04/29(金) 23:52:02 ID:HXnk0NTn
友人のCPU3Ghzくらい、オンボードビデオのPCで
FPSが大してウチのPCと変わらなかった件について。

111 : ◆MG8Y97K0EI :2005/05/05(木) 00:12:33 ID:iM0r0LXS
銃弾が地面に当たった時、跳ね返らずに土煙を出すようにした。
また跳ね返る銃弾の挙動を変えた(ランダム性を大幅に強くした)。

バイナリ更新

112 : ◆MG8Y97K0EI :2005/05/07(土) 12:49:54 ID:09linRAN
いい加減ゲーム部分に入っちまおうかな。人来ないし
その前にサウンド関係だけどな

113 : ◆MG8Y97K0EI :2005/05/08(日) 19:16:57 ID:FCUD3atK
昔の書籍の付録CDに入ってたライブラリをDirectX8対応その他手直ししてとりあえず組み込む。
だいぶ改良が必要だが

114 : ◆MG8Y97K0EI :2005/05/08(日) 22:43:51 ID:FCUD3atK
なんとなく気になったので影無しの時はマルチテクスチャによるトゥーンシェード、
影ありの時はベタ塗りにステンシルシャドウってしてみた

115 :名前は開発中のものです。:2005/05/12(木) 22:58:02 ID:2wXMWFru
削除依頼だしときますた

116 : ◆MG8Y97K0EI :2005/05/15(日) 23:27:33 ID:KEfWS1H9
しばらく何もレスが無いのできっと次は大幅な更新があるんだろうなと
思っている皆様すいません何もしてません

予定としては面クリア型のゲームにして、敵は360全方位から決められた数とタイミングで発生。
で全部倒したらボスっつー形式にしようかなと。

>>115
DQNRMTerは氏ね

117 : ◆MG8Y97K0EI :2005/05/21(土) 23:42:22 ID:cZ9wfLJZ
新しい敵、JienFighterを追加。一定の高度で自機に近づきながら
(突進するわけではない。こちらが停止していると横をかすめる)弾を吐いてくる。
でも当たる方が難しかったりして

118 : ◆MG8Y97K0EI :2005/05/23(月) 21:53:52 ID:z2M+vwZ0
JienMissiler追加。まぁミサイル撃ってくる敵で、一定の距離を保とうとします

119 : ◆MG8Y97K0EI :2005/05/23(月) 22:15:11 ID:z2M+vwZ0
新しい敵をとりあえず一斉に出してみた。

時を越えてバイナリ更新

120 : ◆MG8Y97K0EI :2005/05/24(火) 23:59:23 ID:+QRWCc35
敵の頭上を取ると弾撃ってこないな。
それは置いといてMissilerが常にこっちを向くようにしてみた。

121 : ◆MG8Y97K0EI :2005/05/27(金) 23:20:40 ID:tQu0YNRO
>>120を修正。

122 : ◆MG8Y97K0EI :2005/05/27(金) 23:52:20 ID:tQu0YNRO
つーかホントこのペースだといつ終わるか分からんなぁ

123 : ◆MG8Y97K0EI :2005/05/29(日) 20:47:22 ID:vlWS+MMI
敵が自機から200.0fの距離、敵個体ごとの決められた高度で出現するように変更。
つまり自機が画面の端っこにいようが真ん中にいようが敵が北側とか西側とか
決まった方向から来るってこと。でも自機が高く飛んでいても敵が高空から来るってことはない。
それに合わせてマップ四方の壁に自機以外当たらないように変更。
さらに弾のRay衝突判定のコードを変更。


124 : ◆MG8Y97K0EI :2005/05/29(日) 20:52:15 ID:vlWS+MMI
あとレーダーの表示もマトモにしたんだった。
文にすると長い割にわけ分からんけど実際はチマチマした変更

125 :名前は開発中のものです。:2005/06/01(水) 15:41:11 ID:yRNN0k/W
おもすれー(^ω^)

シリアスサムみたいにうちまくり

126 : ◆MG8Y97K0EI :2005/06/05(日) 21:04:21 ID:5t8Yd+r9
両面ステンシル非対応ビデオカードでも影がちゃんと表示されるようにした。

127 : ◆MG8Y97K0EI :2005/06/05(日) 23:20:10 ID:5t8Yd+r9
ゲーム化に向けて調整中。
照準追加→ちょっと離れただけで着弾点がずれる→銃をカメラに近づける
→銃でかすぎ→小さくする→弾の出る位置変→直す

弾の出る位置直したら集弾率が上がって変な外れ方しないようになった。
いや根本的にはジサクジエン型の敵が小さすぎるのが問題なんだけども

128 : ◆MG8Y97K0EI :2005/06/07(火) 13:23:45 ID:5BR62BEC
つかNovdexマンセーに向かってる世の流れに反してODE使ってたり
モデルデータがXとか素人丸出しだったりぶっちゃけとっととゲームとして纏めて
次行きたい気分だったりする。

129 :名前は開発中のものです。:2005/06/07(火) 21:34:46 ID:Hs3Oxw99
むう、んなにNovedexマンセーなのか。日本語界隈しか追ってないから流れがわからん――orz

よかったら簡単にODEとかとの比較とかやってーな。
参考にするから。

130 : ◆MG8Y97K0EI :2005/06/07(火) 23:10:39 ID:bcDeBqQA
>>129
Novodexはデモ見ただけだから今の俺には比較検討とかは無理。
ただODEで不安定なTrimesh(ようはポリゴンメッシュ)もNovodexのデモではスイスイ動いてたな。

マンセーされっぷりはグーグル先生が教えてくれるくらいの認知度。
この調子だとPhysX売れなくても標準になるような気がしなくもない

131 : ◆MG8Y97K0EI :2005/06/11(土) 19:45:48 ID:I7aJjY6E
最近狂ったように忙しいけど止めませんよ。
とりあえず夏休み入れば時間できるんでそん時にバーっと。

132 : ◆MG8Y97K0EI :2005/06/11(土) 21:08:36 ID:I7aJjY6E
爆発がアニメ調のつもりがただ汚いだけだったのをマトモにした。

バイナリ更新

133 : ◆MG8Y97K0EI :2005/06/11(土) 21:19:03 ID:I7aJjY6E
ジエン系敵の大きさを1.3倍に。ついでに当たり判定の大きさが滅茶苦茶間違ってるのに
気づいて直す。「当たってるのに当たらない」変なストレスが無くなった

134 : ◆MG8Y97K0EI :2005/06/20(月) 23:38:17 ID:RYJeebbN
7/1まで糞忙しいです。保守sage

135 :名前は開発中のものです。:2005/07/01(金) 15:23:21 ID:3ZhRh+rq
ワクワク

136 : ◆MG8Y97K0EI :2005/07/01(金) 23:10:37 ID:zd6q6r3F
7/1まで忙しい≠7/1に更新が来る
ていうかどれくらい下に潜れるか挑戦してる節もあるのでsageてください

137 : ◆MG8Y97K0EI :2005/07/05(火) 20:35:28 ID:xyaVKhtx
LAMEライブラリ使ってmp3をデコードしてBGMを鳴らしてみましょう。



実はレポートの課題ですゴメンナサイ

138 : ◆MG8Y97K0EI :2005/07/05(火) 20:56:22 ID:xyaVKhtx
でも内部動作の全く分からんライブラリをリンクして使ってハイ提出ってのもなぁ
って思ってたらこんなん見つけた。シンプル低機能で特許の問題が無いらしい

ttp://www5c.biglobe.ne.jp/~atsu/mp3/mp3.htm

問題はこいつをリンクして作ったプログラムを提出・配布する際に著作権がどーなるのかだが。

139 : ◆MG8Y97K0EI :2005/07/05(火) 22:21:08 ID:xyaVKhtx
でどのへんが省略されてるのかを調べてみると

このライブラリでエンコードしたmp3は他のmp3プレイヤーで再生できる
他のmp3エンコーダでエンコードしたmp3はこのライブラリではデコード(再生)できない

微妙

140 : ◆MG8Y97K0EI :2005/07/10(日) 12:08:16 ID:bkqRixGG
機能が省略されてるんならCPUへの負荷も少なめだろうし
ゲームのBGM再生には結構適してるのかなーとか考えて>>138使うことにしました。

で鳴らしてみたらなんかノイズがジージー鳴ってるだけです。
レポートの締め切りがヤバイです

141 : ◆MG8Y97K0EI :2005/07/11(月) 21:24:06 ID:AFvt8AI4
とりあえずレポートの方はLAMEで提出しとく事にしました。

142 : ◆MG8Y97K0EI :2005/07/17(日) 12:59:33 ID:aQmAiruQ
26日までのレポートで>>138をSSE対応させなきゃいけません。
でいまだに普通に動かすこともできないでいるので問題をいろいろ切り分けてます。

・デコード部分をLAMEにしてみる(>>141)→動いた
・生のWAVEデータを読み込んで再生→動いてる。バッファリング関連に問題は無いようだ
・出力をDirectSoundじゃなくてwaveOutにしてみる→ジージー鳴るだけ

とするとやっぱりデコードライブラリの使い方がおかしいみたい

143 : ◆MG8Y97K0EI :2005/07/17(日) 20:55:10 ID:aQmAiruQ
つか>>138のコード眺めてもページの説明見ても何がなんだか。
10日でSSE対応とか無理な気が

144 :名前は開発中のものです。:2005/07/17(日) 22:29:23 ID:5UglWttS
なんだこのスレ

145 :名前は開発中のものです。:2005/07/17(日) 23:12:45 ID:0Vsc2Y2O
ゲ製板の中ではかなりマトモな部類に属する>>1さんの日記スレであり
それをヲチして楽しむスレ


Ore1のスレとこのスレくらいしかマトモなの知らないがな(´・ω・`)

146 : ◆MG8Y97K0EI :2005/07/17(日) 23:49:39 ID:aQmAiruQ
滅茶苦茶な状態のままソース更新。

ていうかここヲチしてる人って結構多い?
どうせ過疎なんだしって思って結構適当に文章書いちゃってるから
意味不明になってるけど



147 :名前は開発中のものです。:2005/07/18(月) 00:17:40 ID:f/wknItm
ageてやるぜクソ野郎!!

148 : ◆MG8Y97K0EI :2005/07/18(月) 01:35:36 ID:sPsdIRk9
もう>>138を使うのは諦めました。使い方も仕様も書いてないし動作を理解する時間は無い。
ってわけで完全にLAMEライブラリに戻しました。

バイナリ更新しようと思ったらまたTok2のアカウントが縮小されてたんで
Iswebのほうに移しました

149 : ◆MG8Y97K0EI :2005/07/19(火) 22:28:37 ID:Dqg3AQmD
でレポートのネタが無くなったので(>>141で提出したのは14日までのレポート。
もう一つ26日までのレポートが出てきたのでLAMEとは別のことをやらなきゃいけない)
いい加減古さヘボさ設計の糞さが目立ってきたDirectSound関係のライブラリを作り直そうかなぁと。

150 :名前は開発中のものです。:2005/07/20(水) 00:52:39 ID:xCOEx4e2
なんかすげーんだけど本業プログラマ目指してるのかな?

151 : ◆MG8Y97K0EI :2005/07/24(日) 18:00:01 ID:gHzz/rO+
効果音ライブラリ一応完成。std::mapなんか使ったりして俺的にはかなりスマートに仕上がりました。
が、ゲーム側の設計が甘いせいでちょっと発射音鳴らすのに苦労したりする。

>>150
そうです。

152 : ◆MG8Y97K0EI :2005/07/24(日) 21:01:43 ID:gHzz/rO+
単にプログラム書いただけじゃ迫力のサウンドとは程遠い事に気づく。

153 :名前は開発中のものです。:2005/07/25(月) 20:58:30 ID:SxaxcMWy
そりゃそーだ。

154 : ◆MG8Y97K0EI :2005/07/29(金) 00:28:02 ID:27cSklu7
両面ステンシルに対応してないビデオカードだとスキンメッシュの影がおかしくなる。
でもこれを直そうと思ったら稜線にポリゴン入れなきゃいけないわけでそうなったら
ID3DXMeshの頂点宣言弄くってとかメンドクさいことになりそうなんでそのへんは
次回作以降で独自フォーマット使うようになってからにしたかったりっていうか単位が

155 : ◆MG8Y97K0EI :2005/08/05(金) 23:08:35 ID:K6KChB07
武器管理のシステムを変更します。今まではアクタークラスに弾発射の関数を直付けしてたけど
これからはCActorの派生クラスであるCWeaponの派生クラスに武器管理をさせて、
んでバルカン一門ごとにCVulcan一つとかそういう風にしようかなと。

156 : ◆MG8Y97K0EI :2005/08/09(火) 00:56:11 ID:FIASS09J
とりあえず自機のバルカンを新システムに移行・・・させたら
銃弾の射出される位置が動きに合わせてかなりずれて見える。

157 : ◆MG8Y97K0EI :2005/08/09(火) 22:13:36 ID:FIASS09J
CWeaponをCActorの派生クラスではないようにした。
これで表示は自然な感じになったけど構造的には退化してるんだよなぁ
あとCActorListのポインタは素直にグローバル変数にしとけよとか思ったけど
今更直すのメンドクセ。まだゲームにもなってないこの時点でも土台変えるたびに大騒ぎだったり
するからいつゲーム部分に入れるか分からんなこりゃ

158 : ◆MG8Y97K0EI :2005/08/12(金) 23:58:22 ID:psc/2qaZ
武器関連で新システムへの移行の必要があると思われるものは全て移行。
あと全アクターから自機を検索する時の仕組みがお粗末だったのを少しマシにした。


159 :名前は開発中のものです。:2005/08/13(土) 00:09:08 ID:vcjGvDoa
前から考えてたことだけどローディング画面もCStateの派生クラスにしよう。
CLoadingに読み込みたいデータの一覧を渡すとどれくらい読み込み終わったかの表示とか
処理してくれるって仕組み。あと読み込みべきファイル名を自分でいちいち一覧にするのもダルいから
このへんなんとか自動化できないかねえ

160 :名前は開発中のものです。:2005/08/18(木) 23:50:06 ID:H8+22bfv
アクタークラスにstaticでデータロード関数を用意してそんで
CLoadingにローディング関数の一覧を渡せばCLoadingがそれを順次呼び出してくれる
って仕組みを考えた。関数ポインタのvectorとか解読困難なコードになるけど

161 : ◆MG8Y97K0EI :2005/08/19(金) 13:51:52 ID:mykgksZl
んで今>>160を実装してるわけですが、もうアクタークラスの数が24個とか物凄い事になってて
それらのデータ読み込みをチマチマ変更しなきゃいけないわけです。ほんと設計を途中から
変えるってのは無茶な行為だなと思いますた

162 : ◆MG8Y97K0EI :2005/08/20(土) 23:24:39 ID:O+/QKB9y
実装完了したけどこの設計で2面、3面とかやってたら#includeの行数が凄いことになったり
1面だけプレイ時にも全部の面のデータをロードしなきゃならないな。
もう設計変更するの嫌だから直さないけど。

163 : ◆MG8Y97K0EI :2005/08/21(日) 19:39:51 ID:QGjydb2X
あれでもこれじゃ結局読み込むべきアクターのリストをCActor::Loadみたいな形で
延々記述しなけりゃいけないから解決になってない気がするな。

でGetProcAddressっていう関数を思い出す

164 : ◆MG8Y97K0EI :2005/08/21(日) 20:26:16 ID:QGjydb2X
ひょっとしてこの関数自分自身のexeの中の関数も取得できるんじゃないか?
と思ってやってみたらNGでした。残念

165 : ◆MG8Y97K0EI :2005/08/21(日) 20:31:35 ID:QGjydb2X
__declspec(dllexport)してみたらあっさりできた。
これ使ってかなりマシな設計にできそうだ

166 : ◆MG8Y97K0EI :2005/08/21(日) 21:53:18 ID:QGjydb2X
GetProcAddress使ってかなり珍妙な読み込み処理にしてみた。
これでステージデータから必要なアクターの一覧を抽出してロードさせる事ができる、
さらにアクター関係の依存関係も処理できるようにしたから
マシンガンを撃つ敵を読み込めば自動的に弾丸も読み込まれるっていう風にできる。

167 : ◆MG8Y97K0EI :2005/08/23(火) 12:20:13 ID:2zyjxyUn
んでアクターの生成処理もGetProcAddress使って動的に呼び出せるようにすれば
かなり楽になる…がそれにはコンストラクタの引数を全部揃えなきゃいけないわけだよなぁ

ダルいな

168 : ◆MG8Y97K0EI :2005/08/23(火) 23:05:21 ID:2zyjxyUn
考えてみたら動的に生成する必要があるアクターなんて敵ぐらいなんですよ。
んで敵に必要な初期データなんて位置と回転だけなんですよ。
つまり全部一緒なんです。もし他に必要なデータのあるアクター作る時でも
分類して関数ポインタの型を変えればいいんですよ。

169 : ◆MG8Y97K0EI :2005/08/29(月) 00:15:39 ID:HEQ3KTc4
ステージデータから敵を出現させる処理もGetProcAddress使うようにした。

ソース更新。Play.cppで行われている処理でCJienとかが生成されてるにもかかわらず
Play.cppではJien.hがインクルードされてないところがポイント

170 : ◆MG8Y97K0EI :2005/08/30(火) 22:18:14 ID:vBA2LzRA
実は今までIIncomingが適当に終わらせて次回作から
Novedexとか独自フォーマットのモデルデータとかネットワークとか対応させようと考えてた
けどなんかもういろいろあれなんでIIncomingで対応させちまおうかなと。

171 : ◆MG8Y97K0EI :2005/09/01(木) 22:08:19 ID:4bfTXqcR
NovedexのSDK落としてみた






ごめんこれは次回作から。

172 : ◆MG8Y97K0EI :2005/09/04(日) 23:13:02 ID:MgyRFxEV
でも物理関係が今のままだとあんまりだからとりあえずグラフィックエンジンと
ODEをくっつけるライブラリ作って、って考えると

ODEのラッパー作る
     ↓
今までODE直接利用のコードと置き換える
     ↓
ODEのラッパーをNovedexのラッパーと置き換える

ってやればNovedex以降できるんじゃね?できない可能性のほうが大きいけど。

173 : ◆MG8Y97K0EI :2005/09/12(月) 01:08:59 ID:pYzUO0ES
でグラフィックライブラリとODEをくっつけるって言っても何をすればいいのか。
そのためには今何が不満なのかを考える。
そうなると結局は必要な「テンプレ」がやたら多いって事なんだよな。
ていうかライブラリの存在意義ってのはテンプレを書かなくていいようにするためなんだし



あーいや何も進んでませんとも。

174 : ◆MG8Y97K0EI :2005/09/21(水) 00:30:46 ID:0pwnjOS2
>ライブラリ

あれだよな、いちいちdBody作ってからdMass宣言してCreateMassして
dBodySetMassしてるけどほとんど「質量の形」なんてその物体の形そのまんまだろ?
このへん省略するようにしたらいい



いや忙しいんです。やめませんけどね

175 : ◆MG8Y97K0EI :2005/09/30(金) 18:34:52 ID:jRqOioxC
>dBodySetMassしてるけどほとんど「質量の形」なんてその物体の形そのまんまだろ?

重心の位置とかあるからこの話はナシ。

んでODEにおける物体は、

・当たり判定の"dGeom"
・質量の"dMass"
・速度加速度位置を表す"dBody"

なんだが、見た目が一緒なのに当たり判定や質量が異なるって事はほとんどないだろうから
dGeomとdMassをメッシュと、またdBodyをフレームと関連付けるようにすりゃいいんじゃないだろうか

問題は同じメッシュを拡大して使うと見た目が大きくなって質量も変わるって事だよなぁ

176 : ◆MG8Y97K0EI :2005/10/02(日) 21:52:10 ID:M2+g6lVp
んで、いろんな設計を考えてるけどどうしてもODEを直接使うのに比べると柔軟性が…
まだキャラが5〜6種類くらいしかいないこの時点でトリッキー全開なコードばかり書いてるから
すっきりした設計にすると困ってしまいそうだ。

177 :名前は開発中のものです。:2005/10/02(日) 22:11:10 ID:M2+g6lVp
すっきりした設計にするにはトリッキーなコードは排除しなければならない
→トリッキーなコードを排除するには今まで書いたアクターのコードは全て書き直し
→やっぱり糞だろうがメンテ不能だろうが今のエンジンのまま完成させちまうか

178 : ◆MG8Y97K0EI :2005/10/08(土) 16:13:43 ID:7xzs5Xpd
あんまり放置しとくのもあれなんで歩兵の大きさを変えられるようにしてみた

179 : ◆MG8Y97K0EI :2005/10/21(金) 00:07:56 ID:HN9lUUw8
とりあえず学園祭で展示したいんだけどなぁこれ
でも別の用事で一杯一杯で……

180 : ◆MG8Y97K0EI :2005/10/23(日) 01:19:09 ID:MF7g5Fy5
展示用のためにとりあえず

・自機以外のキャラを味方として出せるようにする(CPUどうしで戦えるようにする)
・ゲームが始まると敵味方決められた数だけ機体が登場。敵の機体を破壊すればスコア、
で破壊されたぶんの機体は一定時間後補充(RtCWみたいにまとめて出るようにしたほうがいいか)
・制限時間が経過した後の敵と味方のスコア差でスコアアタック

ってシステム考えた

181 : ◆MG8Y97K0EI :2005/10/23(日) 23:52:33 ID:MF7g5Fy5
>・自機以外のキャラを味方として出せるようにする(CPUどうしで戦えるようにする)

これだけの事にこんなに手間がかかるとは。動作がちぐはぐなんで更新は無し



182 : ◆MG8Y97K0EI :2005/10/29(土) 19:05:55 ID:Fl/iETmI
バグありまくりだけど一応できたことはできた。
戦闘を横から眺めるってのも結構楽しいもんだ。双方馬鹿すぎるけどなー

183 : ◆MG8Y97K0EI :2005/11/08(火) 00:54:47 ID:EWLvoWUw
まずい、このままだと12日の学園祭に間に合わん…

184 :名前は開発中のものです。:2005/11/09(水) 17:44:34 ID:blUaThDN
>・制限時間が経過した後の敵と味方のスコア差でスコアアタック

スコア管理が糞過ぎてどうみても味方のスコアしか計算できません。ありが(ry
てかスコア記録とか表示書いてる暇がないんでもう技術デモって事でとりあえず
敵全部倒したら終わるようにすればいいか。

185 : ◆MG8Y97K0EI :2005/11/09(水) 23:21:18 ID:blUaThDN
一応 全ての敵が出現し終わる && 敵が一体もいないの条件をみたすと
GameClearと表示されてタイトルに戻るようにした。




こんなん展示すんのか

186 : ◆MG8Y97K0EI :2005/11/11(金) 23:33:51 ID:ha83jUtS
部活のほうの露店で忙しくてこっちほとんどできなかった。


部活さえなければ…部活が悪いんだ…

187 : ◆MG8Y97K0EI :2005/11/12(土) 22:15:49 ID:UF9hbCeU
部活動を休止してソフトウェアに専念すると宣言。

・死体にロックオンできてしまう問題を修正。
・敵が自機以外の味方も攻撃するように修正。

一応学園祭に来てくれた人の特典って事でバイナリ更新は無し

188 : ◆MG8Y97K0EI :2005/11/13(日) 23:14:35 ID:RfOHmCo/
・レーダーから敵位置の表示がはみ出し放題だったのを修正
・ロード画面でファイルの読み込みに時間がかかったのを処理落ちと判断されて
フレームがスキップされまくる問題を修正
・弾丸から出た火花の速度を速くした

あとReadmeをつければ一応ゲームとして成立するな

189 : ◆MG8Y97K0EI :2005/11/16(水) 23:39:24 ID:837cn3be
READMEくらいとっとと書けよとか思ったので
明日にはバイナリと一緒にうpします。

190 : ◆MG8Y97K0EI :2005/11/17(木) 23:07:42 ID:bduALqs5
適当に書いてバイナリのアーカイブに埋めときました。
もちろん中身も更新ですよ

191 : ◆MG8Y97K0EI :2005/11/20(日) 12:22:06 ID:F27di3VH
さてここらで次にどうするかを考えなきゃいけませんね。

→Novodexに対応させる。ソースコードの天地がひっくり返る
→グラフィックをちゃんと描く。俺が新しいスキルを身につける
→敵と面を増やす。糞絵とダサコードのまま先に進む

192 : ◆MG8Y97K0EI :2005/11/20(日) 17:17:59 ID:F27di3VH
まぁどれかに決める必要も無いので気が向いたほうから適当にってことで。

久々にgameSpace起動して色々弄りまくってたら便利な機能がいろいろ出てきた。


193 : ◆MG8Y97K0EI :2005/11/21(月) 16:38:40 ID:PNHa0Rg8
ちょっと現実逃避とエンジン改良の参考のためにIIncomingのエンジン使いまわして
ミニゲーム作って土日スレに投下する予定。

194 : ◆MG8Y97K0EI :2005/11/21(月) 19:17:10 ID:PNHa0Rg8
地形をダイナミックに変更できるようにODEとグラフィックライブラリを改良した。
いちいち1頂点変更するのに全部の頂点更新しなきゃいけない仕様だけど
必要になったらその時改良すればいいや、どうせ10分でできるし

195 : ◆MG8Y97K0EI :2005/11/23(水) 23:26:27 ID:ITkHHXKZ
CTerrainが正方形以外の地形を表示できるようになった。
CTerrainで描画される地形の「中心」がおもっくそ間違ってたのを修正。
dTerrainYの地形を変更すると挙動がおかしくなるのを修正。

196 : ◆MG8Y97K0EI :2005/12/04(日) 21:42:53 ID:Q2klJ4Dm
夕焼けのシーンを作ろうと思ってるわけですが、最初トゥーンシェードの
陰影わけのためのテクスチャ変えればいいんじゃね?と思ってコード書いたら
影つきの時はそれでは無理なのでした(ベタ塗り+ステンシルシャドウだけで陰影分けしてる)

書き直し

197 : ◆MG8Y97K0EI :2005/12/04(日) 23:12:45 ID:Q2klJ4Dm
いろいろな色合いを表現しようと思ったら

影無し:トゥーン陰影マップを変更する。ディフィーズでもできるが自由度は少ない
影有り:ディフィーズと影の色をいじる。

ってやらなきゃいけないんだなぁ。しかも二つの描画方法で色合いを合わせなきゃいけないし

198 : ◆MG8Y97K0EI :2005/12/05(月) 20:58:33 ID:qB1KwFWw
とりあえずディフューズだけで済ませることにした。
んで背景の色も変えなきゃいけないけど背景球はメッシュで作ってあるんで
メッシュのテクスチャのセットを複数読み込んでそれをフレームごとに切り替えられるようなコード
書いて昼と夕焼けでテクスチャセットを変えるようにした。

199 : ◆MG8Y97K0EI :2005/12/05(月) 21:05:38 ID:qB1KwFWw
http://www38.tok2.com/home/iincoming/pukiwiki.php?plugin=attach&refer=FrontPage&openfile=sunset.png

黄色すぎたかしら。

200 : ◆MG8Y97K0EI :2005/12/10(土) 19:15:17 ID:el9Id3b0
八頭身モデリングできたけど関節の情報を数値チマチマ入れて設定しなくちゃいけないのでメンドクセ。
今ミサイルの煙を色々作ってみて遊んでます

201 : ◆MG8Y97K0EI :2005/12/11(日) 13:38:55 ID:p+dHh0/G
http://www38.tok2.com/home/iincoming/pukiwiki.php?plugin=attach&pcmd=open&file=missile.jpg&refer=FrontPage

ニュースで見たミサイル発射とかロケット離陸の映像に似せようとしたら
炎が残りすぎてどう見ても失敗です

202 : ◆MG8Y97K0EI :2005/12/11(日) 21:02:55 ID:p+dHh0/G
とりあえず無難に白煙にしてみた。

バイナリ更新

203 : ◆MG8Y97K0EI :2005/12/18(日) 12:15:15 ID:QR3q70DU
JienFighterが今まで自機の位置をそのまま狙っていたのを
予測して射撃するように改良した。久しぶりにプログラマっぽいことした気がする。

バイナリ更新

204 : ◆MG8Y97K0EI :2005/12/21(水) 19:05:37 ID:KNMiXt+N
CalcHeight直した。

205 : ◆MG8Y97K0EI :2005/12/24(土) 12:52:07 ID:2fptLSOI
せっかくクリスマスなんで雪でも降らせてみるか。
地面白くするのと草を雪にして下方向に毎フレーム移動させて表示限界をy軸に適応する
この二つだけでできるはずだし。

206 : ◆MG8Y97K0EI :2005/12/24(土) 21:57:48 ID:2fptLSOI
雪できた。地面を白くしたら何がなんだか分からんので初雪で積もってないことにした。
あとエンジンがたったこれだけのビルボード表示させるだけで糞重くなるほどの低性能だと分かった。

バイナリ更新。メリークリスマス

207 :名前は開発中のものです。:2005/12/25(日) 21:29:44 ID:nbJUC3Bn
FPS計測機能を付けてみた。

208 : ◆MG8Y97K0EI :2005/12/25(日) 21:43:40 ID:nbJUC3Bn
FPSがぴったり60.0にならずに62.4とかになるのが気持ち悪かったので
FPS計算部分を全部doubleにした。



てかバルカン撃つだけでFPSが10くらい下がるんですが。

209 : ◆MG8Y97K0EI :2005/12/30(金) 22:48:12 ID:IONTUAjQ
なんかもうこのゲームにこれ以上固執してもしょうがないと思えてきたので、
今年度いっぱい、つまり3月31日を持って更新と書き込みを停止します。
それまでに形になれば開発終了、ならなければ開発中止ってことで。

210 :名前は開発中のものです。:2005/12/30(金) 23:19:04 ID:FX0ecjCk
最終的な目標とかあるの?

211 : ◆MG8Y97K0EI :2005/12/31(土) 00:27:09 ID:DStjskIY
平気で1ヶ月放置とかするこのスレも一応見てる人いるんだな

>>210
IIncomingの目標は3面くらいは作ってボスとか出して武器も9種類とか欲しい。
俺の最終目標はキリが無いけど生きてるうちにマルチプレイ可能な
オリジナルロボット対戦ゲー作れればいいなと思う。

212 : ◆MG8Y97K0EI :2006/01/08(日) 20:08:45 ID:DcV0Vu5t
ちょこっと技術情報っぽいことを書いてみた。ほんのちょこっとだけど。

213 : ◆MG8Y97K0EI :2006/01/08(日) 20:22:18 ID:DcV0Vu5t
インクルードパスの指定が絶対パスだったのを直した。

ソース更新

214 : ◆MG8Y97K0EI :2006/01/15(日) 18:36:50 ID:Z30+qncq
ビルボード表示をちょっとは高速化させようと色々試してみたら
ハードウェアT&L使わないほうが速い事に気づいた。どうなってんだ

215 : ◆MG8Y97K0EI :2006/01/21(土) 01:25:45 ID:ogpZV4Le
とりあえず雪を降らせすぎなくらい降らせて見たらFPSが4.0にまで落ちた
問題を切り分けていったところ描画する前の座標管理(CFrame)クラスで
ID3DXMatrixStackの生成が重い事が分かったので親子管理が必要ない時は
生成しないことにした。これで10.0まで上がった

216 : ◆MG8Y97K0EI :2006/01/26(木) 20:18:34 ID:jkK6nSUk
とりあえずCVisualの動作を全て無効(CFrameのみ動作)にして
60fps達成…って思ったらどんどんFPSが下がってく。
どうやらnewとdeleteを頻繁に繰り返してるのが原因のようだ。
とりあえずvector<CFrame*>(実際はその子クラスだが)をvector<CFrame>
にしてみると、やたら重い。vectorの実装を見るとどうやらベクタの真ん中あたりの
要素を一つ削除するだけでその後ろの要素を全部ずらす作業を行ってるらしい。

217 : ◆MG8Y97K0EI :2006/01/26(木) 20:20:30 ID:jkK6nSUk
    /\___/ヽ   ヽ
   /    ::::::::::::::::\ つ
  . |  ,,-‐‐   ‐‐-、 .:::| わ
  |  、_(o)_,:  _(o)_, :::|ぁぁ
.   |    ::<      .::|あぁ
   \  /( [三] )ヽ ::/ああ
   /`ー‐--‐‐―´\ぁあ

ageちまったああああああああああああああああ

記録:上から420番目くらい?

218 : ◆MG8Y97K0EI :2006/01/27(金) 22:07:29 ID:1cuHQ8hS
STLやらboostやら調べてみたけど希望のコンテナが見当たらないので
いっその事pair<bool,D3DXVECTOR>の固定長配列にするべきだろうか。

本当に速度を重視するならその配列の何番目が空いてるのかのリストを
作ったりするんだろうけど。

219 : ◆MG8Y97K0EI :2006/01/28(土) 16:21:57 ID:f5b4WF1M
空きリストもstack使えば簡単に実装できた。

とりあえずこれで座標管理部分でのロスはほとんど無くなったな

220 : ◆MG8Y97K0EI :2006/01/29(日) 23:37:28 ID:aear/Kl7
RENDERORDER構造体がスタックに生成されてるだけで
時間かかってるみたいなのでリリースビルドにしてみたらFPSが大幅に上がった。

221 : ◆MG8Y97K0EI :2006/01/30(月) 00:10:52 ID:RQ4LFfXX
技術情報更新。なんか崩れてるけど

222 : ◆MG8Y97K0EI :2006/02/05(日) 18:34:37 ID:W+0uz5WQ
ビルボードの表示命令構造体を奥から手前にソートするさい、
構造体のvectorそのものではなくインデックスの構造体をソートするようにした。

223 :名前は開発中のものです。:2006/02/21(火) 17:15:11 ID:tC0NV7PI
2つの頂点バッファを交互に使用するようにしたけどFPSが2、3しか上がらない。
色々弄ってみたら>>222のインデックスのソートで時間がかかってることに気づいた
9540個のintをソートするのにこんな時間かかるのか

224 : ◆MG8Y97K0EI :2006/02/22(水) 21:09:46 ID:Rqj6HAsJ
カメラからの相対Z座標が-、つまり後ろにあるものは早めに除外するようにして、
さらにソートの必要の無いものは別のリストに分けてソート無しで先に描画するようにした。

常時ってわけじゃないがやっと60FPS達成した

225 : ◆MG8Y97K0EI :2006/02/24(金) 18:39:19 ID:yHhdLc83
そういやポイントスプライト使えんじゃね?って思ったが
ポイントスプライトを使うとテクスチャの全体しか使えない
(アニメーションができない)ので今度はアニメ付きかそうでないかのフラグ
が必要になってしまったりで面倒なので使うのは次回作からで。

226 : ◆MG8Y97K0EI :2006/03/08(水) 00:56:19 ID:SaO/O0Fe
ミサイル早くしたり武器変えられるようにしたり
アクターにシリアル番号振ったり。更新はまだ

227 : ◆MG8Y97K0EI :2006/03/16(木) 23:39:44 ID:VRBH7u62
例によってっていうか予想通りっていうか色々と更新どころじゃないので
もう解説とマニュアル書くだけで終わりそうです。

228 : ◆MG8Y97K0EI :2006/03/21(火) 16:18:51 ID:uPu6OCDL
Missile.cppにあるstatic_castが気に入らなかったので
templateを使ってCCustomActorとCCustomActorListを結びつけた。
templateって単語をタイプするが始めてだったので
CActorやCCustomActorなんか酷いことになってるが
アプリケーションコード側が綺麗になったのでよしとしよう

229 : ◆MG8Y97K0EI :2006/03/23(木) 00:42:13 ID:O23SOcJE
なんかそんな難しい書き方してないコードの解説なんて書いても
しょうがない気がしてきたので技術情報全部消した。

230 : ◆MG8Y97K0EI :2006/03/25(土) 20:38:33 ID:RlV+b00w
EnemyBuggy(実際は味方として登場してるけど)のAIを大幅に改善。

231 : ◆MG8Y97K0EI :2006/03/27(月) 00:36:29 ID:Eq4L6R8U
CorvetteのAIも向上。まともに攻撃できるようになった

232 : ◆MG8Y97K0EI :2006/03/28(火) 23:37:20 ID:RhrVww1I
敵が遠くから出現するようにした。敵の数の増加。
JienMissilerを大型化して耐久力上げた。
味方のEnemyBuggyとCorvetteの耐久力を大幅に引き下げ。
Plasmaの着弾時エフェクトの追加。

つかもうコードが糞過ぎて弄るのもかったるくなってきた

233 : ◆MG8Y97K0EI :2006/03/32(土) 01:24:04 ID:FsonrPdK
設定ツールの追加。
バイナリ更新。
ソース更新。

最後に設定ツールをさっさと作って終わりにしようと思ったら
LNK2005のエラーが起こってしばらく悩んだ。
結局IIncomingとODEのコード生成のランタイム設定が合ってないせいだと分かり、
修正して無事コンパイル終了。

製作作業はこれで完全に打ち切りとしますので削除依頼するなり
再利用するなりご自由にお使いください。

234 :名前は開発中のものです。:2006/04/07(金) 20:58:56 ID:MYp850wZ
おつかれさん。

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

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)