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


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

MMORPG



1 名前:-Я- [2005/09/24(土) 16:41:08 ID:SuwAeEoS]
ネットワークRPGを作れるようなソフトってありますか?


21 名前:WindowsのTCPサーバ基本4/4 mailto:sage [2005/09/29(木) 22:38:30 ID:LE7U2HkX]
//エラー処理関数
void ErrorProccess(SOCKET s, char * api_name){
 printf("Error Area = %s , Error Code = %d\n",api_name, WSAGetLastError());
 if(s != 0){closesocket(sock);s = 0;}
 WSACleanup(); //ソケットライブラリの終了処理
 exit(1);
}


22 名前:名前は開発中のものです。 mailto:sage [2005/09/29(木) 22:40:07 ID:LE7U2HkX]
UDPの基本は、暇があったらうpローダでうpする

23 名前:名前は開発中のものです。 [2005/09/30(金) 18:05:54 ID:SLqzHEJo]
Windows? UDP?
藻舞ら、いつの時代の人間じゃ?

Linuxを使え

24 名前:10 ◆pF5cbfQoT2 mailto:sage [2005/09/30(金) 18:51:13 ID:6eJVvR2p]
>>22
ありがと
助かるよ

>>23
windowsだよ
windowsで作りたいんで
通信はUDPにする

25 名前:名前は開発中のものです。 [2005/10/01(土) 13:53:50 ID:GUmXustT]
UDPを使う利点がよくわからん。
少なくともUDPオンリーではゲームはつくれないよ
どうしても厳密な同期が必要なプロトコルがでてくるんだし。ログイン処理とかね

まずUDPが高速であるとされるファクターの最たるものがパケットロストしたときの再送の
リクエストが行われないという事だろうが、ゲームの場合はパケットが未到達であれば
ゲームはとまってしまうか情報不足の状態で補完していくことになるだろう、
これはTCPが再送のリクエストをしていてパケットがまだ届かないのと何も変わらない
状態じゃないのか。ユーザーに見える部分で何も変化がないわけでこれじゃ意味がないだろ。

加えて、パケットそのものの大きさが小さいということもあるだろうが、ゲームはものすごく小さな
パケットを連続的にではなく比較的穏やかな頻度で投げつけるので動画ストリームとかと比べて
大した差異にはならないと思うのだ

たまにパケットが届かなかったり、たまに順番が狂ってたりする場合を考慮して処理を書いたり、
または書き忘れて低頻度で起こるこういう現象に起因するバグに半日悩んだりするよりは、
普通にTCPを使うことを俺はおすすめする。

反論をたのむ

26 名前:名前は開発中のものです。 [2005/10/01(土) 14:16:34 ID:GUmXustT]
最初につくるのは送受信用に定義した特別な構造体をシリアライズして送受信する通信レイヤだな
ストリーミングすることは未来一切あり得ないからこれでいいんだ。
正直チャットをつくれとかそういうのはどーでもいい。
ちゃんとデータが行き来するのが確かめられれば必要なし。


27 名前:名前は開発中のものです。 mailto:sage [2005/10/01(土) 16:12:17 ID:UQfKbq0R]
文字入力ルーチンや文字表示ルーチンが既にあるとか
簡単に作れるなら、チャットの実装も悪くない
動作が見て分かるからね
プログラムを知らない人も説得しやすいし

28 名前:10 ◆pF5cbfQoT2 mailto:sage [2005/10/01(土) 19:24:24 ID:Y+BAe+9H]
>>26,>>27
なるほど
とりあえず送受信ができないとな
fd_setとselect関数を使って作ってみるかな


29 名前:名前は開発中のものです。 mailto:sage [2005/10/01(土) 22:28:59 ID:rWkQ4tzq]
チャットが基本だろ
/logout /dice /tellなど特殊なコマンド使いまくれる



30 名前:10 ◆pF5cbfQoT2 mailto:age [2005/10/04(火) 22:17:25 ID:MWidbNs2]
複数人チャットだと
結構難しいな



31 名前:名前は開発中のものです。 mailto:sage [2005/10/05(水) 18:44:52 ID:81Ajv+Fy]
おいおい
このままだと>>10の野郎進まねーぞ!!
オレは無理だが、誰かアドバイスでもサンプルでもいいから教えてやれ!!!

32 名前:名前は開発中のものです。 mailto:sage [2005/10/06(木) 05:45:55 ID:B/FQ+W/o]
1VS1のチャットはソケットの同期で簡単なんだけど
1VSnになると非同期が必要になるからね
あと、作成プログラムが2つ必要(サーバ&クライアント)
ってのが、以外にめんどい
2つ揃わないとテスト出来ないってのが敷居を高くしてる

33 名前:10 ◆pF5cbfQoT2 mailto:sage [2005/10/06(木) 07:03:35 ID:zNNEtLhT]
>>32
そうなんだよな
でもこれが作れないとオンラインゲームなんて100%つくれないからな

34 名前:名前は開発中のものです。 mailto:sage [2005/10/06(木) 07:08:52 ID:cRcXPgR2]
アドバイスっつってもなぁ・・・
何故>>10がUDPに拘ってるのかがわからんと何とも言いようが無い。
UDPでMMOってのが如何に難しいかってのは、解っていてのことなんだろうか…。

35 名前:名前は開発中のものです。 mailto:sage [2005/10/06(木) 07:10:26 ID:cRcXPgR2]
Σ( ゚д゚)
ってお前さんも朝早いな

36 名前:10 ◆pF5cbfQoT2 mailto:sage [2005/10/06(木) 16:16:28 ID:EoIY9AKc]
いや、別にUDPじゃなくてもいいんですよ。
ただ単に高速だからです。
でも、アカウント登録やログイン処理はTCPじゃないとダメだし。
UDPはキャラの座標とか少しくらい消えてもいいような部分にしか使いません。

37 名前:名前は開発中のものです。 mailto:sage [2005/10/06(木) 16:17:10 ID:B/FQ+W/o]
UDPってルータ越えが難しいんじゃない?

38 名前:名前は開発中のものです。 mailto:sage [2005/10/06(木) 17:20:03 ID:ZL+hX5KE]
TCPに限定して、その分高速化は送受信データの切り詰めで補った方が簡単確実ってこと?

39 名前:名前は開発中のものです。 mailto:sage [2005/10/06(木) 17:30:16 ID:O+9CjehL]
>>38
普通はそうだなぁ。
UDPとTCPを混在させると
UDP<>TCP間の同期の取り方とか
UDPの部分は、どうしてもクライアント主導の
通信にならざるを得ないから、イレギュラーや不正の
対処方法とかプログラミング的にも難度が高くなるしな。



40 名前:名前は開発中のものです。 mailto:sage [2005/10/06(木) 17:33:18 ID:EeRPt6Ud]
まずは確実に動くものをTCPで作ってからUDPに対応させりゃいいじゃん。

41 名前:10 ◆pF5cbfQoT2 mailto:sage [2005/10/07(金) 07:30:12 ID:NvWZ9rBj]
じゃあTCPでいくかな
ってかチャット作りTCPでやってたw

42 名前:名前は開発中のものです。 [2005/10/07(金) 19:54:42 ID:BQzEcK2V]
オレVBで作ろうと思ってるんだけどさー
VBって速度的にどうなん?
問題無いなら勉強しようと思うんだけど

43 名前:名前は開発中のものです。 mailto:sage [2005/10/07(金) 19:58:48 ID:aJRkgDa2]
ここがVBでMMO作ってるゾ
ttp://eternal.s19.xrea.com/

44 名前:10 ◆pF5cbfQoT2 mailto:sage [2005/10/10(月) 00:05:49 ID:7RGrKLIz]
ログインなどの処理が一応実装できた
まだ暗号化とかしてないけど・・・
サーバーしか作ってないから、そろそろクライアント作らないとな


45 名前:名前は開発中のものです。 [2005/10/19(水) 19:40:46 ID:ifZ8caQI]
MMO作ろうかと思ってますが、
ピアツーピアのMMOって無謀でしょうか?

46 名前:名前は開発中のものです。 mailto:sage [2005/10/19(水) 19:55:44 ID:ovh0Jg+H]
無謀かも知れん。
が、どういう実装形態があるか考えるのは悪いことではない。

47 名前:名前は開発中のものです。 [2005/10/19(水) 19:56:30 ID:5zXty7Ea]
同時接続人数少なくなると思うけどできるんじゃない?

48 名前:名前は開発中のものです。 mailto:sage [2005/10/28(金) 06:47:56 ID:pyIjKpZE]
>>18-21
1VS1の通信しか出来なくない?
複数クライアントの接続は宿題カナorz

49 名前:名前は開発中のものです。 mailto:sage [2005/11/03(木) 17:10:06 ID:cIr991LE]
ここはまだ生きてるのかな?



50 名前:名前は開発中のものです。 mailto:sage [2005/11/21(月) 11:50:42 ID:08eNFaZz]
漏れの作り方
1. とりあえず1対1でもいいからエコーサーバーを作る。
2. エコーサーバーをテストに使い、クライアント側の通信部分を作る。
3. 2で作った通信部分をテストに使い、サーバー側の通信部分を作る。

51 名前:名前は開発中のものです。 mailto:sage [2006/01/22(日) 19:53:14 ID:QU3Ld80h]
誰も見てないだろうから初歩的な質問してみる。

複数クライアントのチャットサーバにおいて
サーバがあるクライアントとの接続を確立したあとどうすべきか悩んでいます。

1、forkしてクライアントとの通信は子プロセスに任せる
 親プロセスはそのソケットディスクリプタをcloseして新たにacceptする
 送受信データの同期はプロセス間通信で親プロセスがなんとかする?
 >>19のscを受け取った時点でfork、親プロセスはscをcloseしたあとにbindのところに戻る

2、ひとつのプロセスで通信と同期を全てまかなう
 最初から接続上限数のソケットディスクリプタをつくっておいて
 サーバの中で送受信を接続上限数分ループさせる
 >>19のscを配列にして>>20のdo-whileをforにしてsc[i]を各々受信する感じ

1を使うとひとつのクライアントとの接続に不具合が発生しても
サーバがこけることはなさそうというのがメリットで
(他人の発言のような)送信すべきデータの取得がややこしそうになるというのがデメリット。
2の場合、親亀こけたら皆こけたの要領でひとつのクライアントとの通信不具合が
サーバ全体におよびそうというのがデメリットで
ループのおかげで受信の順番が決まってるのでそのときに送信をそれぞれ探ればいいから
送信データの取得はチャットだけを考えるなら簡単そうというのがメリット。
という風に考えています。

どっちをMMORPGサーバまで発展させると考えるなら採用すべきでしょうか?
間違った考え方をしている点や気づいていないメリットやデメリット、他の手段
などありましたらご指摘のほうお願いします。

52 名前:名前は開発中のものです。 mailto:sage [2006/01/23(月) 12:16:06 ID:78YZ2Dnq]
>>51
つ thread

Linuxでやるなら最終的には1でやるしかないと思う。
FreeBSDは試したこと無いから知らん。SolarisならThreadで行ける。


53 名前:名前は開発中のものです。 mailto:sage [2006/01/24(火) 11:00:46 ID:KzBEIj3y]
>>52
どもども。
あのあと調べてみたんですが2のやりかたはselect()/poll()ってのを使うんですね。
でも大規模なものには向かない感じ?

スレッドが現在主流なんでしょうか。いくつかの資料にあたってみると
select()やfork()のやりかたも書いてあるけど大抵の場合、
最終的にこれからはマルチスレッドだ!って意見に落ち着いてるような。
Linuxの場合NPTL/LinuxThreadsという形でPthreadsを実装してるみたいですね。
ただまだ新しい機能のせいか今でもちょこちょこ仕様変更してるのが気になるところ…

あと気になったのがシステム的な限界。手持ちのLinuxの標準的な設定だと
開けるディスクリプタの上限:1024
同時起動できるプロセスの上限:なし
プロセスあたりのスレッドの上限:64
システム全体のスレッドの上限:16384(64スレッド*256プロセス?)
らしいのですが、1ユーザとの通信は1スレッド+1ソケットディスクリプタで
という考え方だとacceptを複数プロセスでやらない限りは、
1システムあたり64人しか同時接続できなくなるという解釈でいいのでしょうか。

各々協調作業するマルチスレッド+マルチプロセス+マルチシステムな知識が必須?

54 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 23:58:35 ID:QQY5EYRe]
ほう

55 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 22:34:17 ID:DFToSQZr]
ここって板の一番下だよな・・・・?このスレのっとるか日記で

56 名前:名前は開発中のものです。 [2007/04/10(火) 22:36:07 ID:/BIIixjg]
ageとくね

57 名前:名前は開発中のものです。 [2007/04/10(火) 22:41:43 ID:w90qBFR1]
乗っ取りおめー

58 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 22:42:33 ID:DFToSQZr]
おまえら、いろいろとありえねーだろwwwwwwwwwwwwwwww何だよそのレス速度

59 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 22:43:52 ID:/BIIixjg]
ごめんね、この板の全スレでレスが
あったらすぐわかるようにしてるから…ごめんね。



60 名前:名前は開発中のものです。 [2007/04/10(火) 22:51:45 ID:w90qBFR1]
専ブラでスレタイ検索してお気に入りに登録して、
新着レスに緊急出動態勢整えてるのは俺だけじゃない筈だ。

61 名前:名前は開発中のものです。 [2007/04/10(火) 23:18:37 ID:+7AxyvvI]
イヤッホオオオオオオオオオオオオ!!!!1111

62 名前:名前は開発中のものです。 [2007/04/11(水) 16:12:28 ID:6TT42fR3]
期待あげ。

63 名前:名前は開発中のものです。 [2007/05/25(金) 15:12:16 ID:s1jJ8pe0]
個人製作のオンラインゲーム
www002.upp.so-net.ne.jp/tbbt/rpg_info.html (Ancient Saga Online)
www.platon.co.jp/~akake/outlive/ (OUTLIVE ONLINE)
www.abars.net/ruina/ RUINATERRA
dragon.warcry.biz/ DRAGON WARCRY
www.smokymonkeys.com/triglav/ TRIGLAV
homepage1.nifty.com/TMS/ エクソシズムブリーズ
www.aa.alpha-net.ne.jp/kataho/roa/ Revelation of ALTERMIA
www5e.biglobe.ne.jp/~thewar/ キリーク


64 名前:名前は開発中のものです。 [2007/05/25(金) 15:18:34 ID:N7du3zg1]
なぜ宣伝?ここ製作なんだがネトゲは別なとこにあるが

65 名前:名前は開発中のものです。 mailto:sage [2007/11/15(木) 19:18:09 ID:KUufpguC]
MMORPGってどういうシステムで作るの?
C/C++?DirectX?他になんかライブラリとかあんの?

66 名前:名前は開発中のものです。 mailto:sage [2007/11/15(木) 19:43:17 ID:34wKrQCn]
あとWinAPIとかWinSock。

67 名前:名前は開発中のものです。 mailto:sage [2007/11/15(木) 21:52:26 ID:KUufpguC]
言語はC/C++として、
システムはWinAPI&DirectX、通信はWinSockって感じ?

68 名前:名前は開発中のものです。 mailto:sage [2007/11/15(木) 22:21:10 ID:34wKrQCn]
(仮に)ウィンドウ関連は最低限だけ触ってDirextXでガリガリ書くとしても、
DirectPlayはMS自身が見捨ててるので通信にはWinSockが必要。
そのWinSockを使うにはウィンドーメッセージ関連の処理が必要。
他に日本語入力(IME)の取得や、
全角文字のの表示にはWinAPIを使うのが現実的。

C++&DirectX+αだとこんな感じかな。

69 名前:名前は開発中のものです。 [2008/01/07(月) 15:09:38 ID:hwCbBhi8]
VIPからき☆すた



70 名前:名前は開発中のものです。 [2008/01/08(火) 11:43:42 ID:6gzjxlz2]
チャットにタバターつけておしまいの方向で

71 名前:名前は開発中のものです。 mailto:sage [2009/01/25(日) 00:47:06 ID:piilkok4]


72 名前:名前は開発中のものです。 [2009/10/28(水) 16:23:51 ID:Q3MsUvxA]
【画像あり】「同級生の女の子に頼んでみた」中学生ハメ撮りAVが流出 ★14
yutori7.2ch.net/test/read.cgi/news4vip/1256707678/



456909179687499






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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