2015年1月12日月曜日

開発ブログ:Riot API


戦績や統計のような動的なデータから、チャンピオンやアイテムのステータスといった静的なデータまで、LoLの様々なデータを稼働中のサーバから入手することのできる「Riot API」について、今回はDeveloper Relations TeamのJ. “Riot Sargonas” Eckert氏が、そのスタンスと運用方針を語っています。


Dev Blog: The Riot API | League of Legends

やあみんな、Developer Relations TeamのJ. “Riot Sargonas” Eckertが、League of Legendsの生態系におけるサードパーティー製ウェブサイトおよびアプリケーションの立場について、ここではお話しします。この1年間、この問題はコミュニティで頻繁に議論されるトピックで在り続けていました。ゲームの核心およびプレイヤー経験の最も大切な部分に手をつけないまま、League of Legendsとプレイヤーの双方に付加価値を与える開発者の支援に対して、ここでのお話を通じていくらか見通しを立てていただければと思います。安定性や、アプリケーションの機能をもっとプレイヤーにフォーカスしたものに変更するためのサードパーティーとの直接対話、チートツールの有効性を制限するための内部作業、数えきれないほどの他の戦略を理由に、APIを通して稼働しているスクレイピングサービスをサードパーティーが利用できなくなるかどうかは別として、そういった目的は常に、この分野を駆動していく要因となるでしょう。

Leagueのための開発


Leagueとそのコミュニティが成長するに従い、サードパーティー製のプログラムとウェブサイトが、付加的なプレイヤー経験を作り出している様子が見られるようになりました。このような行動は、新鮮かつ楽しい方法でLeagueでの経験を高めてくれることもありますが、そうではない場合は、競技的なバランスやゲームの整合性を覆すような、過剰に不公平なアドバンテージをもたらしてしまうものであり、一部のケースでは総合的なプレイヤー経験を損なっていました。Developer Relationsにおける私たちの継続的な試みは、ポジティブな成長を推進・支援しつつ、ネガティブなプレイヤー経験を引き起こすアプリケーションを減らし、そのような経験からプレイヤーを守ろうという働きかけです。

Leagueの経験には、Riotがプレイヤーに届けることが可能かつ届けるべき機会がありますが、プレイヤーが自ら探し求め、自分自身で築き上げていくべきものもあります。それを他のプレイヤーが助けられる方法があるなら、League of Legends経験を拡張する素晴らしいアイディアの類は、全てが支援する価値のあるものということになります。さあ、これを支援する方法について少しお話ししていきましょう。

開発者を支援する


プレイヤーのための技術を誰もが手助けできるということに関しては、コミュニティで情熱を燃やすメンバーの皆さんた助けるために、私たちはできること全てを行いたいと思っています。そのために、私たちはRiot APIを含む開発ツールを揃えました。昨年の1年間をかけて、私たちはAPIとDeveloper Portalに対し継続的に新仕様を加え、アップデートを行ってきました。最初の10ヶ月は50以上のアップデートを単独で加え、コミュニティに素晴らしい貢献をし、規模の大きなサードパーティーサイトのための強固なツールセットを作り出すことを狙いとしていました。これまでに65000人以上の開発者が、テストのための基本ツールにアクセスできるアカウントを開設しており、フルスケールのアクセスを許可する1000個以上のプロダクトキーを、私たちは承認してきました。プレイヤーにフォーカスした方向で、これらのツールを使った開発を行うためのポリシーおよびガイドラインも合わせて推し進めています。これら全ての目的は、コミュニティがこれらのツールを使って、Riotがまだ到達していない分野であっても、Leagueでの経験に有意義な付加物を作り出す様を見ることなのです。しかし私たちは皆さんに、Riotが用いている「プレイヤーにフォーカスしたアプローチ」と同じものを確実に用いて欲しいとも思っています。

効果があるもの、効果がないもの


では、私たちが育てようとしているのは、どのような類の経験なのでしょうか? 私たちは毎日、コミュニティが作り出す新しく革新的なものに驚かされています。そしてそれこそがポイントなのです──創造的であってほしい、思いもよらなかったものを創り出してほしい、私たちはプレイヤーに対してこう思っています。実は、Rioterひとりに対して10000人のプレイヤーが存在しているのですが、新しいアイディアを考え出す時、この計算は単にプレイヤーに好都合なものなのです! Ward ScoreやLSIといったプレイヤーの創造物は、Leagueに接するための新しい方法をプレイヤーにもたらす創造的な手法であったり、プレイをレベルアップさせるものですらあったりします。個人的な経験としては、私は自分のwardingが基本的に十分なものだと思っていたのですが、自分自身のWard Scoreを見ると、実際のwarding頻度は最下位の5%に入っていたということがありました。今では私のWard Scoreは上位98%であり、その分野を改善したことでチームに貢献しています(まあ、その分野では、なんですが)。コミュニティが作ったもので私たちが好ましいと思うのはこういったものであり、同じようなものをもっとたくさん作ろうとする皆さんに対し、私たちはできる限り全ての支援を行いたいと思っています!

サードパーティーの開発に役立つ環境を提供することは、落とし穴なしにはありえません。時として、プレイヤーがフォーカスする必要のないと私たちが判断する(コミュニティが手伝ってくれることが多いです)ものや、ゲームバランスおよびフェアプレーに対して有害なものが現れることもあります。そのようなことが起こった時、私たちが最初に行う手続きは、問題となっている開発者に接触し、Leagueでの私たちの目標に沿った価値を作れる生産的な方向へと、彼らを導こうとすることです。これは効果を表すこともあり、効果がないこともあり、最悪の場合には、その開発者は私たちを無視することになってしまい、私たちはプレイヤー経験を守るためにさらなる手続き(APIキーの無効化や、当該アプリケーションをプレイヤーが使用することをTOS違反にするなど)を取らざるをえないこともあるでしょう。でも結局は、私たちの動機は常に同じものです。現在以降の開発者に見える範囲や、業界を崩壊させようとするサードパーティービジネスの成功(または失敗)などを考える前に、プレイヤー経験は常に優先します。私たちの目標はアプリケーションを厳重に取り締まることではありませんが、プレイヤー経験についての私たちのビジョンに沿ったアプリケーションであることを保証するものではあります。このような経験をもたらすグループが成功するのを見たいとは思いますが、それがプレイヤーの重荷になってはいけません。

私たちは特に、Leagueの核となるゲームプレイ経験を守ることに気を配っています。ゲームをダウンロードしてインストールすればすぐに手に入る競技的なツールキットには、最高のプレイヤー経験が全て含まれていて良いのです。私たちはそう信じています。最初にサードパーティーのウェブサイトに行って、他のみんなについていくためのmodを一揃い揃える必要は、どこにもあるべきではありません。「『Play』ボタンを押した瞬間から対戦画面が終了するまで、どんな外部要素もプレイヤーを妨げてはならない」──これが私たちの鍵となるポリシーだからです。このようなものは大抵、通常のゲームでの操作では手に入らないゲームプレイについての情報を得られるプログラム(たとえばオーバーレイ表示やハックなど)ですが、全プレイヤーのプレイ水準を保つため、私たちはこれらに対して断固とした姿勢を取り続けています。

見えるものを守る


Leagueの拡張性と同様、生態系におけるサードパーティーの開発は優先し続けるのが難しいことであり、それについての疑いは全くありませんが、予測は困難ですらあります。開発中のプロジェクト全てを見たり、それに参加したりすることは私たちにはできませんし、アプリケーションが私たちの注意を引くまで、その開発をプレイヤーの興味に対してより良い位置にするための接触を行えないこともあります。開発者と交流する時、しかしながら私たちは、どんな方法であろうともプレイヤー層全ての興味に貢献するベストな方法で対応しようと務めています。この分野において、小さな独立系開発者から実質的なビジネスに成長したものまで、私たちは積極的に全てのポジティブな成長を育てようとしていますが、優先するのはプレイヤーであり、企業が売上を上げることよりも、プレイヤーの興味を引き続けることが常に優っています。その一方で私たちは、サードパーティー・シーンの進化が続くことによって生まれている、新しい状況と困難に対処しているため、その間は皆さんを大変お待たせすることになっています。

最後に大事なことなのですが、私たちはサードパーティーの開発を公式にサポートすることは一切ありません。私たちは社内以外での開発を可能にするツールを供給しているかもしれませんが、その成果はLeague of Legendsの経験のオフィシャルなものではなく、そこから生じる問題を解決するためには、いかなる支援も行うことができません。私たちは全てのサードパーティー製コードを調べることはできませんし、私たちのゲームのいたるところにいる無数のユーザーが設定する、全てのアプリケーションを十分にテストすることもできません。外部アプリケーションには常に、ゲーム(もしくはシステム)に安定性の問題や悪意あるコード、他の様々な問題を引き起こすリスクがあります。私たちはいつも皆さんに、アカウントのセキュリティ、何よりもコンピュータの安定性(および「絶対に」アカウントの信用情報をサードパーティーに渡さないこと)を保護するために適切な手続きを行い、心配であればいかなるプログラムやアプリケーションも使用しないことを勧めています。

要約 - 私たちは常に、プレイヤーとゲーム経験の核を守るために必要な手続きを取るつもりです。同時に、プレイヤーと外部の開発者に、有意義かつポジティブな方法で皆さんの経験を高めるものを作る手段を与えることにより、League of Legendsコミュニティ全体の中で成長するものを育みたいと思っています。この鍵となるのは、シーンに存在する新しいものの中でプレイヤーとの対話を続けることですので、私たちはこういった問題についての皆さんの考えを学ぶためにコミュニティに接し続けるつもりですし、コメント欄でのフィードバックを歓迎しています。チームの他のメンバー(StillRampant氏とRiot Tuxedo氏)と私は、この記事公開直後から数時間の間、皆さんからの質問に答えるためにフォーラムに滞在しているつもりです。