1read 100read
2012年6月プログラム514: ネトゲ開発なら俺に聞け! (374) TOP カテ一覧 スレ一覧 2ch元 削除依頼
「OS自作入門」 (313)
【Lisp】プログラミング言語 Clojure #2【JVM】 (482)
C++/TemplateMetaProgramming (466)
Rubyについて Part47 (697)
【JMF】Java Media APIs【JOGL】 (274)
だめです! HSP厨は絶対に犯罪です。 (943)

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


1 :09/06/17 〜 最終レス :12/01/09
P2PからMMOまで。

2 :
2 + 3 は?

3 :
MMOを作りたいのですが何から始めたらいいですか?

4 :
>>3
スキルがあるなら鯖の準備
スキルがないなら勉強

5 :
>>4
1から流れを教えてください

6 :
>>5
<クライアント用アプリを開発する>
1.ゲームの仕様策定
2.通信で送信/受信するデータを決める
3.決めたデータに応じてプロトコルを策定する
4.ゲームのコア部分(描画、ゲームパッド等のオフラインゲームでの必要な部分)を別々のスレッドに分けてコーディング
5.完成
<鯖用アプリを開発する>1.クライアント開発の段階で決めたプロトコルを実装
2.1ユーザー1スレッドを持つようにし、コネクションは常に維持(接続される度にスレッド生成)
3.完成

7 :
わかりました
ではクライアントアプレ1版目からやっていきたいのでよろしくです

8 :
修正
<クライアント用アプリを開発する>
1.ゲームの仕様策定
2.通信で送信/受信するデータを決める
3.決めたデータに応じてプロトコルを策定する
4.ゲームのコア部分(描画、ゲームパッド等のオフラインゲームでの必要な部分)と
 ネットワーク部分を別々のスレッドに分けてコーディング
5.ゲームコアの部分から、必要なデータを送出する部分、
 ネットワーク部分から、受け取ったデータをローカルのゲームに反映する部分を作る
6.完成
<鯖用アプリを開発する>1.クライアント開発の段階で決めたプロトコルを実装
1.メインでユーザーからの接続を受け付けるソケットを作成
2.ユーザーから接続を受けると、スレッドを作ってそのソケットはそのスレッドに処理させる
 ・コネクションはゲームが終わるまで切断しないようにする
 ・ユーザーの人数分スレッドが立ち上がることになる)
3.干渉し合う部分の処理を作成
 ・1つしか落ちていないアイテムを複数のユーザーがほぼ同時に拾おうとした時
 ・歩いているユーザー同士がぶつかった時、など
4.完成

9 :
送受信するデータどういうの?

10 :
>>9
<受信>
他プレイヤーの位置や動作(攻撃/やられた/走る、等)
他プレイヤーのステータス
他プレイヤーの見た目(アイテム装備等で見た目が変わる場合)
他プレイヤーからのメッセージ(チャット機能がある場合)
イベント情報
<送信>
自分の位置や動作(攻撃/やられた/走る、等)
自分のステータス(必要ならば)
自分の見た目(アイテム装備等で見た目が変わる場合)
自分からのメッセージ(チャット機能がある場合)
イベント情報

11 :
パンピーにMMOなんか作れるわけねーだろ

12 :
板違い
なんでこんなアホに限ってスレたてたがるんだ

13 :
>>1
御託はいいから動作するプログラムの一つでもアップしてから語れよ

14 :
>>1
ソースとサバ用意しろ

15 :
>>14
つ味噌
つ鯖

16 :
はやくしろよ!

17 :
おなべぐつぐつ

18 :
オンライン対戦オセロでボイスチャットみたいな機能付けたいんだけど、
オセロのデータをやりとりするソケットでやっても大丈夫?

19 :
ソケットでデータを扱うなんて素人杉

20 :
>>18
音声通信はUDPだ
専用のポートもう一つ開けろ

21 :
別にUDPじゃなくても良いだろう

22 :
UDPのほうが良い。
ロスプラとかもそんな感じでポート開けまくってた気がする。
音声や動画はUDPに限る。
それに音声通信を分けたほうが、設計的にも楽。
音声通信の部分だけスレッド独立させて管理なんかもできるし。

23 :
>>22
DirectPlayとかその辺りよしなにやってくれるんじゃないの?

24 :
directplayでネトゲ作る香具師は…

25 :
UDP(笑)
今はdirectXで十分

26 :
UDPってルーター超えられるの?

27 :
>>26
開けてあげれば普通に超えられるよ。
お互いの顔を見ながら音声もありで対戦とかできたら面白いだろうな。
サバゲー系で。
真面目にゲームの世界観にどっぷり浸かってやる奴、
ヘラヘラ笑いながらやってる奴、
必死の形相で次第に無口になる奴、
撃つときに毎回「!」という奴、
段々画面に顔が近づいてくる奴、
安全そうな場所にかくれてリアルで便所に行く奴、
やられそうなのにラーメン食いながらやってる奴・・・

28 :
>>27
UDPを使ってるネトゲはハドソンが得意としている
働いてたからね、ここで

29 :
>>27
日本だとよほど親しい間柄じゃないと無理っぽいな

30 :
マニュアルに書いとけば必要ならみんなあけるよ
UPnPでソフトであけてもいいし

31 :
>>29
SNSでも自分の顔さらしてる香具師結構いるし、
意外とみんなやるんじゃね?
それこそ顔が割れてると2chみたいに相手を罵りまくりまくりにくいから、
そういうのも減るだろうし、
そうやって精神衛生的に良い環境でゲームしたい人に支持されそう。

32 :
対戦ゲーやってる時に相手の顔見てる余裕なんかあるか?画面狭くなって邪魔じゃね?

33 :
精神衛生の良い環境で殺し合いゲームするのかw

34 :
>>32
例えば画面が640x360だったら、1人あたり64x36くらいで。
そうすれば1人あたりの動画は画面の1/100しか使わない。
上下にずらっと出せば20人くらい表示できる。
64x36って言うと小さい気ががするが、
アイコンが32x32なのを考えると意外と人相とか分かると思う。

35 :
普通ネトゲって画像のやりとりしなくないか?
そうだとすると、帯域がやばくなるんじゃない?

36 :
ネトゲで通信するのは数字じゃねえのか?
画像なんてあらかじめクライアントに落とすもんだろ

37 :
>>36
うん、だから顔とか送信すると、普通のネトゲに比べて帯域やばいね、って言いたかったんだが…

38 :
ム板よりもゲ製っぽい話題だな
どっちでもイイが

39 :
街を走っていると、すれ違うかわいい女キャラの上にリアル顔画像が
出るのですね。私怖くて町が歩けそうにもありません><

40 :
帯域はなんとかなるだろ。
上で20個動画を表示するとか言ってるが、
一つの動画を128kbpsだとしても
128×20=2560kbps
にしかならん。
ゲームに512kbpsくらい使うとしても3072kbpsにしかならん。
AVでもこのくらいの時代なんだから3000kbpsくらいなんとかなるだろ。
ttp://www.1pondo.tv/listpages/67_1.htm

41 :
>>39
リア美女チームvsリアブスチームのサバゲーとか見たいよな。

42 :
ネットにリアル持ち込むのはどうかと思うよ。

43 :
作ってよ

44 :
オンラインのSPFっぽいゲームって、一時的に通信の遅延が発生した場合どうするの?
例えば敵プレイヤーを撃ちまくっても、
上りで遅延が発生してたらそのデータがなかなか伝わらず、結果としてなかなか死なないんじゃない?
しかもそれで下りの遅延がなかったら、敵プレイヤーは無敵のごとくこっちに撃ちまくってくると。

45 :
SPF もしかして FPS

46 :
>>44
その現象は商用でもあるぞ、結果対処無し

47 :
ポークかと思った

48 :
>>44
昔、ゲーム雑誌のライターが通信環境を整えるところからがゲームだって言ってたな。

49 :
通信対戦では一時的に一位の車が3台あったりとかよくあること

50 :
>>44
ダメージ算出がローカルの物の場合当たったと言う情報がサーバに遅延して届く
ダメージ算出がサーバ側の場合見かけ上当たっていても得点されない形で処理される
どちらがいいとは一概にいえないのだが前者はチートに弱いとかラグ付きプレイヤーが忌避される原因になる
後者の場合は通信環境がよろしくないユーザにクソゲー扱いされる

51 :
おまえらFEZプレイしてから物言ってんの?

52 :
>>51
やってるお。

53 :
>>51
どこをどう見るかで意味が全く異なるのだけど
いろんなエンジンのごった煮なんだってのは知ってるんだよね?

54 :
もしかしてエンジンだけ作ってる会社があって、
そこからエンジンは買ってきてるのかな?

55 :
オープンソースのMMO用エンジンでも作るか

56 :
一定時間以上遅延があったら、もうそいつは切断してしまって良いんじゃないの??

57 :
メモ
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();
};

58 :
>>57
出来上がってから書き込めよくず

59 :
うは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();
};

60 :
テキストファイルをうp→それのリンクを貼る。

61 :
そんな糞にもならないコードを書いて誰が得するの?

62 :
クライアント側はこんな感じだな。
ttp://www15.atwiki.jp/mmommo/?plugin=ref&serial=1

63 :
サーバはwwwでやるのか。SOAPあたりで?

64 :
ブログでやれよ

65 :
>>63
ごめん。
プロトコル作る。
サーバーサイドのライブラリはソケット作って待ち受けるスレッド立ち上げて、
クライアントから接続が来たら認証して、
認証通過したらコネクションを張る、予定。

66 :
えー普通すぎてつまんないHTTPでやれよ
SOAPがきらいならXML-RPCでいいよ

67 :
>>66
HTTPでMMOやるの?
HTTPでやるとリクエストヘッダにレスボンスヘッダにと無駄にサイズ使いそうな気がするが…。
どういうの想定してるんだ?
『Apacheで動くCGIによるMMOツール!』な感じなのか、
それともHTTプロトコル自前で実装なのか。
つーか、俺は普通のを作ろうとしてるんだよ、んでもってオープンソース。
まぁ、アマチュアゲーム開発者へのオンラインゲーム開発の間口を広げるのが目的だから、
HTTPでも構わないんだけど。

68 :
>>67
>>62でwwwって書いてるからてっきりHTTPかと

69 :
うるせーなお前ら。
俺が誤解を招く書き方したからってそんなにつっつかなくてもいいだろ。
ほれ、修正版だ。
ttp://www15.atwiki.jp/mmommo/pages/14.html

70 :
>>69
中身空っぽなのは君の脳と等価と言うことか?

71 :
>>70
中身空っぽの香具師が見ると空っぽに見えるんだよ。
わざわざ自分がからっぽだと申告しにきたのか、可哀想に。
空っぽの親に友人ばかりだと自分が空っぽだと気付かないんだろうな、可哀想にwwwwww

72 :
かまってちゃんはVIPに行けよ

73 :
糞スレ上げんな

74 :
自作自演のかまってちゃんとか古典もいいところだな。

75 :
喜べ愚民共。
開発コードが「uLtiMaTe」に決まったぞ。
>>72-74は俺の自演。

76 :
嘘をつくとか最悪だな

77 :
この手のキャラは必ずと言っていいほどスキルが低いのはなぜなんだ

78 :
バチカンの人と対戦したい。

79 :
バチカンってネットあるの?
あすこはメッカしかないんじゃないの?

80 :
バカチン

81 :
バチカンに見えた。今日はもう寝よう

82 :
バチカン国内には一般住民はいません。殆どの一般職員がローマ市内から通勤しています。
つまり、「バチカンの人」は全て司祭、修道女のような聖職者です。

83 :
>>75
名前覚えにくいよ

84 :
>>83
本人は満足してるんだよ

85 :
>>82
修道女かどうかは問題じゃねぇんだよ。
その修道女がオンラインでFPS対戦をやるかどうかが問題なんだ。

86 :
司祭がやるわけないだろ。JK

87 :
コテどこいっちゃったの?

88 :
司祭がやるわけないだろ。女子高生

89 :
wikiまで作ったのにね。

90 :
神は死んだ

91 :
              ,..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 )

92 :
終わりか?
けっこう楽しみにしてたんだが

93 :
iアプリのMMORPG作りたいのですが、可能ですか?

94 :
可能です

95 :
IあぷりってJAなの

96 :
そうです

97 :
続きはまだですか

98 :
エロゲー作るより実戦が忙しいので

99 :
がんがれ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
C++でXML(主にxerces)やろう! (673)
強いAI(人工知能)ver0.0.1 (889)
プログラミングの為の数学と算数 vol.3 (882)
Pythonのお勉強 Part46 (928)
ポインタを難しいと言う奴が理解できない (850)
コンピュータプログラミングの概念・技法・モデル (261)
--log9.info------------------
【シムーン】amate-raxi アマテラグジ【跡地】 (458)
@@@@@@@DJ TSUYOSHI@@@@@@@@@ (886)
!!!!!!!!!!クラブ GRASS ROOTS!!!!!!!!!!!! (779)
福岡のハウス1DJって誰よ?VOL3 (917)
【大阪】studio candy【東心斎橋】 (468)
★男28歳、DJ始めました。 (248)
 clubで見かけた、カッコイイ人・面白い人  (674)
ビキニナイト!!!!! (250)
Jazzyなハウス (277)
石原都知事が本気で都内のクラブを潰してくみたい 1 (846)
クラブで働いてる、働いてた人いる? (206)
最強タイムテーブルをつくれ!(野外パーティー編) (225)
■■VUENOS TOKYO■■ (378)
。。MITTY。。 (667)
高音質なクラブはどこだ? (484)
なんで日本のDJは自作曲なしでDJやるの? (421)
--log55.com------------------
1年だけチームメイトだったこの2人
シピン
昭和と平成のプロ野球のレベル差を検証する 伍
先発ローテーションの4〜5人目くらいに出てくる印象のあるピッチャー
昭和の野球選手って老け顔の選手が多かったよね
なぜV9以降もパリーグは不人気だったのか
ガチで闇が深い野球界の出来事や人物2
一軍での好成績が3年位しか持たなかった選手