DEV Community

Cover image for 試合の採点システムを開発する方法

試合の採点システムを開発する方法

スコアリングシステムは、ゲーム中にプレイヤーにフィードバックを提供する方法としてビデオゲームに実装されています。リーダーボードは、レベルや試合終了時のプレイヤーの結果や、グローバルなハイスコアを表示しますが、スコアリングシステムは、ゲーム中に重要な情報を提供するだけでなく、スコアを向上させるための楽しい経験とリプレイ性を促進する、価値ある、魅力的で、やりがいのあるフィードバックを提供する方法として不可欠です。スコアリングシステムには、プラットフォーマーゲーム「スーパーマリオブラザーズ」でコインを集めるとプレイヤーのスコアが増加するような単純な仕組みから、ファーストパーソンシューター「オーバーウォッチ2」の5対5の激しい対戦で味方や敵のプレイヤーの統計情報を追跡するような仕組みまである。

Game scoring in OW2 - Develop a scoring system

この2つのゲームがまったく異なるように、得点システムにもさまざまな種類の仕組みが実装されており、プレイヤーは自分のゲームの現状についてフィードバックを受けたり、達成感を感じたり、ゲーム中のパフォーマンス向上に挑戦したりすることができる。このような仕組みは、リプレイ性を高める報酬システムを生み出す。ポン』や『スーパーマリオブラザーズ』などのゲームが発売されて以来、ゲームが複雑化するにつれて、得点方法を構成する仕組みも複雑化しています。

スコアリングシステムを構成するスコアリングの仕組み、スコアリングシステムを構築するために必要なステップ、そしてプレイヤーを結びつけるインタラクティブでソーシャルなスコアリングシステムを構築する方法について学びましょう。

ビデオゲームの採点メカニズムを理解する

スコアリングメカニクスとは、プレイヤーがゲーム内の進捗状況を把握するための、スコアリングシステムを構成する個々の要素のことです。ゲーム中にプレイヤーにフィードバックを提供する方法として、1つのスコアリング・メカニックだけで構成された非常に単純なスコアリング・システムもありますが、ほとんどのゲームでは、魅力的で有用かつユニークなフィードバック体験を提供するために、スコアリング・メカニックの組み合わせで構成されています。

得点

最も単純だが、最も強力な得点システムの1つは、ゲームプレイ中にプレイヤーまたは目的の得点を記録することである。最も初期のアーケードゲームの1つである「ポン」は、テニスをベースにしたゲームで、対戦相手の各プレイヤーが成功させたゴールの数を記録します。この得点はゲームの目的に貢献し、最初のプレーヤーが11点に達したときに完了する。得点は画面上部に大きな数字で表示され、プレイヤーにわかりやすくなっている。

Scoring system for games - A scoring system

時間

タイムトラッキングもまた、ゲーム中のプレイヤーのパフォーマンスをトラッキングするための、早くからよく採用されている指標です。グランツーリスモ」のようなレースゲームで使用され、プレイヤーは周回数をこなし、レース中に最速タイムを達成することで、他のプレイヤーや自分自身と競い合います。ゲーマーは、より速いタイムを達成し続けることで、地域的、さらには世界的な総合ランキングで上位に入ることができる。

直接的な開発以外でも、多くのコミュニティ・メンバーが、以下のような方法でお気に入りのゲームをプレイし、挑戦し続けている。 スピードランニング最速でゲームをクリアすること。最速タイムを出すために、スピードランナーは特定のチェックポイントを基準に進捗を記録し、自己タイムやベストプレイヤーのタイムを更新しようとする。以下のようなイベントもあります。 ゲーム・ドーン・クイックのようなイベントもあり、スピードランナー同士が最速の結果を競い合うチャリティーゲームマラソンです。

ライフ/ヘルス

レベル、ゲーム、または試合におけるプレイヤーの進行状況を追跡する方法として、多くのキャラクター(および敵)にはヘルスバーと設定されたライフ数があります。ヘルスバーは、プレイヤーの成功度、またはゲームやレベルの進行度を示します。ヘルスバーのポイント数がゼロになると、ライフが消費され、プレイヤーに別のヘルスバーが与えられる。

ストリートファイター』シリーズや『ファイターズヒストリー』などの格闘ゲームでは、現在操作しているプレイヤーとその対戦相手のヘルスバーをゲームスコアとして表示することで、対戦中のプレイヤーの現在のパフォーマンスを表現している。最初に体力をすべて失ったプレイヤーが負けとなる。

Tracking player progress - Game scoring

コレクション

スーパーマリオのプラットフォームゲームでは、ゲームの各レベルで獲得したコインの数が記録される。コインが100枚に達すると、追加ライフがアンロックされ、負けた場合でもゲームを続けることができる。また、パワーアップアイテムを集めると、火の玉を撃てるようになるなど、プレイヤーの能力がアンロックされる。これらは、プレイヤーがより多くの能力を得ることで、ゲームを進めることができるという感覚を与えるという意味で、得点の仕組みとなっている。

Scoring by collecting in Super Mario games

いくつかのゲームでは、プレイヤーがレベル中にどれだけ良い成績を収めたかという重要な要素として、さまざまな得点メカニズムを組み合わせて使用している。アクションアドベンチャーゲーム「デビル メイ クライ」シリーズでは、敵を倒すことでレベルが上がっていく。アイテムを集めたり使ったりしながら、一定時間内に多くのアクションを成功させたプレイヤーには、レベルクリア時に高いスコアが与えられる。試合終了時にプレイヤーに成績が表示されるが、敵と戦っている最中には現在の成績が表示され、現在の成績を示す。

統計

ポン』以来、ゲームがより複雑になり、特にオンライン対戦型マルチプレイヤーゲームの急増に伴い、スコアリングシステムには、単にプレイヤーのスコアを追跡するだけでなく、より進化した仕組みが必要になった。リーグ・オブ・レジェンドは、5人のプレイヤーで構成される2つのチームが対戦し、最終的に相手チームのネクサス(本拠地)を破壊することでゲームに勝利するMOBA(マルチプレイヤーオンラインバトルアリーナ)ゲームですが、プレイヤーはゲーム内で現在のスコアのより詳細な内訳を便利な統計情報とともに見ることができます。

Detailed statistics in League of Legends game scoring

オーバーウォッチ2のゲーム内得点システムに表示されるものと同様に、プレイヤーはキル数、死亡数、アシスト数、獲得目標数、獲得ゴールド、さらにはプレイヤーごとにゲーム内で購入したアイテムまで確認できる。また、プレイヤーは他のプレイヤーの情報を閲覧してゲーム内の進捗状況を確認したり、相手チームのメンバーが購入したアイテムに基づいて対策を練ったりすることもできる。これにより、相手チームメンバーとの間接的な交流が可能になります。

コンテンツのアンロック

大乱闘スマッシュブラザーズ』のような対戦格闘ゲームでも、現在のライフ数や体力バーがパーセンテージで表示され、プレイヤーの試合経過がわかるようになっているが、一部のキャラクターやステージ、アイテムは特定の条件を満たさないと入手できない。このコンテンツは、後述する実績スコアの仕組みと組み合わせて、一定の試合数をプレイしたり、キャラクターを何度もプレイしたり、特定の条件を満たした試合で勝利したりすることで、プレイヤーにアンロックされる。このコンテンツをアンロックすることで、プレイヤーはゲーム全体のクリアに向けて一定の進歩を遂げることができ、常にリプレイ性を高め、ゲームをマスターすることができる。

Unlocking content through achievements and scoring

経験値とレベルアップ

ゲームによっては、レベルアップと呼ばれる概念によってプレイアブルキャラクター自身を向上させることで、得点の仕組みを定義しているものもあります。ファイナルファンタジー』シリーズに代表されるロールプレイングゲーム(RPG)の核となるコンセプトは、プレイヤーが敵を倒したり、目的を達成したり、経験点を与えるアイテムを消費したりすることです。プレイヤーのキャラクターが一定の経験点を獲得するとレベルアップし、キャラクターの強さが増す。この概念は、プレイアブルキャラクター自身や、プレイヤーが装備できるアイテムにも適用できます。経験点とレベルアップによって、プレイヤーはゲームを進め、より強い敵に挑むことができ、最終的にはゲームそのものをクリアすることができるため、プレイヤーの現在の進捗状況がフィードバックされる。

Experience and level-ups in game scoring

ゲームによっては、この経験値とレベルアップの仕組みにユニークなアプローチを取っているものもある。Elden Ringは、これらの仕組みと、先に説明した収集の仕組みの両方を組み合わせたものだ。プレイヤーは "ルーン "を集める。"ルーン "は敵を倒したときに集められる。プレイヤーはこのルーンでキャラクターをレベルアップさせたり、アイテムを購入したり、装備を強化したりすることができる。ルーンは合計で表示され、新しいルーンが集まるたびに表示される。

Elden Ring Souls - Develop a scoring system for a game

実績

実績とは、プレイヤーが達成することで報酬を得られる個人的な目標のことで、World of WarcraftのようなMMORPG(Massively Multiplayer Online Roleplaying Games)では一般的なものです。ゲームの最初からアクセスできる実績は、クエストやストーリー中に特定の条件を達成したプレイヤーの進捗を視覚的/文字的に表現したものです。通常、実績はプレイヤーのゲーム終了に影響しませんが、困難な実績を達成するための報酬や達成感、信用を得るために、プレイヤーを長くプレイするように促します。

World of Warcraft Achievements - Scoring system

ゲームのスコアリングシステムを開発するためのステップ

スコアリングシステムを構成するさまざまな得点メカニズムについて学んだところで、自分のゲームに最適なものを検討する必要があります。ポン』やスペースインベーダー』などの古いゲームでは、ハードウェアの制約上、ゲームの複雑さが少なかったため、常に現在のスコアや時間、あるいはプレイヤーの残りライフ数が表示されていました。

Steps for developing a scoring system for a game

しかし、最近のゲームでは、プレイヤーに常にこれを表示したいのか、それとも代わりにボタンを押してゲーム内の統計ウィンドウを表示させるべきなのか。それとも、ボタンを押せばゲーム内の統計ウィンドウが表示されるようにするべきか。現在の目標ポイントなど、最低限の情報しか画面に表示せず、あとはリーダーボードに表示させるべきか。

プレイヤーに最高のフィードバック体験を提供するために、あらゆる得点メカニズムを使いたくなるかもしれません。しかし、ゲームのジャンル、プラットフォーム、オンライン接続性によって、スコアリングシステムを構成するスコアリングの仕組みがどの程度有用であるかに留意してください。

ジャンル

ゲームのジャンル(スタイル)は、ゲームの採点システムを開発する最初の出発点です。プレイヤーはどのようなゲームが好きかという好みを持っていますが、もともと複雑なジャンルもあります。RPGやその他のオープンワールドゲームでは、プレイヤーの進歩をフィードバックする方法として、経験点やレベルアップの得点メカニズムが必要になります。このジャンルのゲームの実績は、追加の便利な得点メカニズムですが、おそらく時間や統計ゲームメカニクスは必要ないでしょう。一方、FPS(ファーストパーソン・シューティング)ゲームでは、プレイヤーのパフォーマンスを正確に測定するために、ヘルス、統計、実績、さらにはコレクションスコアリングメカニクスなどの複雑なスコアリングシステムが必要になります。

一般的に、ジャンルの種類によって、スコアリングシステムの一部としてどのようなスコアリングの仕組みを表示するかが決まります。レーシングゲームでは、プレイヤーのユーザーインターフェースに現在のタイムを随時表示する必要がありますが、プレイヤーのベストタイムを表示するのは、ラップのチェックポイントを通過した時点に限られます。FPSゲームでプレイヤーが他のプレイヤーを排除した場合、相互作用が発生したことを示すグラフィックまたはテキストが表示されるべきですが、その後すぐに画面から削除されるべきです。ただし、アクティブなプレイヤーの現在の弾薬レベル、アビリティのクールダウン、およびオブジェクティブの結果は、スコアの更新に関する有益なフィードバックを提供する方法として、常に表示されたままにする必要があります。

In-game overlay for game scoring in OW2

同じジャンルのゲームは互いに目立つように独自に異なっていますが、あなた自身のゲームは、あなたがプレイしたり見たりしたお気に入りのゲームにインスパイアされている可能性が高いです。他のゲームでうまく機能していると思われる得点の仕組みを研究し、自分の得点システムにどのように統合したいかを考えるべきです。真にユニークな採点システムを作りたいのであれば、不足しているもの、あるいはユニークな体験になり得ると思われるものを実装し始めましょう。採点システムを設計している間、ターゲットとするプラットフォームを常に念頭に置いてください。

プラットフォーム

他のゲームから採点メカニズムのヒントを得て、独自の採点システムを設計し始める際には、ゲームをリリースする予定のプラットフォームに焦点を当てる必要があります。

Windows、Mac、Linuxを含むデスクトップ用ゲームでは、ゲームの採点システムを動かすためのリソースや、採点システムを構成する個々の採点メカニズムにフィットさせるための画面サイズにおいて、より柔軟な対応が可能です。また、プレーヤーは、キーボード、マウス、コントローラーなど、プレーヤーを更新する得点メカニズムに影響を与えるさまざまな入力にアクセスできます。また、Steamの早期アクセスプログラムなどの試用期間中にゲームをリリースすれば、ゲームの採点システムに関するプレイヤーからの貴重なフィードバックを得ることができます。

コンソール(PlayStation、Xbox、任天堂)にゲームを公開する予定の開発者は、開発するための標準的なコンソールのセットを持っています。しかし、家庭用ゲーム機のパブリッシャーと協力する必要があるため、一般的にフィードバックやアップデートを変更するのは難しくなります。

Choosing platform for game scoring development

モバイルプラットフォーム向けにゲームを設計する場合、採点システムに関して、入力、画面サイズ、オンライン機能の3つを念頭に置く必要があります。モバイルデバイスはタッチスクリーンのみを想定しているため、ユーザーがゲームプレイの妨げにならない方法で、詳細な採点メカニズムに簡単にアクセスできるようにする必要があります。モバイルデバイスの画面は小さいので、得点システムを構成する得点メカニズムをどこに配置するかは、最も重要なデザイン上の選択です。プレイヤーの行動やゲームプレイの妨げになるため、ゲーム全体を通してテキストやグラフィック、プレイヤーの統計情報など、本質的でない得点メカニズムを常に表示することは避けたいものです。これはプレーヤーをイライラさせ、ゲームに否定的な印象を与えます。

オンライン接続

すべてのプラットフォームのほとんどのゲームに当てはまりますが、最も人気のあるモバイルゲームはオンライン接続をサポートしており、マルチプレイヤー、チャット、リーダーボードが含まれているため、プレイヤーは交流したり社交的になったりできます。オンライン接続を有効にすることで、プレイヤーは試合中に他のプレイヤーの統計情報を見ることができ、よりソーシャルな体験をすることができますが、プレイヤーのゲームプレイ体験を妨げないようにする必要があります。試合中にプレイヤーとチャットができることは、プレイヤーが他のオンラインプレイヤーやフレンドと交流する方法ですが、邪魔にならず、ゲームプレイの邪魔にならない小さなウィンドウであるべきです。チャットを使用していない間は、しばらくすると消えるようにすることも、画面スペースを確保するための良い方法です。他のオンラインプレイヤーの統計情報は、現在アクティブなプレイヤーにとって必要不可欠な情報のみを表示すべきですが、より詳細な統計情報を見るためには、ボタンを押すかプロフィールをルックアップすることでこの情報を表示できるようにします。

RPGのようなオフラインゲームは、複雑なストーリー主導のゲームであり、通常ソーシャル機能を含むことは期待されていません。このようなタイプのゲームの得点システムは自己完結型であり、ローカルファイルに保存することでプレイ中に情報を更新・保存することができます。しかし、試合中に一貫した更新が必要なオンラインゲーム、特にFPSやMOBAゲームでは、試合中に正確で不可欠な情報を表示する必要があります。信頼性が高く、正確で、効果的なスコアリングメカニズムが表示されないスコアリングシステムは、個人の敗戦につながり、ひいてはプレイヤーのフラストレーションにつながり、最終的にプレイヤーはゲームをやめてしまいます。

スコアリングシステムをインタラクティブでソーシャルなものにするためにオンライン機能を追加するには、一度に何十万人もの同時プレイヤーをサポートできる強力なインフラが必要です。スコアリングシステムは、重要な試合中にプレイヤーに有益で効果的で楽しいフィードバックを確実に、そして積極的に表示できる必要があります。このようなインフラを自分で構築することも可能ですが、そのためには時間とリソース、そして維持費がかかります。そこでPubNubがお役に立ちます。

インタラクティブでソーシャルな試合採点システム

PubNubは開発者向けAPIプラットフォームで、アプリケーションが大規模かつグローバルなスケールでリアルタイムの更新を受け取ることを可能にします。PubNubは次のような基盤となっています。 2000以上の顧客の基盤となっています。ゲーム開発者は、PubNubのスケーラビリティと信頼性を利用して、ゲームのオンライン機能や、ゲーム内のチャット、ライブスコアの更新、プレイヤーをゲームに引き戻すためのアラートや通知などのツールを利用することができます。PubNubは効率的で信頼性が高く、プレイヤーのゲームプレイ体験に影響を与えることなく、リアルタイムで採点システムを更新できるほど高速です。

Panzerdogのテンポの速いシューティングゲーム タクティクールは、Unityを使用して構築され、ゲーム内のチャットにPubNubを使用しています。PanzerdogはPubNubのスケーラビリティと信頼性に依存して、毎日10万人以上のプレイヤーと世界中で1000万ダウンロードの通信をサポートしています。

Beamable社かつてはゲーム開発会社でしたが、現在はUnity向けライブゲームのフルスタックLiveOpsプラットフォームとなったBeamable社は、同社のプラットフォームを使用して非常に魅力的でインタラクティブなゲームを構築するために、PubNubのインフラストラクチャを利用してチャットプラットフォームを提供しています。

メイヘムは、ゲームコミュニティがプレイヤーを魅了するカスタマイズされたリーグを構築できるようにします。彼らは、スムーズで制限のないプレイヤー体験を保証するために、チャット、リアルタイムのリーダーボード、プッシュ通知をPubNubに委ねました。

PubNubを使用してインタラクティブでソーシャルなゲームスコアリングシステムを構築するには、まずPubNubアカウントを作成し、PubNubの多くのSDKのいずれかをインポートする必要があります。 PubNubの多くのSDKをインポートする必要があります。 Unity.

  1. サインインまたは アカウント作成にサインインするかアカウントを作成して、管理者ポータルでアプリを作成し、アプリケーションで使用するキーを取得します。その方法については、次のハウツーに従ってください。 キーの作成.

  2. ゲームの開発環境に合ったSDKを選択します。

  3. SDKの開始ドキュメントに従ってキーを設定し、ゲームにPubNubの機能を実装し始めます。

PubNubのAPIには以下の機能が組み込まれており、ゲームの得点システムの特定のニーズを満たすことができます。

  1. 発行:チャットの更新、絵文字の反応、プレイヤーのキル、試合の統計、ファイル、その他の複雑な入力など、プレイヤーの入力が更新されるたびに更新を送信します。 メタデータ.

  2. サブスクライブ:接続されているプレイヤーからのアップデートを受信して、プレイヤーの画面を新しい重要なデータでリフレッシュします。

  3. プレゼンス:プレイヤーがゲーム内にいる間に、プレイヤーのオンラインステータスを更新し、フレンドリストの変更を通知します。

  4. メッセージの永続性:オフラインのプレイヤーがログインすると、見逃した情報が表示されます。

  5. プッシュ通知:オフラインのプレイヤーに見逃したメッセージを通知したり、ゲーム内の新しいアップデート、イベント、ニュースを通知します。

  6. オブジェクト:データベースを設定したり、呼び出したりすることなく、プレーヤーに関する情報を一箇所に保存できます。

  7. アクセスマネージャー:プライベートな会話、チャットルーム、特別なイベント、プレーヤー制限のあるコンテンツなど、プレーヤーのアクセスを制限できます。

  8. 機能:メッセージの翻訳、不適切なメッセージの検閲、新しいプレーヤーの到着の通知、スコアの更新の処理と保存、他のプレーヤーへの言及やスコアの更新の通知。

PubNubの各機能を簡単にまとめると以下のようになります。 機能機能はゲームに影響を与えることなくリアルタイムのスコア更新をサポートするために特に便利です。Functions機能をセットアップすることで、様々なイベントをトリガーにユーザーを更新する常時独立した実行システムとして機能させることができます。

イベントハンドラのロジックを保存、監視、さらにコーディングして、この情報を処理し、プレーヤーに送り返すこともできます。Functionsからこのロジックをキャッチするようにゲームを設定すると、イベントリスナーでこの情報をプレーヤーに表示することができます。このアクティブな例は Unityカートゲーム.

PubNubを使ってスコアリングシステムを作ろう

ゲームにおける得点システムは、プレイヤーに有用なフィードバックを提供するために、ゲームデザインにおいて重要かつ必要な機能です。さまざまなプラットフォームでさまざまなタイプのゲームがありますが、開発者がゲーム内でプレイヤーが楽しい体験をするために必要な情報を提供し、伝えるために使用できる採点メカニズムがあります。

オンライン機能を追加することで、プレイヤーにとってよりインタラクティブでソーシャルな採点システムにすることができます。これにより、プレイヤーの満足度とリプレイアビリティにつながる楽しい体験が生まれます。PubNubはこれらの機能をサポートするインフラとして機能するため、最も重要なことに集中することができます。

以下のリソースで詳細をご覧ください:

開発者リレーションズチームまでお気軽にお問い合わせください。 devrel@pubnub.comまでお気軽にお問い合わせください。

PubNubはどのようにお役に立ちますか?

この記事はPubNub.comに掲載されたものです。

PubNubのプラットフォームは、開発者がWebアプリ、モバイルアプリ、IoTデバイス向けにリアルタイムのインタラクティブ機能を構築、提供、管理できるように支援します。

私たちのプラットフォームの基盤は、業界最大かつ最もスケーラブルなリアルタイムエッジメッセージングネットワークです。世界15か所以上で8億人の月間アクティブユーザーをサポートし、99.999%の信頼性を誇るため、停電や同時実行数の制限、トラフィックの急増による遅延の問題を心配する必要はありません。

PubNubを体験

ライブツアーをチェックして、5分以内にすべてのPubNub搭載アプリの背後にある本質的な概念を理解する

セットアップ

PubNubアカウントにサインアップすると、PubNubキーに無料ですぐにアクセスできます。

始める

PubNubのドキュメントは、ユースケースやSDKに関係なく、あなたを立ち上げ、実行することができます。

Top comments (0)