MMORPG

■ このスレッドは過去ログ倉庫に格納されています
1-Я-
垢版 |
2005/09/24(土) 16:41:08ID:SuwAeEoS
ネットワークRPGを作れるようなソフトってありますか?
2005/09/24(土) 17:10:56ID:UGCNNHQm
VS
2005/09/24(土) 17:40:26ID:xEgDYVdH
あるのか?
知らんけど
2005/09/24(土) 19:21:07ID:tFIprWQK
MHPみたいな名前のが無かったっけか?
2005/09/24(土) 22:15:19ID:J5oxGrnT
>>4
ない
2005/09/24(土) 22:19:13ID:tFIprWQK
PHIだったw
2005/09/24(土) 22:56:27ID:J2roar/D
>>1
■ネットワークRPGメーカー2000
■発売元:アスキー
■価格:9800円
■問い合わせ先:アスキー
  TEL 03-5351-8728
■動作環境:Windows 95/98/2000,MMX Pentium/200MHz以上(推奨PentiumII/300MHz以上),メモリ64MB以上(推奨128MB以上),空きHDD容量50MB以上



                       糸冬         了

2005/09/24(土) 22:57:29ID:J2roar/D
リンク貼り忘れ
http://www.4gamer.net/review/live/nrpg.html



                       糸冬         了



2005/09/24(土) 23:27:37ID:UGCNNHQm
>>7
それ、発売も中止のようだし、サーバーも動いてないような、HP調べたが
過去の製品リストからも排除されているようで、出てこなかった〜〜よ。w
2005/09/27(火) 22:22:38ID:fJ8kPMi+o
MMOはやっぱりサーバーを先に作った方がいいのかな?
2005/09/27(火) 22:46:38ID:/b0+bht7
1.ゲーム企画
2.素材を用意(ドット・音楽など)
3.各種サーバー
4.クライアント

この手順が良いと思いますよ〜
2005/09/27(火) 23:20:12ID:yn+0L+IC
素材を用意する前に、
クライアントのグラフィックスエンジンが動いている必要がある。
仮素材を用意するのなら、その手順でも構わないが…
1310
垢版 |
2005/09/27(火) 23:47:59ID:SkI+GD38
どうも
難しそうだな〜
頑張ってみる
1410
垢版 |
2005/09/28(水) 16:27:20ID:9jNPEdSe
とりあえず、チャットから作った方がいいかな
2005/09/29(木) 03:06:45ID:ToR8zilx
チャットが出来なきゃ話にならんですたい
1610
垢版 |
2005/09/29(木) 17:46:52ID:gkIkra0I
>>15
そりゃそうだよなw
DOSプログラムとWINプログラムってどっちがサーバーにむいている?
個人的にはDOSの方がいいかなって思ってるんだけど
17名前は開発中のものです。
垢版 |
2005/09/29(木) 19:55:53ID:CAD+EvmP
LinuXで
2005/09/29(木) 22:35:37ID: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 ;//返値
2005/09/29(木) 22:36:55ID: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()");
2005/09/29(木) 22:37:56ID: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;
}
2005/09/29(木) 22:38:30ID: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);
}
2005/09/29(木) 22:40:07ID:LE7U2HkX
UDPの基本は、暇があったらうpローダでうpする
23名前は開発中のものです。
垢版 |
2005/09/30(金) 18:05:54ID:SLqzHEJo
Windows? UDP?
藻舞ら、いつの時代の人間じゃ?

Linuxを使え
2005/09/30(金) 18:51:13ID:6eJVvR2p
>>22
ありがと
助かるよ

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

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

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

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

反論をたのむ
26名前は開発中のものです。
垢版 |
2005/10/01(土) 14:16:34ID:GUmXustT
最初につくるのは送受信用に定義した特別な構造体をシリアライズして送受信する通信レイヤだな
ストリーミングすることは未来一切あり得ないからこれでいいんだ。
正直チャットをつくれとかそういうのはどーでもいい。
ちゃんとデータが行き来するのが確かめられれば必要なし。
2005/10/01(土) 16:12:17ID:UQfKbq0R
文字入力ルーチンや文字表示ルーチンが既にあるとか
簡単に作れるなら、チャットの実装も悪くない
動作が見て分かるからね
プログラムを知らない人も説得しやすいし
2005/10/01(土) 19:24:24ID:Y+BAe+9H
>>26,>>27
なるほど
とりあえず送受信ができないとな
fd_setとselect関数を使って作ってみるかな
2005/10/01(土) 22:28:59ID:rWkQ4tzq
チャットが基本だろ
/logout /dice /tellなど特殊なコマンド使いまくれる
2005/10/04(火) 22:17:25ID:MWidbNs2
複数人チャットだと
結構難しいな

2005/10/05(水) 18:44:52ID:81Ajv+Fy
おいおい
このままだと>>10の野郎進まねーぞ!!
オレは無理だが、誰かアドバイスでもサンプルでもいいから教えてやれ!!!
2005/10/06(木) 05:45:55ID:B/FQ+W/o
1VS1のチャットはソケットの同期で簡単なんだけど
1VSnになると非同期が必要になるからね
あと、作成プログラムが2つ必要(サーバ&クライアント)
ってのが、以外にめんどい
2つ揃わないとテスト出来ないってのが敷居を高くしてる
2005/10/06(木) 07:03:35ID:zNNEtLhT
>>32
そうなんだよな
でもこれが作れないとオンラインゲームなんて100%つくれないからな
2005/10/06(木) 07:08:52ID:cRcXPgR2
アドバイスっつってもなぁ・・・
何故>>10がUDPに拘ってるのかがわからんと何とも言いようが無い。
UDPでMMOってのが如何に難しいかってのは、解っていてのことなんだろうか…。
2005/10/06(木) 07:10:26ID:cRcXPgR2
Σ( ゚д゚)
ってお前さんも朝早いな
2005/10/06(木) 16:16:28ID:EoIY9AKc
いや、別にUDPじゃなくてもいいんですよ。
ただ単に高速だからです。
でも、アカウント登録やログイン処理はTCPじゃないとダメだし。
UDPはキャラの座標とか少しくらい消えてもいいような部分にしか使いません。
2005/10/06(木) 16:17:10ID:B/FQ+W/o
UDPってルータ越えが難しいんじゃない?
2005/10/06(木) 17:20:03ID:ZL+hX5KE
TCPに限定して、その分高速化は送受信データの切り詰めで補った方が簡単確実ってこと?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況