コンテンツにスキップ

コアコンポーネント

Argodeのアーキテクチャは、ビジュアルノベル体験の異なる側面を担当する一連の専門マネージャーを中心に構築されています。これらのマネージャーは、中央のArgodeSystemシングルトンの子ノードとして動作し、モジュール化された整理されたコードベースを保証します。

ArgodeSystem

ArgodeSystemはフレームワークの中心的なハブであり、Godotプロジェクトに単一のオートロードされたシングルトンとして機能します。他のすべてのマネージャー間の相互作用を調整し、Argodeの機能へのグローバルアクセスを提供します。

ScriptPlayer

ScriptPlayerは物語を駆動するエンジンです。.rgdスクリプトファイルの解析と実行、コマンドの解釈、物語の流れの管理、スクリプト関連イベントの処理を担当します。

UIManager

UIManagerはユーザーインターフェースのすべての側面を処理します。メニュー、ダイアログボックス、選択肢ボタン、その他のインタラクティブ要素を含むUIシーン(.tscnファイル)のロード、表示、解放を管理します。LayerManagerと連携してUI要素を正しく配置します。

VariableManager

VariableManagerはゲーム関連のすべての変数を管理します。配列や辞書などの複雑なデータ型を含むさまざまなデータ型をサポートし、豊富で動的な物語の状態を可能にします。.rgdスクリプトから直接変数を設定、取得、操作するためのメソッドを提供します。

CharacterManager

CharacterManagerはビジュアルノベル内のキャラクターの定義と表示を監督します。キャラクターの名前、表示名、色、表情を処理し、物語全体で一貫した表現を保証します。

LayerManager

LayerManagerは、視覚レイヤーを管理するための柔軟で適応性の高いシステムを提供します。固定されたシーン構造を強制するのではなく、GodotのCanvasLayerノードの役割(例:「背景」、「キャラクター」、「UI」、「エフェクト」)を定義できます。これにより、既存のGodotプロジェクトとのシームレスな統合が可能になり、高度にカスタマイズされた視覚レイアウトをサポートします。

CustomCommandHandler

CustomCommandHandlerはArgodeの拡張性にとって重要なコンポーネントです。.rgdスクリプトとカスタムGodotゲームロジック間のブリッジとして機能します。ScriptPlayer.rgdファイルで未知のコマンドを検出すると、CustomCommandHandlerがシグナルを発行し、GDScriptまたはC#を使用して独自のゲームメカニクスとエフェクトを実装できます。

LabelRegistry

LabelRegistryは、.rgdスクリプトファイル内で定義されたすべてのラベルをインデックス化および管理します。これにより、物語の異なるセクション間を効率的にナビゲートおよびジャンプでき、複雑な分岐する物語をサポートします。

定義マネージャー

Argodeは、.rgdスクリプトで宣言されたさまざまなアセットタイプのロードと管理を処理するために、いくつかの専門的な定義マネージャーを利用しています。これらのマネージャーは、アセットが正しく識別され、プリロードされ(設定されている場合)、フレームワークで利用可能になることを保証します。

  • AudioDefinitionManager: オーディオアセット(BGM、SFX)を管理します。
  • CharacterDefinitionManager: キャラクター定義を管理します。
  • ImageDefinitionManager: 画像アセット(背景、スプライト)を管理します。
  • ShaderDefinitionManager: カスタムシェーダーリソースを管理します。
  • UISceneDefinitionManager: UIシーン定義を管理します。

TransitionPlayer

TransitionPlayerは、シーンと他の視覚要素間の視覚的なトランジションを処理します。フェード、ディゾルブ、カスタムトランジションなどのエフェクトを適用するための集中管理システムを提供し、ビジュアルノベルの視覚的な魅力を高めます。


システム概要について学ぶ → 設計思想について学ぶ →