トップページ⇒tech
374コメント94KB

ネトゲ開発なら俺に聞け!

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/06/17(水) 11:38:51
P2PからMMOまで。
0002デフォルトの名無しさん2009/06/17(水) 12:10:19
2 + 3 は?
0003デフォルトの名無しさん2009/06/17(水) 12:11:35
MMOを作りたいのですが何から始めたらいいですか?
0004デフォルトの名無しさん2009/06/17(水) 12:19:23
>>3
スキルがあるなら鯖の準備
スキルがないなら勉強
0005デフォルトの名無しさん2009/06/17(水) 12:33:49
>>4
1から流れを教えてください
0006デフォルトの名無しさん2009/06/17(水) 12:46:33
>>5
<クライアント用アプリを開発する>
1.ゲームの仕様策定
2.通信で送信/受信するデータを決める
3.決めたデータに応じてプロトコルを策定する
4.ゲームのコア部分(描画、ゲームパッド等のオフラインゲームでの必要な部分)を別々のスレッドに分けてコーディング
5.完成


<鯖用アプリを開発する>1.クライアント開発の段階で決めたプロトコルを実装
2.1ユーザー1スレッドを持つようにし、コネクションは常に維持(接続される度にスレッド生成)
3.完成
0007デフォルトの名無しさん2009/06/17(水) 12:54:28
わかりました
ではクライアントアプレ1版目からやっていきたいのでよろしくです
000862009/06/17(水) 18:18:23
修正

<クライアント用アプリを開発する>
1.ゲームの仕様策定
2.通信で送信/受信するデータを決める
3.決めたデータに応じてプロトコルを策定する
4.ゲームのコア部分(描画、ゲームパッド等のオフラインゲームでの必要な部分)と
 ネットワーク部分を別々のスレッドに分けてコーディング
5.ゲームコアの部分から、必要なデータを送出する部分、
 ネットワーク部分から、受け取ったデータをローカルのゲームに反映する部分を作る
6.完成

<鯖用アプリを開発する>1.クライアント開発の段階で決めたプロトコルを実装
1.メインでユーザーからの接続を受け付けるソケットを作成
2.ユーザーから接続を受けると、スレッドを作ってそのソケットはそのスレッドに処理させる
 ・コネクションはゲームが終わるまで切断しないようにする
 ・ユーザーの人数分スレッドが立ち上がることになる)
3.干渉し合う部分の処理を作成
 ・1つしか落ちていないアイテムを複数のユーザーがほぼ同時に拾おうとした時
 ・歩いているユーザー同士がぶつかった時、など
4.完成
0009デフォルトの名無しさん2009/06/17(水) 19:42:28
送受信するデータどういうの?
0010デフォルトの名無しさん2009/06/17(水) 19:57:20
>>9
<受信>
他プレイヤーの位置や動作(攻撃/やられた/走る、等)
他プレイヤーのステータス
他プレイヤーの見た目(アイテム装備等で見た目が変わる場合)
他プレイヤーからのメッセージ(チャット機能がある場合)
イベント情報

<送信>
自分の位置や動作(攻撃/やられた/走る、等)
自分のステータス(必要ならば)
自分の見た目(アイテム装備等で見た目が変わる場合)
自分からのメッセージ(チャット機能がある場合)
イベント情報
0011デフォルトの名無しさん2009/06/17(水) 22:11:22
パンピーにMMOなんか作れるわけねーだろ
0012デフォルトの名無しさん2009/06/17(水) 23:17:22
板違い
なんでこんなアホに限ってスレたてたがるんだ
0013デフォルトの名無しさん2009/06/17(水) 23:32:22
>>1
御託はいいから動作するプログラムの一つでもアップしてから語れよ
0014デフォルトの名無しさん2009/06/18(木) 11:26:45
>>1
ソースとサバ用意しろ
0015デフォルトの名無しさん2009/06/18(木) 13:29:52
>>14
つ味噌
つ鯖
0016デフォルトの名無しさん2009/06/18(木) 16:03:05
はやくしろよ!
0017デフォルトの名無しさん2009/06/18(木) 18:11:27
おなべぐつぐつ
0018デフォルトの名無しさん2009/06/18(木) 21:27:46
オンライン対戦オセロでボイスチャットみたいな機能付けたいんだけど、
オセロのデータをやりとりするソケットでやっても大丈夫?
0019デフォルトの名無しさん2009/06/18(木) 21:34:39
ソケットでデータを扱うなんて素人杉
0020デフォルトの名無しさん2009/06/18(木) 22:37:09
>>18
音声通信はUDPだ
専用のポートもう一つ開けろ
0021デフォルトの名無しさん2009/06/19(金) 10:30:02
別にUDPじゃなくても良いだろう
0022デフォルトの名無しさん2009/06/19(金) 19:27:53
UDPのほうが良い。
ロスプラとかもそんな感じでポート開けまくってた気がする。
音声や動画はUDPに限る。

それに音声通信を分けたほうが、設計的にも楽。
音声通信の部分だけスレッド独立させて管理なんかもできるし。
0023デフォルトの名無しさん2009/06/20(土) 08:26:46
>>22
DirectPlayとかその辺りよしなにやってくれるんじゃないの?
0024デフォルトの名無しさん2009/06/20(土) 09:05:32
directplayでネトゲ作る香具師は…
0025デフォルトの名無しさん2009/06/20(土) 17:10:04
UDP(笑)
今はdirectXで十分
0026デフォルトの名無しさん2009/06/20(土) 17:36:18
UDPってルーター超えられるの?
0027デフォルトの名無しさん2009/06/20(土) 22:19:23
>>26
開けてあげれば普通に超えられるよ。

お互いの顔を見ながら音声もありで対戦とかできたら面白いだろうな。
サバゲー系で。
真面目にゲームの世界観にどっぷり浸かってやる奴、
ヘラヘラ笑いながらやってる奴、
必死の形相で次第に無口になる奴、
撃つときに毎回「氏ね!」という奴、
段々画面に顔が近づいてくる奴、
安全そうな場所にかくれてリアルで便所に行く奴、
やられそうなのにラーメン食いながらやってる奴・・・
0028デフォルトの名無しさん2009/06/20(土) 23:24:23
>>27
UDPを使ってるネトゲはハドソンが得意としている
働いてたからね、ここで
0029デフォルトの名無しさん2009/06/21(日) 01:26:00
>>27
日本だとよほど親しい間柄じゃないと無理っぽいな
0030デフォルトの名無しさん2009/06/21(日) 13:04:27
マニュアルに書いとけば必要ならみんなあけるよ
UPnPでソフトであけてもいいし
0031デフォルトの名無しさん2009/06/21(日) 20:08:35
>>29
SNSでも自分の顔さらしてる香具師結構いるし、
意外とみんなやるんじゃね?
それこそ顔が割れてると2chみたいに相手を罵りまくりまくりにくいから、
そういうのも減るだろうし、
そうやって精神衛生的に良い環境でゲームしたい人に支持されそう。
0032デフォルトの名無しさん2009/06/21(日) 20:45:06
対戦ゲーやってる時に相手の顔見てる余裕なんかあるか?画面狭くなって邪魔じゃね?
0033デフォルトの名無しさん2009/06/21(日) 20:56:21
精神衛生の良い環境で殺し合いゲームするのかw
0034デフォルトの名無しさん2009/06/21(日) 21:05:47
>>32
例えば画面が640x360だったら、1人あたり64x36くらいで。
そうすれば1人あたりの動画は画面の1/100しか使わない。
上下にずらっと出せば20人くらい表示できる。

64x36って言うと小さい気ががするが、
アイコンが32x32なのを考えると意外と人相とか分かると思う。
0035デフォルトの名無しさん2009/06/21(日) 21:48:14
普通ネトゲって画像のやりとりしなくないか?
そうだとすると、帯域がやばくなるんじゃない?
0036デフォルトの名無しさん2009/06/21(日) 22:56:43
ネトゲで通信するのは数字じゃねえのか?
画像なんてあらかじめクライアントに落とすもんだろ
0037デフォルトの名無しさん2009/06/22(月) 00:25:50
>>36
うん、だから顔とか送信すると、普通のネトゲに比べて帯域やばいね、って言いたかったんだが…
0038デフォルトの名無しさん2009/06/22(月) 00:42:43
ム板よりもゲ製っぽい話題だな
どっちでもイイが
0039デフォルトの名無しさん2009/06/22(月) 00:43:15
街を走っていると、すれ違うかわいい女キャラの上にリアル顔画像が
出るのですね。私怖くて町が歩けそうにもありません><
0040デフォルトの名無しさん2009/06/22(月) 01:04:31
帯域はなんとかなるだろ。

上で20個動画を表示するとか言ってるが、
一つの動画を128kbpsだとしても
128×20=2560kbps
にしかならん。

ゲームに512kbpsくらい使うとしても3072kbpsにしかならん。

AVでもこのくらいの時代なんだから3000kbpsくらいなんとかなるだろ。
ttp://www.1pondo.tv/listpages/67_1.htm
0041デフォルトの名無しさん2009/06/22(月) 01:06:43
>>39
リア美女チームvsリアブスチームのサバゲーとか見たいよな。
0042デフォルトの名無しさん2009/06/22(月) 02:12:17
ネットにリアル持ち込むのはどうかと思うよ。
0043デフォルトの名無しさん2009/06/22(月) 22:49:44
作ってよ
0044デフォルトの名無しさん2009/06/23(火) 21:59:57
オンラインのSPFっぽいゲームって、一時的に通信の遅延が発生した場合どうするの?
例えば敵プレイヤーを撃ちまくっても、
上りで遅延が発生してたらそのデータがなかなか伝わらず、結果としてなかなか死なないんじゃない?
しかもそれで下りの遅延がなかったら、敵プレイヤーは無敵のごとくこっちに撃ちまくってくると。
0045デフォルトの名無しさん2009/06/23(火) 22:04:42
SPF もしかして FPS
0046デフォルトの名無しさん2009/06/23(火) 23:07:06
>>44
その現象は商用でもあるぞ、結果対処無し
0047デフォルトの名無しさん2009/06/24(水) 10:05:07
ポークかと思った
0048デフォルトの名無しさん2009/06/24(水) 10:26:57
>>44
昔、ゲーム雑誌のライターが通信環境を整えるところからがゲームだって言ってたな。
0049デフォルトの名無しさん2009/06/24(水) 10:53:51
通信対戦では一時的に一位の車が3台あったりとかよくあること
0050デフォルトの名無しさん2009/06/24(水) 18:56:50
>>44
ダメージ算出がローカルの物の場合当たったと言う情報がサーバに遅延して届く
ダメージ算出がサーバ側の場合見かけ上当たっていても得点されない形で処理される

どちらがいいとは一概にいえないのだが前者はチートに弱いとかラグ付きプレイヤーが忌避される原因になる
後者の場合は通信環境がよろしくないユーザにクソゲー扱いされる
0051デフォルトの名無しさん2009/06/24(水) 22:53:58
おまえらFEZプレイしてから物言ってんの?
0052デフォルトの名無しさん2009/06/25(木) 16:07:14
>>51
やってるお。
0053デフォルトの名無しさん2009/06/26(金) 20:04:42
>>51
どこをどう見るかで意味が全く異なるのだけど

いろんなエンジンのごった煮なんだってのは知ってるんだよね?
0054デフォルトの名無しさん2009/06/26(金) 21:40:52
もしかしてエンジンだけ作ってる会社があって、
そこからエンジンは買ってきてるのかな?
0055デフォルトの名無しさん2009/06/27(土) 08:53:42
オープンソースのMMO用エンジンでも作るか
0056デフォルトの名無しさん2009/06/28(日) 12:35:25
一定時間以上遅延があったら、もうそいつは切断してしまって良いんじゃないの??
005755 ◆zFdmNgagRM 2009/06/28(日) 13:11:06
メモ

struct HOSTDATA{
char servername[1024];
int timeout;
char connectquery[1024];
};

class MMO{
private:
struct HOSTDATA hDat;
public:
BOOL ConnectServer( struct HOSTDATA* );
BOOL SendData( struct SENDDATA* );
BOOL GetData( struct GETDATA* );
BOOL DisconnectServer();
};


0058デフォルトの名無しさん2009/06/28(日) 13:38:45
>>57
出来上がってから書き込めよくず
005955 ◆zFdmNgagRM 2009/06/28(日) 14:16:43
うはwwwwww
何一つ生産的な書き込みのできないくずにくずって言われたwwwwwwwww
ちょwww マジでウケるんだけどwwwwwww

メモ


struct HOSTDATA{
char servername[1024];
int timeout;
char connectquery[1024];
char uid[128];
char pass[128];
};

class MMO{
private:
struct HOSTDATA hDat;
public:
BOOL ConnectServer( struct HOSTDATA* );
BOOL SendData( struct SENDDATA* );
BOOL GetData( struct GETDATA* );
BOOL DisconnectServer();
};
0060デフォルトの名無しさん2009/06/28(日) 14:31:06
テキストファイルをうp→それのリンクを貼る。
0061デフォルトの名無しさん2009/06/28(日) 15:37:36
そんな糞にもならないコードを書いて誰が得するの?
006255 ◆zFdmNgagRM 2009/06/28(日) 16:30:07
クライアント側はこんな感じだな。
ttp://www15.atwiki.jp/mmommo/?plugin=ref&serial=1
0063デフォルトの名無しさん2009/06/28(日) 16:54:16
サーバはwwwでやるのか。SOAPあたりで?
0064デフォルトの名無しさん2009/06/28(日) 16:56:41
ブログでやれよ
006555 ◆zFdmNgagRM 2009/06/28(日) 17:02:09
>>63
ごめん。
プロトコル作る。

サーバーサイドのライブラリはソケット作って待ち受けるスレッド立ち上げて、
クライアントから接続が来たら認証して、
認証通過したらコネクションを張る、予定。
0066デフォルトの名無しさん2009/06/28(日) 17:10:13
えー普通すぎてつまんないHTTPでやれよ
SOAPがきらいならXML-RPCでいいよ
006755 ◆zFdmNgagRM 2009/06/28(日) 17:46:11
>>66
HTTPでMMOやるの?
HTTPでやるとリクエストヘッダにレスボンスヘッダにと無駄にサイズ使いそうな気がするが…。

どういうの想定してるんだ?
『Apacheで動くCGIによるMMOツール!』な感じなのか、
それともHTTプロトコル自前で実装なのか。

つーか、俺は普通のを作ろうとしてるんだよ、んでもってオープンソース。
まぁ、アマチュアゲーム開発者へのオンラインゲーム開発の間口を広げるのが目的だから、
HTTPでも構わないんだけど。
0068デフォルトの名無しさん2009/06/28(日) 18:13:12
>>67
>>62でwwwって書いてるからてっきりHTTPかと
006955 ◆zFdmNgagRM 2009/06/28(日) 20:24:19
うるせーなお前ら。
俺が誤解を招く書き方したからってそんなにつっつかなくてもいいだろ。

ほれ、修正版だ。
ttp://www15.atwiki.jp/mmommo/pages/14.html
0070デフォルトの名無しさん2009/06/28(日) 21:25:48
>>69
中身空っぽなのは君の脳と等価と言うことか?
007155 ◆zFdmNgagRM 2009/06/28(日) 21:43:48
>>70
中身空っぽの香具師が見ると空っぽに見えるんだよ。
わざわざ自分がからっぽだと申告しにきたのか、可哀想に。
空っぽの親に友人ばかりだと自分が空っぽだと気付かないんだろうな、可哀想にwwwwww
0072デフォルトの名無しさん2009/06/28(日) 21:48:27
かまってちゃんはVIPに行けよ
0073デフォルトの名無しさん2009/06/28(日) 22:39:33
糞スレ上げんな
0074デフォルトの名無しさん2009/06/29(月) 00:08:13
自作自演のかまってちゃんとか古典もいいところだな。
007555 ◆zFdmNgagRM 2009/06/29(月) 00:52:01
喜べ愚民共。
開発コードが「uLtiMaTe」に決まったぞ。

>>72-74は俺の自演。
0076デフォルトの名無しさん2009/06/29(月) 06:21:51
嘘をつくとか最悪だな
0077デフォルトの名無しさん2009/06/29(月) 22:32:58
この手のキャラは必ずと言っていいほどスキルが低いのはなぜなんだ
0078デフォルトの名無しさん2009/06/30(火) 00:15:59
バチカンの人と対戦したい。
0079デフォルトの名無しさん2009/06/30(火) 00:21:29
バチカンってネットあるの?
あすこはメッカしかないんじゃないの?
0080デフォルトの名無しさん2009/06/30(火) 01:42:22
バカチン
0081デフォルトの名無しさん2009/06/30(火) 01:47:24
バチカンに見えた。今日はもう寝よう
0082デフォルトの名無しさん2009/06/30(火) 09:42:16
バチカン国内には一般住民はいません。殆どの一般職員がローマ市内から通勤しています。
つまり、「バチカンの人」は全て司祭、修道女のような聖職者です。
0083デフォルトの名無しさん2009/06/30(火) 09:58:11
>>75
名前覚えにくいよ
0084デフォルトの名無しさん2009/06/30(火) 10:52:37
>>83
本人は満足してるんだよ
0085デフォルトの名無しさん2009/06/30(火) 14:25:29
>>82
修道女かどうかは問題じゃねぇんだよ。
その修道女がオンラインでFPS対戦をやるかどうかが問題なんだ。
0086デフォルトの名無しさん2009/06/30(火) 14:57:02
司祭がやるわけないだろ。JK
0087デフォルトの名無しさん2009/06/30(火) 15:05:53
コテどこいっちゃったの?
0088デフォルトの名無しさん2009/06/30(火) 16:24:32
司祭がやるわけないだろ。女子高生
0089デフォルトの名無しさん2009/06/30(火) 16:52:53
wikiまで作ったのにね。
0090デフォルトの名無しさん2009/07/01(水) 19:40:08
神は死んだ
0091デフォルトの名無しさん2009/07/01(水) 20:01:21
              ,..r'/r`ー--、_
            r':::::il!i:ヾ::::::::::::::::::::ヽ-、
              !::;:-`゛` `!::::::ミ::::::::::::::ヽ
            r'      ミ:ヾ:::::::::::::::::::::::i
           l::      ミ::::::::ヾミ::ヾ::::::::!
          ム..::::::::... .  ヾ:r,r-、:::::::ヾ:::!
          ,.r.l::7:ヽ' 'ヾ゛    ' ヽ.lミ:::::::::l
          l: ツ  ヽ       ' ´ノ lir::::::l
         l ゝ ‐ ヽ       ´  ''_./´ヾ、
         ,!i'::::::::::::ヽ、       .r ./:::::::::/::::`:-.、
        ./ l:::::::::::;;;;::r'     r'´ .r':::::::::r'::;:':::::::::::::::`:::
     r:'r;/  "::'"l::...__,.::',.r'´ ,.i':::::::::;r':::::::::::::::::::::::::::::
    /l:' ヽ   .::i!    ,.i'´  ..r'i:::::::::::/::::::::::::::::::::::::::::::::
   /::::ヽ..二-::::'::l.     /::::::`:´:::/:::::_;::/::;'::r'::::::::::::::::::::::::::
  ./::::::::::::::::::::::::::l  _i':´::::::::::::::::/r'´、:::::::;:::::!:::::::::::::::::::::::::::
  /::::::::::::::::::::::::::;:'--':::::::::::::::::::::::/::::::::::::` -;:::i::::::::::::::::::::::::::::
          ニート( 1844 〜 1900 )
0092デフォルトの名無しさん2009/07/05(日) 15:30:20
終わりか?
けっこう楽しみにしてたんだが
0093デフォルトの名無しさん2009/07/07(火) 14:30:52
iアプリのMMORPG作りたいのですが、可能ですか?
0094デフォルトの名無しさん2009/07/07(火) 21:08:21
可能です
0095デフォルトの名無しさん2009/07/07(火) 23:01:34
IあぷりってJAVAなの
0096デフォルトの名無しさん2009/07/08(水) 10:38:53
そうです
0097デフォルトの名無しさん2009/07/20(月) 12:17:16
続きはまだですか
0098デフォルトの名無しさん2009/07/20(月) 12:18:50
エロゲー作るより実戦が忙しいので
0099デフォルトの名無しさん2009/07/20(月) 12:36:19
がんがれ童貞
0100デフォルトの名無しさん2009/07/23(木) 20:26:10
童貞は昨日卒業しました
素人童貞と呼んでください
0101デフォルトの名無しさん2009/07/23(木) 20:30:55
ome
■ このスレッドは過去ログ倉庫に格納されています