fc2ブログ
2017/10/10 (Tue) 02:55
YouTubeでユーロビートなど聞きながらゲームやらプログラムやらやることが多いのだけど、先日、いつの間にかウサギを罠でとらえる方法の動画(一応、追記に動画を掲載)になっていた。で、何故かその手の動画に見入ってしまった。
なんか、船や飛行機で無人島に漂着しても、生きていけそうな気がする。

で、アフロですが見事SS撮り忘れていました。あはは・・・(汗)
前回も忘れていたような気がする。

なのでチャットネタを・・・
〇〇・〇・〇〇〇〇>銀英伝の戦艦でも700人くらいなのに・・・
〇〇>そろそろ70kt出るバルシャがでてもいいとおもう
〇〇〇〇・〇〇〇〇〇>銀英伝リメイク!
ジェイナス>オートメーション化が進むとそうなるかも
★〇〇〇ゃ★>銀英伝はその代わり・・10万隻とかだからw
〇〇〇〇・〇〇〇〇〇>若本はロイエンタール役!!
ジェイナス>ちなみに、EVE Onlineの船は、すべて一人乗り
〇〇・〇・〇〇〇〇>なのにトマホーク振り回してみたり^^
〇〇〇〇・〇〇〇〇〇>あれ、宇宙なのに戦闘平面だよなw
〇〇〇ー>ワンマン戦艦w
拠点〇〇用〇〇〇〇>ヤマモトヨーコも1人乗り
〇〇〇も>70ノットって140Km/h近いですがwww
〇〇〇ー>もはや戦闘機感覚だね
★〇〇〇ゃ★>ガンダムだw
拠点〇〇用〇〇〇〇>バルシャバラバラになるw
ジェイナス>全長15kmの戦闘機
ジェイナス>あれだ、水中翼船だ
〇〇〇ー>15キロってエクセリオンよりでけぇw


手近に撮影できる15kmの戦闘機です。
171010_avater2.jpg
手前の細かい自機は大体全長70mくらい。ほかの角度からみると。

この巨大戦闘機、名前は、Avaterと言います。
形状から、愛称は、エリンギやブロッコリと呼ばれています。
これ、建造するのにリアルで半年かかるとか。
以前説明したPLEX経由で、ゲーム内通貨のISK(1PLEX=3百万 Isk)とリアル通貨のドル(500PLEX=約20$)に換算できるのですが、計算すると、自動車1台分買えるそうです(アル〇かもしれんけど)。

ちなみに、他にも15km前後の船はあるそうですが、まだ実物を目にしたことはありません。

違う角度からみると、こんな感じ・・・これ、地上からも見えそう・・・
171010_avater3.jpg

ロイヤルガードだったかな?そういうのが編成組んでいる場所があって、その撮影がこちらです。
171010_avater1.jpg

余談。140km/h出るバルシャって、もはやスピードボート。

 
[Read More…]
 
 
スポンサーサイト



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/10/01 (Sun) 22:00
ルータがどのように遅延に寄与するかを見ていこう。

左上の自宅のPCから、右のDOLサーバへ接続する際に、Routerは目的地へ回線を選択し、なるべく短いルートで接続することになる。
171001_router0.jpg
ただ、この回線は他の人とも共有している。

共有するために、通信はパケットというデータの塊に分割して送られる。
下の図で、白や黒の〇や△は、そのパケットである。
171001_router1.jpg
左上や左下のパケットを、混ぜ込んで右のRouterに送っている。右のRouterはその先の・・・と繰り返している。
また、各Routerは、宛先に近いRouter等につながる回線を検索し、回線が空いていたらパケットを送信する。
171001_router_mechanism.jpg

これを手元のコンピュータからDOLサーバまで繰り返しているわけである。そしてDOLサーバ内での処理を行ってから、手元へ戻ってくる。URLを入力し、タイトルバーにサイト名が出てくるまでの時間や、DOL内でスキルパレットを叩いて戻ってくるなどの時間が大体この時間になる。

じゃあ、それほど遅延する要素ないじゃないか?と思うかもしれない。

夜間の道路のようにスカスカであれば問題にならない。問題になるのは、混雑している場合である。
この場合、先の図は以下のようになる。
171001_router_mechanism2.jpg
結局、「回線が空くまで待つ」時間が問題なのである。場合によってはタイムアウトしたりする。

実際、私自身問題が起きる日時が日曜日の20時以降と大体決まっている。
おそらく、ISP間でこの問題が起きているのでないかな?とは類推しており、半ばあきらめている。

実はこの遅延、DOLのゲーム内で右からクリをもらうことにも関係している(この件はゲームシステムでも対応しようはありそうだが・・・まぁやらんだろうな・・・)。その辺からくりは次回にまとめよう。

余談1、まぁかなり大雑把に書いたよな・・・。データリンクや物理層の話まで絡めて書くと(最初描こうとした)、えらい図になったわ・・・
余談2、キャリア系ISPだとSDH/SONETとかATMとか使って相当高速化されていたり、NOCやPOPなどの回線の冗長化や分散化などやっているけど、そんなこと書いたら「睡眠学習かっこわらい」になるのは目に見えているしな・・・
余談3、うちのISPが海外とつながっているところなので、某大型動画サイトへの通信が邪魔をして混雑しているんだろうな・・とは思っている。

 
[Read More…]