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

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

delphiでMMO

1 :名前は開発中のものです。:03/12/27 17:51 ID:O73TyP7C
作った人いないのか?
 作ってる奴いないのか?
作ろうする奴いないのか?


2 :名前は開発中のものです。:03/12/27 17:59 ID:NZ7ESRLc
2ゲトーー(`・ω・´)

3 :名前は開発中のものです。:03/12/27 18:12 ID:K4pUEi/M
3

4 :名前は開発中のものです。:03/12/28 00:28 ID:QqoqXiSm
作って見たい (。・_・。)ノ

5 :名前は開発中のものです。:03/12/29 01:51 ID:xXyogp99
moremo-

6 :名前は開発中のものです。:03/12/29 01:54 ID:I4aXvZ/p
INDYのインスコに失敗しながら6ゲトー

7 :名前は開発中のものです。:03/12/29 03:27 ID:N+1KlrLV
ばかばっか

8 :名前は開発中のものです。:03/12/29 11:32 ID:ojO+sbdn
>>7
じゃあ、作ろうと思ってるおれはバカか・・・鬱
どんな言語でも差ほど差は無い、使う奴によって
プログラムは左右する・・・高速化だって技術者
の改善により叶うものだと思ってるし。

スキルのしょぼい俺が言う事までも無いが;

9 :名前は開発中のものです。:03/12/29 16:44 ID:18lQqtmb
口だけ言うだけで自分で歩いて進もうとしないやつが真の馬鹿なのだ

10 :名前は開発中のものです。:04/01/03 01:47 ID:0gQPRUHz
INDYのインスコに成功したので10ゲトー

11 :名前は開発中のものです。:04/01/04 02:39 ID:3WkXV/SU
IdUDPで通信成功したので記念カキコ

12 :名前は開発中のものです。:04/01/06 14:02 ID:02vaeZFk
いっしょに作ろう!

13 :名前は開発中のものです。:04/01/06 14:13 ID:RpmyU1b4
見逃すな、今>>9が良い事言った!

14 :名前は開発中のものです。:04/01/06 14:14 ID:Zl6oN/Iz
あがってるとおもたら唐揚げかよ!!
IdIRCでチャットができたので記念カキコ

15 :名前は開発中のものです。:04/01/06 14:16 ID:wU1yS8fK
チャットソフトは簡単に作れるんだけどな・・・
ムー

16 :名前は開発中のものです。:04/01/06 14:25 ID:Zl6oN/Iz
>>15
そんなことないぞ
jisからs-jis変換けっこう苦労した

17 :名前は開発中のものです。:04/01/06 17:45 ID:qNWKZ5u5
明確な変換手順が存在しているのに、
なぜそんなところで苦労するのか理解できない。

18 :名前は開発中のものです。:04/01/07 10:19 ID:m4zwULR5
>>17
お互い理解できない事だらけで大変ですな

IdHTTPの理解を深めながら18(σ・∀・)σゲッツ!!

19 :名前は開発中のものです。 :04/01/11 11:55 ID:upiMU9/V
ホントショボイゲームですが作りました。でもPCとインターネット回線のスペックが低いので公開できません。誰かサーバーになってくれる人いないかな。

20 : ◆JTDRpAvNfs :04/01/15 00:32 ID:uqSMvGf/
>>19
とりあえず見てみたいんだが。

21 :名前は開発中のものです。:04/01/16 00:04 ID:Ru01Yk9P
リネ1ぐらいであれば比較的簡単にできるのでは?

22 :名前は開発中のものです。:04/01/19 00:53 ID:M3Hb8T0j
>>21
そうなの?本当ならDelphiをはじめてみようと思うが。

23 :名前は開発中のものです。:04/01/19 01:28 ID:7euj8H/m
サーバで動くプログラムはどうやって作るの?


24 :21:04/01/19 10:00 ID:sxhMhatP
>>22
>>23

MMOといっても程度問題だから、P2Pでもない限り、
理論的には50人程度のネットワークゲームと同じような気がする。
つまり、一般的なクライアント−サーバシステム。。

ネットの相対的遅さを考えれば、
コンパイラの効率性はたいした違いではないから、
しかるべきハードウェアとネットワークが用意できれば、
Delphiでも全然大丈夫だと思われ。

ラグとセキュリティの問題はネトゲに普遍的だから、
マッシブ特有の問題といえば、やっぱ、ネットワーク負荷を
どうするかという問題ぐらいじゃないかなあ。
負荷を分散させる方法、少ないパケットでゲームができる設計など。。

リネ1とかはやっぱその辺工夫してるよね。
移動先でクリックして移動する方式だから、
座標の断続的やり取りで済み、通信量が大幅に軽減される。
ラグの影響を受けにくいし、あたり判定もしやすい。
しかも見えている範囲内のオブジェクトのデータしか送らない。。
全体チャットの規制、複数サーバ制。。。

あ、でもネットワークの専門家じゃないから、
間違ってるとこがあったらスマソ。

25 :21:04/01/19 10:08 ID:sxhMhatP
技術的な問題よりも、やっぱ運用面かも。。。
俺もMMO作りたくて、Delphiで試作品作ったんだけど、
いざテストやってみようとすると人が集まらなかったり、
ワーム騒ぎで家のルータ開けるの躊躇したりしてお蔵入りしてるw

26 :22:04/01/19 22:13 ID:U12KR2tl
>>21,24,25
そうなんですか。今、Delphiを落とした。
参考にしたいから、そのプログラムをアップしてくれない?

27 :名前は開発中のものです。:04/01/20 06:25 ID:3VZ6sgLq
ではサーバはWindows限定になるの?

28 :名前は開発中のものです。:04/01/20 07:11 ID:Pd5X/wY7
個人用のWindowsをサーバーにするのってライセンス的な問題が _| ̄|○
例えば、Windows XP Proだと10台以内という
MOなら可能かな

最近、apache のwin32版でも同じ問題を扱っていたような気がする

29 :名前は開発中のものです。:04/01/20 07:17 ID:Pd5X/wY7
ごめん。同時接続数の話ね

参考URL
http://slashdot.jp/articles/03/07/19/1536205.shtml?topic=10

↑これ見ると、日本のMSだけがおかしいようにも見えるけど

30 :名前は開発中のものです。:04/01/20 07:37 ID:EBhhWwBJ
10って少なすぎなような気が。
将棋の対戦と見物人ってだけでもすぐに超過しそうだ。

31 :名前は開発中のものです。:04/01/20 07:43 ID:V2zgyukc
おはマンコー!!\(・∀・)/
http://www.k-514.com/

32 :名前は開発中のものです。:04/01/20 22:04 ID:vSLinZQT
>>24
PureP2P型のMMOの可能性は?

33 :名前は開発中のものです。:04/01/21 01:01 ID:ESELOgSS
>>32
どこか一個所でタイムラインを管理する必要があるので、
向かないのでは?

CSなら、サーバ側は Kylix でコンパイルして Linux で動くようにすれば
いいのかな?

34 :21:04/01/21 12:26 ID:Uz9NVZ8M
>>26

スマソ、出すのは恥ずかしい

>>28

なるほど。。そういうのもインフラの問題のひとつだよね。
Winをサーバにするなら、高いライセンス買う必要があると。。

でも、接続を受け付けるサーバはやっぱ、LinuxかBSDがいいかもね。
Winだとセキュリティや安定性が心配かも。
となると、>>33みたいな方法になるんだろうね。
(接続サーバ部分だけならCで作るのもありだけど)

35 :名前は開発中のものです。:04/01/21 22:50 ID:MvaIVBg9
でも、このライセンス問題って
「Windows上でApacheを利用する」場合でしょ?
ということはApacheを使わなければいいのか。

36 :名前は開発中のものです。:04/01/21 23:48 ID:sHA89A4s
>>35
WindowsのEULAは少なくとも、apacheに限定していないだわ
そもそも、Apache自体動かすことは問題ないし


37 :名前は開発中のものです。:04/01/22 03:51 ID:BV5Nvl7H
ところで、P2Pはみんながサーバになるんじゃないの?



38 :21:04/01/22 15:47 ID:hqjGNdUA
>>35

>>36のいうとおり、EULAにある「サーバソフト」っていうのは、
apacheに限らず、ポートを開けてListenするソフトだと思われ。

>>37

よく知らないけど、子ノードを持つときはサーバになるよね。
でもP2Pの場合は最大10ノードでもいけると思われ。

39 :名前は開発中のものです。:04/01/22 22:54 ID:mSaR/fvW
リネージュ2
http://www103.sakura.ne.jp/~thelink/lineage2.html

40 :21:04/01/22 23:17 ID:WPYJnAbQ
>>39

対応スペックが。。。
単純に考えて、3Dになると座標関係の通信量が50%増えるのかなあ。。
(Z方向にも移動できる場合だけど)

41 :名前は開発中のものです。:04/01/22 23:19 ID:Pxj5iZvR
>>38
これね。Windows2000 Professionalのやつ。
-----------------------------------------------------------------
お客様は、10 台のコンピュータまたはその他の電子デバ
イス(以下それぞれを「デバイス」といいます)を限度としてワークステーション
コンピュータに接続し、ファイルおよびプリントサービス、インターネット イン
フォメーション サービス、ならびにリモート アクセス サービス(接続の共有およ
びテレフォニー サービスを含む)のためにのみ本製品のサービスを呼び出し利用
することができます。
-----------------------------------------------------------------
つまり、Windows内蔵のサービスに接続する場合は10台まで、ということかな。
(インターネット インフォメーション サービス=IISのことなら。)

ちなみに上の文の下には「その他の実行ファイルをリモートからアクセス
させてはならない」みたいな事が書いてあるよ。
サードパーティ製のソフトは1本でもコネクション張らせちゃダメってこった。
-----------------------------------------------------------------
お客様は、ワークステーション コンピュータ上のその他の実行可能なソフトウェアを、
デバイス上で使用、アクセス、表示、または実行するために本製品を使用すること
はできず、またデバイス専用に本製品のライセンスを有していない限り、本製品の
ユーザーインターフェースをデバイスに表示することはできません。
-----------------------------------------------------------------

42 :名前は開発中のものです。:04/01/23 06:33 ID:D+bUM9nF
ではサーバは最終的にKylixでコンパイルする。
開発中は1台のWindowsマシン上のDelphiでコンパイルとテストを行う。
とにかく、IPとポートで通信しておけば大丈夫。

43 :名前は開発中のものです。:04/01/24 16:35 ID:1ay4M2ka
>>32
間接的な接続もNGだとさ
P2PMMOもダメぽいね

44 :21:04/01/25 01:06 ID:5cNCVYwT
>>41

>サードパーティ製のソフトは1本でもコネクション張らせちゃダメってこった。

えーまじで??
サーバライセンスが買えない場合はWindows98とかにしないといかんのかなw

45 :名前は開発中のものです。:04/01/25 01:13 ID:avrbTt0E
それはWindows2000の場合で、XPなら10コネクションまでOK(MSKKの見解)。
米国本社の見解に従うならライセンスを消化するような行為(Windowsアカウントを
使った認証とか?)を行わない限りOKらしい。つまり普通のTCP/IPソフトは無制限で
OKということらしいですよ?>>29のリンク先によれば、だけど。


46 :名前は開発中のものです。:04/01/26 08:48 ID:reTPUXlQ
http://www.apache.jp/misc/windows.html

MSKKと日本Apacheユーザ会との懇談を見る限りだと
だめぽいです



47 :名前は開発中のものです。:04/01/26 23:33 ID:unCJmgVy
上に1、下に9のツリー構造なら可能だろうか?・・・上の人が大変だな

48 :名前は開発中のものです。:04/02/01 21:24 ID:lw1srjwx
>>47
>>43によるとライセンス違反らしい

10人程度なら普通にDirectPlayで繋ぐような人数なのに……
倉鯖だけじゃなくピア接続のネトゲも気を使わないといけないな

ところでコネクションを貼るのがダメなんだからUDPなら問題ないのだろうか
他所でも指摘されてたけどどうなんだろう?

49 :名前は開発中のものです。:04/02/01 22:10 ID:38LSgSLD
ただ、サーバになるソフトがバンバン発表されてる現実からすると
そんなことにするほうがアホという可能性もある。

50 :49:04/02/01 22:11 ID:K7zD/tLw
×そんなことにするほうがアホ
○そんなこと気にするほうがアホ


51 :名前は開発中のものです。:04/02/02 07:42 ID:iGnXoRwn
32人マルチ鯖とかゴロゴロありますがあれはナンなんでしょうか?
一企業が平然とライセンス違反してるわけでしょ?

52 :名前は開発中のものです。:04/02/02 19:20 ID:6YG0Atgg
Server用のライセンス使ってるか、違反しているか
個人でWindowsでmodサーバ立ててる人とか、実はかなりヤバイ(´д`;)

まー、この例に関しては、黙認されてる気はする。訴えられた例知らんし

53 :名前は開発中のものです。:04/02/02 19:34 ID:BnC8luPI
この件は所謂、藪もつつかなきゃ蛇は出てこなかったろうに…ってやつですな。

54 :名前は開発中のものです。:04/02/05 12:56 ID:EbrInM16
見なかったことにして、開発再開しますか

55 :名前は開発中のものです。:04/02/05 20:48 ID:YortWucK
作ってるひといるん?

56 :名前は開発中のものです。:04/02/07 01:05 ID:iwXjT7bg
LinuxにはMsgWaitForMultipleObjectsと同等のAPIが無くて苦労すると聞きました。

>>55
テストに付合ってくれる友人もサーバも無いから作らないよ。

57 :名前は開発中のものです。:04/02/07 11:01 ID:r/NTeXJu
FreeBSDならkqueueを使うといいらしい。
Linuxは2.6からepollとかいうのが大規模サーバ用に使えるらしい。
まぁ、select/pollだけでは限界あるからねぇ。

58 :名前は開発中のものです。:04/02/11 14:33 ID:maPvO6PY
一体どんなMMORPGを創るつもりなんだい?
擦れの頭から読んでみたけど、ここの住人がどんなゲームを作りたいと
思っているのかサッパリ見えてこない。

チャットに毛が生えたようなプログラムを作りたいってことなの?

59 :名前は開発中のものです。:04/02/11 23:52 ID:MFTV0IkZ
>>58
ウルティマオンラインの様なゲームだと思う。

60 :名前は開発中のものです。:04/02/12 02:26 ID:bV5v9Pbv
最初の2バイトに送られてくるデータサイズが入っている場合、
1バイト目だけ送られて途切れるような事は起り得るのでしょうか?


61 :名前は開発中のものです。:04/02/13 18:57 ID:gUuqkDqM
可能性がないとは言い切れない


62 :名前は開発中のものです。:04/02/13 19:30 ID:GtNl3yK2
>>60
tcpならありうる。ただし切断されたりネットワーク障害でも無い限り必ず全てのデータが届けられる。
udpならありえない(ただしデータがまったく来ない場合はある)。

63 :60:04/02/13 23:29 ID:sE7igdem
ということは、データの終りは別の方法で決めた方がいいですね。
単純に文字列で送ればいいのかな…。



64 :名前は開発中のものです。:04/02/14 07:35 ID:DuvZ68Uq
>最初の2バイトに送られてくるデータサイズが入っている場合
ってわかってるなら2バイト以上届くのを待てばよいんじゃないの?
2バイト以上届いたら先頭2バイトからデータサイズをよみとって、
次はデータサイズ分届くのを待つとか。

65 :名前は開発中のものです。:04/02/14 23:17 ID:AlSt8G4H
>>64
根本的な問題として、どれだけデータが送られてきたか解らなかったと思う。
文字列なら、バッファを$00でクリアしておいて、$00までのデータが
送られたと解釈していたと思う。

66 :名前は開発中のものです。:04/02/15 00:42 ID:uti3Yiek
ともったけど、TCustomWinSocketにはReceiveLengthなるものがあった。
内部は ioctlsocket(FSocket, FIONREAD, Longint(Result))
非同期用みたいだけど、どうなのかな。

67 :名前は開発中のものです。:04/02/17 10:13 ID:I32VcBwb
>>65
分からなくても問題ないと思うけど…

68 :名前は開発中のものです。:04/02/18 02:15 ID:ut0BkLK5
>>67
バイナリの場合は問題ある。
それがクリアした$00なのかデータの$00なのか解らない。

69 :名前は開発中のものです。:04/02/18 10:25 ID:dFt2CDjK
>>68
だから最初にデータの長さを送るって話でしょ?
最初に2バイト届くまで待って、そこからデータ長を得る。
んで、得られた長さ分だけ待つ。
コレだけの話。
(「待つ」のが問題なら、非同期なりスレッドなりをつかえ、と。)

70 :名前は開発中のものです。:04/02/18 23:47 ID:QqnVmkhr
何を言っても無駄か。

71 :名前は開発中のものです。:04/02/19 10:24 ID:rwGM2mab
>>70
ネットワークプログラミングしたことありますか?

72 :名前は開発中のものです。:04/02/20 02:10 ID:4P6K9vyP
>>71
メーラー作った事ありますよ。


73 :名前は開発中のものです。:04/02/20 02:14 ID:4P6K9vyP
と思ったけど、メーラーがネットワークプログラミングかどうかは怪しい。
LANのデバイスドライバとかですか? 作った事はないですね。

74 :名前は開発中のものです。:04/02/20 08:54 ID:hHSWRVHa
なるほど、それでデリミタの話になるわけね。
tcp使うからって必ずテキストストリームベースのプロトコルじゃないといけない
なんてことは無いよ。もう少しいろいろなプロトコルを勉強してみるべきかと。

75 :名前は開発中のものです。:04/03/22 20:49 ID:2QFiMIc0


76 :名前は開発中のものです。:04/04/12 02:02 ID:SaJWdm/1
 

77 :FAN:04/05/11 10:26 ID:Ky5hy7V5
作りたいです。作れるものなら・・・
そーゆーソフトってないんですかね?


78 :名前は開発中のものです。:04/05/11 14:28 ID:98ZabPYb
>>77
ないならそういうソフトを作ればいいジャマイカ


79 :名前は開発中のものです。:04/06/11 03:08 ID:e5BRa/i6
今プロトコルのベース部分作ってるよ
キャラ表示部分とかゲームとしての処理部分はまだ作ってないからまだまだ掛かりそう
とりあえずキャラチャを目指して見ます

80 :名前は開発中のものです。:04/06/11 21:15 ID:Ehu1jA7Y
期待してます

81 :79:04/06/14 05:30 ID:iMPPTwta
チャットソフトとしては結構出来てきた気がするけどまだだめぽ
キャラクター表示は
http://pc5.2ch.net/test/read.cgi/gamedev/1051110669/
こっちでいろいろやってるのを参考にしようと思いつつ
まだ何もやってないのでキャラチャっぽくなるのはまだ先になりそう。

82 :79:04/06/20 20:08 ID:wjSOoLXy
キャラクター表示部分だけ別に作成中
今こんな感じ
ttp://gamdev.org/up/img/722.jpg

通信部分は今RSAを使おうと思ってるのですが・・どこかにソース落ちてないかなぁ・・

83 :79:04/06/22 12:44 ID:+wBPwWLQ
RSA暗号実装できました、今はRC4を実装してます。
キャラチャ部分はFOGがうまく掛からないので取りあえず放置で、先に通信部分を作りこんでます。

84 :名前は開発中のものです。:04/06/22 14:44 ID:z3uDPhKo
>>82
トゥーンレンダリングですか?
激しく期待!!

85 :名前は開発中のものです。:04/06/24 15:04 ID:8RsX3DIM
トゥーンレンダリングじゃないです。。
アレのやり方がいまいち分からないのでやってないのですが、出来たらやってみます。

とりあえずまだ通信部分書いていて表示の方はほとんど手をつけてないっす

86 :名前は開発中のものです。:04/06/29 22:45 ID:OSp1CFcf
>>85
あぁ、勘違いでしたかorz
陰影がないのでアニメ調を意識してるのかと思いました

通信部分はやはりIndyを使ってるんですか?

87 :名前は開発中のものです。:04/06/29 23:41 ID:Jqs9bIWU
前はIndyでやってたんですけど、、
どうも挙動がおかしかったので今はTSocket;でやってます。

あとキャラクターをクリックした場所に移動って処理をやりたいのですが・・どうやっていいのかさっぱりです・・
誰か出来るって人いないかなぁ

88 :87:04/06/30 02:52 ID:K4DYv06d
×TSocket
○TClientSocket/TServerSocket

89 :名前は開発中のものです。:04/07/07 14:41 ID:0XvGkeHz
QuadrupleDでクリックした座標に移動ってどうやるんだー _no

90 :名前は開発中のものです。:04/07/07 23:01 ID:xRo0iKnj
CとOpenGL使って実装したことはあるので、Quadruple Dのマニュアルを読んでみましたが
実装は難しそう。DirectXはセレクション処理は自分で書かないといけないみたいだし。

そもそもクリックして座標を得たとしても、その座標まで「障害物を避けて最短距離で移動
する」のが結構難物でした。どうしてもやりたい、というのでなければ、とりあえずジョイ
スティックでの移動で処理してみてはいかがですか?

91 :名前は開発中のものです。:04/07/08 01:54 ID:24Kakk+0
ふむう、、
やっぱキー操作が無難なのかなぁ・・
もうちょっと頑張ってみます・・

経路探索は前にソースを手に入れてたので少し改良すれば使えそうな気がします。

92 :91:04/07/10 14:06 ID:mnKwxbw9
3D座標を2D座標にするのは
// ワールドマトリクスで座標変換します。
pos := Figure.TopFrame.LocalToWorld(testFigure.TopFrame.GetTranslation(testFigure.TopFrame));
Hgpos := NowHomoginize(pos);
// ビューマトリクスで座標変換します。
Hgpos:=NowTransform(Hgpos, NowInvMatrix(Camera.WorldMatrix));
// プロジェクションマトリクスで座標変換します。
Hgpos:=NowTransform(Hgpos, (Scene.ProjectionMatrix));//ScreenMatrix
// ビューポート情報からクライアント座標を取得します。
Hgpos.x := (Hgpos.X / Hgpos.W * 800 / 2) +800 / 2;
Hgpos.y := -(Hgpos.Y / Hgpos.W * 600 / 2) +600 / 2;

これで出来たっぽい
2D座標を3D座標にするのはこれの逆をやればよいから・・・
こうか??
pos.X := マウス座標X;
pos.Y := マウス座標Y;
pos.Z := 1;
//W付きに変換
Hgpos := NowHomoginize(pos);
// クライアント座標からビューポート情報を取得します。
Hgpos.x := (Hgpos.X -800 / 2) * Hgpos.W/(800 * 2);
Hgpos.y := -(Hgpos.Y -600 / 2)*Hgpos.W/(600 * 2);
// プロジェクションマトリクスで座標変換します。
Hgpos:=NowTransform(Hgpos, NowInvMatrix(Scene.ProjectionMatrix));
// ビューマトリクスで座標変換します。
Hgpos:=NowTransform(Hgpos, (Camera.WorldMatrix));
pos := NowHeteroginize(Hgpos);
testFigure.Figure.TopFrame.SetTranslation(Camera ,pos);

出来ない _no

93 :名前は開発中のものです。:04/07/10 20:07 ID:Jen5rkzV
>>92
>// プロジェクションマトリクスで座標変換します。
>Hgpos:=NowTransform(Hgpos, NowInvMatrix(Scene.ProjectionMatrix));

投影変換行列の逆行列を乗算するんじゃなくて、投影変換行列そのものを乗算するんじゃないのか?
だから、単に、
Hgpos:=NowTransform(Hgpos, (Scene.ProjectionMatrix));
じゃない?

あと、視野座標系でのZ軸(とする軸)と、画面に表示されているポリゴンが交差しているかどうかの
判定をして、交差するすべてのポリゴンの中から、一番近いポリゴンを選ぶ処理が必要か。

94 :93:04/07/11 03:00 ID:F1UgzbEs
ごめん、間違えてたよ・・・_| ̄|○

投影行列の逆行列と、ビュー行列の逆行列を得て、ビュー行列->投影行列の順で乗算して
得られた行列に2Dの座標を突っ込むんでした。

だから、この順番で演算すればいいはず。
Hgpos:=NowTransform(Hgpos, NowInvMatrix(Camera.WorldMatrix));
Hgpos:=NowTransform(Hgpos, NowInvMatrix(Scene.ProjectionMatrix));

95 :91:04/07/11 05:18 ID:W4Smg9NF
いろいろやってみました。
んで表示は出来るようになったのですが、どうも位置が合わないです・・

ソースUPしたので、もしよろしければ見てみてください。
お願いします。
http://gamdev.org/up/img/827.zip

96 :名前は開発中のものです。:04/07/13 23:17 ID:Siq4GRhP
ついにWindowsServer2003もタダで使えるぞイヤッホー!
このスレの半分を費やした問題もやっと解決

タダで使えるWindowsServer2003
http://pc5.2ch.net/test/read.cgi/win/1085833637/

97 :91:04/07/14 11:05 ID:PzgWFfKg
なんとなくそれっぽい感じになりますた、根本的に違うかも・・
// クライアント座標から-1.0〜1.0に変換
half.X := (ClientWidth div 2);
half.Y := (ClientHeight div 2);
pos.x := ((pos.x - half.X)/(ClientWidth));
pos.y := - ((pos.y - half.Y)/(ClientHeight));
//適当にそれっぽい値にする
pos.x := pos.x * ((1+pos.Z));
pos.y := ((pos.y * Scene.FovH)*(1+pos.Z))/2;//
// プロジェクションマトリクスで座標変換します。
pos:=NowTransform(pos, NowInvMatrix(Scene.ProjectionMatrix));

testFigure2.Figure.TopFrame.SetTranslation(Camera ,pos);

これで適当なZ値で2点を取ってその直線に交差する平面を探せば良いのかな?
DirectXにD3DXIntersectって関数があるらしいけどQDの場合は自前でやるしかないのかなぁ・・

98 :名前は開発中のものです。:04/07/14 11:20 ID:2soUKVK2
>>97
なんたらプレーンを使うんだ。

99 :名前は開発中のものです。:04/07/14 13:22 ID:KOxdiRxt
Clootie使えねぇかなぁ

100 :名前は開発中のものです。:04/07/15 15:45 ID:3drn8Oeq
delphi使ったことないけど100!

101 :名前は開発中のものです。:04/07/17 03:41 ID:ngDElagu
>99
Clootie見てみましたがなるべくQDを使って作りたいので今回はパスで
>98
なんたらプレーン使ってやってみますた
s_pos.Z := 1;
  >>97の処理
e_pos.Z := 100;
  >>97の処理
//点startを始点とし、点endを終点とする線分を示します
c_LineSeg := LineSeg3D(s_pos,e_pos);
  //適当にフィールドの代わりを作る
p_pos0.x := 150.0;
p_pos0.y := 50.0;
p_pos0.z := 0.5 ;

p_pos1.x := 250.0;
p_pos1.y := 250.0;
p_pos1.z := 0.5 ;

p_pos2.x := 50.0;
p_pos2.y := 250.0;
p_pos2.z := 0.5 ;

//線分segが、平面sと交わるならTrueを返し、交点をdestに格納します。
if NowIntersectLinePlane(c_pos,c_LineSeg,NowPlaneFromPoints(p_pos0,p_pos1,p_pos2)) then
   //もし交差してたらその場所にポリゴン表示
testFigure.Figure.TopFrame.SetTranslation(Camera ,c_pos);
む〜表示されない・・
c_LineSeg にStart(0,+NAN,+NAN) End(1.744.. ,+NAN)とか入ってるしNANってなんだ?
LineSeg3Dの使い方が違うのかなぁ、、、

102 :名前は開発中のものです。:04/07/26 15:21 ID:sDcjOgJS
>>82
ひょっとして某ログの人?

103 :82:04/07/27 12:15 ID:B0LCJyoM
アヒャ

ちなみにまだ>>101の処理が出来なくて止まってたりする・・
まぁ、完全に止まってるわけではなくて、今はハイトマップの処理作ってて表示は出来た。
でもなんかハードウェアT&Lだと表示できない謎の現象が出て難航中・・



104 :名前は開発中のものです。:04/08/13 09:05 ID:SEexJ/Fq
>>103
QD3の初期化部分がおかしいらしい
付属サンプルでもT&L有効にするとダメな機種あり

http://deliverer.s5.xrea.com/s_on_d/index.htm
ここのGlassCodeはゲームを起動する前にHWT&Lの
有無をユーザーに設定させるようになっていて問題を回避できてる

105 :82:04/08/18 23:05 ID:rKJbT3yZ
104さん情報ありがとうです。
色々やってみたら表示は出来るようになりました。
ただ、、ポリゴンが真っ白か真っ黒なんだよなぁ。。

今こんな感じ
http://nmessenger.sytes.net/gpp/

106 :名前は開発中のものです。:04/08/21 04:54 ID:/eIXh1Dg
>>105
ここはチェックしてますか?ライト関連で報告があがってます。
でもあまり関係なさそう。スマソ。

QD3の正誤表
http://gamdev.org/w/?%5B%5BQD3%A4%CE%C0%B5%B8%ED%C9%BD%5D%5D

ちょっといじってみましたがテクスチャを貼ったり色を変えたりはできました。
ただ、指定した色にならないどころか関係ないパラメータを弄った時に変化しています。
UVも指定できないしよくわかんない。

107 :名前は開発中のものです。:04/08/24 00:05 ID:s88LEut3
>>106
QuadrupleD 3.01aでなおってた

108 :82:04/08/26 20:31 ID:EtjxWHjI
うまく動くようになりました。
ソースとバイナリをHPの方に置いておきます。

さて、次はキャラクターをこのMAPの上を歩かせたいのだが、、
キャラが居るところの高さの計算がうまくできない・・

109 :82:04/09/05 06:16 ID:4z3WtuRW
まだ怪しいけど歩けるようになった

誰かQDで半透明ポリゴンの表示方法知りませんか?

110 :名前は開発中のものです。:04/09/09 22:20 ID:lJaU9fv6
TSXFrame.BlendModeプロパティで行けます。
TSXframe.SetBlendModeRcvで、再帰的に子フレームまで設定できますよー。

111 :82:04/09/11 17:48:33 ID:3CaC8Ryr
110さんありがとうです
半透明表示も出来るようになり現在は自動歩行の辺をマッタリやってます。


112 :82:04/09/23 06:59:58 ID:7zmCQRSN
http://nmessenger.sytes.net/gpp/source025a_pub.zip

上手くうごかねぇ・・・お手上げだ

113 :保守age:04/10/27 01:41:05 ID:pd6tXyNi
保守age

114 :名前は開発中のものです。:04/11/09 00:39:04 ID:zGiKMYNt
ほっしゅほっしゅ

115 :保守age:04/11/17 00:49:39 ID:JC6Jg5cB
保守age

116 :名前は開発中のものです。:04/12/02 01:31:37 ID:jW4gqYoW
ホシュ

117 :名前は開発中のものです。:04/12/28 07:55:47 ID:rNaHrkpV
2004年

118 :名前は開発中のものです。:04/12/28 23:45:34 ID:T/yIjxhS
>>112

その後どうですか?

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

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

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)