Histera
FPSタイトルのリリースを達成しました.
「Histera」は、独自の要素と特殊なメカニクスを備えたFPSタイトルです。プロジェクト自体は2016年に始動しましたが、私はリリース直前となる2023年から2024年にかけて参加し、2024年7月20日のリリースまで開発に携わりました。
ゲームのコア部分は既に完成していましたが、私は既存システムの 改善提案や、ライブサービスとしての運営業務のために採用されました。新機能の設計、システムの構築、および競技性を重視したゲームバランスの調整を担当しました。
主な担当業務:
ゲームプレイシステム:企画立案・設計・実装
アビリティシステム(データ駆動型):企画立案 ・設計・実装
武器:設計・実装・バランス調整
仕様策定 およびデータ作成・実装
競技性を重視したゲームバランスの設計および調整
進行システム(プログレッション)およびそのバランス調整
ゲームモードの設計(PvPvE用のAIを含む)
ゲーム概要
「Histera」は、対戦中にマップの構造が変化するマルチプレイヤーFPSです。
異なる時代が融合した世界観が特徴で、弓を持った原始人とレーザー武器を操る未来の防衛アンドロイドが戦うといったシチュエーションが生まれます。
また、武器やアビリティの多彩な組み合わせが可能であり、キャラクターに縛られることなく、プレイヤーそれぞれのスタイルで楽しむことができます。
アビリティシステム
市場の動向に合わせたコアゲームの再構築
コアとなるゲーム部分は既に完成していましたが、既存のループを壊すことなく、その上に新たなゲームシステムを設計する業務を担当しました。当時のゲームは「バニラ(標準的)なFPS」にステージの変化という単一の機能がある状態であり、より深みが求められていました。
そこで、ヒーローシューターが人気のサブジャンルであることを踏まえ ゲーム品質向上のための「改善提案」として、アビリティシステムを企画・設計・実装しました。このシステムは、量産を想定して拡張が容易であり、可能な限りモジュール化され、非常にスケーラブルかつ効率的であることを重視して設計されています。
詳細な情報やデザインドキュメントの全容については、NDA(守秘義務契約)に抵触するため、直接メールにてお問い合わせください (shocsey@gmail.com)。
アビリティ設計における基本事項と柱(ピラー )
アビリティはセット形式で構成されています。各セットには、固有のパッシブアビリティとアクティブアビリティが紐付けられています。
アビリティが持ちうるすべての機能は、可能な限り最小単位のパーツに分解して設計する必要があります。
各セットは、FPSにおける4つの役割(ロール)(スナイパー/ステルス、ブローラー、スピーダー、サポート)のいずれかを象徴するように設計されています。
既存の実装済み機能を最大限に活用し、最小限の変更で新たな要素を実現します。
データ駆動型(データドリブン)による面白さとモジュール化の両立
アビリティはハードコードを避け、データテーブルで作成することで、プランナーによる再現性と作成の容易さを確保しています。これにより、プログラミング、制作、VFXなど他チームの工数削減とリソースの最適化も実現しました。
ワークフローの概要: プランナーは固定フィールドを持つデータテーブルを受け取り、そこにデータを入力してゲームにインポートするだけです。システムはこのデータを細分化して読み込み、適切な順序でコードを実行します。これにより、再現とテストが容易になります。
実際の例: 以下のような機能を持つアビリティセットを作成する場合を考えます。
パッシブアビリティ:「スライディング」(しゃがみやダッシュのような移動アクション)の使用時、2秒間ダメージが5%増加する。効果は重複しない。
アクティブアビリティ:15秒間透明化し、移動速度が30%向上する。ダメージを与えると2秒間姿が露出する。
このセットは以下のようになります:
各アビリティは最大3つのエフェクト(拡張可能)で構成されています。 各エフェクトには、それぞれ異なる値が設定されています:
Effect - どのアフェクトを有効にするか(DamageBoost, MoveSpeed, Slow...)
Trigger - エフェクトを発生させるトリガー(契機)
Time To Activate - 即時発動か、一定時間後に発動するか
Value - エフェクトの補正値(例:5% DamageBoost)
Duration - エフェクトの持続時間
Target - エフェクトの対象(自分自身、敵、味方チーム...)
画像には含まれていませんが、以下の項目も必須となります:
Sound - アビリティ発動時に再生される音声ファイル
VFX - アビリティ発動時に表示される視覚効果
Icon - UI上に表示されるアビリティのアイコン
開発面に関しては、プログラムが必要な(または既存のコードから抽出可能で、デザイナーが調整可能な)要素のリストがあります。これらの要件は、以下の2つのシンプルなカテゴリーに分類されます:
エフェクト(効果):細分化されたパーツとしてプログラムされる、あるいは他の機能から抽出・修正される実体的な要素です。これら小さなパーツを組み合わせることで、前述のような複雑なアビリティを構築できます。
トリガー条件:エフェクトを呼び出すタイミングをプログラムに通知する、シンプルで小さなコード群です。例:特定のキー入力時、HPが30%以下になった時など。
以下の画像は、既存の機能を流用・修正して作成できるリスト、および他の機能を再利用して作成可能な「スペシャル」要素のリストです。例えば、「周囲への爆発」という機能は、すでに手榴弾のメカニクスとして実装済みのものを活用しています。
ゲームモード
飽和した市場における独創性の追求
私がプロジェクトに参画した当初、存在していたゲームモードは「8対8のチームデスマッチ(75キル先取)」のみでした。ゲームにはさらなる刺激(スパイス)が必要であると判断し「改善提案」として、独自性を持ちつつ競技シーンにも適応できる複数のゲームモードを追加しました。最大の挑戦は、マップの形状を変化させる「グリッチ(Glitch)」メカニクスと、これらの要素をいかに融合させるかでした。ここでは、私が企画・設計したゲームモードのひとつを紹介します。
詳細な情報やデザインドキュメントの全容については、NDA(守秘義務契約)に抵触するため、直接メールにてお問い合わせください (shocsey@gmail.com)。
ゲーム機能に関する留意事項と設計方針
ゲームの核となる機能(コア機能)である「グリッチ」は、約60秒ごとに発生します。
チーム編成およびサイズは、既存のゲームモードと同様の8対8を維持する必要があります。
他のゲームモードが抱えていた課題を解決し、ニーズを満たすものである必要があります。
試合の所要時間は、他のゲームモードと同程度に設定します。
使用するマップはデフォルトのマップに限定します。つまり、このモードのために専用の特殊なマップを作成してはいけません。
ゲームモードの概要
「グリッチ・ガーディアン(Glitch Guardian)」モードでは、マップがシフト(グリッチ)するたびに、そのエリアに巨大な中立のAI制御ガーディアンが出現します。グリッチが発生している間、各チームはガーディアンにダメージを与えることでその「加護」を得ることができます。最も多くのダメージを与えたチームがガーディアンを獲得し、次の「グリッチ」が発生するまでガーディアンはそのチームの味方として戦います。
ガーディアン
「グリッチ・ガーディアン」モードでは、マップがシフトするたびに、巨大な中立のAI制御ガーディアンが出現します。その間、各チームはダメージを与えることでガーディアンの**「加護」を得ることができ、最もダメージを与えたチームは次の「グリッチ」までガーディアンと共に戦う**ことになります。
概要
ガーディアンは最初のグリッチで出現し、「グリッチを引き起こす」存在となります。
グリッチフェーズ中であれば、どのチームでもガーディアンを仲間にする(リクルートする)ことが可能です。ガーディアンを仲間にしたチームはブースト(強化効果)を受け取ります。ガーディアンを仲間にするためには、プレイヤーはガーディアンにダメージを与える必要があります。
ガーディアンのアビリティ
サブタイトル:ガーディアンは「突進(Charge)」と「武器投げ(Weapon Throw)」の2つのアビリティを所持しています。
突進(Charge):
敵の地点まで突進し、近接武器で攻撃します。
実行するには、そこに至るまでの経路(パス)が存在する必要があります。
ターゲットとガーディアンの間に小さな障害物(ジオメトリ)がある場合、その物体を「グリッチ(テレポート)」して通り抜けることができます。
突進中、プレイヤーの移動に合わせて軌道が更新されることはありません。
ヒットした敵に100ダメージを与えます。
ターゲットへの移動中、進路上で接触した他のプレイヤーにも75ダメージを与えます。
武器投げ(Weapon Throw):
「射程範囲(Throwing Range)」内にいる敵を選択し、その地点に向かって武器を投げます。
武器は巨大な当たり判定(ヒットボックス)を持ち、接触した全員に90ダメージを与えます。
地形に接触するまで停止することはありません。
投げられた武器は着弾した場所に一定時間(1〜2秒)留まります。
その間、武器に触れたプレイヤー全員にグリッチダメージを与えます。
その後、武器は「グリッチ」して消え、再びガーディアンの手元に出現します。
武器が何らかのジオメトリ(地形・障害物)に衝突した場合、そこに突き刺さります。
ガーディアンの振る舞い
ガーディアンが 脆弱状態 になるのは「グリッチ準備」から「グリッチ終了」までの間、グリッチが発生しているエリア内にいる時のみです。
撃破された後、ガーディアンは次のエリアへの移動を開始します(グリッチ間のインターフェース中)。
グリッチフェーズ中:
ガーディアンはグリッチエリア内を移動します。その際、ゾーンの境界線に対してわずかな余白(マージン)を持って動きます。
ガーディアンは 両チームのプレイヤーを攻撃します。
周囲に敵がいない場合、グリッチエリア内をランダムに低速でパトロールします。
ターゲットの選択と攻撃方法:
自身が立っているグリッチエリア内のすべての敵を検知します。
エリア内にいる敵の中からランダムにターゲットを選択します。
ターゲット決定後の攻撃選択基準は以下の通りです:
ターゲットが 「チャージ射程内」にいる場合、突進(Charge)を行います。
ターゲットが「チャージ射程外」にいる場合、武器投げ(Weapon Throw)を行います。
すべての攻撃の間隔には2秒のクールダウンが設定されています。
インターフェース(中継フェーズ)中:
ガーディアンはリクルートされると、次のエリアへ移動してグリッチを引き起こします。
この間、ガーディアンはいかなるダメージ源からも無敵(ダメージを受けない)状態になります。
敵プレイヤーを攻撃しますが、使用するのは武器投げ(Weapon Throw)のみです。
これにより、突進(Charge)による予期せぬバグを回避します。
ガーディアンをリクルートしたチームに「ガーディアン・ブースト」を付与します。
ダメージシステム:
戦闘をより戦術的にするため、ガーディアンは命中した部位に応じて異なるダメージを受けます:
正面からのダメージ:90%カット(減少)
側面からのダメージ:50%カット(減少)
背後からのダメージ:25%カット(減少)
頭部には小さな弱点(ウィークスポット)があり、どこから撃っても100%のヘッドショットダメージを与えられます。
ゲームプレイ・ループ
グリッチとガーディアンのタイムライン :
グリッチとガーディアンのタイムライン(Timeline of the Glitch + Guardian)
グリッチ開始
ガーディアンがグリッチエリアに出現
プレイヤーはガーディアンを撃破する必要があります
ガーディアンを撃破(最も多くのダメージを与えた)したチームが、自チームにリクルートし、スコアを獲得します
リクルートするために、必ずしもガーディアンを完全に倒し切る必要はありません
ダメージ量が同点の場合、ガーディアンに「とどめ(Executing hit)」を刺したチームが獲得します
次のグリッチを待つ間、リクルートされたガーディアンはそのチームを援護します
ガーディアンは移動しながら敵プレイヤーを攻撃します
新しく変化した時代(Era)に基づいたブーストを付与します
例:PRE(石器時代)なら各弾丸に「毒」を1スタック付与、FoH(未来)なら「サーマルビジョン」を追加など
このブーストには持続時間があり、概ね次のグリッチが発生するまで継続します
ブーストはリクルートしたチームの全員に付与されます
次のグリッチ開始
ここから、最大スコアに達するかタイムアップになるまで、各チームは戦い続ける必要があります
解決される課題と、なぜこのモードは他と違うのか?
「明確な目的」がないという課題を解決します。
フェーズとゲームプレイ・ループをより明確に規定します。
プレイヤーがマップ内を移動することを強制し、一箇所に留まる(キャンプする)ことを防ぎます。
多様な戦略の幅を広げます:敵の排除に集中する、ガーディアンのリクルートを優先する、戦略的ポジションを封鎖するなど。
プレイヤーはこのモードに最適化するために異なるアビリティや武器を使用するようになり、従来の「敵を倒すだけ」のメタゲームに留まらない、より広いゲーム体験を提供します。
(管理されたパラメータにより)明確な試合時間を設定します。
多様な勝利条件に対応:スコア獲得はガーディアンだけに限定されませんが(プレイヤーキルでもポイント獲得可能)、ガーディアンを中心に立ち回ることで勝利がより容易になります。
このモードはゲームのメタナラティブ(背景物語)と容易に結びつけることができます。新しいイベントの創出、ガーディアンのロア(伝承)の変更、既存の各時代(Era)への紐付けなどが可能です。
動いている敵プレイヤーを撃つよりもガーディアンに当てる方がはるかに簡単なため、初心者プレイヤーも参加しやすくなります。
ガーディアンを「ヒューマノイド(人間型)」にすることで、既存のアニメーションを流用でき、開発コストを抑えることができます。槍を投げる・突くといった動作は既にゲーム内に存在していました。この開発コストは「安価」であり、必要なのは少数のVFXと「キャラクタースキン」のみです。主な作業負荷は「ボットシステム」の一部を利用できるAIのプログラムと、その設計・バランス調整のみで、プロジェクトの現段階では低コストで実現可能です。
人間の身体と同じように、強固な「コア(核)」が適切なバランスをもたらします。
実生活において、天秤(バランス)は単なる道具(ツール)に過ぎません。では、なぜそこから始めないのでしょうか?
適切なバランス調整システムを構築するために、私は武器間の数値を比較できるExcelベースのツールを作成しました。
当時のゲームはデータ駆動型(データ・ドリブン)ではなかったため、既存の武器の調整を容易にするために データ駆動型のアプローチでシステムの構築を開始しました。その過程で、新しい武器の設計や実装もスムーズに行えるようにしました。その第一歩として、すべての武器とその数値をデータテーブル(Data Tables)に統合しました。
データがデータテーブル(Data Tables)に揃った後、いくつかの異なるシートを作成しました:
全武器データ(The Full Weapon Data) -> ゲームの現在のライブバージョンのすべての情報が含まれているシートです。
武器比較(The Weapon Comparison)-> デフォルトでは「全武器データ」から値を取得しますが、これらの数値は調整可能(変更してシミュレーション可能)です。
ダメージ計算機(Damage Calculator)> 他のシートからデータを取得し、特定の変数を変更することで、さまざまな状況下での予想ダメージ量を確認できるツールです。
使用ガイド(A How To Use Guide) -> 当たり前のことかもしれませんが、真実を伝えるためにここにある(存在している)と言わざるを得ません :P
スプレッドシートを作成した後、それを可視化するためのツールが必要だったため、データを読み取ってグラフに表示する「武器比較ツール」を作成しました。これにより、複数のステータスを比較できるようになりました。
例えば、中距離と遠距離のダメージ減衰を比較することで、距離によるダメージ減少が各武器でどのように変化するかを視覚的に確認することができます。この視覚的なフィードバックにより、数値だけでは見えにくいバランスの偏りを一目で把握できるようになりました。
ダメージ計算機ツール(Damage Calculator tool): 基本的に、武器が与えることのできる潜在的なダメージ量を計算します。武器の素のデータに基づき、10秒間や15秒間続く戦闘など、さまざまな状況を考慮します。マガジンを使い切るまでの時間やリロード時間などを計算し、DPS(秒間ダメージ)を算出します。
さらに、「ターゲットとの距離」やヘッドショット率などのモディファイア(修正値)も備えています。ゲームプレイから収集したデータをもとに、正確なヘッドショット率や命中率を反映させることができます。これにより、多くのシチュエーションを「手動で比較」して数値を調整することが可能になります。ただし、「楽しさ」や「ゲームフィール」といった感覚的な要素はこのツールには含まれていません。
ゲームのビルド外にあるライブドキュメントへの、全データの一元化。
ゲームデザインの観点における、武器の明確かつ視覚的な表現。
比較が容易で、再現性の高いシステム。
多くのプレイヤーを必要とするプレイテスト用のビルドを作成することなく、膨大なケースを簡単にテスト・比較可能に。
記録に基づいた「実行可能(アクチュアブル)」なデータの提供。
単純なシチュエーションの計算(アウトプット)のために、わざわざゲームを起動する必要がなくなったこと。
その他の活動内容:
前述の事項や、以下の異なる分野への取り組みについて詳しく知りたい方は、shocsey@gmail.com までご連絡ください。詳細な情報はすべて秘密保持契約の対象となっております。
進行システムとバランス調整
ゲームのコア・ループ
継続率(リテンション)システム
ミッション / クエストデザイン
武器デザイン
データ分析
UI/UX
ツールデザイン(ゲームプレイ)
ナラティブデザイン
イベントデザイン
注:このゲームプレイ動画は私のものではありません。また、開発者が作成したものでもなく、「Game Mojo」による 実況なしのランダムなプレイ動画です。
ここまで読んでいただき、ありがとうございました. 良い一日をお過ごしください! :)