MMORPG 作成
■ このスレッドは過去ログ倉庫に格納されています
http://natto.2ch.net/netgame/kako/1001/10012/1001227519.html
MMORPG 作成 II
http://game.2ch.net/test/read.cgi/netgame/1002000791/l50
プロジェクトページ
http://freeweb2.kakiko.com/mmorpg/
0628107 ◆a6JcKaYOUI
2006/01/20(金) 01:39:32ID:ClpI6drqタイムスタンプが 2006年1月18日、1:50:20 のクライアントで漏れもエラーでますた
終了時に
終了するか聞かれたら一度、全角のyを入力してしまい、もう一度、yを入力して終了させようとしたら
38 "外部DLLの呼び出しに失敗しました"
と出ました(ダブルコーテーションの中はHSPのマニュアルを調べました)
以上報告しまつ
こっからは推測ですが、pcbnet2.hpi の tcpclose 命令に渡すソケットハンドルに
すでに開放してしまっているハンドルを渡しているではないでしょうか?
当たっていたら何かくださいwwww
0629107 ◆a6JcKaYOUI
2006/01/21(土) 19:38:01ID:ifrNj1oY・マップ・キャラクタ表示
実装しますた
前のクライアントと通信の互換性はありません
鯖を動かしていますが突如メンテのため切断されるかもしれないです
あと、バージョンチェック入れますた
0630107 ◆a6JcKaYOUI
2006/01/22(日) 16:59:15ID:iN69geTq・壁(当り)判定の実装
・キャラクタ名の表示
鯖を動かしていますが突如メンテのため切断されるかもしれないです
0631639 ◆WKezKkIa.w
2006/01/22(日) 18:40:47ID:LZVKlWRGメモリ以外全部入れ換えするので(汗
ん。。。メモリ買ったらもう一台組めるのか...orz
107さんに進行が抜かれる予感w
0632107 ◆a6JcKaYOUI
2006/01/22(日) 22:01:31ID:iN69geTqゲーム鯖・ログイン鯖がそれぞれ謎のフリーズ
原因が分かんないので置いておきますorz
さて次は何を実装しようか
・ステータス実装
・mob鯖実装
・マップ転送実装
ぐらい?orz
そろそろペース落ち始めますorz
0633639 ◆WKezKkIa.w
2006/01/23(月) 23:45:12ID:WI3EAO1C起こしてしまいますたorz
復旧までしばらくおまちください
0634639 ◆WKezKkIa.w
2006/01/23(月) 23:47:17ID:WI3EAO1C0635107 ◆a6JcKaYOUI
2006/01/24(火) 00:32:35ID:FJJDhXWr今日の作業
・スペースやCTRL+BSでアカウントが作成できたのを修正
・ファイル転送プロトコルの実装作業
以上で作業終了
最近寝不足気味orz
鯖は落ちなければ朝まで動かしておきます。
電気代が怖いorz
0636639
2006/01/25(水) 01:04:01ID:Q9PhXlXK0637名前は開発中のものです。
2006/01/25(水) 01:32:20ID:cnz/Hdhq0638107 ◆a6JcKaYOUI
2006/01/28(土) 01:07:44ID:Y7dkDK0Mクライアントver.は変わっていません
0639107 ◆a6JcKaYOUI
2006/01/28(土) 17:32:40ID:Y7dkDK0M0640107 ◆a6JcKaYOUI
2006/01/28(土) 19:09:33ID:q4jgH+6tルーターの設定ミスってるかもしれないので繋がらなかったら書きこしてください
0641107 ◆a6JcKaYOUI
2006/01/28(土) 23:51:22ID:q4jgH+6tしばらくお待ちください....
0642107 ◆a6JcKaYOUI
2006/01/28(土) 23:59:55ID:q4jgH+6thttp://hp107.hp.infoseek.co.jp/test/107client.zip
・HPの表示
表示"だけ"です
0643107 ◆a6JcKaYOUI
2006/01/29(日) 18:45:55ID:RIL9Uulw・攻撃処理の実装
(暫定仕様)
・今はmobが存在しないのでとりあえずSPACEキーでプレーヤー同士攻撃できますw
・体力が0になるとログアウトします
・エフェクトが出ません
0644107 ◆a6JcKaYOUI
2006/01/29(日) 21:48:01ID:RIL9Uulwhttp://hp107.hp.infoseek.co.jp/mmo/107client.zip
・ダメージエフェクトの実装
0645107 ◆a6JcKaYOUI
2006/01/30(月) 00:14:34ID:D3oe8n2E・ダメージエフェクトがおかしくなっていたのを修正
鯖は朝まで起動しておきますが、現在はPKありなのでほっとくとログアウトしていることがあります
0646名前は開発中のものです。
2006/01/30(月) 00:40:46ID:+kfAGhHMとりあえず頑張ってください。
0647107 ◆a6JcKaYOUI
2006/02/04(土) 00:07:11ID:GtlnxHSyそういう(暫定)仕様です
もう少し練り直しますがとりあえずこのまま
鯖立てました
バージョンは変更なしです
今後の予定、
1.魔法エフェクトの実装
2.mobの実装
3.自動更新の実装
4.アイテムの実装
その他、複数マップ実装、マップ転送、鯖転送などを考えています
世界観は結構適当orz
あ、あと名前募集中です
0648107 ◆a6JcKaYOUI
2006/02/04(土) 17:45:49ID:GtlnxHSyhttp://hp107.hp.infoseek.co.jp/mmo/107client.zip
・エフェクトの機能を一部実装
鯖を変更してとりあえず体力が0になったらMAXにするようにしました
0649107 ◆a6JcKaYOUI
2006/02/05(日) 20:25:33ID:9PpDvz4Khttp://hp107.hp.infoseek.co.jp/mmo/107client.zip
・エフェクト機能を一部(+魔方陣など)実装
・通信ラグ時の描画ミスをたぶん修正
0650107 ◆a6JcKaYOUI
2006/02/11(土) 00:33:04ID:ifCtwfKp実装は他ごと&仕事orzで進まない可能性があります
0651名前は開発中のものです。
2006/02/11(土) 00:56:02ID:lT1jbhP00652101 ◆VhiWHt2b1s
2006/02/11(土) 16:25:32ID:G7oCq9Ov更新内容は
移動処理を少し変更
AWSZキーで移動可能
くらいです
ファイルは以前と同じところからDLしてください
よかったらテストお願いします
0653107 ◆a6JcKaYOUI
2006/02/13(月) 00:21:41ID:IbEoogLXhttp://hp107.hp.infoseek.co.jp/mmo/107client.zip
鯖も立てています(多分今日の朝まで)
モブを移動のみ実装しました
ダメージを与えても体力は減りますが死にませんw
そこまで手が回りませんでしたorz
0654名前は開発中のものです。
2006/02/15(水) 21:57:21ID:WDoxnc9I0655107 ◆a6JcKaYOUI
2006/02/16(木) 01:09:01ID:VGILmtgZttp://f19.aaa.livedoor.jp/~nsan/mygame/2Dmmorpg/
あと、鯖立てています
例によって朝までです
0656654
2006/02/16(木) 08:39:36ID:5Qs8qksp0657107 ◆a6JcKaYOUI
2006/02/18(土) 00:38:54ID:epnylfnE特には変わっていません
0658107 ◆a6JcKaYOUI
2006/02/19(日) 09:30:12ID:M0ffYmv4http://hp107.hp.infoseek.co.jp/mmo/107client.zip
・少し修正
あと多分モブが攻撃してきます
なぜか移動しながら発動したりするかもしれませんがそれは仕様です(嘘)
バグですorz
0659名前は開発中のものです。
2006/02/19(日) 18:28:38ID:BlDkWeAL0660416 ◆quHoSW/FCI
2006/02/20(月) 08:42:26ID:1hUsV3jN某書を読んでリネのなぞりは激しくモチベーションが下がるので、これまた某書を読んで
p2p方式を取り入れたMMOに取り組んでみるつもり。けれども暇がほんとに無いのね。当分
カキコだけになりそうな予感。
0661416 ◆quHoSW/FCI
2006/02/21(火) 13:43:26ID:tW4TebD5するリソースではとても賄い切れなくなるため。つーか、待てど暮らせど光が来ないわけだが。
形態としてはC/Sは崩せないわけだけど、個々のクライアントにもサーバー機能を持たせ、
一極集中型にならないようにしたいと考えたわけですよ。
p2pを取り入れたネットゲームは古くはPSO(4人同時)があり、今現在ではFMO(10+10人)が
筆頭かな。PSOの時は同期の取り方が特異だったのか、たった4人ですら奇怪な現象が多発
していた(そもそもMOBの位置は同期を取っていない)ため、p2pはダメだなぁという印象でしか
なく。そしてFMOをプレイしたわけだけど、かなり激しい動作にも関わらず、JMよりは遥かに
快適であり、一部回線不備による不具合は見受けられるものの、p2pはかなり有望であると
判断。
0662名前は開発中のものです。
2006/02/21(火) 14:05:07ID:tW4TebD5データの混乱という問題が付きまといます。
まず、ネットワークの維持の強化の為には、複数の参加者(想定3)をひとつのノードとして
見做し、どれかひとつ欠損しても監視下にある参加者から即補充するという形を取ります。
データの混乱、つまり不正データや処理に対しては、利害関係の無い第三者複数を判定
役としてあてがい、異なる結果を出す参加者には、順次適切な処置を加えるという方法で
対処します。
問題点はシンプルなC/Sタイプに比べて当該ネットワーク内のトラフィック量が数倍多い
事と、複数の判定者による結果待ちを必要とするため、常にパフォーマンスが最大遅延値
に留まってしまうという点です。
他にも色々と解決すべき問題があるのですが、まぁ、それは煮詰まったらアイデア募集
ということで。形としてはWinny2が目指してたBBSの形態に近かったりもする。
0663107 ◆a6JcKaYOUI
2006/02/22(水) 23:46:10ID:flZ45hqhとりあえず私馬鹿なので言ってる意味わかんないから
実装してみてくださいw
そしてソース公開キボーン
とジョークはこのぐらいにしておいて、近況報告などを
仕事忙しすぎですorz
今週の土日から(平日は保障できないけど)鯖は立てておきますが
期間は多分1〜2ヶ月ですが表の活動に専念するために
機能追加をしばらく停止します
探さないでください(´・ω・`)ショボーン
0664416 ◆quHoSW/FCI
2006/02/23(木) 12:08:35ID:VbOSNUgb平たく言えば、一極集中型のC/S形式は、機能が増えて処理が多くなると機能ごとにPCを
増設したり、接続者数が増えるたびにさらに増設しないといけないという、個人には厳しい
現状があるわけです。
なので、最低限の機能のみを主鯖に残して、あとの大部分の機能はユーザーのPCで処理
して貰おうというお話。もちろん、自分の判定処理を自身のPCで行わせればチートの温床に
なるので、利害関係のない第三者のPCに判定してもらう形になります。
で、107さんのもHSPなのですね。こちらはまだ土台の設計と検証レベルなので、実働は
まだまだ先ですが骨組みが出来たら公開したいと思います。
それから、658番のクライアントですが、使用ポート番号がドキュメントに記載されていない
ので繋げられないです。まぁ、たぶん鯖は稼動していないんだとは思いますが。
とりあえず、地形レイヤーと位置レイヤーの部分のネットワークの形は決まりました。が、
MOBのレイヤーをどこに組み込むかが課題。MOBはどこに依存させたらよいのやら…。
0665名前は開発中のものです。
2006/02/23(木) 20:38:17ID:bB240Yzr・他人の不幸は蜜の味チート。
・マナーと称してプレイヤー側が圧倒的に有利になるチート。
・負荷が高まるので無条件に拒絶。
等の可能性を考慮する必要がある。
あと、不意に
・回線が切れる。
・電源が切れる。
・地震雷火事親父に見舞われる。
等の可能性も考慮する必要がある。
0666名前は開発中のものです。
2006/02/23(木) 21:03:09ID:8cMLfFEM0667名前は開発中のものです。
2006/02/24(金) 10:13:32ID:IPMIaWirチートに関しては、判定処理は常に3つの第三者によって行うので、結果が異なる接続者は
当該ネットワークから弾き飛ばすという方向で。さすがに同一バージョンのチートが全体の4割
以上を占めるという事態には至らないと予想してます。もしそうなったら、それは別の根本的な
対策が必要かと。
判定処理以外でも1ノードは3つ以上の接続単位にするので、同時に全員が落ちない限りは
当該ネットワークは持続すると予想しています。ただ、接続者は常に同じ処理をほぼ同時に
行うので、バグによってノードが消えるということは充分にありえる話です。その場合でも、
データのやり取りを普段は行っていないだけで、一応全員は認証サーバーと繋がっているの
で復帰の手段はあります。でも、まぁ、バグが原因ならまたすぐ落ちるだろうけど。
一応その点の考慮は「三本の矢」方式で解決を試みてみるのですが、欠点はシンプルな
C/Sタイプより圧倒的に接続形態が複雑になるということですね。使用ポートは1ないし2で
済むのですが(そのあたりFMOの要求っぷりはすごいぞ)、某コレガのルーターだと落ちるか
もしんない…。
>>666
だみやんおめでと。
ネットゲームは当然既存のネットワークを利用するので、設計をきちんとしないと他者に
大迷惑をかけるという側面があります。周知の技術で組むのならある程度はそれらを参考
にして見切り発車できるけど、今回の様に前例が無い手法の場合は慎重すぎるぐらいが
丁度よいかと。
けれど、まぁ、金子氏の書籍のおかげでまったくの手探りじゃなくなったのは正直助かっ
てますのん。
0668名前は開発中のものです。
2006/02/24(金) 10:15:45ID:GGT/StGT0669名前は開発中のものです。
2006/02/24(金) 20:39:08ID:8SrOYlXt議論したいのなら、ネタの後出しは止めたほうがいいな。
指摘に対して解決策を考えたというなら、全く別の話だが。
で、どうしたいの?テスト?だったらクライアントplz
0670416 ◆quHoSW/FCI
2006/02/24(金) 21:05:34ID:IPMIaWirじつのところその部分は
>>662
> まず、ネットワークの維持の強化の為には、複数の参加者(想定3)をひとつのノードとして
>見做し、どれかひとつ欠損しても監視下にある参加者から即補充するという形を取ります。
> データの混乱、つまり不正データや処理に対しては、利害関係の無い第三者複数を判定
>役としてあてがい、異なる結果を出す参加者には、順次適切な処置を加えるという方法で
>対処します。
ですでに書いていたりも。
あと、今、開発費用を蓄えてるのでまとまった時間がとれないのであります。副業三昧。
やっぱり暇とお金は反比例するのでありますよ。
0671名前は開発中のものです。
2006/02/24(金) 21:25:34ID:bxoAq2wsそういう要求がゲームのためのシステム全体の構造と関わってくると
結局そっちの処理がゲームの方の足を引っ張る羽目になる
そもそも悪意のある行為というのは、もしもそれを為そうとする人が0人なら
全くそれについて作業する必要がないという、程度問題なわけで
後で必要なときに必要なだけセキュリティレベルを高められるようにデザインされてることの方が大事
構造としてチートを完全に阻止するというのは不可能である以上
ゲームとしての仕様の実現と、セキュリティレベルの維持というのは
同一のシステムの中にあったら必ず衝突してしまうよ
0672名前は開発中のものです。
2006/02/24(金) 21:46:43ID:8SrOYlXtおおすまん、読み飛ばしていたみたいだ。
で、複数のクライアントで処理するとして、
その結果を各々がサーバーに送信すると、
トラフィックが膨大になりそうなものだが。
0673名前は開発中のものです。
2006/02/24(金) 23:17:44ID:PluvT2vH事前によく考えておかないと後で死にそうな設計ですね
実装としてもキレイに作れるのかなぁ?
0674名前は開発中のものです。
2006/02/24(金) 23:32:59ID:8SrOYlXt単一鯖で処理して無問題だと思うけど、
ネタとしては面白い話なので、新たなる展開待ち。
0675名前は開発中のものです。
2006/02/25(土) 08:27:35ID:f7kKCqjwしかし、散々既出だが、通信に関しての設計が美味く出来ていないと
おはなしにならないものになると思う。
あと、自分でも書いてたと思うが、各クライアントのレスポンスの差を
考えると、どうしても最悪な方向になるので、そこが一番のネックだとおも。
現在のc/sなMMOなら、(直接は)本人が影響されるだけだが、
これでは他クライアントへの影響が大きすぎ。
最悪、つないでもつないでも、遅すぎて蹴られるユーザー出そう。
0676416 ◆quHoSW/FCI
2006/02/25(土) 09:45:14ID:VwLk9pxw国外(非亜)のゲームではPunkBusterを利用する手法が一般的ですが、国内の場合は
別口というとどういう手法をとっているんでしょうね? FMOでは攻撃判定を攻撃者側のPCで
処理しているため、その辺りのチート疑惑でごたごたしているようですが。
チートに対して無関心なシステムはさすがにやばいと思うので、チート対策がやりやすい
システムデザインというのは常に考慮したいと思っています。もちろん目的がチート対策な
システムにならないように注意したいわけですが。
>>672
地形データのやりとりだけでもまじめに行えば相当な量になるというのは想像に難くない
です。今その辺りの解決法を模索しているのですが、「ブリテン銀行前問題(そろそろ新しい
名前考えなきゃ…)」を解決しようとした時に思案していたロジックを利用してみようかと。かな
り乱暴な方法なので、ゲーム性を損失しないかが悩みの種ですが。
0677416 ◆quHoSW/FCI
2006/02/25(土) 10:15:25ID:VwLk9pxw今のところ移動の部分が一番頻雑になると予想しています。つまり移動処理でぶら下げる
ことの出来るクライアントの数は、かなり少ないと想定して設計中。処理の重さよりも通信の
帯域のほうがボトルネックなので、これはどれくらい細い回線ユーザーが多いかにも関わっ
てくるのですが。
4年前にくらべれば格段よくなっていると期待したいのだけれど。
>>674
MMOはとりあえず1000人規模と考えているので、個人ではMOが限度だと。ところが、MO
だと経済システムを取り入れても揺れ幅が大きすぎて破綻するという忠告が。確かに某海の
MMO(β)見てても、それは体感できたり(今はまともになってる?)。
0678416 ◆quHoSW/FCI
2006/02/25(土) 10:32:02ID:VwLk9pxwレスポンスのいい接続者をネットワークの主幹部分にもってくるという方法も考えてはいるん
ですが、それだといつも同じ接続者が同じ機能を担当するということになるわけです。すると、
そのノード(機能)のメンバーが固定になってしまい、チートされやすくなるという弊害が…。
でも、なりよりも、まず、無線ルーターが一番の敵だと思ふ(なんか日本は普及率いいし)。
ちなみにWinnyは匿名性を上げるために、意図的に中継者を増やす(ホップ数が多い)仕様
になっていますが、ゲームの場合は匿名性はほぼ関係ないので、常に最短のホップ数で
接続が可能です。その点では接続の確定率とレスポンスはWinnyよりは高いはず。
>最悪、つないでもつないでも、遅すぎて蹴られるユーザー出そう。
…というか、Winnyでいうところのport0ユーザー…(FMOの判定Bともいう)。
0679名前は開発中のものです。
2006/02/25(土) 16:50:13ID:4kmZTObL1000以上の同時接続は考慮しなくてもいいと思います。
0680名前は開発中のものです。
2006/02/25(土) 17:08:25ID:/I3pIfSKここは他の作者も居るんだし。
0681名前は開発中のものです。
2006/02/25(土) 18:58:48ID:IN45SIb8何のための掲示板だよ。
0682名前は開発中のものです。
2006/02/25(土) 19:12:48ID:kqTZ+fLs場違いだな、おまいは
0683107 ◆a6JcKaYOUI
2006/02/25(土) 20:35:06ID:pS84w52d金曜から今までお仕事してましたorz
416 ◆quHoSW/FCI さん
∧_∧ +
(0゜・∀・) ワクワクテカテカ
(0゜∪ ∪ +
と__)__) +
して待ってます
0684名前は開発中のものです。
2006/02/25(土) 20:56:44ID:ewwhB3wyもしかして無人島の人ですか?
0685名前は開発中のものです。
2006/02/25(土) 21:16:49ID:4kmZTObL個人について詮索するのは良くないと思うんだ。
0686名前は開発中のものです。
2006/02/25(土) 22:37:23ID:ewwhB3wy(´・ω・`) すまない
0687107 ◆a6JcKaYOUI
2006/02/26(日) 00:39:58ID:eg2hQz1Hそんなに重いですか?
1.移動速度が遅い
2.クライアント自体の動作が重たい
0688416 ◆quHoSW/FCI
2006/02/26(日) 04:29:50ID:hheEzEt5ゴメン、なぜ考慮しなくていいのかの説明plz。
>>687
接続しました。
当方の環境 athlon2500+2GB+Radeon9600XT なのでクライアントの重さは確認できません。
fpsは常に30でした。
移動ですが、マップスケール対して歩行速度が遅いので、これはかなりストレスになると思い
ます。
あと、移動と移動のつなぎ目に応答遅延によると思われる妙な間があるのも気になりました。
移動の終了を待って次の移動情報を鯖に送っていると予想しますが、移動中でも移動工程の
半分を過ぎたら次の移動処理に取り掛かってもいいと思います。
それからMOBの名前表示の部分にバグを発見。右端でもなると思いますが、とりあえず左側
で名前を見切れさせると、文字の影(?)だけズレて表示されています。
0689名前は開発中のものです。
2006/02/26(日) 05:09:11ID:Rurjq0Crプレイヤーの操作
├→異なるPC上での異なる通信時間による異なる処理結果─┐
├→異なるPC上での異なる通信時間による異なる処理結果─┤
├→異なるPC上での異なる通信時間による異なる処理結果─┤
├→異なるPC上での異なる通信時間による異なる処理結果─┤
├→異なるPC上での異なる通信時間による異なる処理結果─┤
├→異なるPC上での異なる通信時間による異なる処理結果─┤
└→異なるPC上での異なる通信時間による異なる処理結果─┤
↓
処理結果が一致する可能性は果てしなく零に近い。
今更非リアルタイムのMMORPG発表しても1000人もユーザー集まらないだろ?
0690名前は開発中のものです。
2006/02/26(日) 06:59:27ID:c3ploH5f計算だけを外でやってもその出力をデータに反映させるのがローカルなら結局意味がなくない?
たとえばステータスボーナスポイントを1消費してstrを1増加させるといった場合
どこか他人のマシンで1+1=2とか2-1=1って計算したところで、
それでstrを2にする処理がローカルで動くなら全く意味がないでしょう?
意味がないというのはチートの標的にできるとということを言っています。
0691名前は開発中のものです。
2006/02/26(日) 08:46:32ID:XWUSpOiB1.3GHZなんですけどfpsは20ちょいですね。
回線はADSL1.5
普通の商用2DMMOなら問題なく動くのですが。
とくにスライムが多い画面だとほぼ操作不可能になります。
0692名前は開発中のものです。
2006/02/26(日) 11:09:45ID:hc0w+0REVRAM 64MB
メモリ 1024MB
回線 モアスペです。
FPS:30出てます。
うちの環境では691さんのような症状はありませんでした。
移動速度はもうちょっと速くても良いかもしれません。
0693416 ◆quHoSW/FCI
2006/02/26(日) 12:18:49ID:hheEzEt5シンプルなC/S型でも同期問題はあります。遅延がある以上完全同期は実現不可能で、
そのあたりのズレは逆算によって推測したり、ある程度で見切りを入れていたりします。
あと、処理結果が複数の解を出してしまった場合は、それをどう判断して最終結果とするか
はデザイナーにゆだねられます。
…という前置きをしつつ。
具体的なシチュエーションが述べられていないのでちと考察がしんどいのですが、遅延に
よって引き起こされる問題としては、攻撃真際のバッフ(能力値の増減効果)でしょうか。
つまり、防御側が攻撃される真際に防御値を上げるなんらかの行動を行った場合、遅延が
少ない判定者は攻撃成功の結果を返し、遅延が多い判定者ではバッフ値が反映されて攻撃
失敗の値が返る可能性があります。
このような0/1判定の場合は、攻撃側有利にするか防御側有利にするかはゲームデザイナー
の判断によりますし、判定者数を奇数にして多数決判断にする場合も考えられます。
あと、0/1ではなく数値の場合、結果値を順列に並べ替えて両端の値を排除した平均値等を
採択するという手法も。
>今更非リアルタイムのMMORPG発表しても1000人もユーザー集まらないだろ?
非リアルタイムMMO(RPG)の存在を知らないので詳細plz。あー、webであった行動を採択
して結果待ちするゲームのことかな。
0694416 ◆quHoSW/FCI
2006/02/26(日) 12:19:56ID:hheEzEt5クライアント側で判定処理をまったく行わないシステムの場合…。
通常のC/S型は、鯖(S)がプレイヤーの数値を持っていてクライアント(C)の要求に応じてSで
計算し、結果のみをCに返すという動作をします。
当該の場合も、SはCaにCbの判定を一任して、CbのデータをCaに預けます。SはCbにCaが
担当者だと通知し、CaはCbに対して計算を要求してCaが計算、結果をCbに返すわけで。
どちらの型もクライアントは自分自身のデータは持っていないという点で共通します。
ただ、既存のゲームではそれだと鯖側の負担が大きすぎるため、ある程度の判定はクライ
アントのみでもできるように具体的な数値を送ったりしています。
けれども当該の場合は、クライアントはあくまでも判定者への判定依頼とその結果値の
モニターに終始すると考えてください。
0695416 ◆quHoSW/FCI
2006/02/26(日) 12:27:00ID:hheEzEt5107さんのクライアントの負荷率ですが、私の環境でCPU40%使用しています…オモイヨ、コレ。
691さんの環境だと常駐物の量などによっては処理落ちするかも。
それに対して自作の例のアレを立ち上げてみたのですが、鯖とクライアントを合わせて
CPU使用率…0%からたまに1%…orz
まぁ、グラフィックの密度差もありますが、なんか妙なところで処理を食っている可能性は
ありますね。
0696名前は開発中のものです。
2006/02/26(日) 14:02:31ID:vTljOGfz複数の他鞍からの順不同かつ異なる位置情報に基づく判定結果が、
他の判定鞍と同じに結果になりうるという、
素敵メカニズムを設計してくれるデザイナーを募集するスレは此処ですか?
> 107氏
Athlon1G+GeForce4でCPU使用率90%程度。
0697107 ◆a6JcKaYOUI
2006/02/26(日) 14:42:29ID:eg2hQz1HPentium 3 1.2GHz / 1GB / VRAM:64MB / モアスペ : FPSは30
? 1.3GHz / ? / ? / ADSL1.5 : FPSは20ちょい(とくにスライムが多い画面だとほぼ操作不可能)
Athlon 1GHz / ? / GeForce4 / ? : CPU使用率90%程度
>>691
CPUは Athlon? Pentium 3?
あーめちゃスペックを要求するゲームでつねorz
開発マシンは Athlon X2 3800+ / 1GB / GeForce 6800 / ADSL 12M? なんで
はるかに早いですorz
サーバーにしようと思っているマシンでも試してみます
0698107 ◆a6JcKaYOUI
2006/02/26(日) 14:43:37ID:eg2hQz1H> ます。
まだ遅いですか....
マップが広すぎなのかな
> あと、移動と移動のつなぎ目に応答遅延によると思われる妙な間があるのも気になりました。
> 移動の終了を待って次の移動情報を鯖に送っていると予想しますが、移動中でも移動工程の
> 半分を過ぎたら次の移動処理に取り掛かってもいいと思います。
なるほどそういう手がありますしたか
> それからMOBの名前表示の部分にバグを発見。右端でもなると思いますが、とりあえず左側
> で名前を見切れさせると、文字の影(?)だけズレて表示されています。
これはHSPのバグと思われます
未確認ですが右端では多分ならない気がします
> 107さんのクライアントの負荷率ですが、私の環境でCPU40%使用しています…オモイヨ、コレ。
> 691さんの環境だと常駐物の量などによっては処理落ちするかも。
> それに対して自作の例のアレを立ち上げてみたのですが、鯖とクライアントを合わせて
> CPU使用率…0%からたまに1%…orz
ちなみにそれはC++製ですか?
> まぁ、グラフィックの密度差もありますが、なんか妙なところで処理を食っている可能性は
> ありますね。
DirectX使っていないのでグラフィックが激重かと
あとアニメーションとか
0699名前は開発中のものです。
2006/02/26(日) 15:54:51ID:hc0w+0RE0701名前は開発中のものです。
2006/02/26(日) 17:58:44ID:zE2PEv+J0702名前は開発中のものです。
2006/02/26(日) 18:07:35ID:hc0w+0RE重くなるのはしょうがないです。
特に標準命令での描画関係はスペック次第でかなり差が出てしまうので、
DirectXを使った方が描画が安定します。
CPUの負荷が気になっているのであれば低減させるプラグインもありますし使ってみてはどうでしょうか。
0703107 ◆a6JcKaYOUI
2006/02/26(日) 18:13:04ID:eg2hQz1Hここ乗っ取られてますからw
>>702
> CPUの負荷が気になっているのであれば低減させるプラグイン
kwsk
0704639 ◆WKezKkIa.w
2006/02/26(日) 18:29:10ID:AP41JBeV近況
自作機のオーバークロックにはまり中の為開発停滞中orz
あと子育てが・・・
私のライバル>>107氏
進行が完全に抜かれちまいましたww
これからもガンガッテくだちぃ
>>416氏
是非あなたの作品を未完成でもいいから体験させてくだちぃ!
107氏も私のも(私のは現在鯖停止してますが)、ここと前のスレを使って
それこそ単なるログインとチャット程度から公開してました。
>>416氏 も 是 非 ! ! ! ! ! !
0705107 ◆a6JcKaYOUI
2006/02/26(日) 18:33:56ID:eg2hQz1Hおひさ
只今、1〜2ヶ月機能追加停止期間中なので
追い抜けるチャンスはいくらでもあります
ぜひ追い抜いてくださいw
0706名前は開発中のものです。
2006/02/26(日) 19:48:35ID:hc0w+0REtime.hpi
0707107 ◆a6JcKaYOUI
2006/02/26(日) 20:02:38ID:eg2hQz1H(そのうち)試してみます
0708名前は開発中のものです。
2006/02/26(日) 21:30:08ID:c3ploH5fC/SのSを他の第三者のCが完全に肩代わりして永続データの保持もするとなると結局
従来SのDB上にあるものがネット上に分散して(ここでいうところの複数のCa内)
存在するということになりますね。その分散したデータ間相互のやりとりが必要になったときや
全体の中から検索する必要があるときはどうするんでしょう?
たとえば範囲魔法を使って不特定多数のPCにダメージが行く場合とか、
ある名前の人にtellするような場合です
これは認識が間違ってないか確認ですが、処理結果の多数決をとるために、同一の処理を
複数の第三者が行うわけですから、複数のCaが一人のPC用のデータを保持して
常に同期を保つという処理も必要になってくるという理解でいいですか?
0709名前は開発中のものです。
2006/02/26(日) 21:33:09ID:vTljOGfz> デザイナーにゆだねられます。
0710名前は開発中のものです。
2006/02/27(月) 01:22:53ID:ZXuERcpuまだゲームのイベント部分が乗っかっていないので、そのマップが無駄に広いのかどうかは
判断しかねますが、移動速度から見る限りでは広いですね。
名前の表示は独自の表示ではなくてHSPでの装飾でしたか。影付き文字を選択しているよう
ですが、なんかちゃんと影が付いていないみたく。左端ギリギリで表示されると影がつくんです
けどね。
>ちなみにそれはC++製ですか?
いえ、HSPでDirectX未使用ですのん。ちなみにGamDevのWikiにソースあったりします。
ttp://gamdev.org/w/?FrontPage
かなり深いところに埋もれているので探すのがんがれ(w
てか、Wikiの存在を知っている人が少ない気が…。
0711107 ◆a6JcKaYOUI
2006/02/27(月) 01:36:37ID:vwuFL/LB> 名前の表示は独自の表示ではなくてHSPでの装飾でしたか。影付き文字を選択しているよう
> ですが、なんかちゃんと影が付いていないみたく。左端ギリギリで表示されると影がつくんです
> けどね。
gmode 7 で半透明合成してるのですがどうもマイナス座標にはうまく載らないみたい
gamedev今度探してみますw
0712416 ◆quHoSW/FCI
2006/02/27(月) 01:54:40ID:ZXuERcpuWinnyの様な匿名性を高めるためのデータ拡散は必要ないので、検索用のリストを保持する
群ノード(複数のノードが集合しているってことで群)を設ける予定です。ただ、主鯖がかなり遊ん
でいる状態なので、リストぐらいなら主鯖に一任してもある程度の規模ならさばけるは確かです。
まぁ、ある程度を越えたら…というのも課題にあるので、リストもクライアントにお任せする仕組み
にはするつもりですが。
ちなみにWinnyでも回線速度によるノードの上下関係があり、上位のノードは下位のノードが
持つ検索用キーのほとんどを持っているそうです。だから下位ノードが検索するときは上位に
キー収集を依頼するだけでよく、同位もしくは下位には依頼しなくてよいそうで。
範囲攻撃については、動的オブジェクトをエリア単位でリスト化している群ノードがあるので
その部分での処理となります。上の話は全エリアを跨いでの検索なのでよしなに。
tellについては個人的には嫌な処理だなぁと思ったり。いかにもゲーム的で世界観を壊す
可能性がある機能なので(対となるアイテムを持たせるのならともかく)。
実装するなら各エリアに検索キーを飛ばすという回りくどい方法もありますが、実のところ
主鯖(認証鯖)には接続中のPCのIPを全部管理してるんで(でないと担当者が決めれない)、
いきなりそっちに処理を飛ばすというのがスマートだと思います。
0713名前は開発中のものです。
2006/02/27(月) 02:07:58ID:ZXuERcpu>これは認識が間違ってないか確認ですが、処理結果の多数決をとるために、同一の処理を
>複数の第三者が行うわけですから、複数のCaが一人のPC用のデータを保持して
>常に同期を保つという処理も必要になってくるという理解でいいですか?
はい、必要です。能力値や移動とかですが、これらには変更があるたびに1づつ増加する
カウンターを設けて、例えば214番目と215番目を比較しないように処理します。また、定期的
に実数値もしくは項目やデータが多ければ連続させた文字列のハッシュ値で不正値がないか
の確認も行います。
なお、判定者ですが、処理のたびに集結して処理が終わったら解散するのではなく、定期的
な入れ替えはありますが、まぁ、背後霊みたくくっついていると想像してください。3人くらい。
0714416 ◆quHoSW/FCI
2006/02/27(月) 05:45:45ID:ZXuERcpu最初は1エリア(n×nマス)毎に管理群ノードを設置しようと考えていたのですが、
ttp://gamdev.org/up/img/4805.jpg
(最上にあるボックスは主鯖。3ノードで1群ノードを示し、同色範囲を管理)
グリッドの端っこに位置すると複数のエリアから不足分のデータを転送しないと
いけなくなります。すると最大4群ノードから転送されるわけで膨大なトラフィック
を生む原因になると。
なので、孤立したエリア毎に群ノードを割り当てるのではなく、各エリアに重複
部分を持たせて、1エリアは1ノードで管理するようにしました。
ttp://gamdev.org/up/img/4806.jpg
(グリッドは一画面分の領域を示す。小さなボックスはノード)
整合性確認を行わない転送なら、常にどのエリアからでも1ノードからのみの
転送で済み、整合性の確認も重複している3ノードで判定可能です。
0715名前は開発中のものです。
2006/02/27(月) 08:52:19ID:6MMJrpp9でも、こういう概念図つくったり
お客さん一杯きたらどうしようとか、チートされたらどうしようとか
皮算用するのはすごく得意そうだね。
がんばってね。
0716名前は開発中のものです。
2006/02/27(月) 08:57:38ID:3e/ILBhu0717名前は開発中のものです。
2006/02/27(月) 19:48:17ID:4zf3++To0718名前は開発中のものです。
2006/02/27(月) 19:51:09ID:3yojKXNa0719639 ◆WKezKkIa.w
2006/02/27(月) 21:14:29ID:+0f27gRv∧_∧ + >>695 自作ノ例ノアレ
(0゜・∀・) 公開マッテマスヨ
(0゜∪ ∪ + ワクワクテカテカ
と__)__) +
0720名前は開発中のものです。
2006/02/27(月) 21:23:32ID:4zf3++To0721名前は開発中のものです。
2006/02/28(火) 00:15:01ID:8ild+qgd0722名前は開発中のものです。
2006/02/28(火) 01:55:19ID:3jGlvlOE>動的オブジェクトをエリア単位でリスト化している群ノードがあるので
どういうこと?キャラクタとかのデータをCa達をもってるのわわかったけど、
さらにそいつらが持ってるコピーをまとめて持つノードがいるということ?
というかサーバ役を分散するというのは一クライアントごとにそのクライアントのPCを
一対一で担当するわけじゃなくて、座標というか空間ごとに担うような感じなんだろうか
>>713
バージョン番号をつけるのはいいけど、コピーをもってる全員のバージョンが
一致して完全に同期がとれるまで処理を停止するわけじゃなくて、
見切り発車するということなのかな?古いバージョンを持ってる人の処理は無効ということにして。
そうするとほとんどの時間帯でコピーをもってるノードは役に立たない(多数決に参加できない)
んじゃないかと思うんだけどどうでしょう?
戦闘なんかをした場合なんかを考えれば、一回の変化がすべての第三者へ伝播するよりも
圧倒的に速くに次のバージョンが現れてくると思うのですが、どうですか?
0723名前は開発中のものです。
2006/02/28(火) 02:04:38ID:AnpArEX50724416 ◆quHoSW/FCI
2006/02/28(火) 10:21:31ID:oTylGgKoああ、なるほど、「Winnyの動作のようなMMO」と「WinnyネットワークのようなMMO」という前提
の違いですね。たぶん722さんはWinnyでダウン条件を設置(処理依頼)し、検索リンクを経て転
送リンク(判定者)と接続し、ファイルを取得(結果を得る)というふうに解釈したのでは?
私がWinnyを参考にしているのはファイル取得の手順ではなく、ネットワークそのものの構造
なのです(ノードの上下多重関係、クラスタ化)。Winnyでは匿名性の維持のため検索データの
取得も不定的ですが、匿名性の必要性がなければもっと揺れの少ないネットワークになりま
す。たぶんWinny2でのBBS開発で目指していた内容は、スレッドの制作者の匿名性は破棄
することでより強固な(データにとって信頼のある)ネットワーク網を作ろうと思っていたのだと
想像します。
Winny2のBBSが最終的にどのような形になるのかは現状では知る由も無い(…って書くと
死んじゃった人みたいだな(苦笑))のですが、少し弄ればゲームのネットワーク網にも応用
できるものになっていたのではないかなと。
…という前置きを踏まえつつ 次へ
0725416 ◆quHoSW/FCI
2006/02/28(火) 10:36:58ID:oTylGgKo>どういうこと?キャラクタとかのデータをCa達をもってるのわわかったけど、
>さらにそいつらが持ってるコピーをまとめて持つノードがいるということ?
恒久的にもっているのは主鯖です。主鯖がCaの判定役として無作為に数人(Cb、Cc、Cd)
選び、彼らにCaのデータを渡して、あとは一任します。判定役(Cc)が離脱したら主鯖は補充
の要請をうけて新たに判定役を決め(Ce)、CeへのCaのデータ転送は主鯖ではなくCbまたは
Cdから行われます。そしてCaがログアウトしたらCaのデータは判定者から主鯖に転送され
ます。
もちろん判定役を選任する機能も、それぞれのクライアントのデータも、主鯖ではなくクライ
アント自体にまかせることも可能ですが、それが可能なネットワーク規模は相当なものになる
と予想します。逆にネットワーク規模が大きくなればそうせざるをえないとも言えますが。
>というかサーバ役を分散するというのは一クライアントごとにそのクライアントのPCを
>一対一で担当するわけじゃなくて、座標というか空間ごとに担うような感じなんだろうか
そうです、限定的な範囲、限定的な関係をクライアント同士で処理するわけです。この
限定的な範囲というのがWinnyでいうクラスタ関係で、限定的な関係がp2pでの結びつきに
なるわけです。
0726416 ◆quHoSW/FCI
2006/02/28(火) 10:54:18ID:oTylGgKoありゃ、やっぱり見つけられなかったか。
とりあえず
ttp://gamdev.org/w/?%5B%5B%A5%B8%A5%A8%A5%F3%A4%CE%CC%B5%BF%CD%C5%E7%5D%5D
まとまった時間が長期間とれるなら、正直こっちに手をつけたい今日この頃。
…学生っていいよなぁ…って今マジデオモッテル。
0727名前は開発中のものです。
2006/02/28(火) 19:53:49ID:RZk53d9rなるほど。回線に高負荷をかけてまで、鯖処理を軽減させたがる理由が判った。
■ このスレッドは過去ログ倉庫に格納されています