Thinking Skeever

Skyrim/The Witcher 3 Modについてのあれこれ。FoModの作り方、Mod導入時のトラブル事例などのニッチな話を書いていきます。a.k.a. BowmoreLover@nexusmods

Nexus Modsニュース和訳:2020年の振り返り (2021/1/27)

https://staticdelivery.nexusmods.com/images/News/14453_tile_1611675715.jpg

2021/1/27のNexus Modsニュース、The year in review(2020年の振り返り)の和訳です。


2020年の振り返り
元記事:The year in review
投稿者:Dark0ne (サイトオーナー)
投稿日:2021/01/27

目次

はじめに

皆さん、あけましておめでとう。

最後にNexus Mods内で進行中の出来事について書いてから2年が経ったので(前回の記事 / 和訳)、今回も気力を奮い起こして長文で平凡な「ブログ記事」を書くことにした。去年は一度も書くことができなかったし、罰ゲームみたいに長文を読みたい人がいるのも分かっているが、僕みたいな人のために、まずは要約を書いておこう。

統計的にはこれまで以上に好調で、モッディング遊びの増加を示す数字が全て揃っている。毎年、より多くのユーザーに、より多くのゲームのためのより多くのMODを提供している。ただし、10年前のレガシーコードとの戦いに取り組む中で、いくつかの分野における進展は芳しくなく、改善すべき重要な分野が強調されつつある。さらに詳しく知りたい場合は読み進めてくれ。

数字で見る2020年

ここ1年のコロナ禍による自宅待機期間によってNexus Modsの統計値は大きく膨れ上がった。月平均ユニークビジター数は840万人で、2019年の590万人と比較して43%増となった。月平均ページビュー数は1億8,400万で、2019年の1億3,600万と比較して36%増となった。これらの数字は毎年着実に伸びているが、約10年前にSkyrimがリリースされて以来、2020年は最大の伸び幅となった。

会員数は2020年で530万人増え、2019年の新規ユーザー数300万人と比べて75%増となった。総会員数2,500万人のマイルストーンまであと5万人を切っており、1月末までにはほぼ確実に達成できる見込みだ。

2019年には新しいゲームが221追加されたが、2020年には300の新しいゲームを迎え入れることになった。Nexus Modsがサポートするゲームの数が2年でほぼ2倍になった計算になる。月平均の新規MODアップロード数は4,599件で、2019年の3,166件/月と比べて47%増となった。2020年はNexus Modsの20年の歴史の中で初めて、非ベゼスダ製ゲームがベゼスダ製ゲームを上回る結果となり、2020年にアップロードされたファイルのうち非ベゼスダ製ゲーム用のものが54%を占める結果となった。2020年は非ベゼスダ製ゲームのファイルのアップロード数が82%増加したのに対し、ベゼスダ製ゲームのファイルも22%増加しており(前年は-7%)、コロナ禍によってベゼスダ製ゲームと非ベゼスダ製ゲームの両方のMODが増加傾向にあることを示している。

Mount & Blade: BannerlordMechwarrior 5Resident Evil 3Baldur's Gate 3Cyberpunk 2077Master Chief Collectionといった2020年にリリースされた著名ゲームにおいて非ベゼスダ製ゲーム用のMODが増え続ける一方で、Stardew ValleyThe Witcher 3Monster Hunter Worldは一部のベゼスダ製ゲームよりも人気が高く、モッディングコミュニティが盛況を続けている。

当然のことだが、サイトのユーザー数、閲覧数、MOD数の増加に伴い、ダウンロードサーバーもこれまで以上に忙しくなり、月平均ダウンロード数は前年の4,280万件から32%増の5,670万件を記録した。これは平均して、本サイトのユーザーが1秒ごとに22件ダウンロードしているのに等しい。ダウンロードの72%はベゼスダ製ゲーム用であり、Nexus Modsでベゼスダ製ゲームが依然ダウンロードの大半を占めていることを示しているが、2017年には90%を占めていたシェアは年々減少傾向にある。ベゼスダ製ゲームのダウンロード数は2019年には+1%、2020年には+26%の増加となったが、非ベゼスダ製ゲームのダウンロード数もそれぞれ+69%、+89%の増加となった。ベゼスダ製ゲームのモッディングが相変わらず人気であるが、僕たちとしてはベゼスダ製であるかどうかに関わらず、できるだけ多くのゲームのMODをホストし続ける。

2020年にサイトのユーザーがダウンロードしたファイルは59ペタバイト(59,000テラバイト)を超えており、サービスプロバイダーの平均スループットは27Gbpsとなっている。

最後にVortexだが、Votexに対するユーザーの理解が高まりつつある。本サイトのAPIと連携するMODマネージャーを利用するNexus Modsユーザーのうち、Vortex利用者の占める割合は2019年には67%だったが、2020年末までには72%に増加した。つまり、Nexus Mod Managerの利用者が減少し(前年の22%から15%に減少)、VortexまたはMod Organizer 2のどちらかに移行したということだ(前年の10.5%から12.5%に増加)。Nexus Mod Managerは残念ながら不安定で、Modのインストールフォルダーの復元可能な破損に陥りやすい事を考慮すると、これは良い傾向だ。MODマネージャーを使ってNexus ModsからMODをダウンロード/インストールするAPIのユニークユーザーは100万人/月に達した。

ドネーションポイントの大成功

僕にとって、ここ数年で最も自慢に思えることと言えば、ドネーションポイントシステムによってNexus ModsのMOD作者がより多くの報酬を得られるようになり続けていることだろう。2018年5月に本システムを始動して以来(当時の記事 / 和訳)、僕たちはMOD作者に報酬として約60万ドルを支払った。2018年12月までの8か月間の支払額は平均9,000ドル/月だったが、2019年には22%増資して11,000ドル強となり、2020年にはなんと197%増資して、MOD作者に毎月平均32,750ドル弱の報酬を支払っている(参考:ドネーションポイントについて(英語))。この大きな増資は、ダウンロードのサービス方法を変更し、非プレミアムユーザーに5秒の遅延を設け、プレミアムメンバーシップに関する広告を増やしたことによって可能になった。

同じ期間に、Nexus ModsのユーザーはファイルページやユーザープロフィールにあるPayPalボタンを使って、MOD作者に直接221,579ドルを寄付している。つまり、過去30ヶ月間に、Nexus ModsのMOD作者は、Nexus ModsおよびNexus Modsユーザーから合計820,000ドル以上の報酬を受け取っている。これは素晴らしい数字だが、Nexus ModsにMODをアップロードしたユーザーが11万5千人以上いることを忘れてはいけない。

配布されたドネーションポイントの大半はPayPalを経由して現金化されているが、ストアページからのゲームCDキーの購入に16,000ドル相当、Nexus Modsプレミアムメンバーシップの購入に15,300ドル相当が使われ、さらに重要なことに、野生動物保護協会に6,818.52ドル、国境なき医師団に3,614.29ドル、Make-A-Wish基金に1,626.12ドルなど、17,500ドル以上が慈善団体に寄付されているのだ。Nexus ModsのMOD作者やユーザーの代理として、こうしたチャリティーの支払いを行うことに、僕は大いなる誇りを感じている。

僕たちは、このサイトを可能な限り効率的に運営するのに必要な資金と、できるだけ多くMOD作者に還元したいという思いのバランスを取りながら、可能な限りドネーションポイントへの投資を継続していく。

結局のところ、本サイトに表示されている広告とユーザーによって購入されたプレミアムメンバーシップから得られる収益が、このイニシアチブの資金源となっていることを、ユーザーに知ってもらいたい。広告を見たりプレミアムメンバーシップを購入したりするたびに生まれた収益の一部は、ドネーションポイントシステムを利用しているMOD作者に直接送られている。ユーザーの大部分は、どれだけのお金がMOD作者に還元されているのか、そしてユーザーが経験している不便さの一部(ダウンロードの遅延、広告、ダウンロード速度の制限など)が、彼らの楽しんでいるMODの作者をサポートするのに役立っているのかを知らないのではないだろうか。

いつの日か、1年あたりの寄付ポイント基金を7桁にするのが僕の悲願だ。

Vortexの広範な改善

Votex開発チームは2020年も変わらず忙しくしていて、51のマイナーバージョンアップ/ホットフィックスと2つのメジャーバージョンアップをリリースし、3度目のメジャーバージョンアップを目前に控えている。

Vortexの膨大な変更履歴を探し回らなくてもいいように、2020年で行われた改善点のうち、特に興味深いものを以下にまとめておこう。

ゲーム拡張

  • Mount & Blade: Bannerlord、Halo: The Master Chief Collection、Wolcen: Lord of Mayhem、Baldur’s Gate 3、Microsoft Flight Simulatorといった、Vortex公式による13のゲーム拡張の追加
  • ThunderGod97によるCyberpunk 2077を含む、コミュニティによって追加された42のゲーム拡張の追加
  • 現在サポートしているゲームは135以上
  • The Witcher 3: “Witcher 3 Script Merger”の完全取り込み、ロードオーダー管理、シンボリックリンク対応、メニューMOD対応
  • Monster Hunter World: MHWのモッディングの前提となるStracker’s Loaderの自動検出とインストールが可能に
  • Blade & Sorcery: ロードオーダー管理の追加
  • ベゼスダ製ゲーム: OBSE, SKSE, FOSE, NVSE, F4SEといったスクリプトエクステンダーのガイド付きインストールが可能になり、デフォルトのツールにスクリプトエクステンダーが設定されていても正しくインストールされていない場合は警告を出すように
  • Stardew Valley: SMAPIのインストールとアップデートのサポート。MODによって作成されたファイルをMOD自身に関連付け、MODの削除時に一緒に削除できるように(ルーズファイルのよるSMAPIの警告を防ぐ)

ユーザー向けの新機能

  • ゲームをサポートするたびに新たにVortexをリリースする必要がないよう、アプリ本体とは独立して拡張機能のアップデートが可能に
  • ユーザーがインストールしたMODの詳細、利用中の配置方法、配置されたファイル、上書きされたファイルを含むMODレポートを作成する機能の追加。MOD作者がユーザーの問題を解決する際に役立つ
  • ファイル単位の競合のプレビュー機能:競合するファイルを任意のプログラムで開けるように。たとえばNifskopeを使って3Dモデルを比較検討することができる
  • 自動機能/自動終了機能のサポート

開発者向けの新機能

  • GOG、Origin/EA Play、UPlay、Windowsストア経由でインストールされたゲームの検出のサポート
  • 必要に応じて任意のゲーム拡張で利用できる、ゲーム内のロードオーダーを扱うための汎用拡張機能(generic load order extension)の作成
  • Unityゲームに対するパッチがMODとして配置可能になったことにより、異なる配置方法が利用可能に
  • 拡張機能がメインツールバーのボタンとして配置可能に

以上は2020年にリリースできたものだ。2020年の最後の四半期にはVortex バージョン1.4の大規模な修正作業が実施されたが、これはもうすぐリリースされる予定だ。
Vortx 1.4の目玉は次のとおり。

  • ダウンロードが終了したらMODを自動的にインストールするオプション
  • ダウンロードがすべて終了すると、VortexとPCを自動的にシャットダウンする機能(寝ている間にダウンロードする際に便利)
  • 操作履歴/活動ログにより、ユーザーの手順を追跡し、必要に応じて特定の操作を元に戻せる機能
  • ゲームと互換性のないBSA/BA2アーカイブを持つMODをインストールした際、ゲーム起動時にクラッシュする旨を警告する機能
  • 競合エディタにて、MODのロードオーダーを整理するためのヒントを提供
  • Resident Evil 3のサポート

Vortexは年々飛躍的に進化し続けていて、利用者数も開発者数も増え続けている。ゲーム拡張機能をリリースしてくれた方々にお疲れ様と言わせてくれ。1年で42ものゲーム拡張機能がコミュニティによって作成されたのは素晴らしいことだ。

Web開発の停滞について

Vortexの開発が飛躍的に伸びている一方で、Webサイトの開発、特にユーザーから見て体験できるフロントエンドの機能については、期待よりも遅いペースで進んでいる。

新機能の追加やサイトの改善については常に焦点を当てて進めているものの、サイトを維持して運営し、ユーザーやMODの数の継続的な増加に対応するのが最優先だ。

最新のフレームワークはスケーラビリティを最優先に考えているが、Nexus Modsはこうしたフレームワークが存在するずっと前に、今あるクラウドコンピューティングが存在するずっと前に作られた。Nexus Modsは基本的なLAMPスタックを中心に構築され、数十万行のコードがLAMP環境で動作していた。ここ数年、サイトのさまざまな部分を少しずつ書き換えて、The Twelve-Factor Appの原則に準拠し、新システムから旧来のシステムを切り離すことに時間を費やしてき。2019年後半にリリースされたユーザーサービスは全く新しいもので、API、クイック検索サービス、ファイル統計、アップロードはすべてLAMPスタックとは別に処理されている。これらのアップデートと構築中の新システムは、すべて最新のフレームワークとスケーラビリティを最優先にした理念に基づいているが、アップデートが必要な、スケーラビリティがなくベアメタルサーバーを使用しているシステムやレガシーコードがまだたくさん残っている。

古いものに取って代わる新しいサービスをリリースするたびに、古いインフラストラクチャの負担が軽減され、ボトルネックの要因となる巨大なリストからボトルネックが1つ除去される。旧来のシステムで容量を超えた場合、サーバーを買い足したり強力なハードウェアに交換したりするような単純なことでは対応できず、データの移行だけでも数週間かかり、その間にサイトを停止する必要がある。そうなる前に、可能な限り早く旧来のレガシーシステムを置き換えて、可能な限り最適化することに焦点を当てている。

これは時間のかかる作業で、Nexus Modsはトラフィック量の非常に多い人気サイトであり、データーベースには何百万、ときには何十億ものレコードが含まれているため、なおさら時間がかかる。僕たちは比較的小さな予算でエンタープライズレベルの作業をしようとしている。

以上のことを念頭において、僕たちは目の前にある大仕事を認識し、それに応じた投資をしてきた。2010年には僕一人だったチームも、今hで16人にまで成長した。去年、バックエンド開発者のうちの2名が加わり、フロントエンド開発者がさらに2名加わったことで、当面は採用活動を停止する。より良いチーム関係を築き上げることで、より洗練されたプロセスで目の前にある巨大な仕事に取り組めるようになることを期待している。

毎年のように新たな課題が出現する。2019年12月の休暇期間には大量のトラフィック流入によるダウンタイムとサイト遅延に悩まされて2020年を迎え、再びスムーズな運用を提供できるよう、第1四半期はサーバーの設定やコード修正による最適化に時間を費やすことになった。毎年十分頑張ったと思っていても、別のボトルネックに行き当たることがある。2018年は毎秒200以上のリクエスト対応に苦労したが、2019年にはなんとか効率を改善して毎秒270リクエスト、2020年にはさらに毎秒400リクエストまで対応し、わずか2年でキャパシティを倍にしたものの、2020年12月はそれでは不十分だった。こうした問題の解決はサーバーの設定を少し変える程度のものではなく、ソフトウェア、ハードウェア、開発業務、さらにはあらゆる拡張性を持つ外部サービスとの統合に至るまで、開発者が数ヶ月をかけて行う作業だ。

先日、僕たちが直面している課題を強調するかのように、待望のFallout: The Frontierをどこよりも早くホストするという栄誉に浴した。期待度の高い大規模なMODで人気も高く、少しの間サイトがダウンするほどの人気だった。トラフィック量が原因だと報じられていたが、これは真実とは少し異なる。原因はサイトに流入したトラフィック量ではなかった。毎週日曜日の夜に発生するトラフィック以上のものではなかったのは確かで、問題の原因となったのは流入したトラフィックの量ではなく種類だった。このMODはもう何年もNexus Modsにサインインしていなかったユーザーをたくさん呼び寄せたため、最適化されていない通知システムのクエリが大量に発生してしまい、いつもより多くの負荷が一気に発生してしまったのだ。このコードは何年も前のもので、サイトが今ほど忙しくなく、MODやゲームの数も少なかった頃のコードだった。コードに対する緊急修正によって問題は解決し、ダメージを受けるまでには至らなかった。この問題は、僕たちが毎週のように直面している課題を示している。ユーザのために新しいものをクリエイトしたいという願いと意志のもと、古いコードやスケーラブルに構築されていないシステムの影響と戦っているのだ。

目新しくて最新の機能の追加といった、目に見えるサイトの変更を継続的に行えないことに不満はあるものの、現在の作業はサイトの安定性に欠かせないものであり、今後もより堅牢な基盤を築いていくために必要なものだ。レガシーなシステムの上に構築することは、砂地に家を建てるくらいに危険であり、今後の仕事を難しくする。だからこそ、基盤が強固になる前にサイトに大規模な追加を行いたくないのだ。とは言っても、ユーザーのみんながサイトの変更を求めていることは分かっている。小さいものも大きなものも、みんなの要望は追跡管理されており、可能な時に出来る限り対応していくつもりだ。

以上の話のポイントは、表面上はサイトに対して何もしていないように見えても、実際は今後のNexus Modsの存亡をかけて、多くの開発者によって重要な仕事が行われているということだ。ご理解願いたい。

新たな拠点への移動

みんなにはあまり関係ないだろうが、僕たちにとってはとても刺激的なもので、コロナ禍による最悪の事態が過ぎ去って職場に戻る許可が得られたらすぐに始まることだ。

2016年に、僕たちは最初の物理的なオフィスに移転した。それまで僕たちのチームは複数の時間帯に複数の場所に分散して、完全にリモートで仕事をしていた。しばらくの間、チームが小さい間はこれで十分だった。だが、チームが成長しはじめ、必要となる仕事の複雑さが明らかになるにつれて、インターネット技術に頼るのではなく、同じ場所で共同作業ができれば、チームの効率が格段に良くなることに気づいた。

それで2016年に4人で共同オフィススペースに引っ越して試してみたところ、2007年からリモートで仕事をしていた僕は、Nexus Modsにとってどれだけ良いものかを瞬時に理解した。

年間契約が終了した2017年に、レンタルオフィススペースに移転した。2016年と2017年の間に、僕たちは徐々にエクセターの拠点に従業員を移転し、遠隔勤務枠を取り除き、ほぼ全従業員をオフィススペースに集約し始めた。このオフィスはとても実用的で、ニーズ的には全く問題なかったが、4つの壁と会議用の部屋、そしてメインのオフィスルームに併設された小さな簡易キッチンがあるだけだった。12人までは快適に入ることができたが、それ以上になると少し窮屈になってきた。不幸なことに、ある同僚が魚の弁当やカレーを電子レンジで温めてしまい、オフィス全体に悪臭が充満してしまったこともあった。この魚事件の犯人は何も悪いことをしなかったと断固とした態度を取り、まだ謝罪を受けていない。まあ、これ以上は言わぬが花だろう…。

2020年の初めにスケーラブルなソリューションに興味を持つ経験豊富な開発者を採用しようという計画があったので、2019年はエクセターで自分たちのニーズに合わせてカスタマイズできる優良物件を見つけることに時間を費やした。これはNexus Modsのスタッフにより良い環境を提供するだけでなく、より良い仕事に繋がることを願ってのことだ。最高の人材に来てもらうためにも重要だからね。殺風景で物悲しいオフィスで働くのと、明るくて前向きな気分になれるように整備されたオフィスで働くのとどちらがいいかは言うまでもないし、同じ給与水準で2つの仕事を選ぶとしたら、選択の決め手となるだろうからね。

2019年11月に、現在のテナントの契約が2020年7月に終了する予定だったので、市内中央部にある古い病院の一部を成す物件に応募した。僕たちのニーズにぴったりの物件だったんだ。

2020年9月には建物の大規模な改修が完了した。そこには、たくさんの休憩室、複数の会議室(うち1つは卓球室にもなる)、20名のスタッフが優に収容できるキッチン(2018年の魚事件の反省を生かして、十分な換気と、キッチンとオフィス間の通路を確保)、夏のランチ用の屋外デッキ、ゲーム機とPCゲーム専用の快適な最上階(いつでも好きな時にゲームができるようにPC5台を完備)がある。

ご存知のように、2020年3月頃からコロナ禍が本格化したため、まだ物件は十分に活用できていないし、「日常的な」仕事の一日がどのようなものなのかをチーム全体で体験できてもいない。とはいえ、期限を気にせずにオフィスを思い通りにカスタマイズする時間は十分に確保できたので、コロナ禍の延長にも明るい兆しがある。この10ヶ月間、コロナ禍によって在宅勤務の制限の下で働く必要があったが、柔軟な勤務条件のオフィスで仕事をすることは、インターネット技術によって提供されるものよりも、一緒に仕事をしようとしているチームにとってはるかに効率的であると、これまで以上に断固とした確信を持っている。これについては様々な意見があるだろうが、10年の在宅勤務経験と4年のオフィス勤務経験のある僕としては、Nexus Modsにとってこれが正しいことだと確信している。

年内には新しいスペースを十分に活用できることを心待ちにしている。

おわりに

統計的には、2020年はNexus Modsによって素晴らしい年だった。サイト上のコンテンツ数とユーザー数はどちらも大幅に増え、ドネーションポイントは大成功を収め、Vortexは拡大と改善を続けている。しかし、Webサイト側の進捗の遅さと信頼性の問題によって素直に喜べない。この18ヶ月間に蒔いたチームメンバーの追加と職場の改善が、2021年以降の数年以内に花開き、もっと楽しい気持ちで素晴らしい成果をブログで共有できることを願っている。

注記:本投稿の前バージョンには、API使用量の数値に関する誤った統計が含まれていた(月単位ではなく週単位の数値を使用していた)。これらの数値は修正済みである。

以上


→ その他のNexus Modsニュース和訳はこちら

Copyright (C) 2015-2020 ThinkingSkeever, All Rights Reserved.
ブログの記事内に記載されているメーカー名、製品名称等は、日本及びその他の国における各企業の商標または登録商標です。
リンクはご自由に。記事の転載はご遠慮ください。記事を引用する場合はトラックバックするか元のURLを明記してください。