PCG Pac-Man — 手続き生成で拡張したPac‑Man(GDScript/Godot)
概要
このリポジトリ「PCG-pacman」は、既成のPac‑Manタイプのゲームに対して「手続き的コンテンツ生成(PCG)」システムと、新機能・ゲームプレイ要素を追加した拡張プロジェクトです。Enemy PCG Manager、Enemy PCG Factory、ペレットのPCG、プレイヤー能力や動的なゲームルールなどが導入され、プレイごとに変化する敵配置やアイテム配置、調整可能な難易度変化を実現します。実装は主にGDScript(Godot)で行われ、アセット・autoload(シングルトン)・ローカライズ等のディレクトリ構成を持つため、学習用のサンプルとしても有用です(約300字)。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 2
- ファイル数: 10
- メインの言語: GDScript
主な特徴
- 敵(Enemy)とペレットを手続き的に生成するPCGシステムを提供
- PCG Manager と Factoryパターンによる生成ロジックの分離と拡張性
- Godot(GDScript)ベースでのシングルトン(autoload)構成やローカライズ対応
- プレイヤー能力や動的なゲーム進行(難易度調整など)の追加
技術的なポイント
本プロジェクトはGDScript(Godot)で構築されており、PCGの設計として「Manager」と「Factory」を分離するアプローチを採用しています。Managerは全体の生成タイミングやゲーム状態に合わせた生成ポリシー(例:ウェーブ、難易度、位置制約)を管理し、Factoryは個々の敵やペレットのインスタンス生成を担います。この分離により、新しい敵タイプや生成ルールをFactoryに追加するだけでManager側の大幅な改修を避けられ、モジュール性が高まります。
Godotのautoloadディレクトリがあることから、PCG Manager等をシングルトンにしてゲーム内のどこからでも生成機能にアクセスできる構成になっていると推定されます。assetsフォルダにはビジュアルやシーンが格納され、localeディレクトリは多言語対応のための文字列管理に使われる想定です。ランダム性の扱い(seed制御)や再現性のある生成を導入すればデバッグやレベル設計が容易になりますし、生成パラメータを外部JSONや辞書で定義すればデータ駆動での調整も可能です。
ゲーム設計面では、PCGで生成される敵の種類や数、配置パターンをプレイヤー能力や進行状況に連動させることで、動的な難易度調整が可能です。Factoryはプロトタイプベースやシーン複製(PackedScene.instantiate)で実装されることが多く、性能面では生成頻度の管理やオブジェクトプーリングが有効です。また、ペレットの分布生成では空間分割やグリッドベースの配置ルールを使うと迷路状ステージとの整合性が取りやすくなります。これらの手法は小規模プロジェクトでも実装しやすく、拡張やテストがしやすい設計になっています(約700字)。
プロジェクトの構成
主要なファイルとディレクトリ:
- .DS_Store: file
- README.md: file
- assets: dir
- autoloads: dir
- locale: dir
…他 5 ファイル
※ Godotプロジェクトらしいディレクトリ構成で、autoloadsにはシングルトン設定用のスクリプトやManagerが置かれている想定です。
まとめ
小規模ながらPCG設計の基本(Manager/Factory分離、データ駆動、シングルトン利用)を実践した学習向けのGodotサンプルです(約50字)。
リポジトリ情報:
- 名前: PCG-pacman
- 説明: 説明なし
- スター数: 1
- 言語: GDScript
- URL: https://github.com/tapiwa-ce/PCG-pacman
- オーナー: tapiwa-ce
- アバター: https://avatars.githubusercontent.com/u/147131924?v=4
READMEの抜粋:
🧠 Procedural Content Generation & Feature Additions to a prebuilt PacMan Game
This project now includes a robust suite of Procedural Content Generation (PCG) systems, dynamic gameplay mechanics, and new in-game features implemented throughout development.
Below is a complete summary of all functionality added across enemies, pellets, player abilities, and game systems.
⚙️ 1. Enemy PCG System
A dedicated PCG Manager and Enemy PCG Factory were added to procedurally conf…