[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/10 01:20 / Filesize : 81 KB / Number-of Response : 270
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ネットゲー



1 名前:名前は開発中のものです。 [01/12/20 06:48 ID:WLADMjH3]
ネットワーク対戦型(対話型)ゲームだよ!
おそまきながらネットワークの時代だとおもうんだ!
やっぱ相手がいるから熱くなると思う。
1player型だって良く考えれば作者と対戦しているといえる。
それと人が相手だと飽きない。
2チャンネルだってゲーム性の弱いゲームだけど、
人が集まるとこれほどに面白くなるという好例だよ。

54 名前:名前は開発中のものです。 mailto:sage [01/12/21 21:58 ID:???]
>>53
おい。キャラデータをいちいち転送させるのか?

55 名前:1 mailto:sage [01/12/21 22:09 ID:???]
>>54
そうか俺が馬鹿だった。
それはまずいな。サーバー負荷どころではないな。
クライアントの転送負荷は膨大になる。

基本キャラを選び、強制はしないが、
別途キャラデータのダウンロード可能という
感じにすればどうだろう?
それでも負荷がかかるか、

56 名前:1 mailto:sage [01/12/21 22:13 ID:???]
少なくともゲーム立ち上げる度に転送するのはダメだ。
別途ダウンロードしてもらい、
もししてない場合は基本キャラが表示されるようにするという具合。

57 名前:1 mailto:sage [01/12/21 22:33 ID:???]
そして何日かおきにクライアントソフトをアップデートして
ユーザーの描いた優秀なキャラを基本キャラに加えるという具合、
でなんとかなると思う。

58 名前:1 mailto:sage [01/12/21 22:37 ID:???]
そうするとキャラランキングの様相も呈してきて
面白くなると思う。

59 名前:1 mailto:sage [01/12/21 22:38 ID:???]
じゃあ気に入ったキャラへの投票機能もつけよう。

60 名前:46 mailto:sage [01/12/22 08:37 ID:???]
>>47

>>46 みたいのはいちいち返さんでよろしい。
頑張っているお前のスレが以後煽られないようにするための
俺のささやかな優しさだったんだがな。
まあお前にはわからんだろうが。

それでは口先番長にならないように頑張ってくれ。
応援してるぞ

61 名前: mailto:sage [01/12/22 16:11 ID:???]
地道にシコシコやりまする。

idサブコマンド追加だ。
hi::wait::clientTime::lagsiv 生きてまする。
cu::interval::serverTime::late じゃあまた
以下はhi,cuに続くサブコマンドとする。
id::number おれだよおれ!
ent::group 仲間に入れてくれ!
ok::id 仲間に入れてやるからこのidを使いな。
to::destination どいつへ送る?
bc::destgroup どいつらへ送る?
dt::data データだす。
eos ソケットの終わりだす。

62 名前: mailto:sage [01/12/22 16:15 ID:???]
>>60
応援してくれてありがとー。
ところでスレの番人ってひろゆきにやとわれてんの?
まあその辺はつっこまないほうがいいか・・・



63 名前: mailto:sage [01/12/22 16:57 ID:???]
いまhiとcuだけ作ってローカルテストしてるけど
なにかが変だ、サーバー側の1レスポンスに
140msもかかっている。

64 名前:1 mailto:sage [01/12/22 17:23 ID:???]
どうしても1レスポンスに110ms-220msかかっている。
これでは使い物にならない。(゚Д゚)マズ-
なにか(゚Д゚)マズ-いことがあるはず、
レスポンス毎にソケットを閉じているのが(゚Д゚)マズ-なのか?
人に聞く前にプログラムの至るところで時間を調べよう。

65 名前: mailto:sage [01/12/22 17:40 ID:???]
たかだかたかはなだ270行程度のプログラムだけど
俺の間違いのはず。絶対俺が間違っている。俺は絶対馬鹿なはず。
俺が間違っているだけで正道があるはず。

66 名前:名前は開発中のものです。 mailto:sage [01/12/22 17:54 ID:???]
なんか凄いスレだ…

67 名前: mailto:sage [01/12/22 18:01 ID:???]
>>66
凄い?今は凄い独り言スレになってるけど、

68 名前:1 mailto:sage [01/12/22 21:04 ID:???]
ソケットをいちいち閉じないようにして
1ソケット1スレッドにしたら1レスポンス約40msくらいになった。
しかしこれではまだ足りない。
仮に1秒ごとにデータを通信するゲームだとしたら25クライアントしか扱えない。

69 名前:1 mailto:sage [01/12/22 21:16 ID:???]
でしかも4クライアント以上にしたら
ローカルテストなのに数秒のネットラグが発生してる!

亀の歩みだがちゃんとやっとかないと通信ボトルネックが今後の発展を妨げるからな・・・

70 名前:1(独り言が楽しい=オナニー) mailto:sage [01/12/22 22:01 ID:???]
クライアントに送信インターバル100msを設けたら
1レスポンスタイムは
1クライアント 1ms以下
2クライアント 1ms
3クライアント 2ms
4クライアント 48ms
5クライアント 84ms
6クライアント 129ms
だった、この増え方はパケットが衝突していることを匂わす。
ということはパケトーを整列してやればもっと速度改善ができそうだ。

71 名前:名前は開発中のものです。 mailto:sage [01/12/22 22:03 ID:???]
>>68
>仮に1秒ごとにデータを通信するゲームだとしたら25クライアントしか扱えない。
そんなわけないダロ!
と、言っといてあげる。

72 名前:1 mailto:sage [01/12/22 22:07 ID:???]
>>71
そだね、普通に考えればおかしいよね、俺のプログラムがおかしいんだ。
だけど計算は間違ってないよ。1000ms=1秒



73 名前:1 mailto:sage [01/12/22 22:12 ID:???]
送信インターバルなしでは
1クライアント 44ms
2クライアント 74ms
3クライアント 112ms
4クライアント 128-144ms
5クライアント 163-180ms
だからだいたい直線的に増加しているから
25クライアントくらいしか扱えないと考えたんだ。

74 名前:名前は開発中のものです。 mailto:sage [01/12/22 22:54 ID:???]
apache みたいにプロセスを複数常駐させておけば?

75 名前:1 (独り言ってオナニー) mailto:sage [01/12/22 23:03 ID:???]
なんたるこったスリジャワルダナプラコッテ
printlnで時間計測していたけどそれがネックになってた。
というわけで
1クライアント 1ms
2クライアント 1ms
3クライアント 2ms
4クライアント 1ms
5クライアント 1ms
6クライアント 4ms
7クライアント 4ms
パケート整列はとりあえず考えなくてよくなった。
やっと次逝けるよ。

76 名前: mailto:sage [01/12/22 23:08 ID:???]
>>74
そういう手もあるけど。
スレッドという複数のプロセス使ってるから。

77 名前:名前は開発中のものです。 mailto:sage [01/12/22 23:25 ID:???]
計算は間違ってない。
プログラムも間違ってない。

ということは、設計が間違ってるってことだYO!

78 名前:名前は開発中のものです。 mailto:sage [01/12/22 23:26 ID:???]
Javaでやってるのか?
それもまたびっくり。
健闘を祈る!

79 名前:1(今日は終わり) mailto:sage [01/12/22 23:33 ID:???]
>>77
自分しか読めない設計書があるけど・・・まあ趣味でやってるから。
>>78
printlnでばれるとは・・・・・。
つうか必要ならC++に置きかえるつもりだけど。

80 名前:1(出すって気持ちイイね) mailto:sage [01/12/23 01:12 ID:???]
いないと思うけど俺の独り言を参考にしてる奴のために
俺が参考にしたソースを晒しておきまする。
www.njk.co.jp/otg/Study/horb/src/multi_src.html

81 名前:1(独り言ってオナニー) mailto:sage [01/12/23 01:21 ID:???]
hi,cuはできたけど
他のコマンドもあるわけでサーバは完成してない。
3、4日中にはサーバーを完成させるのをもきゅひょうにして
頑張ってしまおうかな。

82 名前:名前は開発中のものです。 mailto:sage [01/12/23 09:23 ID:???]
horbでやってる…わけじゃないのね。
いくらhorbが早くて軽量だといってもさらに性能の要るMMORPGには採用できないか…。
どれくらいオーバーヘッドがあるか計ってよ>1



83 名前:名前は開発中のものです。 mailto:sage [01/12/23 09:25 ID:???]
納豆ゲームだったのか!!!

84 名前:1(シコシコ手を動かすのみ!) mailto:sage [01/12/23 12:03 ID:???]
>>82
クライアント1000個くらいで耐えられるかテストしてみるよ。
いまの7個程度の応答テストじゃあ正直自信ないしね。
ところで8個くらいで開発環境がハングッてしまった。蛾蝶ー
>>83
納豆食しないでくれ。(オヤジギャグさぶー)
ネットって漢字変換できねえだけだす。

サーバーのほうはなんとかなりそうだから
クライアントのほうも考えるだす!
対戦画面は1対1だよな。
RPGのようなマップはなし。
3Dは面倒だし第一できーん。
魔法、アイテムはどうしよう?
まあ基本的なものを取り揃えておくか。

85 名前:名前は開発中のものです。 mailto:sage [01/12/23 12:19 ID:???]
ん?horb使ってる?
リアルタイムじゃないなら、horbもいいかもNE!

86 名前:1(独り言は(・∀・)イイ!) mailto:sage [01/12/23 12:19 ID:???]
つうかそれだけじゃ面白くねえから
なんかアイディア出さなくては・・・

87 名前:1(独り言は(・∀・)イイ!) mailto:sage [01/12/23 12:21 ID:???]
>>85
使ってないYO!
もし今の方針でダメなら考えるYO!

88 名前:1(独り言は(・∀・)イイ!) mailto:sage [01/12/23 12:34 ID:???]
アイディアかあ。
戦闘シーンを脱衣で・・・
いかんいかん下ネタに頼ろうというのは邪道だす。

89 名前:1(人でもやるぞ) mailto:sage [01/12/23 14:11 ID:???]
あうううう
40クライアント以上にするとソケットエラーになる。
レスポンスは8msだからいいとして
ソケットエラーの原因はなんだ?

90 名前:名前は開発中のものです。 mailto:sage [01/12/23 15:04 ID:???]
>>89
Win98でやってるから。

91 名前:1(人だとダメなときもある) mailto:sage [01/12/23 15:14 ID:???]
>>90
ありがとー。
そういうことだったのか。
一人で悩んでても無駄だったのか(TT)。

92 名前:1(Linux初心者) mailto:sage [01/12/23 15:18 ID:???]
>>90

linuxでテストしてみるか・・・・。



93 名前: mailto:sage [01/12/25 20:54 ID:???]
クリスマスは・・・でした。
趣味再開。

94 名前:名前は開発中のものです。 mailto:sage [01/12/26 22:17 ID:???]
再開した?

95 名前: mailto:sage [01/12/27 00:38 ID:???]
こんな奴でも年末は大変だ。
ていうか年賀状書いてねえ。絵描こ・・・。

96 名前:名前は開発中のものです。 mailto:sage [01/12/28 00:43 ID:???]
実際の話、
何でもかんでもネット対戦にすれば
面白くなるなんて考えてる奴は厨房だよな。
なぁ、>>1よ。

97 名前:名前は開発中のものです。 mailto:sage [01/12/28 22:02 ID:???]
>何でもかんでもネット対戦にすれば
そうそう。みんなこれやってくれると、ネットゲー全般が腐っちゃう。
一時期の何でもゲーム化すりゃいいみたいなクソゲー時代はもうこりごり。

98 名前: mailto:sage [01/12/28 23:21 ID:???]
>>96
>>97
禿げしく銅管
ネット+面白いアイディアが必要ってことだと思う。
ところでサーバーの開発状況だが、今産みの苦しみ状態。
プロトコルの拡張。

mm::group 仲間が誰が調べる
それに対して差分データを返すのは
et::id[,id][,id][...]加わった仲間
ex::id[,id][,id][...]離れた仲間

dtを前置修飾するコマンド。rt::dtid::group 仲間に対して集計リクエスト
それに対して
tt::dtid::group データ集計

99 名前:名前は開発中のものです。 mailto:sage [01/12/29 00:49 ID:???]
>>97
市販モノだけに限定しなければもうすでに腐ってますが、何か?

100 名前: mailto:sage [01/12/30 00:00 ID:???]
最近進みが遅いがここで練っておくと後で楽する。
断続送信なんかできるようにしとこう。
送信受信バッファが必要だ。
そして断続送信インターバルの計算式を考えておく。

101 名前: mailto:sage [02/01/07 19:28 ID:???]
密かに再開しますか。
12/30から一歩も進んでないぜ。
年末からいままでずっと遊んでたということだ。
ようし今日は何をしようかな?

102 名前:1 mailto:sage [02/01/10 21:44 ID:???]
なかなか進まんので、別のゲーム作りに逃避している。
現在悩んでいるところ

・サーバーの負荷を減らすための断続送信
・集計処理
・クライアントがダウンした場合
・集計元がダウンした場合
・集計先がダウンした場合



103 名前:g mailto:sage [02/01/10 21:52 ID:???]
参考にさせてもらうつもりです。

気負わず、まったりと頑張ってください!

104 名前:1 mailto:sage [02/01/10 22:45 ID:???]
>>103
どもー。
参考になれば幸いですが・・・、
あっさりとしか言っていないので(開発の内実は泥沼です)

105 名前:名前は開発中のものです。 [02/01/13 02:43 ID:rJSwrpds]
このスレおもろいね。もっとやれ(藁

106 名前:名前は開発中のものです。 mailto:sage [02/01/13 03:23 ID:???]
情報交換したくて立てたのに
オナーニスレになっちゃってるのね。カワイソ

107 名前:名前は開発中のものです。 mailto:あげてみたりして [02/01/14 01:21 ID:???]
とりあえず、ソースを晒すといろいろ盛り上がると思われ。

108 名前:名前は開発中のものです。 mailto:age [02/01/20 06:23 ID:???]
これは良いスレですね
是非C++でやってほしい今日この頃

109 名前:名前は開発中のものです。 [02/01/20 13:21 ID:BSuwq+vF]
>>108
C++でCS形式のネトゲを作るときに参考にさせて欲しい。
漏れもc++でキボンヌ

110 名前:名前は開発中のものです。 mailto:sage [02/01/20 14:24 ID:???]
1は逃げたんだろ。そっとしといてやれよ。無理にageんな。

111 名前:1 mailto:sage [02/01/27 12:38 ID:???]
久々に来たよ。
逃げたというのは当たり、逃避して別のゲームを作っていた。
つうか最近このスレを見失っていた。
やっぱ自分のHPでやるべきことなのかもね。
毎日カキコするほど熱入れてやるなら別だけど。




112 名前:1 mailto:sage [02/01/27 12:41 ID:???]
あくびがでるほどのんびり進めるつもり。




113 名前:プログラム未経験 [02/01/29 08:03 ID:g/7F6xBo]
あの、質問させていただきたいのですが、
FFアドベンチャやサッカスタリオン等のようなネトゲは、
どの言語で書くのが良いのでしょうか?
将来的に、上記のようなネトゲを作りたいと思っているので、
これらに向いている言語を教えて下さい。
C言語を勉強中の友人には、「JAVAでいんじゃない?」と言われました。
よろしくお願いします。

114 名前:名前は開発中のものです。 mailto:sage [02/01/29 10:51 ID:???]
>>113
えーと、それは「エベレスト登りたいんだけど、登山用具はどこで買うの?」
みたいな質問なんで、最初はどこでもいいです。
どうせ貴方がそんなネトゲを作れるころには、他の知らない言語なんか
仕様書2時間読めば覚えられるようになってますよ。

115 名前:名前は開発中のものです。 mailto:sage [02/01/29 10:51 ID:???]
C

116 名前:名前は開発中のものです。 mailto:sage [02/01/29 17:32 ID:???]
>>114の言ってる事は、>>115の言語を最初に覚えることが前提に
なってる。

117 名前:Unknown name mailto:sage [02/01/30 17:15 ID:???]
すげえよ >>1
草葉の陰で見守ってるからな


118 名前:1 mailto:sage [02/01/31 19:35 ID:???]
>>113
クライアント側とサーバー側とは別の言語でもいい。
自分の場合
クライアントjava
サーバーcまたはc++(現行のローカルテストではjava)の予定。

作りやすさではjavaだろうね。
データベースならばjavaでさほど問題にならない実行速度も
ゲーム作るとなるとホントに遅いよ。



119 名前:名前は開発中のものです。 mailto:age_te_yaru [02/02/01 10:33 ID:???]
スレッドをバリバリ使う必要がありそうなところを考えると、
サーバはJavaが安全だろうなぁ。
ただ、GCとかがどれくらい影響してくるかがちょっと不安かもね。
全部オブジェクトプールにすれば、そんなにGCかからないかな?

クライアントは、アプレットがいいなぁ(ユーザとして)。
アプレットの場合、アプレットダウンロードのトラフィックが
ゲーム本体を邪魔しないかどうかが問題になりそう。

120 名前:1 mailto:sage [02/02/01 21:09 ID:???]
信用に足らないサイトからダウンロードした実行ファイル
は怖い。ハードディスク全部消すプログラムは簡単に書けるからね。
アプレットはその点安全だからいいよね。


121 名前:名前は開発中のものです。 mailto:sage [02/02/01 21:48 ID:???]
ただJava2Dor3Dでどのくらいパフォーマンスが出るかが問題だな。

122 名前:名前は開発中のものです。 mailto:sage [02/02/02 02:21 ID:???]
>>121
pc.2ch.net/test/read.cgi/tech/1002160815/244-245



123 名前:名前は開発中のものです。 [02/02/03 13:03 ID:MJ0ExQJf]
ガンダム凄いね。
よく動いてる。

124 名前:名前は開発中のものです。 mailto:sage [02/02/03 13:09 ID:???]
>>123
java.sun.com/docs/books/tutorial/extra/fullscreen/
Java1.4から新設されたAPIだね。

125 名前:1 mailto:sage [02/02/10 20:23 ID:???]
JAVA1.4使おうかな・・・

126 名前:1 mailto:sage [02/02/17 06:20 ID:???]
JXTA

127 名前:1 mailto:sage [02/02/20 14:31 ID:???]
なんか知らんけど書き込めない

128 名前:1 mailto:sage [02/02/20 19:36 ID:???]
規制?

129 名前:クソスレまじん mailto:はじめまして [02/02/27 22:58 ID:???]
ぼく、クソスレまじん。ゲームせいさくばんの、ちていおくふかくから
やってきたんだ。
ちじょうには、たくさんヒトがいるとおもったのにここには
みわたすかぎりなんびきかのわなびーしかいないみたいだね。



なんだかネットゲームばんのほうからこうばしいかおりがしてきた。
ちょっといってみるね。んじゃ。

130 名前:名前は開発中のものです。 mailto:sage [02/02/28 01:49 ID:???]
記念カキコ

131 名前:名前は開発中のものです。 mailto: [02/04/12 16:01 ID:???]
JAVAでやろうか。

132 名前:名前は開発中のものです。 [02/04/12 16:13 ID:NNAMDqSw]
ひろゆきっぽい。>>間人



133 名前:416(HSP) ◆HoSW/FCI [02/05/07 00:47 ID:XKfkToEo]
 ということで、スレ乗っ取りです。

 ネットゲーム特有の技術や制作、アプリケーションプロトコルや、送受信ルーチン、並列処理、ラグ対策などについて気軽に語り合いましょう。
 あのネットゲームのあのデータはこう処理している!…だろう、という想定ネタもok。それだとあれがこうなって、というツッコミもokです。

 これからネットゲームを実際に作ってみようと考えているけど、なにをどうしたらいいのかわからない人もどうぞ。名前のところに使用言語を書いて、以後、番号+(言語)、場合によってはトリップを使ってください。
 なお、当方、HSP使いなので大抵の質問には答えられない自信はありますがw。

134 名前:361(C++/VB) ◆fiQMk5WM [02/05/07 01:13 ID:V16cWMtg]
ども、416さんに引っ張られて参りました。
私どもアマチュアネトゲ制作者としては、サーバ選択プログラム、差分ダウンロードプログラムなどがほしいところでもあります。
取りあえず、自分のを作りつつ差分ダウンロードプログラムでも手がけてみようかと思っておりますが、誰か持ってたら提供してくださいハハー。

135 名前:361(C++/VB) ◆fiQMk5WM mailto:sage [02/05/07 01:18 ID:???]
で、差分サーバの仕様ですが、いろいろ考えると面倒なのでとりあえずWin用で良いでしょうか。
C++で作成して、iniファイルの中身をみてクライアントから送信されてきたバージョンに対応するダウンロードファイル(lzhで一個をイメージ。無ければクライアントのバージョンより古い物に対応した最新差分)を送信。
差分ダウンロードのクライアント側は自分のディレクトリにそれを解凍すると。
ディレクトリ構造などは圧縮時に指定しておくと。
サーバはcgiの方がいいかな?あ、何か簡単にできそうだな。

136 名前:361(C++/VB) ◆fiQMk5WM mailto:sage [02/05/07 01:21 ID:???]
??????????/diff.cgi?=ゲーム名&=バージョン
とかでhttpではなくlzh返せば良いんですよね。掲示板とかとおなじか。
すると後は解凍プログラムだけか。

137 名前:416(HSP) ◆HoSW/FCI [02/05/07 01:32 ID:XKfkToEo]
>>134
 サーバ選択ソフトは汎用性が高いので、共同制作してもいいんじゃないかと考えています。差分取得ソフトもかな。

 今、ホスト登録用CGIを制作依頼しているんですが、…どこまで出来てるんだろ。
hyper6.amuser-net.ne.jp/~hidden/2c/wforum.cgi?mode=allread&no=59&page=0
 「部屋名」「ゲーム名+バージョン」「IPアドレス+ポート」「最大参加人数」「参加人数」だけでokと想定してるんですが、他にやり取りしたほうがいいデータ項目はあるでしょうか?

 差分の方は、既存の差分更新プログラムを利用するのはダメですかね?

138 名前:RUR [02/05/07 01:42 ID:qX5uc02I]
416さんに引っ張られてネトゲ板より参戦します。

139 名前:361(C++/VB) ◆fiQMk5WM mailto:sage [02/05/07 02:19 ID:???]
いやー、既存のがうまくみつけられなくて。
何か良いのありますかね。

140 名前:416(HSP) ◆HoSW/FCI [02/05/07 02:41 ID:XKfkToEo]
>>138
 ようこそです。ネットワークプログラマー探しのRURさんという認識であってますかw。

>>139
 差分更新といっても、アーカイブに変更分を梱包して上書き展開という方法と、「WDiff」みたいな感じにプログラムの変更部分だけ抽出して組み込み更新という方法が。

 前者は仕様に大幅な変更があって、大部分を更新しないといけない場合、後者はちょっとした修正で実行ファイルがちょっとだけ変わったというときに便利。どちらも対応としておくと便利かも。

141 名前:361(C++/VB) ◆fiQMk5WM mailto:sage [02/05/07 03:17 ID:???]
後者に手を出すと切りがないので前者の気分でいますハハー。
どうせそんなにでかいプログラムには手は出さないし、出すなら専用のを書くでしょう。

142 名前:416(HSP) ◆HoSW/FCI [02/05/07 05:22 ID:XKfkToEo]
game.2ch.net/test/read.cgi/gamedev/1018534410/366
|また、送信間隔ですが、ログを見てみると30msとか何ですか?
|ひょっとして。よけいな御世話かも知れませんが、タイムラグを
|考えればもっと間隔を広げても良さそうな気が・・・接続可能数に
|直結しますよね?拙作では100msです。

 30fps(33ms)で、受信バッファに溜まっている全員(n人)のデータを取得(n回)して、解析(コマンド数により不定。ただし、最大n*n回以下)、全員に送信(n回)しています。なお、ホストは60fps(16ms)で回転しています。
 当然、データが無ければスキップしますし、送信もされません。

 で、30fpsはあくまでも1秒間に30回送信できる可能性(機能)があるだけで、実際に30回毎にデータを送信しているわけではありません。単に届いたデータはできるだけ早く送りたいだけです。
 受信ルーチンを抜けた直後に届いた運の悪い(?)データは、ウェイト時間分待機することになりますから、100ms待機すると、

 Ca ─(ラグa)→ S ─(ラグb)→ Cb 

の遅延時間が最大、((ラグa/2)+(ラグb/2))+100ms になるということに。



143 名前:416(HSP) ◆HoSW/FCI [02/05/07 05:26 ID:XKfkToEo]
 ちなみに、とあるバージョンではミスって、1秒間に60回フルに黒ジエン4匹分の位置データを送ってしまったこと(1秒間に240コマンド送信、これプラス通常のコマンドも)があります(爆。
 ホスト500MHz(ADSL)、クライアント500MHz(56K)だと処理しちゃってました。さすがにホスト333MHzはダメだったみたいで(w。

 単純に考えて1秒間に6歩制限だと、40人は処理できるんではないかと推測。ただし、窓9x系だとどうも40個以上のソケットは作れないらしく…。
 なお、コマンドの長さは「24(TCPヘッダ)+14(AP)」38バイトです。

144 名前:416(HSP) ◆HoSW/FCI mailto:sage [02/05/07 05:36 ID:???]
 差分での自動バージョンアップは、オンラインでの頒布ゲームでも活用できるネタなので、雑談スレで煮詰めてもらうのがよいかも。
 私個人では素直に「WDiff」を利用しようと考えていましたが。

 「WDiff」で差分ファイル(実行型)制作
  ↓
 Webにあぷ
  ↓
 更新ソフトが比較して取得した後、差分ファイル実行
  ↓
 各種データが最新版に
  ↓
 (゚д゚)ウマー

145 名前:416(HSP) ◆HoSW/FCI mailto:sage [02/05/07 05:53 ID:???]
 あ、今ソース思い出したら4匹×60回じゃなくて5匹×12回の60コマンドでした。
 …じゃなくて、await 1で回してたって言ってたから、1000/5か。200コマンドですね。もしも、順次方式じゃなくて一括処理だったら5000回発行してたのか…。処理落ち必至だから絶対5000は行かないけど。

146 名前:361(C++/VB) ◆fiQMk5WM mailto:sage [02/05/07 08:56 ID:???]
>((ラグa/2)+(ラグb/2))+100ms になるということに
全くその通りですが、HPの減算処理、将来の回復処理を入れたとき、サーバーで計算するので全遅延時間に占める通信ラグ部分が大きくなると回復が間に合わなくて死ぬ事が多くなるかなーと。
通信ラグがまぁ100msとすると、100msに一回ダメージ/回復処理を解決することでラグのせいで回復が間に合わなかった、が避けられるかと思って。
ラグがたとえば130msと200msでどれぐらい操作感に違いがでるかですが、ローカルでのレスポンスを上げ、遅延の分はアニメーションでごまかせば誤差範囲かと考えました。
どんなもんでしょうか。
拙作はクライアントは200msに一回データを送信しており、50msに一回受信しています。描画は50msごとに行っていて、順調に動いているときは通信間隔200msごとに4駒のアニメーション(今のところ移動の補完だけですが)を行ってます。
サーバからのデータがラグなどでまとまって着くと、アニメーションを飛ばして早送りで処理してます。
サーバは受信は最大速度で行い、100msごとに受信したデータ(最大でクライアント数n。各クライアントから複数回は受信せずソケットバッファにためてます)をまとめて処理し、n回送信してます。
これでどんな感じに動くか、っていうのはさわってもらえばいいのですが今Geoが動いてないので後ほど・・・。

WDiffいいですねー。WinDiffと誤解しておりました。

147 名前:名前は開発中のものです。 mailto:age [02/05/07 11:15 ID:???]
差分でやると更新時に送るデータが少なくて良いんですが、
しばらくゲームをやってなかったりすると更新が貯まってて
差分パッチをあてるだけで数時間待ちとかなりかねないので、
マイナーバージョンアップは差分方式、メジャーバージョンアップは
通常のダウンロードという混在方式がよいかと思われ。
#まぁ、作る手間は2倍ですが。

148 名前:RUR [02/05/07 14:11 ID:qX5uc02I]
>>140
(笑)優秀な人材は常時募集中です。

149 名前:DXスレの417 mailto:sage [02/05/07 14:31 ID:???]
こんなところにネトゲスレが…。
あちらでは少しスレ違いな雰囲気があったのでこちらで質問させてください。
game.2ch.net/test/read.cgi/gamedev/1016276254/417

最初は、メッセージを受け取ってキューに貯めるスレッドと、
そのキューから少しずつ取得するスレッド(ゲームのメインスレッド)でよいと思っていたのですが、
上の発言の通りDPN_MSGID_INDICATE_CONNECTのところで躓いてしまいました。
素直にDPN_MSGID_RECEIVE以外は受け取ったスレッドで処理しちゃえばよいのかなぁ。

150 名前:150(c++ Winsock) ◆Iam..... [02/05/07 16:19 ID:urzcE23c]
ネットワークプログラミング初心者ですが、参加してよいですか?
開発環境はBCC、winsockという金無しプログラミングです。

151 名前:361(C++/VB) ◆fiQMk5WM mailto:sage [02/05/07 19:46 ID:???]
>149
すんません力になれません。
>150
俺も同じですよ。BCCです。

取りあえず作りかけの物を一度披露しておきます。
www.geocities.co.jp/SiliconValley-Oakland/2840/vbvc_020507_srv_cli.lzh
サーバとクライアントセットです。
クライアントはVBで作っていますが、5なのでWin95以外のほとんどの方はランタイムをダウンロードする必要はないと思います。

152 名前:361(C++/VB) ◆fiQMk5WM mailto:sage [02/05/07 19:51 ID:???]
あ、サーバマシンは用意できないんですよ。ケーブルなもので。
テストは友人マシンで行ってますが、他人のIPを晒すわけにも行きませんのでご勘弁を。



153 名前:416(HSP) ◆HoSW/FCI [02/05/07 23:30 ID:3mKZAWWI]
>>146
 ネットゲームって同期方法によって次の3つに分類できると思うのね。

・完全同期型…ターン制及び内部カウンタを取るなど、全員のデータがそろってから結果を出す仕様。
・不完全同期型…一定間隔で処理を行うが、未達のデータは未来予測などで補完して結果を出す仕様。
・非同期型…到達したデータから順次結果を出していく仕様。

 「無人島forHSP」では非同期型で、ホストに到達したデータが現在でかつ真実であると割り切って処理しています。だから一刻でも早くデータを受信して、一刻でも早く送信する方法を取っていて、全体としての整合性は無視していますw

>>147
 そうしましょう。

154 名前:416(HSP) ◆HoSW/FCI [02/05/07 23:30 ID:3mKZAWWI]
>>149
 HSPはシングルスレッドなので、受信・処理・送信ともに人数分回す感じになっています。
 概念で表すと

┌─┐
│ ↓
│入力 [TCP受信]×人数→UDP受信→[[UDP解析]×コマンド数]×パケット数
│ ↓
│処理 [[コマンド解析・実行]×コマンド数]×人数
│ ↓
│出力 [UDP送信]×人数→[TCP送信]×人数
└─┘

 V0.3は受信+処理・送信ですが、V0.2だったかなぁ、受信+処理+送信だったから、
16人接続してバトル始めたらホストが落ちたのはw。
 つまり、プレイヤー1のデータを受け取ったら、解析実行で他の全員に送信、プレイヤー2のデータを受け取ったら…で、1ターンで人数^2の送信を行っていたといふ(16*16だから16msで256回送信…)。
 でも、落ちた直接の原因はバッファオーバーかも。

|素直にDPN_MSGID_RECEIVE以外は受け取ったスレッドで処理しちゃえばよいのかなぁ。
 悩むよりトライ&エラーのほうが早い場合も。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<81KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef