トップページ⇒tech
51コメント19KB

ネットゲーム開発参考書教えて

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
TCP/IPの知識前提で言語非依存のアルゴリズム概念が学べる良書求ム。
0002デフォルトの名無しさんNGNG
言語に依存しないと先には進めません。
というか、一つの言語で極めればどんな言語でも対応可能です。

という一般論はさておき、とりあえずゲームに使うのであれば
速度的にUDPの方がいいんではないでしょうか?
0003デフォルトの名無しさんNGNG
ネットゲームのスレって、たまに出てはすぐに消えてる気がするな(´д`;)
実際に開発している人って、全然いないってことなのか?

オレも興味ありありなんだがなあ。
0004デフォルトの名無しさんNGNG
俺やってるよ。
最初に思ってたより数段難しいね。

日本でなかなかネットゲームが増えないのは、
インフラもさることながら、
やってみたけど玉砕したってケースが少なくないからでは
ないかと思ってる。

総合的な設計力が問われるから、半端モンだと、
普通のゲームでは力押しでなんとかなっても、
ネットゲームでは通用しない、ってことがあると思う。

そのうちwebページ作る気でいるけど、まだ開発中で
時間がないから、一言だけアドバイスしとく。
「DCOM、CORBAの勉強しとけ」
結局それに近いものを自分で実装するハメになるので。
でないと泥沼に引き込まれる。
0005デフォルトの名無しさんNGNG
私も興味ありありなんですが・・・ネットワーク板向きでもないのにね
>>4
DCOM、CORBAどっちがいいんですかねぇ、やっぱ両方なのですか?
webページづくり頑張ってください、楽しみにしてます
と、いっても2chに公開はできないと思いますが
0006デフォルトの名無しさんNGNG
>>5
や、必要なのは考え方だからどっちでもいい。
DCOMの方がいいかな?
Windowsのゲームなら思い切ってDCOM使うってのも
ありだと思うしね。
0007デフォルトの名無しさんNGNG
でーこむに、こるばですか。ふむふむ。
00085NGNG
>>6
なるほど、重要なのは考え方でしたか。
いい機会だし資料集めてみます。どうもでした。
0009名無し2NGNG
おれもネットゲー作ってるけど、DCOMがよいってのは初耳です。
COMは知っているんですが、DCOMは触れたことすらありません、
DCOMってどんなことが出来るんですか?
0010デフォルトの名無しさんNGNG
>>9
このサイトがお勧め。
www.google.com
0011名無しさん@お腹いっぱい。NGNG
一番難しいのは、データの同期だよ。
そして、いつ回線が切られるか分からない事。
見えない相手とのリアルタイムゲームは
予想以上に難しい。
その辺の設計をしっかりやらないとね。
0012デフォルトの名無しさんNGNG
>>4
>俺やってるよ。
>最初に思ってたより数段難しいね。
ここの二行を見ただけで、ネタか?厨房?と思うのは俺だけか?

ゲームプログラマがネットワークの事に手を出した時点で中途半端だと思う。
無いネットワークの知識でネットワークのプログラムを組むのは無理に決まってる。

2,3,4層の実装をしている人たちにネットワーク部分は頼むのがよいと思う。

>>11
回線が切れたら、やる事は一つでしょう。考える必要なし。
リカバリなんて無理無理無理。
データの同期なんて、取り方さえ知っていれば何も問題ない。
伝送技術を勉強してみては?知識が足りなさ過ぎるよ。
0013デフォルトの名無しさんNGNG
>>12
はあ? 違うよ。
難しいのはネットワークの部分じゃないっての。

> データの同期なんて、取り方さえ知っていれば何も問題ない。
こそ厨房の意見に聞こえるよ。
まあ多分、指してるものの層が違うだけなんだろうけど。

それに「リカバリなんて無理無理」じゃすまねっての。
0014デフォルトの名無しさんNGNG
おけは桶屋にまかせておけばいいんでいってこと?
0015デフォルトの名無しさんNGNG
リカバリ無理でもやらんにゃユーザー切れるからねぇ。
0016デフォルトの名無しさんNGNG
>>12
最初の三行以外は全く同位出来無いな。

>2,3,4層の実装をしている人たちにネットワーク部分は頼むのがよいと思う。
意味解って言ってんの?としか言えない。何が難しくて
何が難しく無いか全く理解して無いんじゃないのかな?

>データの同期なんて、取り方さえ知っていれば何も問題ない。
そもそもインターネットでネットゲー作るなら基本的に非同期通信
をするべきだろう。回線速度が保証出来無いんだし。

こう言うネット知識かぶれとは絶対に仕事したく無いな。
あんたがネットワークのスペシャリストじゃない事を祈るよ。
ホント、上みたいな事言ってるとゲームどころかなにも仕事出来無いよ?
00174NGNG
>>16
そう? 厨房に見える?
001816NGNG
>>4
>俺やってるよ。
>最初に思ってたより数段難しいね。
いや、この二行だけで判断すると意外と厨房っぽいよ、悪いけど。
昔corbaでゲーム作ってみたがダメ、ヘッダがでか過ぎる。
オブジェクトの参照を消そうと思ったらデッドロックする。
スカベンジャーはうまく動いてくれないし。で、ゲームもオジャン。
horbは最高。
00194NGNG
あそう、その程度ならいいや。言葉のアヤだし。
6,13も俺だから、言ってることはまあ同じみたいだしね。

>昔corbaでゲーム作ってみたがダメ、ヘッダがでか過ぎる。

へーやってみたんだ、いい経験談を聞かせてくれてありがとう。
ちょっと危ういなと思って避けたんだけど、やっぱり
ゲームには苦しいんだね。
0020デフォルトの名無しさんNGNG
>>19
具体的な数字を書くと、
例えば50bytesのメッセージを送るのに実際に送信するパケット量は270bytes
位だった。horbだと150まで減った。ヘッダのサイズだけで100bytes以上
違う。horbも最適とまでは言えないけどゲームでも十分実用範囲だと思う。
問題はcorbaもhorb普段はtcpを使ってる所だと思ったんだけど、
horbソケットのudp実装を施しても速度は全然変わらなかった。
あーこれ以上書くとヤバイかも。まあ心配無いか。
00214NGNG
もともと、順序の保証とエラー訂正が必要なら
UDPにする意味は全然ないんじゃない?
horbがどんなものかよく知らないけど、
分散オブジェクトでそういうのをしなくていいっていうのは
考えにくいんだけど……

問題は、ゲームオブジェクトと通信が非同期かどうかで、
TCPかUDPかはそんなにたいした問題じゃない、と思う。
多少メッセージを失ってもいいアクションゲームなら
UDPの方がいいだろうけど、
シーケンスが重要なゲームだと、UDPでやるにしても結局は
TCPに相当する層を自分で作らされるハメになるはずだし。

自力でTCPに相当する層を作って細かく制御したいって言う人を
止めはしないけど、メリットはそんなにないと思うなあ。

俺もそんなに経験豊富なわけじゃないから、
机上の論理で言ってるだけだけど……
00224NGNG
あーでもバッファリングの制御がなー。
あれはTCPってよりsocketの実装が悪いのかな。
002320NGNG
結論を言うとtcpのほうがいいかな。アクションゲームでも
udpにする必要は無いかな。
horbソケットのudp実装はイレギュラーなやり方だから。

バッファリングの制御はソケットのオプションにtcp nodelayって
のがあるはず。無いならソケット実装がヘボいな。あとは適当な
所でフラッシュすればバッファリングによる遅延は最低限におさまる。
まあ内部で何をしでかしてるかわからないけど。
0024デフォルトの名無しさんNGNG
>>18
>昔corbaでゲーム作ってみたがダメ、ヘッダがでか過ぎる。
これはGIOP→IIOPマッピングで規定されるてるけど、
>オブジェクトの参照を消そうと思ったらデッドロックする。
これは実装系によるんじゃないの?

単純なonewayメソッドの起動にかかる時間だけでも、実装系によって
けっこう違いがあるようだ。
00254NGNG
ああ、その、TCP_NODELAYは指定したんだけど、

>内部で何をしでかしてるかわからないけど

ってところが問題で。それなりにいろいろやってみたけど、
「アテにしない」しかないみたいね。
002620NGNG
>>24
>>オブジェクトの参照を消そうと思ったらデッドロックする。
>これは実装系によるんじゃないの?
それはそうだけど、今出回っているCorba製品で一番使い物になる
(と判断した)奴でそうなっちゃったから。
他のは速度面で使い物にならん。
onewayメソッドは実装のしかたで随分と実行速度が変わるよね。
0027デフォルトの名無しさんNGNG
…なるほど
みんな、有益な情報をありがとう。
ゲームデザインに時間をさきたいので、
低レベル処理は既存ライブラリを使った方がよさそうだね。
とりあえず、 horbでまったり作りはじめるよ。
0028デフォルトの名無しさんNGNG
DirectPlay使わないの?
0029デフォルトの名無しさんNGNG
>>28
Windows同士でDirectXのバージョンが同じならそれでいい
0030デフォルトの名無しさんNGNG
質問です。
ネット対応ソフトのデバッグでどういう風にやるもんなんでしょう?

というのも、この前BCBでネット対戦オセロ作りました。
今まで、こういう小さいゲームは何度か作った事ありましたが、
ネット対応のものははじめてで、デバッグのためにLAN環境にある
2台のPCの間をいったりきたり・・・。
けっこう端からみると間抜けだったと思いますが、オセロじゃないにしろ、
普通、ネット対応ソフトのデバッグってどういうふうにやるんですか?

開発方法も、ネット部分とゲーム部分を分けて作って後から合わせるとか、
手法のコツとかでもいいです。

おしえてください。
0031デフォルトの名無しさんNGNG
重くないソフトなら同じマシンでやれば?
俺はノートパソコンでやってるけど。
0032デフォルトの名無しさんNGNG
>>30

vnc という PC 遠隔操作ソフトウェアを使うと幸せになれます。

http://www.uk.research.att.com/vnc/

詳しい使い方は最寄りの検索サイトにて。
0033デフォルトの名無しさんNGNG
Javaでネットゲーム作ってます。
マルチスレッドがわかりません。
どうしましょう?

デバッグができません。
0034デフォルトの名無しさんNGNG
30です。

>>31,32
どうもありがとうです。試してみます。
0035デフォルトの名無しさんNGNG
このスレもっと盛り上がって欲しいぞ
0036デフォルトの名無しさんNGNG
やりたいと思ってる人は多いけど、実際やっている人はいないと見た
003733NGNG
RMIがわからないので開発終了しました。
残念。
0038 デフォルトの名無しさんNGNG
>>36
ふう、ネトRPGメーカなんてものを本屋でみつけてはまってしまった。
おかげでオリジナルの開発中断中。
0039デフォルトの名無しさんNGNG
3Dネットワークゲームプログラミングガイド(著:インフィニティ、出版:秀和システム)
って実際どうですか。読んだ人の感想きぼーん。
0040しらかわよふねNGNG
DirectX7と8の情報が入り乱れててわかりづらいと思いました。
でも所々、役に立つかも・・・。
0041デフォルトの名無しさんNGNG
>>29
DirectPlayの信頼性って今の所(DirectX8)どうなの?
有料サービス構築に安心して使えるのだろうか‥
0042デフォルトの名無しさんNGNG
4さんはその後どうですか。
かなり期待ageなんですが。
0043無責任な名無しさんNGNG
ttp://www09.u-page.so-net.ne.jp/sd5/anzu/main.htm
のCardBattleってネットゲームに入ります?
0044中野予備校出身者の孫NGNG
セガとか本だせばいいのに。
0045デフォルトの名無しさんNGNG
あげー
0046デフォルトの名無しさんNGNG
>>44
社内の情報は、財産だとか
有るんでしょうね。
ゲーム業界は特にありそう。
0047デフォルトの名無しさんNGNG
>>46
僕の上司は特にうるさく言いますね。
僕自身としては、社内で陳腐化した技術は出版して開放するなり、
ライブラリのコードをネットにアップするなりすれば、
会社のイメージアップにも繋がると思うんだけどなあ…。
(もっとも、ダメなコーディングをしてると逆にイメージダウンかも)

# 何の変哲もないINIファイルのパージライブラリのソースさえも
# 流出を気にするような僕の上司は異常(苦笑)
004847NGNG
む、自己批判。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=988989921&ls=50
0049デフォルトの名無しさんNGNG
http://www.flipcode.com/network/
みたいな海外のゲーム開発系サイトには載ってたりするよ。
CORBAみたいなミドルウェア的な部分じゃなくて、ソケットを直接さわる
みたいな低レベルな話が多いけど。
あと、
http://www.stardust.com/archives/winsoc.html
のWinSockのメーリングリストでもネットワークゲームの話をたまに
やってる。
個人的にはIPv6になったときのマルチキャストはどうなのさ! ってのに興味が
ありますな。
0050だつあNGNG
>44
おじちゃんはどんなこと学校時代習ってたんですか?
0051デフォルトの名無しさんNGNG
---------------------------------------------------------------
■ このスレッドは過去ログ倉庫に格納されています