カテゴリ記事一覧
2017/10/10 (Tue) 00:30
そろそろ飽きてきたこのシリーズ。
多分、以下のうちで説明していないものを説明して終わらそうかと。。。
できれば週末のアフロ楽団のこととかも書きたい。

①2アカで、それぞれの画面をみると、同じルートを走っていない。
②人の多い場所だとかくかくする。
③スキルをクリックしても、なかなか発動しない。
④カスタムスロットがなかなか開かない。
⑤突然ワープする。
⑥右からクリをくらった。


まず①は飛ばして③から説明する。
動きから以下の流れでスキルが発動~完了しているとみている。
171009_skilldelay1.jpg
スキルボタンを押すと、Serverへ発動を伝えるパケットが飛ぶ、受領したことが確認できれば、クライアント側のスキルアイコンは非活性化(アイコンが暗く、「すでに使用中です」という状態)になり、結果が通知されて、状態が反映する。
スキルが発動すると、遅延がなければ、直ぐにボタンが非活性化されるはずである。これ、実は修理とか外科でも同じように見える(完了までの時間が短いだけ)。
一方、なかなか発動しない場合は、連打できてしまう。すなわち、DOL Serverに届き、スキルアイコンが非活性化するまでの時間が長くなっている。これは多くはネットワーク的な遅延とサーバ環境の性能問題の両方が考えられる。
なお、スキルパレットの場合、マウスが少しずれて・・っていうこともある。
サーバ性能問題も心当たりがあるが、これ話すと長くなりそうなんで割愛する。また機会(本人の気力)があれば・・・。

で、非活性にならないから連打できてしまう。
171009_skilldelay2.jpg
この「連打」というのが厄介で、サーバの負荷や発動のドロップということを引き起こす。
例えば、修理しても艦隊メンバの耐久がMAXだったら発動しない「無効な修理」となる。スキル発動しても条件に見合わない場合は、無効として扱われる。これがドロップの原因である(また、サーバにも負荷をかける)。
じゃあ、連打しなければ通るのか?というと、ドロップの判定条件が分からなく、1度押しただけでもドロップになることもある。
あと、マウスカーソルが微妙にずれていたとかはあるけどね・・・

④カスタムスロットは、開く際にServerへ問い合わせてを行っている。この余計な通信がスキルパレットと異なる点である。
で、上の図で「スキル発動」を「カスタムスロット開く」に読み替えたのと同じ状況が発生する。

この点は運営側でも対応は可能だと思う。
起動時などにパレットの内容をメモリ保存しておいて、開くことについては特に通信を発生させないということで。

ただ、③、④に関して個人的な意見としては、連打が必要なオンラインゲームってどうなんだろうか・・・
変な仕様というか、ネットワークを理解している人が考えた仕様とも思えないや・・・
もしかしたら、連打させると、なんかRTSみたく戦ってる感じをさせたいがために、こんな仕様にしたのかもしれないけど・・・

<追加で余談:連打がまずい例>
昔、お隣の某K国からの集団攻撃で、日本のWebサイトが落ちたことがある。
手段は簡単、目標のWebサイトを開いて、「更新」ボタン(多分Ctrlも)を連打するだけ。それをかなりの人数でやったそうな。
また、DoS攻撃という中途半端な状態でパケットを送信する方法がよく使われているが、その対策として、連打とかの通信が一定回数続いたら遮断するファイアウォールもある。私はこの辺りが悪さしているとみている。


①・・・まぁこれはどうでもいいんじゃないかな・・・
説明すると、陸上では座標で管理しているみたいだから。
ただ、サーバ上の座標でなくて、クライアント側に、移動前・後に、前・後の座標だけ渡して、その間の動きはクライアント側で計算させているからである。
サーバ側と同期取りながらだったら、きれいに移動するのだろうけど、そこまでネットワーク負荷かけさせたくないのだろうね。
まぁ、これが改善されてもどーってことないけどさ。


他にも、戦闘開始判定が、自分のPC座標とサーバ上の座標の両方で判定するので、向かってきた高速艦隊を捕捉できないなどもある。遅延やら遅延から蓄積される座標のずれによるもので、オンラインゲームである以上仕方ないのだろうけどね・・・
ただ、この件については、そもそも、戦闘開始して、双方とも停船するのが変な仕様だけどさぁ。
(FF6のケフカあたりが、「待てと言われて待つ馬鹿がいますか。」とか言い放ちそう・・・。)


 
[Read More…]
 
 
スポンサーサイト
2017/10/03 (Tue) 01:38
前回DOLのこと何も書いてなかったな・・・(笑い)
まぁ、今回も同じことを書いてくつもり。
ただ、今日の書くことはゲーム上の動きから予測しているもので、プログラムのソースコードを見ていない以上、推測の範囲は越えられないことを追加しておく。

まず、このゲームの洋上での座標の管理方法だけど、
なんかのイベント(例えば戦闘の開始や終了、切断からの復帰など)でしか実際の座標を渡していないようである。
実際の座標からは、差分(速度ベクトル)しかデータで渡していないようである。
171002_mechanism.jpg
ここに遅延が入り3秒後だけが長くなる。自分の画面では右のように緑の船をやり過ごしたように見える。けど、実際にはクリ位置に浮いている。見える位置と、実際の位置にずれが生じている。
はい、これが、右からクリをもらう仕組みです。
まぁ、図は見えやすい例示だから3秒のわずかな時間でズレはそれほど生じない。なので、右からクリは大体終盤とかに起こっているとおもう(少なくとも私は序盤でもらったことはない。)


ゲーム自体が速度ベクトルでデータ伝達しているから発生するのだけど、逆に位置情報(x,y)を逐一送るとどうなるか?
それも考え物だと思っている。
どのみち遅延は避けられない。遅延した直後は、敵船がマイクロワープドライブ(一瞬だけ速度が上がって、指定された座標へ移動)する。相手を砲撃しようとおもったらマイクロワープドライブしたってなったら、それはそれで不平がでそうである。
なので運営としても手の打ちようがないのだろうとは思っている。

遅延をなくす方法は、決定的な手段がないのが実情。ただ経由するルータを空いているルートを選択すれば起こりにくいのだろうけど、実際問題、個人の1端末からは不可能である。
たぶん、とあるISPへ乗り換えると改善すると考えている(あそこトークンリングとかだからなぁ・・・)。
ただ、ゲームためだけにISPをころころ変えるのは大局観がないかとは思うがね・・・。


序に、カクツキについても記載する。
カクツキって、結局下図のように自船の更新頻度(例では1秒が3秒おきに)が粗くなることで発生する。
更新頻度が粗くなる理由だが、消去法で考えると、システム内部のネットワーク的なもの(プロセス間通信?)と推測している。
人が多いく混雑しているから、更新頻度を下げているというより、システム内部で競合して、図の例では2回分ドロップしているように思える。
171002_mechanism2.jpg
※ 例のため秒単位で説明していますが、実際は数十ミリ秒単位と思う。
あとは、オブジェクトが多くなることで、描画に時間かかっているものとは思う。
このゲーム、ポリゴンエンジンが相当古く、げっ!Forceや ラ!Deonを本気にさせていない。
多分シェーダとか、ほとんどCPUが処理しているようだ。
以下は、高画質モードで描画したときの例。
170312drawtestment.jpg

実際に、同じPCのグラボが本気を出すとこうなる。
170718_scorpionnavie.jpg
170715_eve_hurricane.jpg

 
[Read More…]
 
 
2017/09/21 (Thu) 20:48
先日、フレから運営への要望というのもらった。
幾つか運営でも対応できるものはあり、私なりの提案を送っている。だけど、運営だけでは、できないこともあると考えている。
その辺を理解してもらうために記事を起こしてみようと思った。理解が目的のためネットワーク関連の知識として端折っているのは十分承知であり、そちらのほうを理解したいのであれば、参考にはならないと思っている。

運営だけで対処できないことだけど、その一つに「遅延」がある。
実際、以下のような経験はないだろうか?
①2アカで、それぞれの画面をみると、同じルートを走っていない。
②人の多い場所だとかくかくする。
③スキルをクリックしても、なかなか発動しない。
④カスタムスロットがなかなか開かない。
⑤突然ワープする。
⑥右からクリをくらった。
上記は、DOLのサーバと自分のPCとの間のネットワークの遅延から来る問題と考えている。

まず、オンラインゲームが動くインタネットの仕組みだけど、皆さんは以下のように考えていると思う。
170912_conceptofinternet.jpg

この仕組みを実現しているのは、〇CNやあ~う~〇neなどのISPの集合体であり、世界中のISPの結合がインタネットである。
170912_TheInternet.jpeg
この間の結び目は、ルータ(ルターではない)など行先に応じて通信を切り替える装置である。
実は遅延について、このルータ(ルターではない)や上位のものでファイアウォールで滞留することで発生する。

とりあえず今日はここまで
ルータ(ルターではない)で滞留することが何がまずいかを②で書いていくつもりである。
流石に絵なしでは説明不可とおもっている。

まぁ、最初の絵の通りマウスで書くとギャグ以外何者でもない絵になっちゃって、ペンタブレットを探しているのだが、どうやらペンだけ捨てたようでペン待ちの状態だった。

とりあえず探すの諦めて新しいの買ってくるか・・・
 
[Read More…]
 
 
2017/07/13 (Thu) 00:25
BGM:Children by Robert Miles

今回は、ヴェネとポルで東南アジア(候補がすべてこの地域とかw)の戦いのようです。
ただ、Eos側がネデvsフラで、イングは傭兵参加。そのためA鯖イングはこちらに流れそうですね・・・
遠いこともあって、参加者が怪しいところですが・・・
ただ、また前哨戦があるのかと・・・
前哨するのもいいが、人が集まる時間に行えるようにしてほしい・・・とおもうこの頃です。

まぁ、どうであれ、土日は参加する予定です(金曜日は仕事で出れないし・・・しかも定例の早朝会議なので体力が・・・^^;)


さて、ジェイナスの白兵もほぼ完成し、あとは収奪を再度カンストするだけになりました(?)。
まぁ、防御について錬成はどうするか悩んでいるところです。
レアハントするのに、NPCが外科で船員を回復してもらわないといけないわけですが、行動力減らしてしまうと、それもできなくなります。いっそのこと、別キャラで・・・とおもい、最近大文字ジェインのほうを鍛えていたりします。

アゾスクも、ジェイナスよりジェインのほうの参加が増えてきてます。
170712_welcome2.jpg

まぁ、ジェインで収奪カンスト+錬成などやってられんからなぁ・・・
そのうち、出場するキャラ変わります。
キャラ変えたら、戦い方も変えてみたいな・・・今までTanking派だったから、逃げ旗に徹するかな?

 
[Read More…]
 
 
2017/02/03 (Fri) 00:42
Where is your mind? Humanity cries.
貴方の心はどこに行ったの?人間性が泣いてる。
You think you're gods.But everyone dies.
貴方は自分が神と思っているのね?だから皆死んだわ
Don't swallow my soul, our souls
私の魂を奪わないで、私たちの魂を・・・
第二次世界大戦の戦いを歌ったものですが、当時のクリミア情勢などがあり話題になりました。
政治的に利用はされてましたが、Progressiveとしてはいい曲です。しかし、ウクライナか・・・

久しぶりにツーワンやってました(お付き合い戴いた3方には感謝感謝です。
170202psuedobattle.jpg
結果は、ジェイナスまた沈んでるん?状態でした。
あとで気が付いたけど、近くで、某フレが、スリーワンやってましたね・・・

ちょっと硬直と抜けクリについてまとめです(私が聞いた限りの情報を勝手にまとめています)。
白兵抜け後、少しの間動きが止まることがあります。これを硬直と呼んでいるようです。
この硬直を起こす条件についてです。
撤退に成功した人が、①「先行」時に抜けたか、②「後攻」時に抜けたかで変わってきます。
以下は、自分が成功した場合について記載します。
相手が舵を切っているとわかった状態なら、①なら相手が硬直します、②なら相手は硬直しません。
逆に、舵を切らずに入っているようであれば、①なら相手は硬直しません、②は相手は硬直します。
大体こういうパターンになっているらしいです。

とりあえず覚えやすいように、「あーさんはズラ」という言葉を思いつきました。
いてが舵をきっているなら先にズラかれ というゴロです。
(2/5 つっ込まれる前に訂正)
いてが舵をきっているならきにズラかれ というゴロです。
きっと忘れないでしょう!

全国のあーさん、ごめんなさい・・・。

関係ないけど、最近どんどん脳筋化していってる自分がいる・・・。
 
[Read More…]