- 1 名前:-Я- [2005/09/24(土) 16:41:08 ID:SuwAeEoS]
- ネットワークRPGを作れるようなソフトってありますか?
- 2 名前:名前は開発中のものです。 mailto:sage [2005/09/24(土) 17:10:56 ID:UGCNNHQm]
- VS
- 3 名前:名前は開発中のものです。 mailto:sage [2005/09/24(土) 17:40:26 ID:xEgDYVdH]
- あるのか?
知らんけど
- 4 名前:名前は開発中のものです。 mailto:sage [2005/09/24(土) 19:21:07 ID:tFIprWQK]
- MHPみたいな名前のが無かったっけか?
- 5 名前:名前は開発中のものです。 mailto:sage [2005/09/24(土) 22:15:19 ID:J5oxGrnT]
- >>4
ない
- 6 名前:名前は開発中のものです。 mailto:sage [2005/09/24(土) 22:19:13 ID:tFIprWQK]
- PHIだったw
- 7 名前:名前は開発中のものです。 mailto:sage [2005/09/24(土) 22:56:27 ID:J2roar/D]
- >>1
■ネットワークRPGメーカー2000 ■発売元:アスキー ■価格:9800円 ■問い合わせ先:アスキー TEL 03-5351-8728 ■動作環境:Windows 95/98/2000,MMX Pentium/200MHz以上(推奨PentiumII/300MHz以上),メモリ64MB以上(推奨128MB以上),空きHDD容量50MB以上 糸冬 了
- 8 名前:名前は開発中のものです。 mailto:sage [2005/09/24(土) 22:57:29 ID:J2roar/D]
- リンク貼り忘れ
www.4gamer.net/review/live/nrpg.html 糸冬 了
- 9 名前:名前は開発中のものです。 mailto:sage [2005/09/24(土) 23:27:37 ID:UGCNNHQm]
- >>7
それ、発売も中止のようだし、サーバーも動いてないような、HP調べたが 過去の製品リストからも排除されているようで、出てこなかった〜〜よ。w
- 10 名前:名前は開発中のものです。 mailto:age [2005/09/27(火) 22:22:38 ID:fJ8kPMi+o]
- MMOはやっぱりサーバーを先に作った方がいいのかな?
- 11 名前:名前は開発中のものです。 mailto:sage [2005/09/27(火) 22:46:38 ID:/b0+bht7]
- 1.ゲーム企画
2.素材を用意(ドット・音楽など) 3.各種サーバー 4.クライアント この手順が良いと思いますよ〜
- 12 名前:名前は開発中のものです。 mailto:sage [2005/09/27(火) 23:20:12 ID:yn+0L+IC]
- 素材を用意する前に、
クライアントのグラフィックスエンジンが動いている必要がある。 仮素材を用意するのなら、その手順でも構わないが…
- 13 名前:10 mailto:sage [2005/09/27(火) 23:47:59 ID:SkI+GD38]
- どうも
難しそうだな〜 頑張ってみる
- 14 名前:10 mailto:sage [2005/09/28(水) 16:27:20 ID:9jNPEdSe]
- とりあえず、チャットから作った方がいいかな
- 15 名前:名前は開発中のものです。 mailto:sage [2005/09/29(木) 03:06:45 ID:ToR8zilx]
- チャットが出来なきゃ話にならんですたい
- 16 名前:10 mailto:sage [2005/09/29(木) 17:46:52 ID:gkIkra0I]
- >>15
そりゃそうだよなw DOSプログラムとWINプログラムってどっちがサーバーにむいている? 個人的にはDOSの方がいいかなって思ってるんだけど
- 17 名前:名前は開発中のものです。 [2005/09/29(木) 19:55:53 ID:CAD+EvmP]
- LinuXで
- 18 名前:TCPサーバ基本1/3 mailto:sage [2005/09/29(木) 22:35:37 ID:LE7U2HkX]
- #pragma comment(lib, "wsock32.lib")//Winsock Library のリンクオプション追加
#include <windows.h> #include <winsock.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define PORT_NO 2500//ポート番号 #define MSG_SIZE 512//受信バッファサイズ void ErrorProccess(SOCKET, char *);//エラー処理関数 int main(int argc, char * argv[]){ WORD wVerReq ;//WinSock要求Ver. WSADATA wsadata ;//WinSockライブラリ情報 SOCKET s,sc ;//接続待ち受けソケット、通信用ソケット struct sockaddr_in addr,addrc ;//サーバーアドレス構造体、クライアントアドレス構造体 char hello[] = "Hello!\n\"bye\"で終終了\n" ;//最初に送信する文字列 char msg[MSG_SIZE + 1];//文字列送受信バッファ int ret ;//返値
- 19 名前:WindowsのTCPサーバ基本2/4 mailto:sage [2005/09/29(木) 22:36:55 ID:LE7U2HkX]
- wVerReq = MAKEWORD(1,1);//WinSockライブラリの要求Ver.1.1
if(WSAStartup(wVerReq, &wsadata) != 0){printf("ライブラリ初期化失敗\n");return 1;} s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if(s == INVALID_SOCKET) ErrorProccess(0, "socket()"); memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET ; addr.sin_addr.s_addr = htonl(INADDR_ANY); // 全てのインターフェイスを許可 addr.sin_port = htons(PORT_NO); ret = bind(s, (struct sockaddr *)&addr, sizeof(addr)); if(ret == SOCKET_ERROR) ErrorProccess(s, "bind()"); ret = listen(s, SOMAXCONN); if(ret == SOCKET_ERROR) ErrorProccess(s, "listen()"); ret = sizeof(addrc); sc = accept(s, (struct sockaddr *) & addrc, &ret); if(sc == INVALID_SOCKET) ErrorProccess(s, "accept()"); closesocket(s); printf("Cliant Address : %s\n", inet_ntoa(addrc.sin_addr)); printf("Cliant Port : %hu\n\n", ntohs(addrc.sin_port)); ret = send(sc, hello, (int)strlen(hello), 0); if(ret == SOCKET_ERROR) ErrorProccess(sc, "send()");
- 20 名前:WindowsのTCPサーバ基本2/4 mailto:sage [2005/09/29(木) 22:37:56 ID:LE7U2HkX]
- do{
ret = recv(sc, msg, MSG_SIZE, 0); if(ret == SOCKET_ERROR) ErrorProccess(sc, "recv()"); msg[ret] = '\0'; printf("受信 : %s\n", msg); ret = send(sc, msg, (int)strlen(msg), 0); if(ret == SOCKET_ERROR) ErrorProccess(sc, "send()"); printf("送信 : %s\n", msg); }while(strcmp(msg, "bye")); closesocket(sc); WSACleanup();//ソケットライブラリの終了処理 return 0; }
- 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
|

|