【LoL】クライアント クリーンアップは続く

今年の初め、私たちはリーグ・クライアントのパフォーマンス改善のために私たちが内部で行っている作業の進捗を隔月でお伝えしていくことをお約束しました。

今回がその第3回目となります。(第1回のブログ第2回のブログもご覧ください)

要約:クライアントの原動力となるコードをクリーンアップするという目標に向かって着実に進んでいます。また、その過程で修正されたやっかいなバグも以下にまとめています。着実に成果はあげているものの、やるべきことはたくさん残っています。「クリーンアップ キャンペーン」はまだ続きます。

引用元: 公式





Jayce
クライアントで利用されているプラグインとEmberアプリの数を大きく減らしたの?事情をよく知らない者には、進捗は最小限に見える。バグに関しては、修正済みだったはずのバグが数パッチあとに再び発生したのをいくつか見てきたよ…

>>Jayce
Summoner1
プラグインの数を減らすと、潜在的に失敗する可能性のある相互作用を減らすことになる。バグのようなね。
また、馴染みのないプログラムコードを触る場合、比較的単純なパートから触り始めて、どのように動作するのかを理解しながら、少しずつより複雑なプログラムコードに触るまで、作業を進めていくと思う。クライアント・クリーンアップが続けば、より迅速な進捗が見られるようになると思う。

>>Summoner1
Bard
作ったときにどう動作するのか理解しておけよ。まったく。

>>Bard
Summoner2
今クリーンアップに取り組んでいる開発者と、クライアントを作った開発者が別である可能性はとても高い。

>>Summoner2
T1
大きな企業ではよくあること。プログラムコードを書いたやつが退社していなくなる。幸運なら、コメントが丁寧に書かれたプログラムコードを引き継ぐことになる。そうでないなら、Riotで働いているということになる。

Summoner3
数百個を超える歯車や小さなネジで組み立てられた時計を想像してみてくれ。プラグインを外すことは、時計が機能しているときにそれらのネジをひとつひとつ外していくことを意味している。時計が壊れたなら、以前よりパーツが少ないから、どのパーツが原因なのかを以前より特定しやすくなる。

>>Summoner3
givanse
Webプラグインの性質は、ソフトウェアエンジニアではない人にとってはとても抽象的なものであり、たとえ話をするのは難しい。でも、君の話は近いと思う。俺は好き。

Summoner4
または、そこら中で園児がいたずらをしまくる幼稚園で、全員よりは何人かの園児を注意深く見守るほうが、幼稚園が燃える可能性が低くなるという言い方もある。

>>Summoner4
givanse
これもうまく捉えた表現だね(笑)

Summoner5
ARAMが終わって名誉画面が固まったときにこの記事を読むのが好き。信じられる。

>>Summoner5
givanse
クライアントを再起動し、バグレポートボタンからクラッシュを報告してくれ。
このバグを社内で再現することができないんだ。知識に基づいた推測で修正を試みた。より多くのレポートがあれば、パターンを見つけるのに非常に助けになる。

Teemo
QAをやっているものとして言わせてもらうと、適切なロギングがない限り、何も検出されず、「あぁ、このバグを再現できない」ともう一度言うことになるよ。Rito、適切なロギングをすればさらに多くのバグがお前たちのパソコンで突然再現可能になるよ。

QA(Quality Assurance)は、ソフトウェアなどの開発物の品質全体を保証すること、およびその職種。
ソフトウェア品質向上プラットフォームより
ロギングとは、起こった出来事についての情報などを一定の形式で時系列に記録・蓄積すること。そのように記録されたデータのことを「ログ」(log)という。
IT用語辞典より

>>Teemo
givanse
プラグインごとのかなりよいロギングがあるよ。複数のプラグインの相互作用によりバグが発生している場合は特定が難しいため、プラグインの数を減らすことには高い価値がある。

>>givense
Teemo
100%同意だ。お前たちのバックエンドがどうなっているのか分からないけど、エラーロギングの一部にスタックログがあると思う。

Summoner6
俺はエラーレポートにゲーム時間の大半を費やしている。ログインすると俺のクライアントはいつもこんなだ。

TL
修正したという少なくとも5つのバグにまだ遭遇している。ログインのスピードは早くなったが、クライアントの右半分が表示されないから、15分は待たないといけない。ルーン選択画面はまだバグっぽく、しばしばクラッシュする。リーグボイスはマック版だとまだ機能しない。クライアントは、実際よりも多くCPUを専有している。

>>TL
b4r0k
やぁ、フィードバックどうもありがとう。俺は今年の2月からこのプロジェクトに参加したんだ。ルーン選択画面のバグについて、もっと詳しく教えてくれないか?どんな小さなことでも、とても有り難い。

>>b4r0k
TL
やぁ、返信ありがとう!チャンピオン選択画面でルーン選択画面を開くたびに5~10秒かかる。しばしばルーンの保存に失敗する。ゲーム開始1秒前じゃなくてもだ。3~5パッチごとにルーンがリセットされるけど、これは大きな問題じゃないと思っている。一般的に、ルーン選択画面を開くたびに、遅かったり、保存に失敗する。

※以下、Rioterとコメント投稿者による詳細なやりとりが続く

翻訳元:  reddit

管理忍

あちら立てればこちらが立たぬでござる。

『【LoL】クライアント クリーンアップは続く』へのコメント

  1. 名前:名も無き忍び 投稿日:2020/06/28(日) 11:06:43 ID:57ba6e57f 返信

    早くやれよ!って急かす人多いけどRiotが取り組むと言ってるんだからゆっくり待つしかないな
    まあ今まであまり取り組まなかったのが問題なんだけど

    6
  2. 名前:名も無き忍び 投稿日:2020/06/28(日) 11:17:13 ID:50d454067 返信

    バグを直すとバグが増えるゲーム

  3. 名前:名も無き忍び 投稿日:2020/06/28(日) 11:32:03 ID:c55f23933 返信

    構造が複雑になればなるほど、あちらが立てばこちらが立たずってなることがしばしばあるよね。
    パズルゲームに近い

  4. 名前:名も無き忍び 投稿日:2020/06/28(日) 11:46:39 ID:0ec845f44 返信

    こうならないように新クライアントにしたんじゃなかったのか?

    4
  5. 名前:名も無き忍び 投稿日:2020/06/28(日) 11:53:46 ID:64c5050c7 返信

    モルデカイザーがバグを抑えていた定期

    10
  6. 名前:名も無き忍び 投稿日:2020/06/28(日) 11:54:57 ID:1483349b8 返信

    Riotは嘘つきではないのです
    ただ間違えるだけなのです

    6
  7. 名前:名も無き忍び 投稿日:2020/06/28(日) 12:01:11 ID:ed120e462 返信

    >大きな企業ではよくあること。プログラムコードを書いたやつが退社していなくなる。幸運なら、コメントが丁寧に書かれたプログラムコードを引き継ぐことになる。そうでないなら、Riotで働いているということになる。

    すき

    9
  8. 名前:名も無き忍び 投稿日:2020/06/28(日) 12:03:57 ID:f2fc69758 返信

    今までと違って今回は直す意図がハッキリ見えるから待てるでござる
    スパゲッティは一日にして成らずでござ

    1
  9. 名前:名も無き忍び 投稿日:2020/06/28(日) 12:37:26 ID:36c544648 返信

    ユーザーがこれだけいれば多種多様なバグ報告があるだろうけどまた同時に人が多すぎる故に的を射てない報告や状況や意図が伝わらないノイズが増えてフィードバックによる病巣の特定が進まないのもまあありそう

    2
  10. 名前:名も無き忍び 投稿日:2020/06/28(日) 12:37:43 ID:cbdde5840 返信

    今仕事で似たような状況になってるので他人事じゃねぇな・・・
    開発チーム頑張れ

    2
  11. 名前:名も無き忍び 投稿日:2020/06/28(日) 12:48:17 ID:451d881d4 返信

    64bit版のクライアント開発した方がいいんじゃないの
    いつまで32bitなんだ

    1
  12. 名前:名も無き忍び 投稿日:2020/06/28(日) 13:26:14 ID:60c745bfb 返信

    プログラマーを軽視する会社にエンジニアは居座らないでござる。この時代に行く宛はどこでもあるでござるからな。
    だから結果として初心者が構成することになり、こうなっているでござる。これは技術力の問題ではなく経営方針や社風の問題でござるから、バグの再発は確実でござるよ。

  13. 名前:名も無き忍び 投稿日:2020/06/28(日) 13:30:16 ID:f085336f6 返信

    プログラマーの自分としては見ていて胃が痛くなる

  14. 名前:名も無き忍び 投稿日:2020/06/28(日) 14:48:46 ID:c592f3435 返信

    いうて無料でやってるユーザーが待遇がどうのとかいってもな

  15. 名前:名も無き忍び 投稿日:2020/06/28(日) 15:32:14 ID:fff8d4864 返信

    無料でやっててもユーザーはユーザーだよ

    1
  16. 名前:名も無き忍び 投稿日:2020/06/28(日) 15:36:18 ID:70195fbc8 返信

    無料ユーザーがいなければこんなゲーム流行らんわ

    1
  17. 名前:名も無き忍び 投稿日:2020/06/28(日) 17:29:48 ID:e67ea3e35 返信

    素人が傍から見てるとこうなったら1から作り直したほうがマシなんじゃないのって思うけど違うのかな
    ゲームクライアントを作り直すのは物凄いコストがかかるから無理なのは分かるけどロビークライアントならそこまでコストかからなさそうなもんだけど

  18. 名前:名も無き忍び 投稿日:2020/06/28(日) 17:46:12 ID:60c745bfb 返信

    >>17
    1から作り直した結果が新クライアント、ただし機能のほとんどをコピペしてる気がするから意味はほぼない。
    あとゲームクライアントを作り直すコストは物凄くは無い、LoLの場合は過去に作った人が多分いないとか設計書が無いから苦労しているんだと想像出来る。

    1
  19. 名前:名も無き忍び 投稿日:2020/06/28(日) 19:19:16 ID:bb1809472 返信

    新新クライアントが必要でござる。

  20. 名前:名も無き忍び 投稿日:2020/06/28(日) 19:20:04 ID:7c08ffb89 返信

    経験による修正を行なってナレッジやら修正した時のエビデンスやらをちゃんと保管してないんやろな。あとはプログラム内のコメントのルールとかがあまり機能的ではないものになってるんやろな。

  21. 名前:名も無き忍び 投稿日:2020/06/28(日) 20:32:43 ID:e2c78ceea 返信

    アメリカじゃプログラマーは花形の職業のひとつで高級取りかつ引く手あまただから、世界一プレイヤーが多いといってもLoL一本足の小さなゲーム会社のRiotが優秀なプログラマーを引き止め続けるのは難しいと思う

  22. 名前:名も無き忍び 投稿日:2020/06/28(日) 23:11:07 ID:bfe8c0bac 返信

    優秀なプログラマーって結局何が違うのでござるか?本職いたら教えてほしいでござる

  23. 名前:名も無き忍び 投稿日:2020/06/28(日) 23:25:15 ID:7bf58cb89 返信

    このクリーンアップキャンペーンが成功したとしても今のクライアント自体普通に不便だと思うから新しいの作ってほしかったな
    このクライアントを使い続ける限り設定にあの項目がないとかトークンやカギを1個ずつしか交換できないとかいう類のスレが延々と立ち続けることになる

    1
  24. 名前:名も無き忍び 投稿日:2020/06/28(日) 23:59:54 ID:a81286026 返信

    グローバルにスキルを使えるような致命的なバグの場合
    使った人がBANされるのはわかるんだけど、それで負けた人に補填されないと意味がないんだよ

  25. 名前:名も無き忍び 投稿日:2020/06/29(月) 01:45:22 ID:869348d7f 返信

    俺の仕事も間違いなんかを見つけて修正する仕事だからこれの辛さがわかる
    間違っているのかうまく利用してるのか判断しないといけないすげえ神経つかう
    かなりの項目があってできたと思っても絶対に一発ではうまく行かない
    楽しくないトライアンドエラーをずっと繰り返す
    頑張ってくれとしか言えんね

  26. 名前:名も無き忍び 投稿日:2020/06/29(月) 02:26:10 ID:922f93577 返信

    >>22
    本当に優秀なプログラマは並以下の人が見ても理解しやすい可読性の高いコードを書きつつ、将来的に改造がしやすい拡張性の高いものを残す。

    優秀な人とそれ以外の人が同じ目的のものを作った場合、作った直後は同じ動きをするかも知れないけど、その後改造したり移植する場合に圧倒的な差が出る。主にバグとして。

    2
  27. 名前:名も無き忍び 投稿日:2020/06/29(月) 10:12:31 ID:c05fd9301 返信

    伸びてやわやわになったスパゲッティを、一本一本千切れないように丁寧に解して並べるような作業

  28. 名前:名も無き忍び 投稿日:2020/06/29(月) 13:04:43 ID:82efbce12 返信

    日本とアメリカの優秀なプログラマーの基準は全然違うでござる。

    日本=可読性が低くても短く簡潔に書ける人。読めない人=知識がない=無能。

    アメリカ=誰でも読めて、かつキレイなコードをかける人。誰にでもわかるように説明出来ない=無能

    どっちでも働いたことはあるでござるが、こんな感じでござる。

    2
  29. 名前:名も無き忍び 投稿日:2020/06/29(月) 13:35:47 ID:59d450a04 返信

    >>28
    分野は違うでござるがやはり傾向としては同じでござるな
    拙者の分野でも日本の専門書は簡潔に要点がまとまっているから専門家が読めば非常に分かりやすいでござるが、初学者にとっては非常に難解な本ばかりでござる
    一方で洋書はこれでもかと初学者にも分かりやすく書いてある一方でとんでもない分厚さの本が多いでござる

    2
  30. 名前:名も無き忍び 投稿日:2020/06/29(月) 18:19:31 ID:71feaf560 返信

    クライアントが治ろうが中の人間の頭の中が治らないと何も変わらないんだけどな