トップページgamedev
154コメント50KB

delphiでMMO

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。03/12/27 17:51ID:O73TyP7C
作った人いないのか?
 作ってる奴いないのか?
作ろうする奴いないのか?
0071名前は開発中のものです。04/02/19 10:24ID:rwGM2mab
>>70
ネットワークプログラミングしたことありますか?
0072名前は開発中のものです。04/02/20 02:10ID:4P6K9vyP
>>71
メーラー作った事ありますよ。
0073名前は開発中のものです。04/02/20 02:14ID:4P6K9vyP
と思ったけど、メーラーがネットワークプログラミングかどうかは怪しい。
LANのデバイスドライバとかですか? 作った事はないですね。
0074名前は開発中のものです。04/02/20 08:54ID:hHSWRVHa
なるほど、それでデリミタの話になるわけね。
tcp使うからって必ずテキストストリームベースのプロトコルじゃないといけない
なんてことは無いよ。もう少しいろいろなプロトコルを勉強してみるべきかと。
0075名前は開発中のものです。04/03/22 20:49ID:2QFiMIc0
0076名前は開発中のものです。04/04/12 02:02ID:SaJWdm/1
 
0077FAN04/05/11 10:26ID:Ky5hy7V5
作りたいです。作れるものなら・・・
そーゆーソフトってないんですかね?
0078名前は開発中のものです。04/05/11 14:28ID:98ZabPYb
>>77
ないならそういうソフトを作ればいいジャマイカ
0079名前は開発中のものです。04/06/11 03:08ID:e5BRa/i6
今プロトコルのベース部分作ってるよ
キャラ表示部分とかゲームとしての処理部分はまだ作ってないからまだまだ掛かりそう
とりあえずキャラチャを目指して見ます
0080名前は開発中のものです。04/06/11 21:15ID:Ehu1jA7Y
期待してます
00817904/06/14 05:30ID:iMPPTwta
チャットソフトとしては結構出来てきた気がするけどまだだめぽ
キャラクター表示は
http://pc5.2ch.net/test/read.cgi/gamedev/1051110669/
こっちでいろいろやってるのを参考にしようと思いつつ
まだ何もやってないのでキャラチャっぽくなるのはまだ先になりそう。
00827904/06/20 20:08ID:wjSOoLXy
キャラクター表示部分だけ別に作成中
今こんな感じ
ttp://gamdev.org/up/img/722.jpg

通信部分は今RSAを使おうと思ってるのですが・・どこかにソース落ちてないかなぁ・・
00837904/06/22 12:44ID:+wBPwWLQ
RSA暗号実装できました、今はRC4を実装してます。
キャラチャ部分はFOGがうまく掛からないので取りあえず放置で、先に通信部分を作りこんでます。
0084名前は開発中のものです。04/06/22 14:44ID:z3uDPhKo
>>82
トゥーンレンダリングですか?
激しく期待!!
0085名前は開発中のものです。04/06/24 15:04ID:8RsX3DIM
トゥーンレンダリングじゃないです。。
アレのやり方がいまいち分からないのでやってないのですが、出来たらやってみます。

とりあえずまだ通信部分書いていて表示の方はほとんど手をつけてないっす
0086名前は開発中のものです。04/06/29 22:45ID:OSp1CFcf
>>85
あぁ、勘違いでしたかorz
陰影がないのでアニメ調を意識してるのかと思いました

通信部分はやはりIndyを使ってるんですか?
0087名前は開発中のものです。04/06/29 23:41ID:Jqs9bIWU
前はIndyでやってたんですけど、、
どうも挙動がおかしかったので今はTSocket;でやってます。

あとキャラクターをクリックした場所に移動って処理をやりたいのですが・・どうやっていいのかさっぱりです・・
誰か出来るって人いないかなぁ
00888704/06/30 02:52ID:K4DYv06d
×TSocket
○TClientSocket/TServerSocket
0089名前は開発中のものです。04/07/07 14:41ID:0XvGkeHz
QuadrupleDでクリックした座標に移動ってどうやるんだー _no
0090名前は開発中のものです。04/07/07 23:01ID:xRo0iKnj
CとOpenGL使って実装したことはあるので、Quadruple Dのマニュアルを読んでみましたが
実装は難しそう。DirectXはセレクション処理は自分で書かないといけないみたいだし。

そもそもクリックして座標を得たとしても、その座標まで「障害物を避けて最短距離で移動
する」のが結構難物でした。どうしてもやりたい、というのでなければ、とりあえずジョイ
スティックでの移動で処理してみてはいかがですか?
0091名前は開発中のものです。04/07/08 01:54ID:24Kakk+0
ふむう、、
やっぱキー操作が無難なのかなぁ・・
もうちょっと頑張ってみます・・

経路探索は前にソースを手に入れてたので少し改良すれば使えそうな気がします。
00929104/07/10 14:06ID: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
0093名前は開発中のものです。04/07/10 20:07ID:Jen5rkzV
>>92
>// プロジェクションマトリクスで座標変換します。
>Hgpos:=NowTransform(Hgpos, NowInvMatrix(Scene.ProjectionMatrix));

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

あと、視野座標系でのZ軸(とする軸)と、画面に表示されているポリゴンが交差しているかどうかの
判定をして、交差するすべてのポリゴンの中から、一番近いポリゴンを選ぶ処理が必要か。
00949304/07/11 03:00ID:F1UgzbEs
ごめん、間違えてたよ・・・_| ̄|○

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

だから、この順番で演算すればいいはず。
Hgpos:=NowTransform(Hgpos, NowInvMatrix(Camera.WorldMatrix));
Hgpos:=NowTransform(Hgpos, NowInvMatrix(Scene.ProjectionMatrix));
00959104/07/11 05:18ID:W4Smg9NF
いろいろやってみました。
んで表示は出来るようになったのですが、どうも位置が合わないです・・

ソースUPしたので、もしよろしければ見てみてください。
お願いします。
http://gamdev.org/up/img/827.zip
0096名前は開発中のものです。04/07/13 23:17ID:Siq4GRhP
ついにWindowsServer2003もタダで使えるぞイヤッホー!
このスレの半分を費やした問題もやっと解決

タダで使えるWindowsServer2003
http://pc5.2ch.net/test/read.cgi/win/1085833637/
00979104/07/14 11:05ID: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の場合は自前でやるしかないのかなぁ・・
0098名前は開発中のものです。04/07/14 11:20ID:2soUKVK2
>>97
なんたらプレーンを使うんだ。
0099名前は開発中のものです。04/07/14 13:22ID:KOxdiRxt
Clootie使えねぇかなぁ
0100名前は開発中のものです。04/07/15 15:45ID:3drn8Oeq
delphi使ったことないけど100!
0101名前は開発中のものです。04/07/17 03:41ID: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の使い方が違うのかなぁ、、、
0102名前は開発中のものです。04/07/26 15:21ID:sDcjOgJS
>>82
ひょっとして某ログの人?
01038204/07/27 12:15ID:B0LCJyoM
アヒャ

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

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

http://deliverer.s5.xrea.com/s_on_d/index.htm
ここのGlassCodeはゲームを起動する前にHWT&Lの
有無をユーザーに設定させるようになっていて問題を回避できてる
01058204/08/18 23:05ID:rKJbT3yZ
104さん情報ありがとうです。
色々やってみたら表示は出来るようになりました。
ただ、、ポリゴンが真っ白か真っ黒なんだよなぁ。。

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

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

ちょっといじってみましたがテクスチャを貼ったり色を変えたりはできました。
ただ、指定した色にならないどころか関係ないパラメータを弄った時に変化しています。
UVも指定できないしよくわかんない。
0107名前は開発中のものです。04/08/24 00:05ID:s88LEut3
>>106
QuadrupleD 3.01aでなおってた
01088204/08/26 20:31ID:EtjxWHjI
うまく動くようになりました。
ソースとバイナリをHPの方に置いておきます。

さて、次はキャラクターをこのMAPの上を歩かせたいのだが、、
キャラが居るところの高さの計算がうまくできない・・
01098204/09/05 06:16ID:4z3WtuRW
まだ怪しいけど歩けるようになった

誰かQDで半透明ポリゴンの表示方法知りませんか?
0110名前は開発中のものです。04/09/09 22:20ID:lJaU9fv6
TSXFrame.BlendModeプロパティで行けます。
TSXframe.SetBlendModeRcvで、再帰的に子フレームまで設定できますよー。
01118204/09/11 17:48:33ID:3CaC8Ryr
110さんありがとうです
半透明表示も出来るようになり現在は自動歩行の辺をマッタリやってます。
01128204/09/23 06:59:58ID:7zmCQRSN
http://nmessenger.sytes.net/gpp/source025a_pub.zip

上手くうごかねぇ・・・お手上げだ
0113保守age04/10/27 01:41:05ID:pd6tXyNi
保守age
0114名前は開発中のものです。04/11/09 00:39:04ID:zGiKMYNt
ほっしゅほっしゅ
0115保守age04/11/17 00:49:39ID:JC6Jg5cB
保守age
0116名前は開発中のものです。04/12/02 01:31:37ID:jW4gqYoW
ホシュ
0117名前は開発中のものです。04/12/28 07:55:47ID:rNaHrkpV
2004年
0118名前は開発中のものです。04/12/28 23:45:34ID:T/yIjxhS
>>112

その後どうですか?
0119名前は開発中のものです。2005/05/12(木) 21:39:14ID:dX05Jnle
      キ        //   /::::://O/,|      /
      ュ     / |''''   |::::://O//|     /
       ッ       \ |‐┐ |::://O/ ノ   ヾ、/
       :       |__」 |/ヾ. /    /
         ヽ /\  ヽ___ノ / . へ、,/
        /  ×    /  { く  /
        く  /_ \   !、.ノ `ー''"
  /\        ''"  //
 | \/、/           ゙′
 |\ /|\ ̄
   \|
0120名前は開発中のものです。2005/06/09(木) 17:09:08ID:yhMrDvSX
hosyu
0121名前は開発中のものです。2005/06/09(木) 17:31:34ID:utudaujh
没収
0122名前は開発中のものです。2005/06/13(月) 08:03:13ID:biVTtWEm
C(C++)とDirectXでやった方が楽じゃない?
0123名前は開発中のものです。2005/08/10(水) 01:54:02ID:5uOtmxXP
保守age
0124名前は開発中のものです。2005/08/11(木) 01:00:56ID:nKOENxeI
MMOage
0125名前は開発中のものです。2005/09/12(月) 17:57:24ID:BA20QLlV
http://www.geocities.jp/usagi_dk/vip1033111.jpg
0126名前は開発中のものです。2006/04/20(木) 13:54:13ID:rUaYmviW
あげ
0127Mr.K ◆aUiM7xgP4. 2006/07/14(金) 06:05:06ID:wYuzsjYi
誰もいないようですので再利用させていただきますよ。

マンネリ化した戦闘ばかりのMMORPGはもう嫌だ!
というわけで、新しいタイプのMMORPGを作ってみよう♪とプロジェクトを立ち上げました。

詳しいことはプロジェクトページに載っているので、ご覧ください。
http://kanechan.oh.land.to/project.html

プロジェクトの具体的な方向性は決まっていませんが、基本的には、
●戦闘は一切なし
●手軽にできる
●廃人要素禁止
●みんなで楽しく
↑に沿ってやっていきたいと思います。

☆進行状況☆
IDの作成・キャラ管理・ログイン・移動と同期化・通常チャットが実装済みです。
クライアントの描画処理などは後付でなんとでもなるので、今はテキストで出力してます。

作り始めて1ヶ月・・・とりあえず土台を作ろうと思ってここまできましたが、どんなゲームにするかはまだ決まっていません。
もしまだ見てる方がいればアイデアなどをいただけるとありがたいです。
しばらくは開発日記になるかと思いますが、生暖かく見守ってください。
0128Mr.K ◆aUiM7xgP4. 2006/07/14(金) 18:29:30ID:wYuzsjYi
同期化がおかしかったので修正。
同期化領域の計算が間違ってました(^^;
もう土台は完成し、いまのところバグもみつかりません。
そろそろ本気でゲーム内容考えないと・・・
やっぱりいきなりRPGとかは無理でしょうかね。
素材を用意するだけでもかなり大変な予感。

というわけで、少ない素材でもゲームとして楽しめるものを作るべく、
様々なジャンルで可能性を模索したいと思います。
0129名前は開発中のものです。2006/07/15(土) 13:38:17ID:90cfIewg
>>127
>マンネリ化した戦闘ばかりのMMORPGはもう嫌だ!
>というわけで、新しいタイプのMMORPGを作ってみよう♪とプロジェクトを立ち上げました。

>プロジェクトについて
>ここは、サイト管理人かねちゃんが立ち上げたMOゲームについてのページです。

思いっきり表現が違うんだけど。
MOとMMO、どっち作るの?1字違いだけど、かなり違うし。

あと、サイトの左のTOPを押すと「404 Not Found」になる。

個人的には、完成予想図みたいなものを見てみたいかも。
0130Mr.K ◆aUiM7xgP4. 2006/07/17(月) 17:29:35ID:5pAUI8jZ
>>129
ご指摘ありがとうございます。

サイトについては暫定的に作ってますので、全体的にまとまりがありません。
どんなものを作るのかもまだ決まっていませんし(^^;
修正を加えているうちにごちゃごちゃになってしまいました。

MOかMMOかということですが、この2つの違いは同時接続数だと認識していますので、
運営によって違ってくるのだと思います。
プログラムの設計上はMMOでも可能ですが、ハードウェア&回線が追いつかないので、MOと表記しています。
当初とは方向性がずれてきているのも問題かもしれません。
0131Mr.K ◆aUiM7xgP4. 2006/07/17(月) 17:32:06ID:5pAUI8jZ
やり始めたきっかけは確かに「マンネリ化した戦闘ばかりのMMORPGはもう嫌だ!」ということで始めましたが、
今振り返るとなんだかバカ丸出しのようで恥ずかしいです。
普通はある程度構想を練ってから制作に取りかかるものだと思いますが、自分の場合は「後でいいや」と後回しにしてしまったので、
そこに問題の原因があるのではないかと思います。
どんなものか分からないゲームのプログラムだけ作っているという現状は誰が見ても変なのでしょうね。
企画のセンスのないAFOがプロジェクト立ち上げるなんてどうかしてますね。
このプロジェクトはなかったことにします。
スレ汚し&ご迷惑をおかけしてしてすいませんでした。

今まで書いたソースは希望者にはメールでお渡しします。
一応GPL扱いです。

しばらく活動を自粛しますが、腕を磨いてまた挑戦したいと思います。
その際には、どこかのプロジェクトの端っこにでも加えていただけるとありがたいです。
0132名前は開発中のものです。2006/07/17(月) 17:42:58ID:8U+jTiMn
MMOはキャラを管理する必要があるから、MOとは区別すべきと思う。
(単なるタイプミスという事でスルーじゃなかったのね。。。
0133 ◆uFnTX6eZrA 2006/07/18(火) 02:10:12ID:uESrh7ST
>>1さん
がんばってください。


ついでに宣伝させてください・・・オープンソースの小規模MMO作ってます。
アイディア・サーバー運営先など募集中なので参加まっています。

開発元:ttp://sitegram.ddo.jp/

3Dモデル・モーション・音声データなども足りないのでお助け願えるとうれしいです。
でわでわ
0134名前は開発中のものです。2006/07/18(火) 21:37:31ID:j72SikRe
>>131

自粛しなくていいって。じっくりやればいいよ。
その姿を見て、誰かが同じようなことしたいと思うきっかけになるかもしれないし。

ってか、ソースはWebに載せれない?
怖くてメールできないw
0135名前は開発中のものです。2007/08/04(土) 02:02:02ID:w55QQFsY
保守
0136名前は開発中のものです。2007/10/07(日) 19:33:31ID:hm3uPQ0V
>>134
禿同
01371 ◆J5gdeQLe7A 2007/11/24(土) 08:52:20ID:0tiP6KHt
てす
0138 ◆2/2MKTu4Uk 2007/11/24(土) 08:52:57ID:0tiP6KHt
てす
0139名前は開発中のものです。2007/12/23(日) 15:14:33ID:tnd2Kzyl
Delphiは完全に落ち目と思いますが・・・
ともかく保守の為あげます
0140名前は開発中のものです。2007/12/24(月) 01:18:54ID:A9huVzG9
落ち目とかそういう風じゃないんだよ
0141名前は開発中のものです。2008/02/28(木) 02:26:02ID:EudmT92Z
過疎ってるようなので、 「C#でMMO」 も同居させてください。
保守age
0142名前は開発中のものです。2008/04/01(火) 00:09:09ID:pBL3A/Z8
ネットゲーム自体が昨今厳しいとも思いますが
保守あげです
0143名前は開発中のものです。2008/04/12(土) 00:10:21ID:0g5oNJHD
あげ
ってこれでいいですか
ご主人
0144名前は開発中のものです。2008/04/23(水) 11:36:49ID:EDzcEAr0
127に触発されますた



って訳じゃないが、mmoの前段階としてmmoチャットサーバーと
クライアント作ってみた
ttp://gamdev.org/up/img/11340.zip

ソース付きです
もしよければ、試して感想とか、、、イラン
0145名前は開発中のものです。2008/07/05(土) 10:21:31ID:eziFRFue
ややスレ違いで申し訳ないのですが、
DirectPlayを使ったP2Pのロビーサーバを作ろうと思うのですが、
レンタルサーバーにロビーを作るというのはできるのでしょうか?
0146名前は開発中のものです。2008/07/05(土) 12:37:41ID:bnYJiOVS
個別のレン鯖に聞いたほうが速いし確実
0147名前は開発中のものです。2008/07/05(土) 21:19:17ID:sZwqpCKp
そうしてみます
0148名前は開発中のものです。2010/02/26(金) 23:12:11ID:0DPQMw5c
>>145
可能だが高価

WEBアプリ以外を実行できるレンタルサーバーとなると
専用サーバになり価格もかなり高いです
構築済みのサーバーをデータセンターに置いてもらう方法もありますが
こちらも高いみたいですね
しっかりと価格比較したわけじゃないですが安くても月数万円レベルのようです
しかも通信速度や通信料に制限がある安いプランでです

この板の相場感からいくとせいぜい数千円で探していると予想しますが
自宅サーバのほうが現実味がありそうです
0149名前は開発中のものです。2010/02/27(土) 02:25:47ID:dBFwND9U
一年半ごしのレスってすばらしい亀レス
0150名前は開発中のものです。2011/06/06(月) 22:41:53.77ID:45ZO7dKg
>>144が落とせないなーと思って気づいたんだけど
delphiの過去の資産ってほとんどがgamdev.orgのアップローダだよね
もしアップローダにあげられていたものを持っていたらアップしてくれる人いないかな?
今なら大容量のアップローダもあるし、光回線の人も増えたから誰かしてくれないかな・・・。
0151名前は開発中のものです。2011/06/14(火) 19:12:36.53ID:UFtLS9h6
三年も前のソースで何をするきだよ。
0152名前は開発中のものです。2012/03/11(日) 10:23:21.79ID:h5hr8KZf
>>151
3年前の開発環境なんだから3年前のソースを見るのも悪くないんじゃね

それとここで言いたいのはおそらく過去からの蓄積がなくなってしまうから
避難所にアップするのってあまり良い事ではないよねって事
WEBなら多少は寿命が長いよ(isWebなどの例もあるんだけどね)
0153電脳プリオン 忍法帖【Lv=40,xxxPT】(1+0:5) 【14.1m】 2013/12/08(日) 19:00:09.91ID:sdXihu82?PLT(12081)

なぜdelphi?
0154名前は開発中のものです。2013/12/08(日) 19:05:50.15ID:MCfGLRR0
age
■ このスレッドは過去ログ倉庫に格納されています